@weng-lab/visualization 2.2.2 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/Heatmap/Heatmap.d.ts +1 -1
- package/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
- package/dist/src/components/Heatmap/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/visualization.es10.js +78 -78
- package/dist/visualization.es10.js.map +1 -1
- package/dist/visualization.es100.js +87 -12
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +12 -14
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +5 -8
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +15 -32
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +6 -44
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +14 -76
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +5 -85
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +7 -274
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +8 -36
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +15 -7
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +26 -26
- package/dist/visualization.es11.js.map +1 -1
- package/dist/visualization.es110.js +11 -2
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +5 -11
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +11 -18
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +4 -2
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +2 -2
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +11 -222
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +31 -2
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +40 -554
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +48 -212
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +3 -2
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es12.js +69 -69
- package/dist/visualization.es12.js.map +1 -1
- package/dist/visualization.es120.js +3 -4800
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +6 -25
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +4 -44
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +11 -144
- package/dist/visualization.es123.js.map +1 -1
- package/dist/visualization.es124.js +3 -146
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +18 -8
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +19 -8
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +37 -6
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +2 -6
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +2 -6
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +11 -11
- package/dist/visualization.es13.js.map +1 -1
- package/dist/visualization.es130.js +4 -6
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +15 -8
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +3 -660
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +6 -58
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +3 -155
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +6 -12
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +19 -74
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +3 -32
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +34 -11
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +60 -57
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es14.js +120 -120
- package/dist/visualization.es14.js.map +1 -1
- package/dist/visualization.es140.js +38 -31
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +37 -18
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es142.js +84 -14
- package/dist/visualization.es142.js.map +1 -1
- package/dist/visualization.es143.js +29 -26
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +3 -84
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +45 -5
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +20 -88
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +60 -13
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +102 -5
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +129 -15
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es150.js +83 -7
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +37 -13
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +47 -5
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +58 -8
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +32 -61
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +18 -39
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +14 -37
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +26 -84
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +32 -29
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +44 -3
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es16.js +16 -16
- package/dist/visualization.es16.js.map +1 -1
- package/dist/visualization.es160.js +72 -22
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +85 -70
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +35 -14
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +221 -20
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es165.js +521 -9706
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +195 -16997
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +2 -64
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +4796 -57
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +25 -75
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es17.js +8 -8
- package/dist/visualization.es17.js.map +1 -1
- package/dist/visualization.es170.js +45 -2
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +144 -483
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +147 -2
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +73 -18
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +2 -28
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +481 -62
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +2 -7
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +30 -42
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +72 -2
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +17 -2
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es18.js +67 -3
- package/dist/visualization.es18.js.map +1 -1
- package/dist/visualization.es180.js +12 -2
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +5 -1606
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +34 -30
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +2 -8
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +23 -6
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +53 -3
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +20 -16
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +3 -17
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +11 -32
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +36 -16
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es19.js +112 -54
- package/dist/visualization.es19.js.map +1 -1
- package/dist/visualization.es190.js +258 -8
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +59 -6
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +5 -6
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +21 -10
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +37 -4
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +34 -4
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +15 -9
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +19 -5
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +9 -13
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +6 -25
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +78 -78
- package/dist/visualization.es2.js.map +1 -1
- package/dist/visualization.es20.js +3 -3
- package/dist/visualization.es200.js +137 -29
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +5 -114
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +109 -3
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +12 -71
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +139 -14
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +5 -11
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +72 -5
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +36 -8
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +20 -15
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +4 -11
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +8 -111
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +24 -5
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +30 -11
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +2 -4
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +2 -2
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +6 -11
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +15 -31
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +33 -41
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +25 -47
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +11 -3
- 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 +7 -7
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +13 -5
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +12 -5
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +2 -11
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +3 -4
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +2 -18
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +103 -18
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +4 -36
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +3 -2
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +19 -2
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +6 -4
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +47 -7
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +14 -14
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +5 -3
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +29 -7
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +7 -3
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +2 -7
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +20 -10
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +21 -7
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +5 -7
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +7 -9
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +18 -6
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +20 -7
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +44 -7
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +7 -6
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +19 -14
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +53 -5
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +26 -3
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +11 -7
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +18 -6
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +11 -9
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +4 -17
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +4 -4
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +5 -21
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es250.js +3 -5
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +171 -29
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +38 -14
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +5 -7
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +3 -11
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +2 -35
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +30 -2
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +8 -24
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +10 -53
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +3 -20
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +12 -12
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +65 -3
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +7 -4
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +4 -3
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +13 -3
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +34 -3
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +4 -3
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +9 -3
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +2 -8
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +4 -48
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +2 -4
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +32 -41
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +9 -6
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +10 -5
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +13 -4
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +2 -7
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +10 -5
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +8 -2
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +5 -7
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +25 -2
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +19 -19
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +40 -3
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +54 -35
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +3 -36
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +9 -263
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +9 -6
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +36 -255
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +8 -122
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +32 -5
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +4 -14
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +2 -7
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +16 -11
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +25 -3
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +111 -70
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +2 -48
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +62 -7
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +2 -9
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +2 -26
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +5 -28
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +35 -17
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +20 -11
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +3 -24
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +4 -4
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +4 -196
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +245 -245
- package/dist/visualization.es3.js.map +1 -1
- package/dist/visualization.es30.js +8 -44
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +48 -188
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +26 -6
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +16 -13
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +10 -10
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +18 -21
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +13 -20
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +3 -7
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +12 -72
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +48 -22
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +5 -22
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +33 -11
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +12 -40
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +2 -8
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +6 -12
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +209 -17
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +26 -36
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +3 -24
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +16 -28
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +15 -2
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +14 -29
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +2 -238
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +52 -3
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +2 -993
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +2 -2
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +5 -58
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +2 -270
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +25 -175
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +20 -108
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +8 -63
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +68 -46
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +6 -5
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +29 -3
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +54 -63
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +9 -7
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +6 -3
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +2 -156
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +4 -4
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +25 -38
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +9 -25
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +26 -4
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +9 -7
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +10 -142
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +2 -29
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +42 -65
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +16 -124
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +29 -12
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +26 -6
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +2 -294
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +8 -93
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +12 -9
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +22 -81
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +12 -77
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +3 -17
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +2 -2
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +5 -57
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +15 -51
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +3 -31
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +11 -33
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +11 -13
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +7 -29
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +18 -119
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +20 -27
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +11 -10
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +50 -13
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +15 -30
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +4 -297
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +35 -28
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +22 -10
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +31 -12
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +3 -17
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +17 -22
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +13 -16
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +9 -95
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +28 -27
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +6 -72
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +7 -51
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +18 -86
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +2 -35
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +16 -41
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +9 -3
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +9 -11
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +613 -34
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +40 -250
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +13 -60
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +11 -6
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +23 -22
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +32 -35
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +4 -22
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +12 -34
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +18 -14
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +25 -18
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +26 -8
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +39 -4
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +16 -137
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +40 -5
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +56 -108
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +3 -12
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +3 -142
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +27 -18
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +7 -6
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +14 -70
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +2 -36
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +2 -21
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +2 -4
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +9 -24
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +9 -30
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +7 -2
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +9 -2
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +6 -5
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +128 -128
- package/dist/visualization.es4.js.map +1 -1
- package/dist/visualization.es40.js +30 -20
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +6 -15
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +14 -34
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +5 -27
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +6 -10
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +6 -6
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +6 -13
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +4 -12
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +5 -2
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +10 -3
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +4 -2
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +64 -62
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +3 -103
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +3 -4
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +4 -3
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +3 -18
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +3 -5
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +3 -14
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +7 -4
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +47 -27
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +3 -6
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +7 -2
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +55 -281
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +5 -20
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +4 -21
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +6 -5
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +4 -7
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +2 -19
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +1606 -44
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +64 -7
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +7 -20
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +40 -51
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +17 -26
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +296 -9
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +8 -11
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +6 -18
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +3 -11
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +16 -4
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +17 -4
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +32 -3
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +14 -173
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +8 -37
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +6 -5
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +6 -3
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +84 -18700
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +11 -2
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +5 -30
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +5 -8
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +8 -10
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +4 -3
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +12 -65
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +27 -7
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +9 -4
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +6 -13
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +7 -34
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +23 -5
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +9 -4
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +6 -9
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +7 -2
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +6 -5
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +15 -2
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +5 -9
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +4 -10
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +7 -13
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +7 -2
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +10 -10
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +18 -5
- package/dist/visualization.es46.js.map +1 -1
- package/dist/visualization.es460.js +19 -7
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +26 -4
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +31 -23
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +115 -19
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +3 -40
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +6 -3
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +32 -7
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +15 -8
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +6 -34
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +11 -9
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +20 -59
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +3 -31
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +72 -4
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +23 -2
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +22 -15
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +40 -24
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +8 -2
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +12 -62
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +18 -2
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +37 -2
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +24 -5
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +61 -808
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +26 -35
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +52 -19
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +31 -3
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +33 -4
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +12 -4
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +9 -47
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +13 -26
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +8 -17
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +8 -10
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +19 -19
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +285 -0
- package/dist/visualization.es49.js.map +1 -0
- package/dist/visualization.es490.js +63 -14
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +28 -4
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +5 -13
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +3 -48
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +2 -6
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +18 -12
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +282 -2
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +2 -7
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +118 -200
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +2 -27
- 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 +11 -131
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +33 -3
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +25 -16
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +46 -15
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +9 -15
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +15 -2
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +16 -2
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +16 -2
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +24 -5
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +6 -2
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +64 -25
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +44 -67
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +60 -21
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +29 -8
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +7 -68
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +35 -6
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +4 -29
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +3 -9
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +7 -6
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +13 -2
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +2 -5
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +3 -25
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +62 -38
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +3 -10
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +9 -25
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +25 -9
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +4 -10
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +33 -2
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +62 -16
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +235 -27
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +993 -26
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +29 -2
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es529.js +119 -8
- package/dist/visualization.es529.js.map +1 -1
- package/dist/visualization.es53.js +33 -78
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es530.js +29 -12
- package/dist/visualization.es530.js.map +1 -1
- package/dist/visualization.es531.js +10 -22
- package/dist/visualization.es531.js.map +1 -1
- package/dist/visualization.es532.js +13 -12
- package/dist/visualization.es532.js.map +1 -1
- package/dist/visualization.es533.js +33 -3
- package/dist/visualization.es533.js.map +1 -1
- package/dist/visualization.es534.js +29 -2
- package/dist/visualization.es534.js.map +1 -1
- package/dist/visualization.es535.js +10 -17
- package/dist/visualization.es535.js.map +1 -1
- package/dist/visualization.es536.js +12 -3
- package/dist/visualization.es536.js.map +1 -1
- package/dist/visualization.es537.js +16 -10
- package/dist/visualization.es537.js.map +1 -1
- package/dist/visualization.es538.js +24 -11
- package/dist/visualization.es538.js.map +1 -1
- package/dist/visualization.es539.js +16 -6
- package/dist/visualization.es539.js.map +1 -1
- package/dist/visualization.es54.js +34 -45
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +96 -18
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +26 -20
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +70 -10
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +50 -49
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +33 -16
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +42 -36
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +33 -22
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +29 -31
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +123 -3
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +114 -17
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +51 -52
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +8 -14
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +7 -10
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +11 -28
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +25 -6
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +19 -7
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +7 -2
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +6 -17
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +3 -8
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +63 -8
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +12 -614
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +29 -5
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +70 -48
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +30 -13
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +6 -11
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +26 -23
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +11 -34
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +4 -12
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +4 -18
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +4 -25
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +12 -26
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +17 -42
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +64 -6
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +13 -19
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +12 -39
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +8 -57
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +32 -3
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +4 -3
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +4 -7
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +15 -15
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +4 -2
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +10 -2
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +5 -2
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +43 -47
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +6 -7
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +8 -33
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +7 -3
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +4 -3
- package/dist/visualization.es583.js.map +1 -1
- package/dist/visualization.es584.js +3 -6
- package/dist/visualization.es584.js.map +1 -1
- package/dist/visualization.es585.js +4 -13
- package/dist/visualization.es585.js.map +1 -1
- package/dist/visualization.es586.js +12 -2
- package/dist/visualization.es586.js.map +1 -1
- package/dist/visualization.es587.js +7 -1
- package/dist/visualization.es587.js.map +1 -1
- package/dist/visualization.es588.js +30 -3
- package/dist/visualization.es588.js.map +1 -1
- package/dist/visualization.es589.js +24 -10
- package/dist/visualization.es589.js.map +1 -1
- package/dist/visualization.es59.js +61 -33
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es590.js +50 -24
- package/dist/visualization.es590.js.map +1 -1
- package/dist/visualization.es591.js +1 -2
- package/dist/visualization.es591.js.map +1 -1
- package/dist/visualization.es592.js +8 -32
- package/dist/visualization.es592.js.map +1 -1
- package/dist/visualization.es593.js +19 -60
- package/dist/visualization.es593.js.map +1 -1
- package/dist/visualization.es594.js +7 -33
- package/dist/visualization.es594.js.map +1 -1
- package/dist/visualization.es595.js +7 -25
- package/dist/visualization.es595.js.map +1 -1
- package/dist/visualization.es596.js +5 -45
- package/dist/visualization.es596.js.map +1 -1
- package/dist/visualization.es597.js +8 -9
- package/dist/visualization.es597.js.map +1 -1
- package/dist/visualization.es598.js +16 -15
- package/dist/visualization.es598.js.map +1 -1
- package/dist/visualization.es599.js +5 -16
- package/dist/visualization.es599.js.map +1 -1
- package/dist/visualization.es6.js +115 -115
- package/dist/visualization.es6.js.map +1 -1
- package/dist/visualization.es60.js +3 -34
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +7 -16
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +35 -24
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +8 -5
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +2 -13
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +5 -7
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +6 -4
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +14 -4
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +288 -342
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es608.js +32 -36
- package/dist/visualization.es608.js.map +1 -1
- package/dist/visualization.es609.js +4 -9
- package/dist/visualization.es609.js.map +1 -1
- package/dist/visualization.es61.js +46 -12
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es610.js +8 -9
- package/dist/visualization.es610.js.map +1 -1
- package/dist/visualization.es611.js +6 -6
- package/dist/visualization.es611.js.map +1 -1
- package/dist/visualization.es612.js +18 -8
- package/dist/visualization.es612.js.map +1 -1
- package/dist/visualization.es613.js +14 -6
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +9 -5
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +9 -14
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +18 -5
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es617.js +65 -6
- package/dist/visualization.es617.js.map +1 -1
- package/dist/visualization.es618.js +4 -6
- package/dist/visualization.es618.js.map +1 -1
- package/dist/visualization.es619.js +7 -6
- package/dist/visualization.es619.js.map +1 -1
- package/dist/visualization.es62.js +3 -57
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es620.js +7 -3
- package/dist/visualization.es620.js.map +1 -1
- package/dist/visualization.es621.js +16 -4
- package/dist/visualization.es621.js.map +1 -1
- package/dist/visualization.es622.js +19 -10
- package/dist/visualization.es622.js.map +1 -1
- package/dist/visualization.es623.js +9 -122
- package/dist/visualization.es623.js.map +1 -1
- package/dist/visualization.es624.js +3 -6
- package/dist/visualization.es624.js.map +1 -1
- package/dist/visualization.es625.js +28 -5
- package/dist/visualization.es625.js.map +1 -1
- package/dist/visualization.es626.js +6 -2
- package/dist/visualization.es626.js.map +1 -1
- package/dist/visualization.es627.js +10 -221
- package/dist/visualization.es627.js.map +1 -1
- package/dist/visualization.es628.js +6 -224
- package/dist/visualization.es628.js.map +1 -1
- package/dist/visualization.es629.js +11 -6
- package/dist/visualization.es629.js.map +1 -1
- package/dist/visualization.es63.js +15 -31
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es630.js +19 -27
- package/dist/visualization.es630.js.map +1 -1
- package/dist/visualization.es631.js +2 -15
- package/dist/visualization.es631.js.map +1 -1
- package/dist/visualization.es632.js +13 -2
- package/dist/visualization.es632.js.map +1 -1
- package/dist/visualization.es633.js +302 -7
- package/dist/visualization.es633.js.map +1 -1
- package/dist/visualization.es634.js +25 -325
- package/dist/visualization.es634.js.map +1 -1
- package/dist/visualization.es635.js +76 -48
- package/dist/visualization.es635.js.map +1 -1
- package/dist/visualization.es636.js +34 -5
- package/dist/visualization.es636.js.map +1 -1
- package/dist/visualization.es637.js +116 -33
- package/dist/visualization.es637.js.map +1 -1
- package/dist/visualization.es638.js +3 -11
- package/dist/visualization.es638.js.map +1 -1
- package/dist/visualization.es639.js +12 -2
- package/dist/visualization.es639.js.map +1 -1
- package/dist/visualization.es64.js +32 -55
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es640.js +13 -2
- package/dist/visualization.es640.js.map +1 -1
- package/dist/visualization.es641.js +8 -2
- package/dist/visualization.es641.js.map +1 -1
- package/dist/visualization.es642.js +10 -2
- package/dist/visualization.es642.js.map +1 -1
- package/dist/visualization.es643.js +3 -2
- package/dist/visualization.es643.js.map +1 -1
- package/dist/visualization.es65.js +169 -113
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +65 -29
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +175 -65
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +73 -61
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +39 -3
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +50 -50
- package/dist/visualization.es7.js.map +1 -1
- package/dist/visualization.es70.js +79 -45
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +46 -4
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +55 -18
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +7 -3
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +13 -58
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +58 -47
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +69 -44
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +11 -20
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +18699 -113
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +5 -98
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +64 -64
- package/dist/visualization.es8.js.map +1 -1
- package/dist/visualization.es80.js +5 -52
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +53 -48
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +809 -41
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es84.js +131 -5
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +8 -18
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +7 -4
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +26 -27
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +68 -29
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +5 -6
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +30 -30
- package/dist/visualization.es9.js.map +1 -1
- package/dist/visualization.es90.js +5 -8
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +5 -726
- package/dist/visualization.es91.js.map +1 -1
- package/dist/visualization.es92.js +14 -7
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +14 -7
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +13 -2
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +74 -24
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +32 -233
- package/dist/visualization.es96.js.map +1 -1
- package/dist/visualization.es97.js +13 -5
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +85 -5
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +5 -5
- 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.es644.js +0 -7
- package/dist/visualization.es644.js.map +0 -1
- package/dist/visualization.es645.js +0 -49
- package/dist/visualization.es645.js.map +0 -1
- package/dist/visualization.es646.js +0 -14
- package/dist/visualization.es646.js.map +0 -1
- package/dist/visualization.es647.js +0 -37
- package/dist/visualization.es647.js.map +0 -1
- package/dist/visualization.es648.js +0 -33
- package/dist/visualization.es648.js.map +0 -1
- package/dist/visualization.es649.js +0 -63
- package/dist/visualization.es649.js.map +0 -1
- package/dist/visualization.es650.js +0 -27
- package/dist/visualization.es650.js.map +0 -1
- package/dist/visualization.es651.js +0 -121
- package/dist/visualization.es651.js.map +0 -1
- package/dist/visualization.es652.js +0 -7
- package/dist/visualization.es652.js.map +0 -1
- package/dist/visualization.es653.js +0 -18
- package/dist/visualization.es653.js.map +0 -1
- package/dist/visualization.es654.js +0 -42
- package/dist/visualization.es654.js.map +0 -1
- package/dist/visualization.es655.js +0 -8
- package/dist/visualization.es655.js.map +0 -1
- package/dist/visualization.es656.js +0 -20
- package/dist/visualization.es656.js.map +0 -1
- package/dist/visualization.es657.js +0 -12
- package/dist/visualization.es657.js.map +0 -1
- package/dist/visualization.es658.js +0 -11
- package/dist/visualization.es658.js.map +0 -1
- package/dist/visualization.es659.js +0 -11
- package/dist/visualization.es659.js.map +0 -1
- package/dist/visualization.es660.js +0 -11
- package/dist/visualization.es660.js.map +0 -1
- package/dist/visualization.es661.js +0 -11
- package/dist/visualization.es661.js.map +0 -1
- package/dist/visualization.es662.js +0 -12
- package/dist/visualization.es662.js.map +0 -1
- package/dist/visualization.es663.js +0 -8
- package/dist/visualization.es663.js.map +0 -1
- package/dist/visualization.es664.js +0 -14
- package/dist/visualization.es664.js.map +0 -1
- package/dist/visualization.es665.js +0 -45
- package/dist/visualization.es665.js.map +0 -1
- package/dist/visualization.es666.js +0 -7
- package/dist/visualization.es666.js.map +0 -1
- package/dist/visualization.es667.js +0 -7
- package/dist/visualization.es667.js.map +0 -1
- package/dist/visualization.es668.js +0 -7
- package/dist/visualization.es668.js.map +0 -1
- package/dist/visualization.es669.js +0 -19
- package/dist/visualization.es669.js.map +0 -1
- package/dist/visualization.es670.js +0 -7
- package/dist/visualization.es670.js.map +0 -1
- package/dist/visualization.es671.js +0 -13
- package/dist/visualization.es671.js.map +0 -1
- package/dist/visualization.es672.js +0 -8
- package/dist/visualization.es672.js.map +0 -1
- package/dist/visualization.es673.js +0 -9
- package/dist/visualization.es673.js.map +0 -1
- package/dist/visualization.es674.js +0 -13
- package/dist/visualization.es674.js.map +0 -1
- package/dist/visualization.es675.js +0 -11
- package/dist/visualization.es675.js.map +0 -1
- package/dist/visualization.es676.js +0 -8
- package/dist/visualization.es676.js.map +0 -1
- package/dist/visualization.es677.js +0 -7
- package/dist/visualization.es677.js.map +0 -1
- package/dist/visualization.es678.js +0 -7
- package/dist/visualization.es678.js.map +0 -1
- package/dist/visualization.es679.js +0 -15
- package/dist/visualization.es679.js.map +0 -1
- package/dist/visualization.es680.js +0 -13
- package/dist/visualization.es680.js.map +0 -1
- package/dist/visualization.es681.js +0 -34
- package/dist/visualization.es681.js.map +0 -1
- package/dist/visualization.es682.js +0 -28
- package/dist/visualization.es682.js.map +0 -1
- package/dist/visualization.es683.js +0 -55
- package/dist/visualization.es683.js.map +0 -1
- package/dist/visualization.es684.js +0 -7
- package/dist/visualization.es684.js.map +0 -1
- package/dist/visualization.es685.js +0 -12
- package/dist/visualization.es685.js.map +0 -1
- package/dist/visualization.es686.js +0 -24
- package/dist/visualization.es686.js.map +0 -1
- package/dist/visualization.es687.js +0 -11
- package/dist/visualization.es687.js.map +0 -1
- package/dist/visualization.es688.js +0 -10
- package/dist/visualization.es688.js.map +0 -1
- package/dist/visualization.es689.js +0 -9
- package/dist/visualization.es689.js.map +0 -1
- package/dist/visualization.es690.js +0 -11
- package/dist/visualization.es690.js.map +0 -1
- package/dist/visualization.es691.js +0 -19
- package/dist/visualization.es691.js.map +0 -1
- package/dist/visualization.es692.js +0 -8
- package/dist/visualization.es692.js.map +0 -1
- package/dist/visualization.es693.js +0 -10
- package/dist/visualization.es693.js.map +0 -1
- package/dist/visualization.es694.js +0 -38
- package/dist/visualization.es694.js.map +0 -1
- package/dist/visualization.es695.js +0 -12
- package/dist/visualization.es695.js.map +0 -1
- package/dist/visualization.es696.js +0 -31
- package/dist/visualization.es696.js.map +0 -1
- package/dist/visualization.es697.js +0 -14
- package/dist/visualization.es697.js.map +0 -1
- package/dist/visualization.es698.js +0 -17
- package/dist/visualization.es698.js.map +0 -1
- package/dist/visualization.es699.js +0 -11
- package/dist/visualization.es699.js.map +0 -1
- package/dist/visualization.es700.js +0 -11
- package/dist/visualization.es700.js.map +0 -1
- package/dist/visualization.es701.js +0 -23
- package/dist/visualization.es701.js.map +0 -1
- package/dist/visualization.es702.js +0 -66
- package/dist/visualization.es702.js.map +0 -1
- package/dist/visualization.es703.js +0 -8
- package/dist/visualization.es703.js.map +0 -1
- package/dist/visualization.es704.js +0 -7
- package/dist/visualization.es704.js.map +0 -1
- package/dist/visualization.es705.js +0 -5
- package/dist/visualization.es705.js.map +0 -1
- package/dist/visualization.es706.js +0 -22
- package/dist/visualization.es706.js.map +0 -1
- package/dist/visualization.es707.js +0 -285
- package/dist/visualization.es707.js.map +0 -1
- package/dist/visualization.es708.js +0 -5
- package/dist/visualization.es708.js.map +0 -1
- package/dist/visualization.es709.js +0 -131
- package/dist/visualization.es709.js.map +0 -1
- package/dist/visualization.es710.js +0 -11
- package/dist/visualization.es710.js.map +0 -1
- package/dist/visualization.es711.js +0 -11
- package/dist/visualization.es711.js.map +0 -1
- package/dist/visualization.es712.js +0 -17
- package/dist/visualization.es712.js.map +0 -1
- package/dist/visualization.es713.js +0 -76
- package/dist/visualization.es713.js.map +0 -1
- package/dist/visualization.es714.js +0 -33
- package/dist/visualization.es714.js.map +0 -1
- package/dist/visualization.es715.js +0 -9
- package/dist/visualization.es715.js.map +0 -1
- package/dist/visualization.es716.js +0 -29
- package/dist/visualization.es716.js.map +0 -1
- package/dist/visualization.es717.js +0 -15
- package/dist/visualization.es717.js.map +0 -1
- package/dist/visualization.es718.js +0 -8
- package/dist/visualization.es718.js.map +0 -1
- package/dist/visualization.es719.js +0 -8
- package/dist/visualization.es719.js.map +0 -1
- package/dist/visualization.es720.js +0 -8
- package/dist/visualization.es720.js.map +0 -1
- package/dist/visualization.es721.js +0 -16
- package/dist/visualization.es721.js.map +0 -1
- package/dist/visualization.es722.js +0 -21
- package/dist/visualization.es722.js.map +0 -1
- package/dist/visualization.es723.js +0 -17
- package/dist/visualization.es723.js.map +0 -1
- package/dist/visualization.es724.js +0 -17
- package/dist/visualization.es724.js.map +0 -1
- package/dist/visualization.es725.js +0 -12
- package/dist/visualization.es725.js.map +0 -1
- package/dist/visualization.es726.js +0 -5
- package/dist/visualization.es726.js.map +0 -1
- package/dist/visualization.es727.js +0 -5
- package/dist/visualization.es727.js.map +0 -1
- package/dist/visualization.es728.js +0 -5
- package/dist/visualization.es728.js.map +0 -1
- package/dist/visualization.es729.js +0 -71
- package/dist/visualization.es729.js.map +0 -1
- package/dist/visualization.es730.js +0 -88
- package/dist/visualization.es730.js.map +0 -1
- package/dist/visualization.es731.js +0 -50
- package/dist/visualization.es731.js.map +0 -1
- package/dist/visualization.es732.js +0 -11
- package/dist/visualization.es732.js.map +0 -1
- package/dist/visualization.es733.js +0 -8
- package/dist/visualization.es733.js.map +0 -1
- package/dist/visualization.es734.js +0 -55
- package/dist/visualization.es734.js.map +0 -1
- package/dist/visualization.es735.js +0 -18
- package/dist/visualization.es735.js.map +0 -1
- package/dist/visualization.es736.js +0 -235
- package/dist/visualization.es736.js.map +0 -1
- package/dist/visualization.es737.js +0 -63
- package/dist/visualization.es737.js.map +0 -1
- package/dist/visualization.es738.js +0 -10
- package/dist/visualization.es738.js.map +0 -1
- package/dist/visualization.es739.js +0 -9
- package/dist/visualization.es739.js.map +0 -1
- package/dist/visualization.es740.js +0 -34
- package/dist/visualization.es740.js.map +0 -1
- package/dist/visualization.es741.js +0 -18
- package/dist/visualization.es741.js.map +0 -1
- package/dist/visualization.es742.js +0 -337
- package/dist/visualization.es742.js.map +0 -1
- package/dist/visualization.es743.js +0 -326
- package/dist/visualization.es743.js.map +0 -1
- package/dist/visualization.es744.js +0 -6
- package/dist/visualization.es744.js.map +0 -1
- package/dist/visualization.es745.js +0 -10
- package/dist/visualization.es745.js.map +0 -1
- package/dist/visualization.es746.js +0 -10
- package/dist/visualization.es746.js.map +0 -1
- package/dist/visualization.es747.js +0 -36
- package/dist/visualization.es747.js.map +0 -1
- package/dist/visualization.es748.js +0 -314
- package/dist/visualization.es748.js.map +0 -1
- package/dist/visualization.es749.js +0 -9
- package/dist/visualization.es749.js.map +0 -1
- package/dist/visualization.es750.js +0 -9
- package/dist/visualization.es750.js.map +0 -1
- package/dist/visualization.es751.js +0 -9
- package/dist/visualization.es751.js.map +0 -1
- package/dist/visualization.es752.js +0 -11
- package/dist/visualization.es752.js.map +0 -1
- package/dist/visualization.es753.js +0 -36
- package/dist/visualization.es753.js.map +0 -1
- package/dist/visualization.es754.js +0 -6
- package/dist/visualization.es754.js.map +0 -1
- package/dist/visualization.es755.js +0 -97
- package/dist/visualization.es755.js.map +0 -1
- package/dist/visualization.es756.js +0 -52
- package/dist/visualization.es756.js.map +0 -1
- package/dist/visualization.es757.js +0 -46
- package/dist/visualization.es757.js.map +0 -1
- package/dist/visualization.es758.js +0 -6
- package/dist/visualization.es758.js.map +0 -1
- package/dist/visualization.es759.js +0 -11
- package/dist/visualization.es759.js.map +0 -1
- package/dist/visualization.es760.js +0 -44
- package/dist/visualization.es760.js.map +0 -1
- package/dist/visualization.es761.js +0 -23
- package/dist/visualization.es761.js.map +0 -1
- package/dist/visualization.es762.js +0 -54
- package/dist/visualization.es762.js.map +0 -1
- package/dist/visualization.es763.js +0 -10
- package/dist/visualization.es763.js.map +0 -1
- package/dist/visualization.es764.js +0 -11
- package/dist/visualization.es764.js.map +0 -1
- package/dist/visualization.es765.js +0 -79
- package/dist/visualization.es765.js.map +0 -1
- package/dist/visualization.es766.js +0 -64
- package/dist/visualization.es766.js.map +0 -1
- package/dist/visualization.es767.js +0 -8
- package/dist/visualization.es767.js.map +0 -1
- package/dist/visualization.es768.js +0 -27
- package/dist/visualization.es768.js.map +0 -1
- package/dist/visualization.es769.js +0 -29
- package/dist/visualization.es769.js.map +0 -1
- package/dist/visualization.es770.js +0 -6
- package/dist/visualization.es770.js.map +0 -1
- package/dist/visualization.es771.js +0 -16
- package/dist/visualization.es771.js.map +0 -1
- package/dist/visualization.es772.js +0 -19
- package/dist/visualization.es772.js.map +0 -1
- package/dist/visualization.es773.js +0 -13
- package/dist/visualization.es773.js.map +0 -1
- package/dist/visualization.es774.js +0 -13
- package/dist/visualization.es774.js.map +0 -1
- package/dist/visualization.es775.js +0 -7
- package/dist/visualization.es775.js.map +0 -1
- package/dist/visualization.es776.js +0 -8
- package/dist/visualization.es776.js.map +0 -1
- package/dist/visualization.es777.js +0 -12
- package/dist/visualization.es777.js.map +0 -1
- package/dist/visualization.es778.js +0 -10
- package/dist/visualization.es778.js.map +0 -1
- package/dist/visualization.es779.js +0 -22
- package/dist/visualization.es779.js.map +0 -1
- package/dist/visualization.es780.js +0 -18
- package/dist/visualization.es780.js.map +0 -1
- package/dist/visualization.es781.js +0 -16
- package/dist/visualization.es781.js.map +0 -1
- package/dist/visualization.es782.js +0 -28
- package/dist/visualization.es782.js.map +0 -1
- package/dist/visualization.es783.js +0 -23
- package/dist/visualization.es783.js.map +0 -1
- package/dist/visualization.es784.js +0 -10
- package/dist/visualization.es784.js.map +0 -1
- package/dist/visualization.es785.js +0 -9
- package/dist/visualization.es785.js.map +0 -1
- package/dist/visualization.es786.js +0 -7
- package/dist/visualization.es786.js.map +0 -1
- package/dist/visualization.es787.js +0 -68
- package/dist/visualization.es787.js.map +0 -1
- package/dist/visualization.es788.js +0 -10
- package/dist/visualization.es788.js.map +0 -1
- package/dist/visualization.es789.js +0 -5
- package/dist/visualization.es789.js.map +0 -1
- package/dist/visualization.es790.js +0 -5
- package/dist/visualization.es790.js.map +0 -1
- package/dist/visualization.es791.js +0 -7
- package/dist/visualization.es791.js.map +0 -1
- package/dist/visualization.es792.js +0 -9
- package/dist/visualization.es792.js.map +0 -1
- package/dist/visualization.es793.js +0 -9
- package/dist/visualization.es793.js.map +0 -1
- package/dist/visualization.es794.js +0 -17
- package/dist/visualization.es794.js.map +0 -1
- package/dist/visualization.es795.js +0 -13
- package/dist/visualization.es795.js.map +0 -1
- package/dist/visualization.es796.js +0 -13
- package/dist/visualization.es796.js.map +0 -1
- package/dist/visualization.es797.js +0 -22
- package/dist/visualization.es797.js.map +0 -1
- package/dist/visualization.es798.js +0 -246
- package/dist/visualization.es798.js.map +0 -1
- package/dist/visualization.es799.js +0 -11
- package/dist/visualization.es799.js.map +0 -1
- package/dist/visualization.es800.js +0 -52
- package/dist/visualization.es800.js.map +0 -1
- package/dist/visualization.es801.js +0 -25
- package/dist/visualization.es801.js.map +0 -1
- package/dist/visualization.es802.js +0 -6
- package/dist/visualization.es802.js.map +0 -1
- package/dist/visualization.es803.js +0 -6
- package/dist/visualization.es803.js.map +0 -1
- package/dist/visualization.es804.js +0 -294
- package/dist/visualization.es804.js.map +0 -1
- package/dist/visualization.es805.js +0 -9
- package/dist/visualization.es805.js.map +0 -1
- package/dist/visualization.es806.js +0 -7
- package/dist/visualization.es806.js.map +0 -1
- package/dist/visualization.es807.js +0 -67
- package/dist/visualization.es807.js.map +0 -1
- package/dist/visualization.es808.js +0 -27
- package/dist/visualization.es808.js.map +0 -1
- package/dist/visualization.es809.js +0 -7
- package/dist/visualization.es809.js.map +0 -1
- package/dist/visualization.es810.js +0 -12
- package/dist/visualization.es810.js.map +0 -1
- package/dist/visualization.es811.js +0 -12
- package/dist/visualization.es811.js.map +0 -1
- package/dist/visualization.es812.js +0 -9
- package/dist/visualization.es812.js.map +0 -1
- package/dist/visualization.es813.js +0 -10
- package/dist/visualization.es813.js.map +0 -1
- package/dist/visualization.es814.js +0 -11
- package/dist/visualization.es814.js.map +0 -1
- package/dist/visualization.es815.js +0 -5
- package/dist/visualization.es815.js.map +0 -1
- package/dist/visualization.es816.js +0 -69
- package/dist/visualization.es816.js.map +0 -1
- package/dist/visualization.es817.js +0 -69
- package/dist/visualization.es817.js.map +0 -1
- package/dist/visualization.es818.js +0 -69
- package/dist/visualization.es818.js.map +0 -1
- package/dist/visualization.es819.js +0 -8
- package/dist/visualization.es819.js.map +0 -1
- package/dist/visualization.es820.js +0 -11
- package/dist/visualization.es820.js.map +0 -1
- package/dist/visualization.es821.js +0 -11
- package/dist/visualization.es821.js.map +0 -1
- package/dist/visualization.es822.js +0 -20
- package/dist/visualization.es822.js.map +0 -1
- package/dist/visualization.es823.js +0 -22
- package/dist/visualization.es823.js.map +0 -1
- package/dist/visualization.es824.js +0 -13
- package/dist/visualization.es824.js.map +0 -1
- package/dist/visualization.es825.js +0 -7
- package/dist/visualization.es825.js.map +0 -1
- package/dist/visualization.es826.js +0 -32
- package/dist/visualization.es826.js.map +0 -1
- package/dist/visualization.es827.js +0 -9
- package/dist/visualization.es827.js.map +0 -1
- package/dist/visualization.es828.js +0 -14
- package/dist/visualization.es828.js.map +0 -1
- package/dist/visualization.es829.js +0 -10
- package/dist/visualization.es829.js.map +0 -1
- package/dist/visualization.es83.js +0 -9
- package/dist/visualization.es83.js.map +0 -1
- package/dist/visualization.es830.js +0 -15
- package/dist/visualization.es830.js.map +0 -1
- package/dist/visualization.es831.js +0 -25
- package/dist/visualization.es831.js.map +0 -1
- package/dist/visualization.es832.js +0 -5
- package/dist/visualization.es832.js.map +0 -1
- package/dist/visualization.es833.js +0 -16
- package/dist/visualization.es833.js.map +0 -1
- package/dist/visualization.es834.js +0 -306
- package/dist/visualization.es834.js.map +0 -1
- package/dist/visualization.es835.js +0 -30
- package/dist/visualization.es835.js.map +0 -1
- package/dist/visualization.es836.js +0 -81
- package/dist/visualization.es836.js.map +0 -1
- package/dist/visualization.es837.js +0 -38
- package/dist/visualization.es837.js.map +0 -1
- package/dist/visualization.es838.js +0 -7
- package/dist/visualization.es838.js.map +0 -1
- package/dist/visualization.es839.js +0 -15
- package/dist/visualization.es839.js.map +0 -1
- package/dist/visualization.es840.js +0 -121
- package/dist/visualization.es840.js.map +0 -1
- package/dist/visualization.es841.js +0 -75
- package/dist/visualization.es841.js.map +0 -1
- package/dist/visualization.es842.js +0 -121
- package/dist/visualization.es842.js.map +0 -1
- package/dist/visualization.es843.js +0 -7
- package/dist/visualization.es843.js.map +0 -1
- package/dist/visualization.es844.js +0 -10
- package/dist/visualization.es844.js.map +0 -1
- package/dist/visualization.es845.js +0 -13
- package/dist/visualization.es845.js.map +0 -1
- package/dist/visualization.es846.js +0 -13
- package/dist/visualization.es846.js.map +0 -1
- package/dist/visualization.es847.js +0 -8
- package/dist/visualization.es847.js.map +0 -1
- package/dist/visualization.es848.js +0 -8
- package/dist/visualization.es848.js.map +0 -1
- package/dist/visualization.es849.js +0 -6
- package/dist/visualization.es849.js.map +0 -1
- package/dist/visualization.es850.js +0 -75
- package/dist/visualization.es850.js.map +0 -1
- package/dist/visualization.es851.js +0 -7
- package/dist/visualization.es851.js.map +0 -1
- package/dist/visualization.es852.js +0 -22
- package/dist/visualization.es852.js.map +0 -1
- package/dist/visualization.es853.js +0 -7
- package/dist/visualization.es853.js.map +0 -1
- package/dist/visualization.es854.js +0 -5
- package/dist/visualization.es854.js.map +0 -1
- package/dist/visualization.es855.js +0 -5
- package/dist/visualization.es855.js.map +0 -1
- package/dist/visualization.es856.js +0 -7
- package/dist/visualization.es856.js.map +0 -1
- package/dist/visualization.es857.js +0 -14
- package/dist/visualization.es857.js.map +0 -1
- package/dist/visualization.es858.js +0 -16
- package/dist/visualization.es858.js.map +0 -1
- package/dist/visualization.es859.js +0 -11
- package/dist/visualization.es859.js.map +0 -1
- package/dist/visualization.es860.js +0 -9
- package/dist/visualization.es860.js.map +0 -1
- package/dist/visualization.es861.js +0 -13
- package/dist/visualization.es861.js.map +0 -1
- package/dist/visualization.es862.js +0 -6
- package/dist/visualization.es862.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es14.js","sources":["../src/components/SequenceAlignmentPlot/SequenceAlignmentPlot.tsx"],"sourcesContent":["import React, { useRef, useEffect, useState, useMemo, useCallback, ReactNode } from \"react\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { scaleLinear, scaleOrdinal } from \"@visx/scale\";\nimport { LegendOrdinal } from \"@visx/legend\";\nimport { defaultStyles, useTooltip, useTooltipInPortal } from \"@visx/tooltip\";\nimport { Text } from \"@visx/text\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport InfoOutlinedIcon from \"@mui/icons-material/InfoOutlined\";\n\nexport type AlignmentChar = \"A\" | \"C\" | \"G\" | \"T\" | \"N\" | \"M\" | \"-\" | \"*\";\n\nconst COLORS: Record<AlignmentChar, string> = {\n A: \"#05ac05\",\n C: \"#1668cb\",\n G: \"#ffb700\",\n T: \"#fd1414\",\n N: \"#555555\",\n M: \"#984ea3\",\n \"-\": \"#d4d4d4\",\n \"*\": \"#ffffff\",\n};\n\nconst LEGEND_LABELS: Record<AlignmentChar, string> = {\n A: \"A\",\n C: \"C\",\n G: \"G\",\n T: \"T\",\n N: \"N Unresolved\",\n M: \"Ambiguous Alignment\",\n \"-\": \"Gap\",\n \"*\": \"Absent\",\n};\n\n// Explicit order so A,C,G,T lead the legend like the old emoji key did.\nconst LEGEND_ORDER: AlignmentChar[] = [\"A\", \"C\", \"G\", \"T\", \"N\", \"M\", \"*\", \"-\"];\n\nconst INFO_TOOLTIP_TEXT = `\n Each column is a position in the human cCRE, and each row shows the\n corresponding aligned state in another mammalian genome. A, C, G, and\n T indicate the nucleotide aligned to that human position. N indicates that\n the target genome has an unresolved base at that position. Ambiguous\n alignment indicates that this human cCRE position aligns to more than\n one location in the target genome, and those aligned locations contain\n different nucleotides. Because the alignment does not support a single\n target base, the position is not assigned A, C, G, or T. Absent indicates\n that the human position could not be aligned to that species. Gap\n indicates that the alignment covers this region, but this species has a gap\n relative to the human cCRE.\n`;\n\n// Colors are static, so the ordinal scale can live at module scope.\nconst legendScale = scaleOrdinal<AlignmentChar, string>({\n domain: LEGEND_ORDER,\n range: LEGEND_ORDER.map((char) => COLORS[char]),\n});\n\nexport interface SequenceAlignmentPlotProps {\n data: { [id: string]: AlignmentChar[] };\n getLabel: (id: string) => string;\n getOrderColor: (id: string) => string;\n /**\n * the evolutionary order, not sort order. Sort in plot by sorting input data\n */\n getOrder: (id: string) => string;\n width: number;\n height: number;\n /**\n * Used to sync plot state with hover on PhyloTree. Plot treats these as if they are internally hovered\n */\n hovered?: string[];\n /**\n * Fired when internal hover state changes\n */\n onHoverChange?: (hovered: string | null) => void;\n /**\n * Places indicator next to species\n */\n highlighted?: string[];\n /**\n * Optionally define tooltip for hover. `char`, `charLabel`, and `position` only present if hovering over a position\n */\n tooltipContents?: (tooltipData: TooltipData) => ReactNode;\n}\n\n// Bottom band below the canvas: axis ticks on top, then the axis title + wrapping legend.\nconst AXIS_TICKS_HEIGHT = 24; // AxisBottom ticks + numbers\nconst LEGEND_TITLE_HEIGHT = 16; // \"Position in cCRE\" line\nconst LEGEND_ROW_HEIGHT = 16; // one wrapped row of swatches + labels\nconst LEGEND_MAX_ROWS = 3; // worst-case wrap at the narrowest live width\nconst AXIS_HEIGHT = AXIS_TICKS_HEIGHT + LEGEND_TITLE_HEIGHT + LEGEND_MAX_ROWS * LEGEND_ROW_HEIGHT;\nconst SPECIES_BAR_WIDTH = 12;\nconst HIGHLIGHTED_BAR_WIDTH = 12;\nconst PADDING = 10;\nconst HIGHLIGHTED_AND_SPECIES_SVG_WIDTH = HIGHLIGHTED_BAR_WIDTH + PADDING + SPECIES_BAR_WIDTH + PADDING;\nconst MIN_SCALE = 1;\nconst MAX_SCALE = 50;\nconst ZOOM_FACTOR = 1.15;\nconst AXIS_LEFT_PADDING = 5\n\nexport type SpeciesInfo = { id: string; label: string; order: string; color: string };\n\nexport type TooltipData = SpeciesInfo & {\n char?: AlignmentChar;\n charLabel?: string;\n position?: number;\n};\n\ninterface ZoomTransform {\n scaleX: number;\n translateX: number;\n}\n\n/**\n * Clamps translateX so the data never scrolls outside the canvas bounds.\n * Valid range: [canvasWidth * (1 - scaleX), 0]\n */\nconst clampTranslateX = (translateX: number, scaleX: number, canvasWidth: number): number =>\n Math.min(0, Math.max(canvasWidth * (1 - scaleX), translateX));\n\n/**\n * @todo This component could use some cleanup and maybe manual memoization to handle hover changes to highlight more efficiently\n * Maybe try debouncing the hover changes using requestAnimationFrame like PhyloTree\n */\nexport const SequenceAlignmentPlot: React.FC<SequenceAlignmentPlotProps> = ({\n data,\n width: totalWidth,\n height: totalHeight,\n getLabel,\n getOrderColor,\n getOrder,\n hovered: externalHovered = [],\n highlighted = [],\n onHoverChange = () => null,\n tooltipContents,\n}) => {\n const [internalHovered, setInternalHovered] = useState<string | null>(null);\n const [zoomTransform, setZoomTransform] = useState<ZoomTransform>({ scaleX: 1, translateX: 0 });\n const [isDragging, setIsDragging] = useState(false);\n\n // Refs for event handlers that need current values without being in dependency arrays\n const zoomTransformRef = useRef<ZoomTransform>(zoomTransform);\n const dragStartX = useRef(0);\n const dragStartTranslateX = useRef(0);\n\n // Keep ref in sync so the wheel handler (attached imperatively) always sees current transform\n useEffect(() => {\n zoomTransformRef.current = zoomTransform;\n }, [zoomTransform]);\n\n const handleSetInternalHover = useCallback(\n (newHovered: string | null) => {\n const changed = newHovered !== internalHovered;\n if (changed) {\n setInternalHovered(newHovered);\n onHoverChange(newHovered);\n }\n },\n [internalHovered, onHoverChange]\n );\n\n const hovered = useMemo(\n () => (internalHovered ? [internalHovered, ...externalHovered] : externalHovered),\n [internalHovered, externalHovered]\n );\n\n \n const { tooltipData, tooltipLeft, tooltipTop, showTooltip, hideTooltip } = useTooltip<TooltipData>();\n \n const { TooltipInPortal } = useTooltipInPortal({\n scroll: true,\n detectBounds: true,\n });\n \n const numSpecies = Object.keys(data).length;\n const numPositions = Object.values(data)[0]?.length ?? 0;\n \n const canvasWidth = totalWidth - HIGHLIGHTED_AND_SPECIES_SVG_WIDTH;\n const canvasHeight = totalHeight - AXIS_HEIGHT;\n \n const speciesInfo = useMemo(() => {\n const entries: [string, SpeciesInfo][] = Object.keys(data).map((species) => [\n species,\n { id: species, label: getLabel(species), order: getOrder(species), color: getOrderColor(species) },\n ]);\n return new Map<string, SpeciesInfo>(entries);\n }, [data]);\n \n const canvasRef = useRef<HTMLCanvasElement>(null);\n\n // Attach wheel listener imperatively with passive: false so we can call preventDefault.\n // React 17+ attaches onWheel passively, which prevents scroll cancellation.\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const handleWheel = (e: WheelEvent) => {\n e.preventDefault();\n\n const rect = canvas.getBoundingClientRect();\n const cursorX = e.clientX - rect.left;\n const { scaleX, translateX } = zoomTransformRef.current;\n\n const zoomDir = e.deltaY < 0 ? ZOOM_FACTOR : 1 / ZOOM_FACTOR;\n const newScaleX = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scaleX * zoomDir));\n\n // Adjust translateX so the data point under the cursor stays fixed\n const newTranslateX = cursorX - (cursorX - translateX) * (newScaleX / scaleX);\n const clampedTranslateX = clampTranslateX(newTranslateX, newScaleX, canvasWidth);\n\n setZoomTransform({ scaleX: newScaleX, translateX: clampedTranslateX });\n };\n\n canvas.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => canvas.removeEventListener(\"wheel\", handleWheel);\n }, [canvasWidth]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const preventTouchScroll = (e: TouchEvent) => {\n if (e.touches.length === 1) e.preventDefault(); // single finger = pan, not page scroll\n };\n\n canvas.addEventListener(\"touchstart\", preventTouchScroll, { passive: false });\n canvas.addEventListener(\"touchmove\", preventTouchScroll, { passive: false });\n return () => {\n canvas.removeEventListener(\"touchstart\", preventTouchScroll);\n canvas.removeEventListener(\"touchmove\", preventTouchScroll);\n };\n }, []);\n\n // Draw to the cancas\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n const dpr = window.devicePixelRatio || 1;\n\n canvas.width = canvasWidth * dpr;\n canvas.height = canvasHeight * dpr;\n canvas.style.width = `${canvasWidth}px`;\n canvas.style.height = `${canvasHeight}px`;\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n // Combine the base data→bitmap mapping with the zoom transform.\n // translateX is in CSS pixels so it must be scaled by dpr for the bitmap.\n const bitmapScaleX = (canvas.width / numPositions) * zoomTransform.scaleX;\n const bitmapScaleY = canvas.height / numSpecies;\n const bitmapTranslateX = zoomTransform.translateX * dpr;\n\n ctx.setTransform(bitmapScaleX, 0, 0, bitmapScaleY, bitmapTranslateX, 0);\n\n Object.entries(data).forEach(([species, sequence], y) => {\n sequence.forEach((nucleobase, x) => {\n ctx.fillStyle = COLORS[nucleobase];\n ctx.globalAlpha = hovered.length && !hovered.includes(species) ? 0.3 : 1;\n ctx.fillRect(x, y, 1, 1);\n ctx.globalAlpha = 1;\n });\n });\n }, [data, canvasWidth, canvasHeight, numPositions, numSpecies, hovered, zoomTransform]);\n\n // Converts a CSS pixel x position on the canvas to a data-space nucleotide index,\n // inverting the zoom transform: dataX = (cssX - translateX) / (cssWidthPerDataUnit * scaleX)\n const cssXToPosition = useCallback(\n (cssX: number): number => {\n const { scaleX, translateX } = zoomTransformRef.current;\n return Math.floor(((cssX - translateX) / canvasWidth) * (numPositions / scaleX));\n },\n [canvasWidth, numPositions]\n );\n\n const handleHeatmapPointerDown = (e: React.PointerEvent<HTMLCanvasElement>) => {\n setIsDragging(true);\n dragStartX.current = e.clientX;\n dragStartTranslateX.current = zoomTransformRef.current.translateX;\n e.currentTarget.setPointerCapture(e.pointerId)\n };\n\n const handleHeatmapPointerMove = (e: React.PointerEvent<HTMLCanvasElement>) => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n // While dragging: update pan, suppress hover/tooltip\n if (isDragging) {\n const delta = e.clientX - dragStartX.current;\n const newTranslateX = clampTranslateX(\n dragStartTranslateX.current + delta,\n zoomTransformRef.current.scaleX,\n canvasWidth\n );\n setZoomTransform((prev) => ({ ...prev, translateX: newTranslateX }));\n return;\n }\n\n const rect = canvas.getBoundingClientRect();\n const cssX = e.clientX - rect.left;\n const cssY = e.clientY - rect.top;\n\n const position = cssXToPosition(cssX);\n const speciesIndex = Math.floor((cssY / rect.height) * numSpecies);\n const speciesId = Object.keys(data)[speciesIndex];\n const char = data[speciesId]?.[position];\n\n if (position >= 0 && position < numPositions && speciesIndex >= 0 && speciesIndex < numSpecies) {\n handleSetInternalHover(speciesId);\n showTooltip({\n tooltipTop: e.clientY,\n tooltipLeft: e.clientX,\n tooltipData: {\n position,\n char,\n charLabel: char != null ? LEGEND_LABELS[char] : undefined,\n ...(speciesInfo.get(speciesId) as SpeciesInfo),\n },\n });\n } else {\n handleSetInternalHover(null);\n hideTooltip();\n }\n };\n\n const handleHeatmapPointerUp = () => {\n setIsDragging(false);\n };\n\n const handleHeatmapPointerLeave = () => {\n setIsDragging(false);\n handleSetInternalHover(null);\n hideTooltip();\n };\n\n const handleSpeciesBarMouseMove = (event: React.MouseEvent<SVGGElement, MouseEvent>, species: SpeciesInfo) => {\n handleSetInternalHover(species.id);\n showTooltip({ tooltipLeft: event.clientX, tooltipTop: event.clientY, tooltipData: species });\n };\n\n const handleSpeciesBarMouseLeave = (event: React.MouseEvent<SVGGElement, MouseEvent>, species: SpeciesInfo) => {\n handleSetInternalHover(null);\n hideTooltip();\n };\n\n // Apply the zoom transform to the axis scale so tick positions stay in sync with the canvas.\n // Domain [0, numPositions-1] maps to zoomed CSS range [translateX, canvasWidth * scaleX + translateX].\n const zoomedXScale = useMemo(\n () =>\n scaleLinear({\n domain: [0, numPositions - 1],\n range: [\n zoomTransform.translateX,\n canvasWidth * zoomTransform.scaleX + zoomTransform.translateX,\n ],\n }),\n [numPositions, canvasWidth, zoomTransform]\n );\n\n const speciesList = useMemo(() => [...speciesInfo.values()], [speciesInfo]);\n\n const axisWidth = canvasWidth + AXIS_LEFT_PADDING\n\n return totalWidth < 10 || totalHeight < 10 ? null :(\n <div\n style={{\n position: \"relative\",\n width: totalWidth,\n height: totalHeight,\n }}\n >\n <svg\n width={HIGHLIGHTED_AND_SPECIES_SVG_WIDTH}\n height={totalHeight}\n style={{ top: 0, left: 0, position: \"absolute\" }}\n >\n {speciesList.map((species, i) => {\n const rectHeight = canvasHeight / speciesList.length;\n return (\n <g\n key={i}\n onMouseMove={(event) => handleSpeciesBarMouseMove(event, species)}\n onMouseLeave={(event) => handleSpeciesBarMouseLeave(event, species)}\n opacity={hovered.length && !hovered.includes(species.id) ? 0.3 : 1}\n >\n {highlighted.includes(species.id) && (\n <rect\n width={HIGHLIGHTED_BAR_WIDTH}\n height={rectHeight}\n x={0}\n y={rectHeight * i}\n fill={species.color}\n shapeRendering={\"crispEdges\"}\n />\n )}\n <rect\n width={SPECIES_BAR_WIDTH}\n height={rectHeight}\n x={HIGHLIGHTED_BAR_WIDTH + PADDING}\n y={rectHeight * i}\n fill={species.color}\n shapeRendering={\"crispEdges\"}\n />\n </g>\n );\n })}\n <Text\n angle={270}\n textAnchor=\"end\"\n verticalAnchor=\"middle\"\n fontSize={12}\n x={0.5 * HIGHLIGHTED_BAR_WIDTH}\n y={canvasHeight + 2}\n >\n Highlight\n </Text>\n <Text\n angle={270}\n textAnchor=\"end\"\n verticalAnchor=\"middle\"\n fontSize={12}\n x={HIGHLIGHTED_BAR_WIDTH + PADDING + 0.5 * SPECIES_BAR_WIDTH}\n y={canvasHeight + 2}\n >\n Species\n </Text>\n </svg>\n <canvas\n ref={canvasRef}\n onPointerDown={handleHeatmapPointerDown}\n onPointerMove={handleHeatmapPointerMove}\n onPointerUp={handleHeatmapPointerUp}\n onPointerLeave={handleHeatmapPointerLeave}\n style={{\n position: \"absolute\",\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH,\n cursor: isDragging ? \"grabbing\" : zoomTransform.scaleX > 1 ? \"grab\" : \"default\",\n }}\n />\n {/* overflow: hidden clips axis ticks that scroll outside the canvas bounds when zoomed */}\n <svg\n width={axisWidth}\n height={AXIS_HEIGHT}\n style={{\n position: \"absolute\",\n //position it into the other svg by AXIS_LEFT_PADDING to fix axis cutoff of 0 at first load.\n //can't fix with overflow visible since on zoom the axis needs to be clipped\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH - AXIS_LEFT_PADDING,\n bottom: 0,\n pointerEvents: \"none\",\n overflow: \"hidden\",\n }}\n >\n <AxisBottom\n scale={zoomedXScale}\n numTicks={Math.min(numPositions, Math.round(10 * zoomTransform.scaleX))}\n left={AXIS_LEFT_PADDING}\n />\n </svg>\n {/* Axis title, zoom indicator, and color legend live in HTML below the axis ticks.\n The legend wraps at narrow widths; AXIS_HEIGHT reserves room for up to LEGEND_MAX_ROWS. */}\n <div\n style={{\n position: \"absolute\",\n top: canvasHeight + AXIS_TICKS_HEIGHT,\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH,\n width: canvasWidth,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n fontSize: 12,\n pointerEvents: \"none\",\n }}\n >\n {/* Axis title centered, zoom factor pinned to the right of the same line */}\n <div style={{ position: \"relative\", width: \"100%\", textAlign: \"center\" }}>\n Position in cCRE\n <span style={{ position: \"absolute\", right: 0, top: 0 }}>\n {`${zoomTransform.scaleX.toFixed(1)}×`}\n </span>\n </div>\n <LegendOrdinal\n scale={legendScale}\n direction=\"row\"\n shape=\"rect\"\n shapeWidth={11}\n shapeHeight={11}\n itemMargin=\"0 10px 0 0\"\n labelMargin=\"0 0 0 0px\"\n labelFormat={(char) => LEGEND_LABELS[char]}\n shapeStyle={() => ({ border: \"1px solid rgba(0,0,0,0.25)\" })}\n // Legend root only sets flexDirection, so enable wrapping/centering here.\n // minHeight reserves the full legend band; alignContent centers the row(s)\n // vertically so a single, non-wrapping row sits centered instead of top-aligned.\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignContent: \"center\",\n rowGap: 2,\n minHeight: LEGEND_MAX_ROWS * LEGEND_ROW_HEIGHT,\n }}\n />\n </div>\n {tooltipData && tooltipContents && (\n <TooltipInPortal left={tooltipLeft} top={tooltipTop} style={defaultStyles}>\n {tooltipContents(tooltipData)}\n </TooltipInPortal>\n )}\n <Tooltip title={INFO_TOOLTIP_TEXT} placement=\"top-end\" arrow>\n <InfoOutlinedIcon\n fontSize=\"small\"\n sx={{\n position: \"absolute\",\n bottom: 4,\n right: 4,\n color: \"text.secondary\",\n cursor: \"help\",\n }}\n />\n </Tooltip>\n </div>\n );\n};"],"names":["COLORS","A","C","G","T","N","M","LEGEND_LABELS","LEGEND_ORDER","INFO_TOOLTIP_TEXT","legendScale","scaleOrdinal","domain","range","map","char","AXIS_TICKS_HEIGHT","LEGEND_TITLE_HEIGHT","LEGEND_ROW_HEIGHT","LEGEND_MAX_ROWS","AXIS_HEIGHT","SPECIES_BAR_WIDTH","HIGHLIGHTED_BAR_WIDTH","PADDING","HIGHLIGHTED_AND_SPECIES_SVG_WIDTH","MIN_SCALE","MAX_SCALE","ZOOM_FACTOR","AXIS_LEFT_PADDING","clampTranslateX","translateX","scaleX","canvasWidth","Math","min","max","SequenceAlignmentPlot","data","width","totalWidth","height","totalHeight","getLabel","getOrderColor","getOrder","hovered","externalHovered","highlighted","onHoverChange","tooltipContents","internalHovered","setInternalHovered","useState","zoomTransform","setZoomTransform","isDragging","setIsDragging","zoomTransformRef","useRef","dragStartX","dragStartTranslateX","useEffect","current","handleSetInternalHover","useCallback","newHovered","useMemo","tooltipData","tooltipLeft","tooltipTop","showTooltip","hideTooltip","useTooltip","TooltipInPortal","useTooltipInPortal","scroll","detectBounds","numSpecies","Object","keys","length","numPositions","values","canvasHeight","speciesInfo","entries","species","id","label","order","color","Map","canvasRef","canvas","handleWheel","e","preventDefault","rect","getBoundingClientRect","cursorX","clientX","left","zoomDir","deltaY","newScaleX","newTranslateX","clampedTranslateX","addEventListener","passive","removeEventListener","preventTouchScroll","touches","ctx","getContext","dpr","window","devicePixelRatio","style","setTransform","clearRect","bitmapScaleX","bitmapScaleY","bitmapTranslateX","forEach","sequence","y","nucleobase","x","fillStyle","globalAlpha","includes","fillRect","cssXToPosition","cssX","floor","handleHeatmapPointerDown","currentTarget","setPointerCapture","pointerId","handleHeatmapPointerMove","delta","prev","cssY","clientY","top","position","speciesIndex","speciesId","charLabel","undefined","get","handleHeatmapPointerUp","handleHeatmapPointerLeave","handleSpeciesBarMouseMove","event","handleSpeciesBarMouseLeave","zoomedXScale","scaleLinear","speciesList","axisWidth","jsxs","i","rectHeight","jsx","Text","cursor","bottom","pointerEvents","overflow","AxisBottom","round","display","flexDirection","alignItems","gap","fontSize","textAlign","right","toFixed","LegendOrdinal","border","flexWrap","justifyContent","alignContent","rowGap","minHeight","defaultStyles","Tooltip","InfoOutlinedIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es14.js","sources":["../src/components/SequenceAlignmentPlot/SequenceAlignmentPlot.tsx"],"sourcesContent":["import React, { useRef, useEffect, useState, useMemo, useCallback, ReactNode } from \"react\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { scaleLinear, scaleOrdinal } from \"@visx/scale\";\nimport { LegendOrdinal } from \"@visx/legend\";\nimport { defaultStyles, useTooltip, useTooltipInPortal } from \"@visx/tooltip\";\nimport { Text } from \"@visx/text\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport InfoOutlinedIcon from \"@mui/icons-material/InfoOutlined\";\n\nexport type AlignmentChar = \"A\" | \"C\" | \"G\" | \"T\" | \"N\" | \"M\" | \"-\" | \"*\";\n\nconst COLORS: Record<AlignmentChar, string> = {\n A: \"#05ac05\",\n C: \"#1668cb\",\n G: \"#ffb700\",\n T: \"#fd1414\",\n N: \"#555555\",\n M: \"#984ea3\",\n \"-\": \"#d4d4d4\",\n \"*\": \"#ffffff\",\n};\n\nconst LEGEND_LABELS: Record<AlignmentChar, string> = {\n A: \"A\",\n C: \"C\",\n G: \"G\",\n T: \"T\",\n N: \"N Unresolved\",\n M: \"Ambiguous Alignment\",\n \"-\": \"Gap\",\n \"*\": \"Absent\",\n};\n\n// Explicit order so A,C,G,T lead the legend like the old emoji key did.\nconst LEGEND_ORDER: AlignmentChar[] = [\"A\", \"C\", \"G\", \"T\", \"N\", \"M\", \"*\", \"-\"];\n\nconst INFO_TOOLTIP_TEXT = `\n Each column is a position in the human cCRE, and each row shows the\n corresponding aligned state in another mammalian genome. A, C, G, and\n T indicate the nucleotide aligned to that human position. N indicates that\n the target genome has an unresolved base at that position. Ambiguous\n alignment indicates that this human cCRE position aligns to more than\n one location in the target genome, and those aligned locations contain\n different nucleotides. Because the alignment does not support a single\n target base, the position is not assigned A, C, G, or T. Absent indicates\n that the human position could not be aligned to that species. Gap\n indicates that the alignment covers this region, but this species has a gap\n relative to the human cCRE.\n`;\n\n// Colors are static, so the ordinal scale can live at module scope.\nconst legendScale = scaleOrdinal<AlignmentChar, string>({\n domain: LEGEND_ORDER,\n range: LEGEND_ORDER.map((char) => COLORS[char]),\n});\n\nexport interface SequenceAlignmentPlotProps {\n data: { [id: string]: AlignmentChar[] };\n getLabel: (id: string) => string;\n getOrderColor: (id: string) => string;\n /**\n * the evolutionary order, not sort order. Sort in plot by sorting input data\n */\n getOrder: (id: string) => string;\n width: number;\n height: number;\n /**\n * Used to sync plot state with hover on PhyloTree. Plot treats these as if they are internally hovered\n */\n hovered?: string[];\n /**\n * Fired when internal hover state changes\n */\n onHoverChange?: (hovered: string | null) => void;\n /**\n * Places indicator next to species\n */\n highlighted?: string[];\n /**\n * Optionally define tooltip for hover. `char`, `charLabel`, and `position` only present if hovering over a position\n */\n tooltipContents?: (tooltipData: TooltipData) => ReactNode;\n}\n\n// Bottom band below the canvas: axis ticks on top, then the axis title + wrapping legend.\nconst AXIS_TICKS_HEIGHT = 24; // AxisBottom ticks + numbers\nconst LEGEND_TITLE_HEIGHT = 16; // \"Position in cCRE\" line\nconst LEGEND_ROW_HEIGHT = 16; // one wrapped row of swatches + labels\nconst LEGEND_MAX_ROWS = 3; // worst-case wrap at the narrowest live width\nconst AXIS_HEIGHT = AXIS_TICKS_HEIGHT + LEGEND_TITLE_HEIGHT + LEGEND_MAX_ROWS * LEGEND_ROW_HEIGHT;\nconst SPECIES_BAR_WIDTH = 12;\nconst HIGHLIGHTED_BAR_WIDTH = 12;\nconst PADDING = 10;\nconst HIGHLIGHTED_AND_SPECIES_SVG_WIDTH = HIGHLIGHTED_BAR_WIDTH + PADDING + SPECIES_BAR_WIDTH + PADDING;\nconst MIN_SCALE = 1;\nconst MAX_SCALE = 50;\nconst ZOOM_FACTOR = 1.15;\nconst AXIS_LEFT_PADDING = 5\n\nexport type SpeciesInfo = { id: string; label: string; order: string; color: string };\n\nexport type TooltipData = SpeciesInfo & {\n char?: AlignmentChar;\n charLabel?: string;\n position?: number;\n};\n\ninterface ZoomTransform {\n scaleX: number;\n translateX: number;\n}\n\n/**\n * Clamps translateX so the data never scrolls outside the canvas bounds.\n * Valid range: [canvasWidth * (1 - scaleX), 0]\n */\nconst clampTranslateX = (translateX: number, scaleX: number, canvasWidth: number): number =>\n Math.min(0, Math.max(canvasWidth * (1 - scaleX), translateX));\n\n/**\n * @todo This component could use some cleanup and maybe manual memoization to handle hover changes to highlight more efficiently\n * Maybe try debouncing the hover changes using requestAnimationFrame like PhyloTree\n */\nexport const SequenceAlignmentPlot: React.FC<SequenceAlignmentPlotProps> = ({\n data,\n width: totalWidth,\n height: totalHeight,\n getLabel,\n getOrderColor,\n getOrder,\n hovered: externalHovered = [],\n highlighted = [],\n onHoverChange = () => null,\n tooltipContents,\n}) => {\n const [internalHovered, setInternalHovered] = useState<string | null>(null);\n const [zoomTransform, setZoomTransform] = useState<ZoomTransform>({ scaleX: 1, translateX: 0 });\n const [isDragging, setIsDragging] = useState(false);\n\n // Refs for event handlers that need current values without being in dependency arrays\n const zoomTransformRef = useRef<ZoomTransform>(zoomTransform);\n const dragStartX = useRef(0);\n const dragStartTranslateX = useRef(0);\n\n // Keep ref in sync so the wheel handler (attached imperatively) always sees current transform\n useEffect(() => {\n zoomTransformRef.current = zoomTransform;\n }, [zoomTransform]);\n\n const handleSetInternalHover = useCallback(\n (newHovered: string | null) => {\n const changed = newHovered !== internalHovered;\n if (changed) {\n setInternalHovered(newHovered);\n onHoverChange(newHovered);\n }\n },\n [internalHovered, onHoverChange]\n );\n\n const hovered = useMemo(\n () => (internalHovered ? [internalHovered, ...externalHovered] : externalHovered),\n [internalHovered, externalHovered]\n );\n\n \n const { tooltipData, tooltipLeft, tooltipTop, showTooltip, hideTooltip } = useTooltip<TooltipData>();\n \n const { TooltipInPortal } = useTooltipInPortal({\n scroll: true,\n detectBounds: true,\n });\n \n const numSpecies = Object.keys(data).length;\n const numPositions = Object.values(data)[0]?.length ?? 0;\n \n const canvasWidth = totalWidth - HIGHLIGHTED_AND_SPECIES_SVG_WIDTH;\n const canvasHeight = totalHeight - AXIS_HEIGHT;\n \n const speciesInfo = useMemo(() => {\n const entries: [string, SpeciesInfo][] = Object.keys(data).map((species) => [\n species,\n { id: species, label: getLabel(species), order: getOrder(species), color: getOrderColor(species) },\n ]);\n return new Map<string, SpeciesInfo>(entries);\n }, [data]);\n \n const canvasRef = useRef<HTMLCanvasElement>(null);\n\n // Attach wheel listener imperatively with passive: false so we can call preventDefault.\n // React 17+ attaches onWheel passively, which prevents scroll cancellation.\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const handleWheel = (e: WheelEvent) => {\n e.preventDefault();\n\n const rect = canvas.getBoundingClientRect();\n const cursorX = e.clientX - rect.left;\n const { scaleX, translateX } = zoomTransformRef.current;\n\n const zoomDir = e.deltaY < 0 ? ZOOM_FACTOR : 1 / ZOOM_FACTOR;\n const newScaleX = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scaleX * zoomDir));\n\n // Adjust translateX so the data point under the cursor stays fixed\n const newTranslateX = cursorX - (cursorX - translateX) * (newScaleX / scaleX);\n const clampedTranslateX = clampTranslateX(newTranslateX, newScaleX, canvasWidth);\n\n setZoomTransform({ scaleX: newScaleX, translateX: clampedTranslateX });\n };\n\n canvas.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => canvas.removeEventListener(\"wheel\", handleWheel);\n }, [canvasWidth]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const preventTouchScroll = (e: TouchEvent) => {\n if (e.touches.length === 1) e.preventDefault(); // single finger = pan, not page scroll\n };\n\n canvas.addEventListener(\"touchstart\", preventTouchScroll, { passive: false });\n canvas.addEventListener(\"touchmove\", preventTouchScroll, { passive: false });\n return () => {\n canvas.removeEventListener(\"touchstart\", preventTouchScroll);\n canvas.removeEventListener(\"touchmove\", preventTouchScroll);\n };\n }, []);\n\n // Draw to the cancas\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n const dpr = window.devicePixelRatio || 1;\n\n canvas.width = canvasWidth * dpr;\n canvas.height = canvasHeight * dpr;\n canvas.style.width = `${canvasWidth}px`;\n canvas.style.height = `${canvasHeight}px`;\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n // Combine the base data→bitmap mapping with the zoom transform.\n // translateX is in CSS pixels so it must be scaled by dpr for the bitmap.\n const bitmapScaleX = (canvas.width / numPositions) * zoomTransform.scaleX;\n const bitmapScaleY = canvas.height / numSpecies;\n const bitmapTranslateX = zoomTransform.translateX * dpr;\n\n ctx.setTransform(bitmapScaleX, 0, 0, bitmapScaleY, bitmapTranslateX, 0);\n\n Object.entries(data).forEach(([species, sequence], y) => {\n sequence.forEach((nucleobase, x) => {\n ctx.fillStyle = COLORS[nucleobase];\n ctx.globalAlpha = hovered.length && !hovered.includes(species) ? 0.3 : 1;\n ctx.fillRect(x, y, 1, 1);\n ctx.globalAlpha = 1;\n });\n });\n }, [data, canvasWidth, canvasHeight, numPositions, numSpecies, hovered, zoomTransform]);\n\n // Converts a CSS pixel x position on the canvas to a data-space nucleotide index,\n // inverting the zoom transform: dataX = (cssX - translateX) / (cssWidthPerDataUnit * scaleX)\n const cssXToPosition = useCallback(\n (cssX: number): number => {\n const { scaleX, translateX } = zoomTransformRef.current;\n return Math.floor(((cssX - translateX) / canvasWidth) * (numPositions / scaleX));\n },\n [canvasWidth, numPositions]\n );\n\n const handleHeatmapPointerDown = (e: React.PointerEvent<HTMLCanvasElement>) => {\n setIsDragging(true);\n dragStartX.current = e.clientX;\n dragStartTranslateX.current = zoomTransformRef.current.translateX;\n e.currentTarget.setPointerCapture(e.pointerId)\n };\n\n const handleHeatmapPointerMove = (e: React.PointerEvent<HTMLCanvasElement>) => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n // While dragging: update pan, suppress hover/tooltip\n if (isDragging) {\n const delta = e.clientX - dragStartX.current;\n const newTranslateX = clampTranslateX(\n dragStartTranslateX.current + delta,\n zoomTransformRef.current.scaleX,\n canvasWidth\n );\n setZoomTransform((prev) => ({ ...prev, translateX: newTranslateX }));\n return;\n }\n\n const rect = canvas.getBoundingClientRect();\n const cssX = e.clientX - rect.left;\n const cssY = e.clientY - rect.top;\n\n const position = cssXToPosition(cssX);\n const speciesIndex = Math.floor((cssY / rect.height) * numSpecies);\n const speciesId = Object.keys(data)[speciesIndex];\n const char = data[speciesId]?.[position];\n\n if (position >= 0 && position < numPositions && speciesIndex >= 0 && speciesIndex < numSpecies) {\n handleSetInternalHover(speciesId);\n showTooltip({\n tooltipTop: e.clientY,\n tooltipLeft: e.clientX,\n tooltipData: {\n position,\n char,\n charLabel: char != null ? LEGEND_LABELS[char] : undefined,\n ...(speciesInfo.get(speciesId) as SpeciesInfo),\n },\n });\n } else {\n handleSetInternalHover(null);\n hideTooltip();\n }\n };\n\n const handleHeatmapPointerUp = () => {\n setIsDragging(false);\n };\n\n const handleHeatmapPointerLeave = () => {\n setIsDragging(false);\n handleSetInternalHover(null);\n hideTooltip();\n };\n\n const handleSpeciesBarMouseMove = (event: React.MouseEvent<SVGGElement, MouseEvent>, species: SpeciesInfo) => {\n handleSetInternalHover(species.id);\n showTooltip({ tooltipLeft: event.clientX, tooltipTop: event.clientY, tooltipData: species });\n };\n\n const handleSpeciesBarMouseLeave = (event: React.MouseEvent<SVGGElement, MouseEvent>, species: SpeciesInfo) => {\n handleSetInternalHover(null);\n hideTooltip();\n };\n\n // Apply the zoom transform to the axis scale so tick positions stay in sync with the canvas.\n // Domain [0, numPositions-1] maps to zoomed CSS range [translateX, canvasWidth * scaleX + translateX].\n const zoomedXScale = useMemo(\n () =>\n scaleLinear({\n domain: [0, numPositions - 1],\n range: [\n zoomTransform.translateX,\n canvasWidth * zoomTransform.scaleX + zoomTransform.translateX,\n ],\n }),\n [numPositions, canvasWidth, zoomTransform]\n );\n\n const speciesList = useMemo(() => [...speciesInfo.values()], [speciesInfo]);\n\n const axisWidth = canvasWidth + AXIS_LEFT_PADDING\n\n return totalWidth < 10 || totalHeight < 10 ? null :(\n <div\n style={{\n position: \"relative\",\n width: totalWidth,\n height: totalHeight,\n }}\n >\n <svg\n width={HIGHLIGHTED_AND_SPECIES_SVG_WIDTH}\n height={totalHeight}\n style={{ top: 0, left: 0, position: \"absolute\" }}\n >\n {speciesList.map((species, i) => {\n const rectHeight = canvasHeight / speciesList.length;\n return (\n <g\n key={i}\n onMouseMove={(event) => handleSpeciesBarMouseMove(event, species)}\n onMouseLeave={(event) => handleSpeciesBarMouseLeave(event, species)}\n opacity={hovered.length && !hovered.includes(species.id) ? 0.3 : 1}\n >\n {highlighted.includes(species.id) && (\n <rect\n width={HIGHLIGHTED_BAR_WIDTH}\n height={rectHeight}\n x={0}\n y={rectHeight * i}\n fill={species.color}\n shapeRendering={\"crispEdges\"}\n />\n )}\n <rect\n width={SPECIES_BAR_WIDTH}\n height={rectHeight}\n x={HIGHLIGHTED_BAR_WIDTH + PADDING}\n y={rectHeight * i}\n fill={species.color}\n shapeRendering={\"crispEdges\"}\n />\n </g>\n );\n })}\n <Text\n angle={270}\n textAnchor=\"end\"\n verticalAnchor=\"middle\"\n fontSize={12}\n x={0.5 * HIGHLIGHTED_BAR_WIDTH}\n y={canvasHeight + 2}\n >\n Highlight\n </Text>\n <Text\n angle={270}\n textAnchor=\"end\"\n verticalAnchor=\"middle\"\n fontSize={12}\n x={HIGHLIGHTED_BAR_WIDTH + PADDING + 0.5 * SPECIES_BAR_WIDTH}\n y={canvasHeight + 2}\n >\n Species\n </Text>\n </svg>\n <canvas\n ref={canvasRef}\n onPointerDown={handleHeatmapPointerDown}\n onPointerMove={handleHeatmapPointerMove}\n onPointerUp={handleHeatmapPointerUp}\n onPointerLeave={handleHeatmapPointerLeave}\n style={{\n position: \"absolute\",\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH,\n cursor: isDragging ? \"grabbing\" : zoomTransform.scaleX > 1 ? \"grab\" : \"default\",\n }}\n />\n {/* overflow: hidden clips axis ticks that scroll outside the canvas bounds when zoomed */}\n <svg\n width={axisWidth}\n height={AXIS_HEIGHT}\n style={{\n position: \"absolute\",\n //position it into the other svg by AXIS_LEFT_PADDING to fix axis cutoff of 0 at first load.\n //can't fix with overflow visible since on zoom the axis needs to be clipped\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH - AXIS_LEFT_PADDING,\n bottom: 0,\n pointerEvents: \"none\",\n overflow: \"hidden\",\n }}\n >\n <AxisBottom\n scale={zoomedXScale}\n numTicks={Math.min(numPositions, Math.round(10 * zoomTransform.scaleX))}\n left={AXIS_LEFT_PADDING}\n />\n </svg>\n {/* Axis title, zoom indicator, and color legend live in HTML below the axis ticks.\n The legend wraps at narrow widths; AXIS_HEIGHT reserves room for up to LEGEND_MAX_ROWS. */}\n <div\n style={{\n position: \"absolute\",\n top: canvasHeight + AXIS_TICKS_HEIGHT,\n left: HIGHLIGHTED_AND_SPECIES_SVG_WIDTH,\n width: canvasWidth,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n fontSize: 12,\n pointerEvents: \"none\",\n }}\n >\n {/* Axis title centered, zoom factor pinned to the right of the same line */}\n <div style={{ position: \"relative\", width: \"100%\", textAlign: \"center\" }}>\n Position in cCRE\n <span style={{ position: \"absolute\", right: 0, top: 0 }}>\n {`${zoomTransform.scaleX.toFixed(1)}×`}\n </span>\n </div>\n <LegendOrdinal\n scale={legendScale}\n direction=\"row\"\n shape=\"rect\"\n shapeWidth={11}\n shapeHeight={11}\n itemMargin=\"0 10px 0 0\"\n labelMargin=\"0 0 0 0px\"\n labelFormat={(char) => LEGEND_LABELS[char]}\n shapeStyle={() => ({ border: \"1px solid rgba(0,0,0,0.25)\" })}\n // Legend root only sets flexDirection, so enable wrapping/centering here.\n // minHeight reserves the full legend band; alignContent centers the row(s)\n // vertically so a single, non-wrapping row sits centered instead of top-aligned.\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignContent: \"center\",\n rowGap: 2,\n minHeight: LEGEND_MAX_ROWS * LEGEND_ROW_HEIGHT,\n }}\n />\n </div>\n {tooltipData && tooltipContents && (\n <TooltipInPortal left={tooltipLeft} top={tooltipTop} style={defaultStyles}>\n {tooltipContents(tooltipData)}\n </TooltipInPortal>\n )}\n <Tooltip title={INFO_TOOLTIP_TEXT} placement=\"top-end\" arrow>\n <InfoOutlinedIcon\n fontSize=\"small\"\n sx={{\n position: \"absolute\",\n bottom: 4,\n right: 4,\n color: \"text.secondary\",\n cursor: \"help\",\n }}\n />\n </Tooltip>\n </div>\n );\n};"],"names":["COLORS","A","C","G","T","N","M","LEGEND_LABELS","LEGEND_ORDER","INFO_TOOLTIP_TEXT","legendScale","scaleOrdinal","domain","range","map","char","AXIS_TICKS_HEIGHT","LEGEND_TITLE_HEIGHT","LEGEND_ROW_HEIGHT","LEGEND_MAX_ROWS","AXIS_HEIGHT","SPECIES_BAR_WIDTH","HIGHLIGHTED_BAR_WIDTH","PADDING","HIGHLIGHTED_AND_SPECIES_SVG_WIDTH","MIN_SCALE","MAX_SCALE","ZOOM_FACTOR","AXIS_LEFT_PADDING","clampTranslateX","translateX","scaleX","canvasWidth","Math","min","max","SequenceAlignmentPlot","data","width","totalWidth","height","totalHeight","getLabel","getOrderColor","getOrder","hovered","externalHovered","highlighted","onHoverChange","tooltipContents","internalHovered","setInternalHovered","useState","zoomTransform","setZoomTransform","isDragging","setIsDragging","zoomTransformRef","useRef","dragStartX","dragStartTranslateX","useEffect","current","handleSetInternalHover","useCallback","newHovered","useMemo","tooltipData","tooltipLeft","tooltipTop","showTooltip","hideTooltip","useTooltip","TooltipInPortal","useTooltipInPortal","scroll","detectBounds","numSpecies","Object","keys","length","numPositions","values","canvasHeight","speciesInfo","entries","species","id","label","order","color","Map","canvasRef","canvas","handleWheel","e","preventDefault","rect","getBoundingClientRect","cursorX","clientX","left","zoomDir","deltaY","newScaleX","newTranslateX","clampedTranslateX","addEventListener","passive","removeEventListener","preventTouchScroll","touches","ctx","getContext","dpr","window","devicePixelRatio","style","setTransform","clearRect","bitmapScaleX","bitmapScaleY","bitmapTranslateX","forEach","sequence","y","nucleobase","x","fillStyle","globalAlpha","includes","fillRect","cssXToPosition","cssX","floor","handleHeatmapPointerDown","currentTarget","setPointerCapture","pointerId","handleHeatmapPointerMove","delta","prev","cssY","clientY","top","position","speciesIndex","speciesId","charLabel","undefined","get","handleHeatmapPointerUp","handleHeatmapPointerLeave","handleSpeciesBarMouseMove","event","handleSpeciesBarMouseLeave","zoomedXScale","scaleLinear","speciesList","axisWidth","jsxs","i","rectHeight","jsx","Text","cursor","bottom","pointerEvents","overflow","AxisBottom","round","display","flexDirection","alignItems","gap","fontSize","textAlign","right","toFixed","LegendOrdinal","border","flexWrap","justifyContent","alignContent","rowGap","minHeight","defaultStyles","Tooltip","InfoOutlinedIcon"],"mappings":"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"}
|
|
@@ -1,35 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} = l;
|
|
13
|
-
let t;
|
|
14
|
-
o[0] !== e || o[1] !== a ? (t = () => {
|
|
15
|
-
a && e();
|
|
16
|
-
}, o[0] = e, o[1] = a, o[2] = t) : t = o[2];
|
|
17
|
-
let r;
|
|
18
|
-
o[3] !== c ? (r = (m) => {
|
|
19
|
-
const u = M(m) || {
|
|
20
|
-
x: 0,
|
|
21
|
-
y: 0
|
|
22
|
-
};
|
|
23
|
-
c({
|
|
24
|
-
scaleX: 1.5,
|
|
25
|
-
scaleY: 1.5,
|
|
26
|
-
point: u
|
|
1
|
+
import { initRange as v } from "./visualization.es559.js";
|
|
2
|
+
import w from "./visualization.es143.js";
|
|
3
|
+
import b from "./visualization.es73.js";
|
|
4
|
+
function x() {
|
|
5
|
+
var r = w().unknown(void 0), f = r.domain, c = r.range, t = 0, e = 1, i, m, o = !1, u = 0, g = 0, l = 0.5;
|
|
6
|
+
delete r.unknown;
|
|
7
|
+
function a() {
|
|
8
|
+
var n = f().length, s = e < t, d = s ? e : t, h = s ? t : e;
|
|
9
|
+
i = (h - d) / Math.max(1, n - u + g * 2), o && (i = Math.floor(i)), d += (h - d - i * (n - u)) * l, m = i * (1 - u), o && (d = Math.round(d), m = Math.round(m));
|
|
10
|
+
var p = b(n).map(function(M) {
|
|
11
|
+
return d + i * M;
|
|
27
12
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
31
|
-
|
|
13
|
+
return c(s ? p.reverse() : p);
|
|
14
|
+
}
|
|
15
|
+
return r.domain = function(n) {
|
|
16
|
+
return arguments.length ? (f(n), a()) : f();
|
|
17
|
+
}, r.range = function(n) {
|
|
18
|
+
return arguments.length ? ([t, e] = n, t = +t, e = +e, a()) : [t, e];
|
|
19
|
+
}, r.rangeRound = function(n) {
|
|
20
|
+
return [t, e] = n, t = +t, e = +e, o = !0, a();
|
|
21
|
+
}, r.bandwidth = function() {
|
|
22
|
+
return m;
|
|
23
|
+
}, r.step = function() {
|
|
24
|
+
return i;
|
|
25
|
+
}, r.round = function(n) {
|
|
26
|
+
return arguments.length ? (o = !!n, a()) : o;
|
|
27
|
+
}, r.padding = function(n) {
|
|
28
|
+
return arguments.length ? (u = Math.min(1, g = +n), a()) : u;
|
|
29
|
+
}, r.paddingInner = function(n) {
|
|
30
|
+
return arguments.length ? (u = Math.min(1, n), a()) : u;
|
|
31
|
+
}, r.paddingOuter = function(n) {
|
|
32
|
+
return arguments.length ? (g = +n, a()) : g;
|
|
33
|
+
}, r.align = function(n) {
|
|
34
|
+
return arguments.length ? (l = Math.max(0, Math.min(1, n)), a()) : l;
|
|
35
|
+
}, r.copy = function() {
|
|
36
|
+
return x(f(), [t, e]).round(o).paddingInner(u).paddingOuter(g).align(l);
|
|
37
|
+
}, v.apply(a(), arguments);
|
|
38
|
+
}
|
|
32
39
|
export {
|
|
33
|
-
|
|
40
|
+
x as default
|
|
34
41
|
};
|
|
35
42
|
//# sourceMappingURL=visualization.es140.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es140.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es140.js","sources":["../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/band.js"],"sourcesContent":["import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n"],"names":["band","scale","ordinal","domain","ordinalRange","r0","r1","step","bandwidth","round","paddingInner","paddingOuter","align","rescale","reverse","start","stop","values","sequence","i","_","initRange"],"mappings":";;;AAIe,SAASA,IAAO;AAC7B,MAAIC,IAAQC,IAAU,QAAQ,MAAS,GACnCC,IAASF,EAAM,QACfG,IAAeH,EAAM,OACrBI,IAAK,GACLC,IAAK,GACLC,GACAC,GACAC,IAAQ,IACRC,IAAe,GACfC,IAAe,GACfC,IAAQ;AAEZ,SAAOX,EAAM;AAEb,WAASY,IAAU;AACjB,QAAI,IAAIV,EAAM,EAAG,QACbW,IAAUR,IAAKD,GACfU,IAAQD,IAAUR,IAAKD,GACvBW,IAAOF,IAAUT,IAAKC;AAC1B,IAAAC,KAAQS,IAAOD,KAAS,KAAK,IAAI,GAAG,IAAIL,IAAeC,IAAe,CAAC,GACnEF,MAAOF,IAAO,KAAK,MAAMA,CAAI,IACjCQ,MAAUC,IAAOD,IAAQR,KAAQ,IAAIG,MAAiBE,GACtDJ,IAAYD,KAAQ,IAAIG,IACpBD,MAAOM,IAAQ,KAAK,MAAMA,CAAK,GAAGP,IAAY,KAAK,MAAMA,CAAS;AACtE,QAAIS,IAASC,EAAS,CAAC,EAAE,IAAI,SAASC,GAAG;AAAE,aAAOJ,IAAQR,IAAOY;AAAA,IAAG,CAAC;AACrE,WAAOf,EAAaU,IAAUG,EAAO,QAAO,IAAKA,CAAM;AAAA,EACzD;AAEA,SAAAhB,EAAM,SAAS,SAASmB,GAAG;AACzB,WAAO,UAAU,UAAUjB,EAAOiB,CAAC,GAAGP,EAAO,KAAMV,EAAM;AAAA,EAC3D,GAEAF,EAAM,QAAQ,SAASmB,GAAG;AACxB,WAAO,UAAU,UAAU,CAACf,GAAIC,CAAE,IAAIc,GAAGf,IAAK,CAACA,GAAIC,IAAK,CAACA,GAAIO,EAAO,KAAM,CAACR,GAAIC,CAAE;AAAA,EACnF,GAEAL,EAAM,aAAa,SAASmB,GAAG;AAC7B,WAAO,CAACf,GAAIC,CAAE,IAAIc,GAAGf,IAAK,CAACA,GAAIC,IAAK,CAACA,GAAIG,IAAQ,IAAMI,EAAO;AAAA,EAChE,GAEAZ,EAAM,YAAY,WAAW;AAC3B,WAAOO;AAAA,EACT,GAEAP,EAAM,OAAO,WAAW;AACtB,WAAOM;AAAA,EACT,GAEAN,EAAM,QAAQ,SAASmB,GAAG;AACxB,WAAO,UAAU,UAAUX,IAAQ,CAAC,CAACW,GAAGP,EAAO,KAAMJ;AAAA,EACvD,GAEAR,EAAM,UAAU,SAASmB,GAAG;AAC1B,WAAO,UAAU,UAAUV,IAAe,KAAK,IAAI,GAAGC,IAAe,CAACS,CAAC,GAAGP,EAAO,KAAMH;AAAA,EACzF,GAEAT,EAAM,eAAe,SAASmB,GAAG;AAC/B,WAAO,UAAU,UAAUV,IAAe,KAAK,IAAI,GAAGU,CAAC,GAAGP,EAAO,KAAMH;AAAA,EACzE,GAEAT,EAAM,eAAe,SAASmB,GAAG;AAC/B,WAAO,UAAU,UAAUT,IAAe,CAACS,GAAGP,EAAO,KAAMF;AAAA,EAC7D,GAEAV,EAAM,QAAQ,SAASmB,GAAG;AACxB,WAAO,UAAU,UAAUR,IAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGQ,CAAC,CAAC,GAAGP,EAAO,KAAMD;AAAA,EAC/E,GAEAX,EAAM,OAAO,WAAW;AACtB,WAAOD,EAAKG,EAAM,GAAI,CAACE,GAAIC,CAAE,CAAC,EACzB,MAAMG,CAAK,EACX,aAAaC,CAAY,EACzB,aAAaC,CAAY,EACzB,MAAMC,CAAK;AAAA,EAClB,GAEOS,EAAU,MAAMR,EAAO,GAAI,SAAS;AAC7C;","x_google_ignoreList":[0]}
|
|
@@ -1,21 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import p, { copy as v } from "./visualization.es560.js";
|
|
2
|
+
import { initRange as c } from "./visualization.es559.js";
|
|
3
|
+
import h from "./visualization.es561.js";
|
|
4
|
+
import s, { tickIncrement as d } from "./visualization.es522.js";
|
|
5
|
+
function k(i) {
|
|
6
|
+
var f = i.domain;
|
|
7
|
+
return i.ticks = function(n) {
|
|
8
|
+
var t = f();
|
|
9
|
+
return s(t[0], t[t.length - 1], n ?? 10);
|
|
10
|
+
}, i.tickFormat = function(n, t) {
|
|
11
|
+
var o = f();
|
|
12
|
+
return h(o[0], o[o.length - 1], n ?? 10, t);
|
|
13
|
+
}, i.nice = function(n) {
|
|
14
|
+
n == null && (n = 10);
|
|
15
|
+
var t = f(), o = 0, l = t.length - 1, e = t[o], a = t[l], u, r, m = 10;
|
|
16
|
+
for (a < e && (r = e, e = a, a = r, r = o, o = l, l = r); m-- > 0; ) {
|
|
17
|
+
if (r = d(e, a, n), r === u)
|
|
18
|
+
return t[o] = e, t[l] = a, f(t);
|
|
19
|
+
if (r > 0)
|
|
20
|
+
e = Math.floor(e / r) * r, a = Math.ceil(a / r) * r;
|
|
21
|
+
else if (r < 0)
|
|
22
|
+
e = Math.ceil(e * r) / r, a = Math.floor(a * r) / r;
|
|
23
|
+
else
|
|
24
|
+
break;
|
|
25
|
+
u = r;
|
|
26
|
+
}
|
|
27
|
+
return i;
|
|
28
|
+
}, i;
|
|
29
|
+
}
|
|
30
|
+
function g() {
|
|
31
|
+
var i = p();
|
|
32
|
+
return i.copy = function() {
|
|
33
|
+
return v(i, g());
|
|
34
|
+
}, c.apply(i, arguments), k(i);
|
|
35
|
+
}
|
|
18
36
|
export {
|
|
19
|
-
|
|
37
|
+
g as default,
|
|
38
|
+
k as linearish
|
|
20
39
|
};
|
|
21
40
|
//# sourceMappingURL=visualization.es141.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es141.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es141.js","sources":["../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js"],"sourcesContent":["import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\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 } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n"],"names":["linearish","scale","domain","count","d","ticks","specifier","tickFormat","i0","i1","start","stop","prestep","step","maxIter","tickIncrement","linear","continuous","copy","initRange"],"mappings":";;;;AAKO,SAASA,EAAUC,GAAO;AAC/B,MAAIC,IAASD,EAAM;AAEnB,SAAAA,EAAM,QAAQ,SAASE,GAAO;AAC5B,QAAIC,IAAIF,EAAM;AACd,WAAOG,EAAMD,EAAE,CAAC,GAAGA,EAAEA,EAAE,SAAS,CAAC,GAAGD,KAAgB,EAAU;AAAA,EAChE,GAEAF,EAAM,aAAa,SAASE,GAAOG,GAAW;AAC5C,QAAIF,IAAIF,EAAM;AACd,WAAOK,EAAWH,EAAE,CAAC,GAAGA,EAAEA,EAAE,SAAS,CAAC,GAAGD,KAAgB,IAAYG,CAAS;AAAA,EAChF,GAEAL,EAAM,OAAO,SAASE,GAAO;AAC3B,IAAIA,KAAS,SAAMA,IAAQ;AAE3B,QAAIC,IAAIF,EAAM,GACVM,IAAK,GACLC,IAAKL,EAAE,SAAS,GAChBM,IAAQN,EAAEI,CAAE,GACZG,IAAOP,EAAEK,CAAE,GACXG,GACAC,GACAC,IAAU;AAOd,SALIH,IAAOD,MACTG,IAAOH,GAAOA,IAAQC,GAAMA,IAAOE,GACnCA,IAAOL,GAAIA,IAAKC,GAAIA,IAAKI,IAGpBC,MAAY,KAAG;AAEpB,UADAD,IAAOE,EAAcL,GAAOC,GAAMR,CAAK,GACnCU,MAASD;AACX,eAAAR,EAAEI,CAAE,IAAIE,GACRN,EAAEK,CAAE,IAAIE,GACDT,EAAOE,CAAC;AACV,UAAIS,IAAO;AAChB,QAAAH,IAAQ,KAAK,MAAMA,IAAQG,CAAI,IAAIA,GACnCF,IAAO,KAAK,KAAKA,IAAOE,CAAI,IAAIA;AAAA,eACvBA,IAAO;AAChB,QAAAH,IAAQ,KAAK,KAAKA,IAAQG,CAAI,IAAIA,GAClCF,IAAO,KAAK,MAAMA,IAAOE,CAAI,IAAIA;AAAA;AAEjC;AAEF,MAAAD,IAAUC;AAAA,IACZ;AAEA,WAAOZ;AAAA,EACT,GAEOA;AACT;AAEe,SAASe,IAAS;AAC/B,MAAIf,IAAQgB,EAAU;AAEtB,SAAAhB,EAAM,OAAO,WAAW;AACtB,WAAOiB,EAAKjB,GAAOe,GAAQ;AAAA,EAC7B,GAEAG,EAAU,MAAMlB,GAAO,SAAS,GAEzBD,EAAUC,CAAK;AACxB;","x_google_ignoreList":[0]}
|
|
@@ -1,17 +1,87 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import E from "./visualization.es562.js";
|
|
2
|
+
import { transformer as v, copy as F } from "./visualization.es560.js";
|
|
3
|
+
import { initRange as L } from "./visualization.es559.js";
|
|
4
|
+
import d from "./visualization.es522.js";
|
|
5
|
+
import j from "./visualization.es563.js";
|
|
6
|
+
import { format as z } from "./visualization.es564.js";
|
|
7
|
+
function y(t) {
|
|
8
|
+
return Math.log(t);
|
|
9
|
+
}
|
|
10
|
+
function w(t) {
|
|
11
|
+
return Math.exp(t);
|
|
12
|
+
}
|
|
13
|
+
function I(t) {
|
|
14
|
+
return -Math.log(-t);
|
|
15
|
+
}
|
|
16
|
+
function R(t) {
|
|
17
|
+
return -Math.exp(-t);
|
|
18
|
+
}
|
|
19
|
+
function S(t) {
|
|
20
|
+
return isFinite(t) ? +("1e" + t) : t < 0 ? 0 : t;
|
|
21
|
+
}
|
|
22
|
+
function q(t) {
|
|
23
|
+
return t === 10 ? S : t === Math.E ? Math.exp : (n) => Math.pow(t, n);
|
|
24
|
+
}
|
|
25
|
+
function A(t) {
|
|
26
|
+
return t === Math.E ? Math.log : t === 10 && Math.log10 || t === 2 && Math.log2 || (t = Math.log(t), (n) => Math.log(n) / t);
|
|
27
|
+
}
|
|
28
|
+
function x(t) {
|
|
29
|
+
return (n, m) => -t(-n, m);
|
|
30
|
+
}
|
|
31
|
+
function B(t) {
|
|
32
|
+
const n = t(y, w), m = n.domain;
|
|
33
|
+
let l = 10, h, i;
|
|
34
|
+
function k() {
|
|
35
|
+
return h = A(l), i = q(l), m()[0] < 0 ? (h = x(h), i = x(i), t(I, R)) : t(y, w), n;
|
|
36
|
+
}
|
|
37
|
+
return n.base = function(o) {
|
|
38
|
+
return arguments.length ? (l = +o, k()) : l;
|
|
39
|
+
}, n.domain = function(o) {
|
|
40
|
+
return arguments.length ? (m(o), k()) : m();
|
|
41
|
+
}, n.ticks = (o) => {
|
|
42
|
+
const e = m();
|
|
43
|
+
let u = e[0], f = e[e.length - 1];
|
|
44
|
+
const M = f < u;
|
|
45
|
+
M && ([u, f] = [f, u]);
|
|
46
|
+
let r = h(u), g = h(f), a, c;
|
|
47
|
+
const p = o == null ? 10 : +o;
|
|
48
|
+
let s = [];
|
|
49
|
+
if (!(l % 1) && g - r < p) {
|
|
50
|
+
if (r = Math.floor(r), g = Math.ceil(g), u > 0) {
|
|
51
|
+
for (; r <= g; ++r)
|
|
52
|
+
for (a = 1; a < l; ++a)
|
|
53
|
+
if (c = r < 0 ? a / i(-r) : a * i(r), !(c < u)) {
|
|
54
|
+
if (c > f) break;
|
|
55
|
+
s.push(c);
|
|
56
|
+
}
|
|
57
|
+
} else for (; r <= g; ++r)
|
|
58
|
+
for (a = l - 1; a >= 1; --a)
|
|
59
|
+
if (c = r > 0 ? a / i(-r) : a * i(r), !(c < u)) {
|
|
60
|
+
if (c > f) break;
|
|
61
|
+
s.push(c);
|
|
62
|
+
}
|
|
63
|
+
s.length * 2 < p && (s = d(u, f, p));
|
|
64
|
+
} else
|
|
65
|
+
s = d(r, g, Math.min(g - r, p)).map(i);
|
|
66
|
+
return M ? s.reverse() : s;
|
|
67
|
+
}, n.tickFormat = (o, e) => {
|
|
68
|
+
if (o == null && (o = 10), e == null && (e = l === 10 ? "s" : ","), typeof e != "function" && (!(l % 1) && (e = j(e)).precision == null && (e.trim = !0), e = z(e)), o === 1 / 0) return e;
|
|
69
|
+
const u = Math.max(1, l * o / n.ticks().length);
|
|
70
|
+
return (f) => {
|
|
71
|
+
let M = f / i(Math.round(h(f)));
|
|
72
|
+
return M * l < l - 0.5 && (M *= l), M <= u ? e(f) : "";
|
|
73
|
+
};
|
|
74
|
+
}, n.nice = () => m(E(m(), {
|
|
75
|
+
floor: (o) => i(Math.floor(h(o))),
|
|
76
|
+
ceil: (o) => i(Math.ceil(h(o)))
|
|
77
|
+
})), n;
|
|
78
|
+
}
|
|
79
|
+
function C() {
|
|
80
|
+
const t = B(v()).domain([1, 10]);
|
|
81
|
+
return t.copy = () => F(t, C()).base(t.base()), L.apply(t, arguments), t;
|
|
82
|
+
}
|
|
14
83
|
export {
|
|
15
|
-
|
|
84
|
+
C as default,
|
|
85
|
+
B as loggish
|
|
16
86
|
};
|
|
17
87
|
//# sourceMappingURL=visualization.es142.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es142.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es142.js","sources":["../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/log.js"],"sourcesContent":["import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n"],"names":["transformLog","x","transformExp","transformLogn","transformExpn","pow10","powp","base","logp","reflect","f","k","loggish","transform","scale","domain","logs","pows","rescale","_","count","d","v","r","i","j","t","n","z","ticks","specifier","formatSpecifier","format","nice","log","transformer","copy","initRange"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { initRange as c } from "./visualization.es559.js";
|
|
2
|
+
import { InternMap as a } from "./visualization.es524.js";
|
|
3
|
+
const f = /* @__PURE__ */ Symbol("implicit");
|
|
4
|
+
function l() {
|
|
5
|
+
var r = new a(), i = [], u = [], o = f;
|
|
6
|
+
function n(t) {
|
|
7
|
+
let e = r.get(t);
|
|
8
|
+
if (e === void 0) {
|
|
9
|
+
if (o !== f) return o;
|
|
10
|
+
r.set(t, e = i.push(t) - 1);
|
|
11
|
+
}
|
|
12
|
+
return u[e % u.length];
|
|
13
|
+
}
|
|
14
|
+
return n.domain = function(t) {
|
|
15
|
+
if (!arguments.length) return i.slice();
|
|
16
|
+
i = [], r = new a();
|
|
17
|
+
for (const e of t)
|
|
18
|
+
r.has(e) || r.set(e, i.push(e) - 1);
|
|
19
|
+
return n;
|
|
20
|
+
}, n.range = function(t) {
|
|
21
|
+
return arguments.length ? (u = Array.from(t), n) : u.slice();
|
|
22
|
+
}, n.unknown = function(t) {
|
|
23
|
+
return arguments.length ? (o = t, n) : o;
|
|
24
|
+
}, n.copy = function() {
|
|
25
|
+
return l(i, u).unknown(o);
|
|
26
|
+
}, c.apply(n, arguments), n;
|
|
27
|
+
}
|
|
26
28
|
export {
|
|
27
|
-
|
|
29
|
+
l as default,
|
|
30
|
+
f as implicit
|
|
28
31
|
};
|
|
29
32
|
//# sourceMappingURL=visualization.es143.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es143.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es143.js","sources":["../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/ordinal.js"],"sourcesContent":["import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n"],"names":["implicit","ordinal","index","InternMap","domain","range","unknown","scale","d","i","_","value","initRange"],"mappings":";;AAGY,MAACA,IAAW,uBAAO,UAAU;AAE1B,SAASC,IAAU;AAChC,MAAIC,IAAQ,IAAIC,EAAS,GACrBC,IAAS,CAAA,GACTC,IAAQ,CAAA,GACRC,IAAUN;AAEd,WAASO,EAAMC,GAAG;AAChB,QAAIC,IAAIP,EAAM,IAAIM,CAAC;AACnB,QAAIC,MAAM,QAAW;AACnB,UAAIH,MAAYN,EAAU,QAAOM;AACjC,MAAAJ,EAAM,IAAIM,GAAGC,IAAIL,EAAO,KAAKI,CAAC,IAAI,CAAC;AAAA,IACrC;AACA,WAAOH,EAAMI,IAAIJ,EAAM,MAAM;AAAA,EAC/B;AAEA,SAAAE,EAAM,SAAS,SAASG,GAAG;AACzB,QAAI,CAAC,UAAU,OAAQ,QAAON,EAAO,MAAK;AAC1C,IAAAA,IAAS,CAAA,GAAIF,IAAQ,IAAIC,EAAS;AAClC,eAAWQ,KAASD;AAClB,MAAIR,EAAM,IAAIS,CAAK,KACnBT,EAAM,IAAIS,GAAOP,EAAO,KAAKO,CAAK,IAAI,CAAC;AAEzC,WAAOJ;AAAA,EACT,GAEAA,EAAM,QAAQ,SAASG,GAAG;AACxB,WAAO,UAAU,UAAUL,IAAQ,MAAM,KAAKK,CAAC,GAAGH,KAASF,EAAM,MAAK;AAAA,EACxE,GAEAE,EAAM,UAAU,SAASG,GAAG;AAC1B,WAAO,UAAU,UAAUJ,IAAUI,GAAGH,KAASD;AAAA,EACnD,GAEAC,EAAM,OAAO,WAAW;AACtB,WAAON,EAAQG,GAAQC,CAAK,EAAE,QAAQC,CAAO;AAAA,EAC/C,GAEAM,EAAU,MAAML,GAAO,SAAS,GAEzBA;AACT;","x_google_ignoreList":[0]}
|