@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,43 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState as G, useMemo as f, useRef as U, useCallback as
|
|
3
|
-
import { ZoomFrame as
|
|
4
|
-
import { RenderTree as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import S from "./visualization.
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { pathRadialStep as J } from "./visualization.
|
|
14
|
-
const
|
|
1
|
+
import { jsx as N, jsxs as oe } from "react/jsx-runtime";
|
|
2
|
+
import { useState as G, useMemo as f, useRef as U, useCallback as R } from "react";
|
|
3
|
+
import { ZoomFrame as ce } from "./visualization.es56.js";
|
|
4
|
+
import { RenderTree as re } from "./visualization.es57.js";
|
|
5
|
+
import ie from "./visualization.es53.js";
|
|
6
|
+
import le from "./visualization.es58.js";
|
|
7
|
+
import de from "./visualization.es59.js";
|
|
8
|
+
import ue from "./visualization.es60.js";
|
|
9
|
+
import he from "./visualization.es61.js";
|
|
10
|
+
import S from "./visualization.es62.js";
|
|
11
|
+
import pe from "./visualization.es24.js";
|
|
12
|
+
import me from "./visualization.es49.js";
|
|
13
|
+
import { pathRadialStep as J } from "./visualization.es63.js";
|
|
14
|
+
const we = {
|
|
15
15
|
duration: 0.3,
|
|
16
16
|
ease: "easeInOut"
|
|
17
|
-
},
|
|
17
|
+
}, be = () => 1, ge = (t, i, r) => i === 0 ? 0 : t / i * r, Le = (t) => {
|
|
18
18
|
const i = /-?\d*\.?\d+[eE][+-]?\d+/g;
|
|
19
19
|
return t.replace(i, (r) => Number(r).toFixed(10).replace(/\.?0+$/, ""));
|
|
20
20
|
}, K = (t) => (i) => {
|
|
21
21
|
const r = t(i);
|
|
22
|
-
return r ?
|
|
23
|
-
},
|
|
22
|
+
return r ? Le(r) : "";
|
|
23
|
+
}, Ne = K(J({
|
|
24
24
|
source: (t) => t.source,
|
|
25
25
|
target: (t) => t.target,
|
|
26
26
|
x: (t) => t?.x || 0,
|
|
27
27
|
y: (t) => t?.y || 0
|
|
28
|
-
})),
|
|
28
|
+
})), fe = K(J({
|
|
29
29
|
source: (t) => t.source,
|
|
30
30
|
target: (t) => t.target,
|
|
31
31
|
x: (t) => t?.x || 0,
|
|
32
32
|
y: (t) => t?.branchLengthScaledRadius || 0
|
|
33
|
-
})),
|
|
33
|
+
})), xe = (t, i) => {
|
|
34
34
|
t = t.replace(/^#/, "");
|
|
35
35
|
let r = parseInt(t.substring(0, 2), 16), u = parseInt(t.substring(2, 4), 16), h = parseInt(t.substring(4, 6), 16);
|
|
36
36
|
r = Math.round(r + (255 - r) * i), u = Math.round(u + (255 - u) * i), h = Math.round(h + (255 - h) * i);
|
|
37
37
|
const b = (x) => x.toString(16).padStart(2, "0");
|
|
38
38
|
return `#${b(r)}${b(u)}${b(h)}`;
|
|
39
|
-
}, y = 500,
|
|
40
|
-
function
|
|
39
|
+
}, y = 500, Ae = y * 2;
|
|
40
|
+
function De({
|
|
41
41
|
width: t,
|
|
42
42
|
height: i,
|
|
43
43
|
data: r,
|
|
@@ -59,15 +59,15 @@ function we({
|
|
|
59
59
|
tooltipData: P,
|
|
60
60
|
tooltipLeft: ee,
|
|
61
61
|
tooltipTop: te,
|
|
62
|
-
showTooltip:
|
|
63
|
-
hideTooltip:
|
|
64
|
-
} =
|
|
62
|
+
showTooltip: k,
|
|
63
|
+
hideTooltip: w
|
|
64
|
+
} = ie(), A = f(() => T ? [T, ...h] : h, [T, h]), {
|
|
65
65
|
TooltipInPortal: se
|
|
66
|
-
} =
|
|
66
|
+
} = le({
|
|
67
67
|
scroll: !0,
|
|
68
68
|
detectBounds: !0
|
|
69
|
-
}),
|
|
70
|
-
|
|
69
|
+
}), D = U(null), Y = U(!1), j = (c, s) => {
|
|
70
|
+
D.current = s ? {
|
|
71
71
|
node: s,
|
|
72
72
|
x: c.clientX,
|
|
73
73
|
y: c.clientY
|
|
@@ -76,23 +76,23 @@ function we({
|
|
|
76
76
|
x: 0,
|
|
77
77
|
y: 0
|
|
78
78
|
}, Y.current || (Y.current = !0, requestAnimationFrame(() => {
|
|
79
|
-
const l =
|
|
80
|
-
_(e ? e.data.id : null), e && !e.children ?
|
|
79
|
+
const l = D.current, e = l?.node ?? null;
|
|
80
|
+
_(e ? e.data.id : null), e && !e.children ? k({
|
|
81
81
|
tooltipData: e.data,
|
|
82
82
|
tooltipLeft: l.x,
|
|
83
83
|
tooltipTop: l.y
|
|
84
|
-
}) :
|
|
84
|
+
}) : w(), g && g(e ? e.leaves().map((n) => n.data.id) : []), Y.current = !1;
|
|
85
85
|
}));
|
|
86
|
-
},
|
|
86
|
+
}, L = Math.max(0, y - V), q = f(() => [2 * Math.PI, L], [L]), $ = f(() => de(r, (s) => s.children).sum((s) => s.children ? 0 : 1).sort((s, l) => {
|
|
87
87
|
if (p) {
|
|
88
|
-
const a = new Map(p.map((d,
|
|
88
|
+
const a = new Map(p.map((d, M) => [d, M])), o = (d) => Math.min(...d.leaves().map((M) => a.get(M.data.id) ?? 1 / 0));
|
|
89
89
|
return o(s) - o(l);
|
|
90
90
|
}
|
|
91
91
|
const e = s.leaves().some((a) => a.data.id === "Homo_sapiens"), n = l.leaves().some((a) => a.data.id === "Homo_sapiens");
|
|
92
|
-
return e !== n ? e ? -1 : 1 : (s.value || 0) - (l.value || 0) ||
|
|
93
|
-
}), [r, X,
|
|
94
|
-
const c =
|
|
95
|
-
c.size(q), c.separation(
|
|
92
|
+
return e !== n ? e ? -1 : 1 : (s.value || 0) - (l.value || 0) || ue(s.data.branch_length ?? void 0, l.data.branch_length ?? void 0);
|
|
93
|
+
}), [r, X, L, p]), F = f(() => {
|
|
94
|
+
const c = he();
|
|
95
|
+
c.size(q), c.separation(be);
|
|
96
96
|
const s = c($.copy());
|
|
97
97
|
let l = 0;
|
|
98
98
|
if (s.each((e) => {
|
|
@@ -108,7 +108,7 @@ function we({
|
|
|
108
108
|
const a = (e.parent?.cumulativeBranchLength ?? 0) + (e.data.branch_length ?? 0);
|
|
109
109
|
a > l && (l = a), e.cumulativeBranchLength = a;
|
|
110
110
|
}), s.descendants().forEach((e) => {
|
|
111
|
-
const n =
|
|
111
|
+
const n = ge(e.cumulativeBranchLength ?? 0, l, L);
|
|
112
112
|
e.branchLengthScaledRadius = n;
|
|
113
113
|
}), s.descendants().forEach((e) => {
|
|
114
114
|
const [n, a] = S(e.x, e.y), [o, d] = S(e.x, e.branchLengthScaledRadius ?? 0);
|
|
@@ -121,7 +121,7 @@ function we({
|
|
|
121
121
|
const n = {
|
|
122
122
|
source: e.parent,
|
|
123
123
|
target: e
|
|
124
|
-
}, a =
|
|
124
|
+
}, a = Ne(n), o = fe(n);
|
|
125
125
|
e.baseLinkPath = a, e.scaledLinkPath = o;
|
|
126
126
|
}
|
|
127
127
|
}), s.leaves().forEach((e) => {
|
|
@@ -135,7 +135,7 @@ function we({
|
|
|
135
135
|
x2: e.baseNodeX ?? 0,
|
|
136
136
|
y1: e.scaledNodeY ?? 0,
|
|
137
137
|
y2: e.baseNodeY ?? 0
|
|
138
|
-
}, e.lightenedLinkExtColor =
|
|
138
|
+
}, e.lightenedLinkExtColor = xe(e.color ?? "#000000", 0.7);
|
|
139
139
|
}), s.each((e) => {
|
|
140
140
|
const a = !e.children ? u.includes(e.data.id) : e.leaves().some((o) => u.includes(o.data.id));
|
|
141
141
|
e.linkStrokeWidth = a ? I * 2 : I, e.labelStrokeWidth = a ? 0.7 : 0;
|
|
@@ -149,24 +149,24 @@ Requested: ` + o.join(", ") + `
|
|
|
149
149
|
Achieved: ` + d.join(", "));
|
|
150
150
|
}
|
|
151
151
|
return s;
|
|
152
|
-
}, [r, q,
|
|
153
|
-
|
|
152
|
+
}, [r, q, L, $, u, I, p]), H = R(() => W((c) => !c), []), Z = R((c, s) => {
|
|
153
|
+
j(c, s), !s.children && k({
|
|
154
154
|
tooltipData: s.data,
|
|
155
155
|
tooltipLeft: c.clientX,
|
|
156
156
|
tooltipTop: c.clientY
|
|
157
157
|
}), g && g(s.leaves().map((l) => l.data.id));
|
|
158
|
-
}, []), O =
|
|
159
|
-
|
|
160
|
-
}, []), z = f(() => /* @__PURE__ */
|
|
161
|
-
return t < 10 ? null : /* @__PURE__ */
|
|
162
|
-
/* @__PURE__ */
|
|
163
|
-
P && B && /* @__PURE__ */
|
|
158
|
+
}, []), O = R((c, s) => {
|
|
159
|
+
j(c, null), w(), g && g([]);
|
|
160
|
+
}, []), z = f(() => /* @__PURE__ */ N(pe, { top: y, left: y, children: /* @__PURE__ */ N(re, { node: F, hovered: A, leafFontFamily: x, leafFontSize: b, useBranchLengths: v, onNodeMouseMove: Z, onNodeMouseLeave: O, onBranchClick: E }) }), [F, A, x, b, v, Z, O, E]), ae = R((c) => /* @__PURE__ */ N(ce, { zoom: c, totalWidth: t, totalHeight: i, toggleBranchLength: H, children: z }), [t, i, H, z]);
|
|
161
|
+
return t < 10 ? null : /* @__PURE__ */ oe("div", { children: [
|
|
162
|
+
/* @__PURE__ */ N(me, { width: t, height: i, scaleXMin: 0.8, scaleXMax: 4, scaleYMin: 0.8, scaleYMax: 4, children: ae }),
|
|
163
|
+
P && B && /* @__PURE__ */ N(se, { left: ee, top: te, children: B(P.id) })
|
|
164
164
|
] });
|
|
165
165
|
}
|
|
166
166
|
export {
|
|
167
|
-
|
|
167
|
+
Ae as TOTAL_INNER_DIAMETER,
|
|
168
168
|
y as TOTAL_INNER_RADIUS,
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
De as default,
|
|
170
|
+
we as useBranchLengthTransition
|
|
171
171
|
};
|
|
172
172
|
//# sourceMappingURL=visualization.es7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es7.js","sources":["../src/components/PhyloTree/PhyloTree.tsx"],"sourcesContent":["import { useMemo, useState, useCallback, useRef, useEffect } from \"react\";\nimport { Group } from \"@visx/group\";\nimport { ascending } from \"@visx/vendor/d3-array\";\nimport { pathRadialStep } from \"@visx/shape\";\nimport { cluster as d3cluster, hierarchy as d3hierarchy } from \"d3-hierarchy\";\nimport { PhyloTreeProps, TreeItem, TreeLink, TreeNode, ZoomState } from \"./types\";\nimport { useTooltip, defaultStyles, useTooltipInPortal } from \"@visx/tooltip\";\nimport { Zoom, ProvidedZoom } from \"@visx/zoom\";\nimport { ZoomFrame } from \"./ZoomFrame\";\nimport { pointRadial } from \"d3-shape\";\nimport { RenderTree } from \"./RenderTree\";\n\n/**\n * Improvements that would make this scale better (as much as svg can):\n * - Combine links into fewer path elements\n * - Requires having static hit detecting paths, but can create fewer <path> elements by combining link paths\n * - Creates less work for the browser to update fewer, but more complex paths\n * - Would need base branches grouped by color, selection path, external highlight path, and invisible static hit target paths for branch selection\n * - Remove hover interaction and opt for click only interactions\n * - If keeping hover behavior, define gapless areas between nodes to prevent -> hover NodeA, hover null, hover NodeB in favor of NodeA -> NodeB\n * - Define single hit area that takes in click event and determines what was hit\n */\n\nexport const useBranchLengthTransition = {\n duration: 0.3,\n ease: \"easeInOut\",\n} as const;\n\n// Keep spacing of all leaf nodes consistent\nconst separationFn = () => 1;\n\nconst getBranchLengthScaledY = (cumulativeBranchLength: number, maxBranchLength: number, innerRadius: number) => {\n return maxBranchLength === 0 ? 0 : (cumulativeBranchLength / maxBranchLength) * innerRadius;\n};\n\n// Framer motion had issues with e notation\nconst rmSciNotation = (pathString: string) => {\n // Regex to match scientific notation:\n // optional sign, digits/dots, 'e' or 'E', optional sign, and exponent digits\n const scientificRegex = /-?\\d*\\.?\\d+[eE][+-]?\\d+/g;\n\n return pathString.replace(scientificRegex, (match) => {\n // Convert the match to a Number and then back to a decimal string\n const num = Number(match);\n\n // Use toFixed() to ensure no new scientific notation is generated\n // 10 decimal places is usually enough for SVG precision\n return num.toFixed(10).replace(/\\.?0+$/, \"\");\n });\n};\n\nconst withNoSciNotation =\n <L extends TreeLink>(generator: (link: L) => string | null) =>\n (link: L) => {\n const path = generator(link);\n return path ? rmSciNotation(path) : \"\";\n };\n\nconst getLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.y || 0,\n })\n);\n\nconst getScaledLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.branchLengthScaledRadius || 0,\n })\n);\n\n/**\n * Lightens a hex color by blending it with white.\n * @param {string} hex - The input color, e.g. \"#336699\"\n * @param {number} factor - How much to lighten: 0 = no change, 1 = full white\n * @returns {string} - The lightened hex color\n */\nconst lightenHex = (hex: string, factor: number) => {\n // Remove leading \"#\" if present\n hex = hex.replace(/^#/, '');\n\n // Parse r, g, b\n let r = parseInt(hex.substring(0, 2), 16);\n let g = parseInt(hex.substring(2, 4), 16);\n let b = parseInt(hex.substring(4, 6), 16);\n\n // Blend each channel toward 255 (white)\n r = Math.round(r + (255 - r) * factor);\n g = Math.round(g + (255 - g) * factor);\n b = Math.round(b + (255 - b) * factor);\n\n // Convert back to hex and pad with zeros\n const toHex = (c: number) => c.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\n/**\n * For internal svg calculation only\n */\nexport const TOTAL_INNER_RADIUS = 500;\n/**\n * For internal svg calculation only (used to define viewbox in ZoomFrame)\n */\nexport const TOTAL_INNER_DIAMETER = TOTAL_INNER_RADIUS * 2;\n\nexport default function PhyloTree({\n width: totalWidth,\n height: totalHeight,\n data,\n highlighted = [],\n hovered: externalHovered = [],\n leafFontSize = 8,\n leafFontFamily = \"Arial\",\n linkStrokeWidth = 1,\n getColor = () => \"black\",\n getLabel = (id) => id,\n onBranchClick = () => null,\n onLeafHoverChange,\n labelPadding = 135,\n defaultScaling = \"scaled\",\n tooltipContents,\n leafOrder,\n}: PhyloTreeProps) {\n const [enableBranchLengths, setEnableBranchLengths] = useState<boolean>(defaultScaling === \"scaled\");\n\n const [internalHovered, setInternalHovered] = useState<string | null>(null)\n const { tooltipData, tooltipLeft, tooltipTop, tooltipOpen, showTooltip, hideTooltip } = useTooltip<TreeItem>();\n\n const hovered = useMemo(\n () => (internalHovered ? [internalHovered, ...externalHovered] : externalHovered),\n [internalHovered, externalHovered]\n );\n\n const { TooltipInPortal } = useTooltipInPortal({\n scroll: true,\n detectBounds: true,\n });\n\n interface PendingHover {\n node: TreeNode | null;\n x: number;\n y: number;\n }\n\n const pendingRef = useRef<PendingHover | null>(null);\n const frameRef = useRef(false);\n\n /**\n * Prevents hover updates more frequently than the browser can repaint by using requestAnimationFrame\n */\n const handleDebounceHover = (event: React.MouseEvent, node: TreeNode | null) => {\n pendingRef.current = node \n ? { node, x: event.clientX, y: event.clientY }\n : { node: null, x: 0, y: 0 };\n\n if (!frameRef.current) {\n frameRef.current = true;\n\n requestAnimationFrame(() => {\n // Everything comes from the ref now — consistent snapshot\n const pending = pendingRef.current;\n const pendingNode = pending?.node ?? null;\n\n setInternalHovered(pendingNode ? pendingNode.data.id : null);\n\n if (pendingNode && !pendingNode.children) {\n showTooltip({\n tooltipData: pendingNode.data,\n tooltipLeft: pending!.x,\n tooltipTop: pending!.y,\n });\n } else {\n hideTooltip();\n }\n\n if (onLeafHoverChange) {\n onLeafHoverChange(\n pendingNode ? pendingNode.leaves().map((leaf) => leaf.data.id) : []\n );\n }\n\n frameRef.current = false;\n });\n }\n };\n\n const circleRadius = Math.max(0, TOTAL_INNER_RADIUS - labelPadding);\n\n // This defines the arbitrary x/y coordinate system. For our radial layout X is the angle defined in radians, Y is radius. https://d3js.org/d3-hierarchy/cluster#cluster_size\n const size: [number, number] = useMemo(() => [2 * Math.PI, circleRadius], [circleRadius]);\n\n /* Construct root node */\n const root = useMemo(() => {\n const r = d3hierarchy(data, (d) => d.children)\n // sorts first by least number of children, and then by branch length to create nice looking plot\n .sum((d) => (d.children ? 0 : 1))\n .sort((a, b) => {\n if (leafOrder) {\n const indexMap = new Map(leafOrder.map((id, i) => [id, i]));\n const minIdx = (node: typeof a) =>\n Math.min(...node.leaves().map((l) => indexMap.get(l.data.id) ?? Infinity));\n return minIdx(a) - minIdx(b);\n }\n\n // Float the Homo_sapiens subtree to the end so it appears at the top\n const aHasHuman = a.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n const bHasHuman = b.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n if (aHasHuman !== bHasHuman) return aHasHuman ? -1 : 1;\n\n return (\n (a.value || 0) - (b.value || 0) ||\n ascending(a.data.branch_length ?? undefined, b.data.branch_length ?? undefined)\n );\n });\n return r;\n }, [data, getColor, circleRadius, leafOrder]);\n\n /* Add layout/render properties */\n const rootNode = useMemo(() => {\n const clusterLayout = d3cluster<TreeItem>();\n clusterLayout.size(size);\n clusterLayout.separation(separationFn);\n //copy root node so that the reference changes when this useMemo is rerun. Otherwise is modifying in place\n const clusterRoot: TreeNode = clusterLayout(root.copy());\n\n let maxBranchLength = 0;\n\n clusterRoot.each((node) => {\n node.label = getLabel(node.data.id)\n })\n\n // uniformLeafColor\n clusterRoot.eachAfter((node) => {\n //This node is visited after all of it's descendents. Allows us to look at immediate children to see if they have same color.\n //For leaf nodes, there will be no children, so assign the color AND assign light\n if (!node.children) {\n node.color = getColor(node.data.id);\n } else {\n const childColors = node.children.map((x) => x.color);\n const firstColor = node.children[0].color;\n const allSame = firstColor !== null && childColors.every((color) => color === firstColor);\n node.color = allSame ? firstColor : \"#666\";\n }\n });\n\n // cumulativeBranchLength\n clusterRoot.eachBefore((node) => {\n const parentLen = node.parent?.cumulativeBranchLength ?? 0;\n const cumulativeBranchLength = parentLen + (node.data.branch_length ?? 0);\n\n if (cumulativeBranchLength > maxBranchLength) {\n maxBranchLength = cumulativeBranchLength;\n }\n \n node.cumulativeBranchLength = cumulativeBranchLength;\n });\n \n // Add BranchLengthScaledRadius. Must come after cumulativeBranchLength\n clusterRoot.descendants().forEach((node) => {\n const branchLengthScaledRadius = getBranchLengthScaledY(\n node.cumulativeBranchLength ?? 0,\n maxBranchLength,\n circleRadius\n );\n\n node.branchLengthScaledRadius = branchLengthScaledRadius;\n })\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n \n //Link Path gen must come after the above assignment of branchLengthScaledRadius\n clusterRoot.descendants().forEach((node) => {\n if (node.parent) {\n const link = { source: node.parent, target: node };\n\n const baseLinkPath = getLinkPath(link);\n const scaledLinkPath = getScaledLinkPath(link);\n\n node.baseLinkPath = baseLinkPath;\n node.scaledLinkPath = scaledLinkPath;\n }\n });\n\n clusterRoot.leaves().forEach((leaf) => {\n leaf.baseLeafLinkExtension = {\n x1: leaf.baseNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.baseNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.scaledLeafLinkExtension = {\n x1: leaf.scaledNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.scaledNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.lightenedLinkExtColor = lightenHex(leaf.color ?? \"#000000\", 0.7);\n })\n\n // Highlighted state\n clusterRoot.each((node) => {\n //probably could do this more efficiently with .eachAfter\n const isLeaf = !node.children\n const isHighlighted = isLeaf ? highlighted.includes(node.data.id) : node.leaves().some(leaf => highlighted.includes(leaf.data.id))\n\n node.linkStrokeWidth = isHighlighted ? linkStrokeWidth * 2 : linkStrokeWidth\n node.labelStrokeWidth = isHighlighted ? 0.7 : 0\n })\n //Add ancestors and descendant IDs for faster static lookup on hover rerender\n clusterRoot.each((node) => {\n const ancestorIds = new Set(node.ancestors().map(node => node.data.id))\n const descendantIds = new Set(node.descendants().map(node => node.data.id))\n \n\n node.ancestorIds = ancestorIds\n node.descendantIds = descendantIds\n })\n\n if (leafOrder) {\n const achievedOrder = clusterRoot.leaves().map((l) => l.data.id);\n const treeLeafSet = new Set(achievedOrder);\n const leafOrderSet = new Set(leafOrder);\n const requestedFiltered = leafOrder.filter((id) => treeLeafSet.has(id));\n const achievedFiltered = achievedOrder.filter((id) => leafOrderSet.has(id));\n const mismatch = requestedFiltered.some((id, i) => id !== achievedFiltered[i]);\n if (mismatch) {\n console.error(\n \"[PhyloTree] Requested leafOrder is not achievable given the tree topology.\\n\" +\n \"Requested: \" + requestedFiltered.join(\", \") + \"\\n\" +\n \"Achieved: \" + achievedFiltered.join(\", \")\n );\n }\n }\n\n return clusterRoot;\n }, [data, size, circleRadius, root, highlighted, linkStrokeWidth, leafOrder]);\n\n const toggleBranchLength = useCallback(() => setEnableBranchLengths((prev) => !prev), []);\n\n const handleLeafOnMouseMove = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, node)\n !node.children && showTooltip({\n tooltipData: node.data,\n tooltipLeft: event.clientX,\n tooltipTop: event.clientY,\n });\n if (onLeafHoverChange) {\n onLeafHoverChange(node.leaves().map(leaf => leaf.data.id))\n }\n }, []);\n\n const handleLeafOnMouseLeave = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, null)\n hideTooltip();\n if (onLeafHoverChange) {\n onLeafHoverChange([])\n }\n }, []);\n\n const treeContent = useMemo(() => {\n return (\n <Group top={TOTAL_INNER_RADIUS} left={TOTAL_INNER_RADIUS}>\n <RenderTree\n node={rootNode}\n hovered={hovered}\n leafFontFamily={leafFontFamily}\n leafFontSize={leafFontSize}\n useBranchLengths={enableBranchLengths}\n onNodeMouseMove={handleLeafOnMouseMove}\n onNodeMouseLeave={handleLeafOnMouseLeave}\n onBranchClick={onBranchClick}\n />\n </Group>\n );\n }, [\n rootNode,\n hovered,\n leafFontFamily,\n leafFontSize,\n enableBranchLengths,\n handleLeafOnMouseMove,\n handleLeafOnMouseLeave,\n onBranchClick,\n ]);\n\n const renderTreeInZoom = useCallback(\n (zoom: ProvidedZoom<SVGSVGElement> & ZoomState) => {\n return (\n <ZoomFrame\n zoom={zoom}\n totalWidth={totalWidth}\n totalHeight={totalHeight}\n toggleBranchLength={toggleBranchLength}\n >\n {treeContent}\n </ZoomFrame>\n );\n },\n [totalWidth, totalHeight, toggleBranchLength, treeContent]\n );\n\n return totalWidth < 10 ? null : (\n <div>\n <Zoom<SVGSVGElement>\n width={totalWidth}\n height={totalHeight}\n scaleXMin={0.8}\n scaleXMax={4}\n scaleYMin={0.8}\n scaleYMax={4}\n >\n {renderTreeInZoom}\n </Zoom>\n {tooltipData && tooltipContents && (\n <TooltipInPortal left={tooltipLeft} top={tooltipTop}>\n {tooltipContents(tooltipData.id)}\n </TooltipInPortal>\n )}\n </div>\n );\n}\n"],"names":["useBranchLengthTransition","duration","ease","separationFn","getBranchLengthScaledY","cumulativeBranchLength","maxBranchLength","innerRadius","rmSciNotation","pathString","scientificRegex","replace","match","Number","toFixed","withNoSciNotation","generator","link","path","getLinkPath","pathRadialStep","source","l","target","x","n","y","getScaledLinkPath","branchLengthScaledRadius","lightenHex","hex","factor","r","parseInt","substring","g","b","Math","round","toHex","c","toString","padStart","TOTAL_INNER_RADIUS","TOTAL_INNER_DIAMETER","PhyloTree","width","totalWidth","height","totalHeight","data","highlighted","hovered","externalHovered","leafFontSize","leafFontFamily","linkStrokeWidth","getColor","getLabel","id","onBranchClick","onLeafHoverChange","labelPadding","defaultScaling","tooltipContents","leafOrder","enableBranchLengths","setEnableBranchLengths","useState","internalHovered","setInternalHovered","tooltipData","tooltipLeft","tooltipTop","showTooltip","hideTooltip","useTooltip","useMemo","TooltipInPortal","useTooltipInPortal","scroll","detectBounds","pendingRef","useRef","frameRef","handleDebounceHover","event","node","current","clientX","clientY","requestAnimationFrame","pending","pendingNode","children","leaves","map","leaf","circleRadius","max","size","PI","root","d3hierarchy","d","sum","sort","a","indexMap","Map","i","minIdx","min","get","Infinity","aHasHuman","some","bHasHuman","value","ascending","branch_length","undefined","rootNode","clusterLayout","d3cluster","separation","clusterRoot","copy","each","label","eachAfter","color","childColors","firstColor","allSame","every","eachBefore","parent","descendants","forEach","baseNodeX","baseNodeY","pointRadial","scaledNodeX","scaledNodeY","baseLinkPath","scaledLinkPath","baseLeafLinkExtension","x1","x2","y1","y2","scaledLeafLinkExtension","lightenedLinkExtColor","isHighlighted","includes","labelStrokeWidth","ancestorIds","Set","ancestors","descendantIds","achievedOrder","treeLeafSet","leafOrderSet","requestedFiltered","filter","has","achievedFiltered","console","error","join","toggleBranchLength","useCallback","prev","handleLeafOnMouseMove","handleLeafOnMouseLeave","treeContent","jsx","Group","RenderTree","renderTreeInZoom","zoom","ZoomFrame","jsxs","Zoom"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es7.js","sources":["../src/components/PhyloTree/PhyloTree.tsx"],"sourcesContent":["import { useMemo, useState, useCallback, useRef, useEffect } from \"react\";\nimport { Group } from \"@visx/group\";\nimport { ascending } from \"@visx/vendor/d3-array\";\nimport { pathRadialStep } from \"@visx/shape\";\nimport { cluster as d3cluster, hierarchy as d3hierarchy } from \"d3-hierarchy\";\nimport { PhyloTreeProps, TreeItem, TreeLink, TreeNode, ZoomState } from \"./types\";\nimport { useTooltip, defaultStyles, useTooltipInPortal } from \"@visx/tooltip\";\nimport { Zoom, ProvidedZoom } from \"@visx/zoom\";\nimport { ZoomFrame } from \"./ZoomFrame\";\nimport { pointRadial } from \"d3-shape\";\nimport { RenderTree } from \"./RenderTree\";\n\n/**\n * Improvements that would make this scale better (as much as svg can):\n * - Combine links into fewer path elements\n * - Requires having static hit detecting paths, but can create fewer <path> elements by combining link paths\n * - Creates less work for the browser to update fewer, but more complex paths\n * - Would need base branches grouped by color, selection path, external highlight path, and invisible static hit target paths for branch selection\n * - Remove hover interaction and opt for click only interactions\n * - If keeping hover behavior, define gapless areas between nodes to prevent -> hover NodeA, hover null, hover NodeB in favor of NodeA -> NodeB\n * - Define single hit area that takes in click event and determines what was hit\n */\n\nexport const useBranchLengthTransition = {\n duration: 0.3,\n ease: \"easeInOut\",\n} as const;\n\n// Keep spacing of all leaf nodes consistent\nconst separationFn = () => 1;\n\nconst getBranchLengthScaledY = (cumulativeBranchLength: number, maxBranchLength: number, innerRadius: number) => {\n return maxBranchLength === 0 ? 0 : (cumulativeBranchLength / maxBranchLength) * innerRadius;\n};\n\n// Framer motion had issues with e notation\nconst rmSciNotation = (pathString: string) => {\n // Regex to match scientific notation:\n // optional sign, digits/dots, 'e' or 'E', optional sign, and exponent digits\n const scientificRegex = /-?\\d*\\.?\\d+[eE][+-]?\\d+/g;\n\n return pathString.replace(scientificRegex, (match) => {\n // Convert the match to a Number and then back to a decimal string\n const num = Number(match);\n\n // Use toFixed() to ensure no new scientific notation is generated\n // 10 decimal places is usually enough for SVG precision\n return num.toFixed(10).replace(/\\.?0+$/, \"\");\n });\n};\n\nconst withNoSciNotation =\n <L extends TreeLink>(generator: (link: L) => string | null) =>\n (link: L) => {\n const path = generator(link);\n return path ? rmSciNotation(path) : \"\";\n };\n\nconst getLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.y || 0,\n })\n);\n\nconst getScaledLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.branchLengthScaledRadius || 0,\n })\n);\n\n/**\n * Lightens a hex color by blending it with white.\n * @param {string} hex - The input color, e.g. \"#336699\"\n * @param {number} factor - How much to lighten: 0 = no change, 1 = full white\n * @returns {string} - The lightened hex color\n */\nconst lightenHex = (hex: string, factor: number) => {\n // Remove leading \"#\" if present\n hex = hex.replace(/^#/, '');\n\n // Parse r, g, b\n let r = parseInt(hex.substring(0, 2), 16);\n let g = parseInt(hex.substring(2, 4), 16);\n let b = parseInt(hex.substring(4, 6), 16);\n\n // Blend each channel toward 255 (white)\n r = Math.round(r + (255 - r) * factor);\n g = Math.round(g + (255 - g) * factor);\n b = Math.round(b + (255 - b) * factor);\n\n // Convert back to hex and pad with zeros\n const toHex = (c: number) => c.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\n/**\n * For internal svg calculation only\n */\nexport const TOTAL_INNER_RADIUS = 500;\n/**\n * For internal svg calculation only (used to define viewbox in ZoomFrame)\n */\nexport const TOTAL_INNER_DIAMETER = TOTAL_INNER_RADIUS * 2;\n\nexport default function PhyloTree({\n width: totalWidth,\n height: totalHeight,\n data,\n highlighted = [],\n hovered: externalHovered = [],\n leafFontSize = 8,\n leafFontFamily = \"Arial\",\n linkStrokeWidth = 1,\n getColor = () => \"black\",\n getLabel = (id) => id,\n onBranchClick = () => null,\n onLeafHoverChange,\n labelPadding = 135,\n defaultScaling = \"scaled\",\n tooltipContents,\n leafOrder,\n}: PhyloTreeProps) {\n const [enableBranchLengths, setEnableBranchLengths] = useState<boolean>(defaultScaling === \"scaled\");\n\n const [internalHovered, setInternalHovered] = useState<string | null>(null)\n const { tooltipData, tooltipLeft, tooltipTop, tooltipOpen, showTooltip, hideTooltip } = useTooltip<TreeItem>();\n\n const hovered = useMemo(\n () => (internalHovered ? [internalHovered, ...externalHovered] : externalHovered),\n [internalHovered, externalHovered]\n );\n\n const { TooltipInPortal } = useTooltipInPortal({\n scroll: true,\n detectBounds: true,\n });\n\n interface PendingHover {\n node: TreeNode | null;\n x: number;\n y: number;\n }\n\n const pendingRef = useRef<PendingHover | null>(null);\n const frameRef = useRef(false);\n\n /**\n * Prevents hover updates more frequently than the browser can repaint by using requestAnimationFrame\n */\n const handleDebounceHover = (event: React.MouseEvent, node: TreeNode | null) => {\n pendingRef.current = node \n ? { node, x: event.clientX, y: event.clientY }\n : { node: null, x: 0, y: 0 };\n\n if (!frameRef.current) {\n frameRef.current = true;\n\n requestAnimationFrame(() => {\n // Everything comes from the ref now — consistent snapshot\n const pending = pendingRef.current;\n const pendingNode = pending?.node ?? null;\n\n setInternalHovered(pendingNode ? pendingNode.data.id : null);\n\n if (pendingNode && !pendingNode.children) {\n showTooltip({\n tooltipData: pendingNode.data,\n tooltipLeft: pending!.x,\n tooltipTop: pending!.y,\n });\n } else {\n hideTooltip();\n }\n\n if (onLeafHoverChange) {\n onLeafHoverChange(\n pendingNode ? pendingNode.leaves().map((leaf) => leaf.data.id) : []\n );\n }\n\n frameRef.current = false;\n });\n }\n };\n\n const circleRadius = Math.max(0, TOTAL_INNER_RADIUS - labelPadding);\n\n // This defines the arbitrary x/y coordinate system. For our radial layout X is the angle defined in radians, Y is radius. https://d3js.org/d3-hierarchy/cluster#cluster_size\n const size: [number, number] = useMemo(() => [2 * Math.PI, circleRadius], [circleRadius]);\n\n /* Construct root node */\n const root = useMemo(() => {\n const r = d3hierarchy(data, (d) => d.children)\n // sorts first by least number of children, and then by branch length to create nice looking plot\n .sum((d) => (d.children ? 0 : 1))\n .sort((a, b) => {\n if (leafOrder) {\n const indexMap = new Map(leafOrder.map((id, i) => [id, i]));\n const minIdx = (node: typeof a) =>\n Math.min(...node.leaves().map((l) => indexMap.get(l.data.id) ?? Infinity));\n return minIdx(a) - minIdx(b);\n }\n\n // Float the Homo_sapiens subtree to the end so it appears at the top\n const aHasHuman = a.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n const bHasHuman = b.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n if (aHasHuman !== bHasHuman) return aHasHuman ? -1 : 1;\n\n return (\n (a.value || 0) - (b.value || 0) ||\n ascending(a.data.branch_length ?? undefined, b.data.branch_length ?? undefined)\n );\n });\n return r;\n }, [data, getColor, circleRadius, leafOrder]);\n\n /* Add layout/render properties */\n const rootNode = useMemo(() => {\n const clusterLayout = d3cluster<TreeItem>();\n clusterLayout.size(size);\n clusterLayout.separation(separationFn);\n //copy root node so that the reference changes when this useMemo is rerun. Otherwise is modifying in place\n const clusterRoot: TreeNode = clusterLayout(root.copy());\n\n let maxBranchLength = 0;\n\n clusterRoot.each((node) => {\n node.label = getLabel(node.data.id)\n })\n\n // uniformLeafColor\n clusterRoot.eachAfter((node) => {\n //This node is visited after all of it's descendents. Allows us to look at immediate children to see if they have same color.\n //For leaf nodes, there will be no children, so assign the color AND assign light\n if (!node.children) {\n node.color = getColor(node.data.id);\n } else {\n const childColors = node.children.map((x) => x.color);\n const firstColor = node.children[0].color;\n const allSame = firstColor !== null && childColors.every((color) => color === firstColor);\n node.color = allSame ? firstColor : \"#666\";\n }\n });\n\n // cumulativeBranchLength\n clusterRoot.eachBefore((node) => {\n const parentLen = node.parent?.cumulativeBranchLength ?? 0;\n const cumulativeBranchLength = parentLen + (node.data.branch_length ?? 0);\n\n if (cumulativeBranchLength > maxBranchLength) {\n maxBranchLength = cumulativeBranchLength;\n }\n \n node.cumulativeBranchLength = cumulativeBranchLength;\n });\n \n // Add BranchLengthScaledRadius. Must come after cumulativeBranchLength\n clusterRoot.descendants().forEach((node) => {\n const branchLengthScaledRadius = getBranchLengthScaledY(\n node.cumulativeBranchLength ?? 0,\n maxBranchLength,\n circleRadius\n );\n\n node.branchLengthScaledRadius = branchLengthScaledRadius;\n })\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n \n //Link Path gen must come after the above assignment of branchLengthScaledRadius\n clusterRoot.descendants().forEach((node) => {\n if (node.parent) {\n const link = { source: node.parent, target: node };\n\n const baseLinkPath = getLinkPath(link);\n const scaledLinkPath = getScaledLinkPath(link);\n\n node.baseLinkPath = baseLinkPath;\n node.scaledLinkPath = scaledLinkPath;\n }\n });\n\n clusterRoot.leaves().forEach((leaf) => {\n leaf.baseLeafLinkExtension = {\n x1: leaf.baseNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.baseNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.scaledLeafLinkExtension = {\n x1: leaf.scaledNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.scaledNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.lightenedLinkExtColor = lightenHex(leaf.color ?? \"#000000\", 0.7);\n })\n\n // Highlighted state\n clusterRoot.each((node) => {\n //probably could do this more efficiently with .eachAfter\n const isLeaf = !node.children\n const isHighlighted = isLeaf ? highlighted.includes(node.data.id) : node.leaves().some(leaf => highlighted.includes(leaf.data.id))\n\n node.linkStrokeWidth = isHighlighted ? linkStrokeWidth * 2 : linkStrokeWidth\n node.labelStrokeWidth = isHighlighted ? 0.7 : 0\n })\n //Add ancestors and descendant IDs for faster static lookup on hover rerender\n clusterRoot.each((node) => {\n const ancestorIds = new Set(node.ancestors().map(node => node.data.id))\n const descendantIds = new Set(node.descendants().map(node => node.data.id))\n \n\n node.ancestorIds = ancestorIds\n node.descendantIds = descendantIds\n })\n\n if (leafOrder) {\n const achievedOrder = clusterRoot.leaves().map((l) => l.data.id);\n const treeLeafSet = new Set(achievedOrder);\n const leafOrderSet = new Set(leafOrder);\n const requestedFiltered = leafOrder.filter((id) => treeLeafSet.has(id));\n const achievedFiltered = achievedOrder.filter((id) => leafOrderSet.has(id));\n const mismatch = requestedFiltered.some((id, i) => id !== achievedFiltered[i]);\n if (mismatch) {\n console.error(\n \"[PhyloTree] Requested leafOrder is not achievable given the tree topology.\\n\" +\n \"Requested: \" + requestedFiltered.join(\", \") + \"\\n\" +\n \"Achieved: \" + achievedFiltered.join(\", \")\n );\n }\n }\n\n return clusterRoot;\n }, [data, size, circleRadius, root, highlighted, linkStrokeWidth, leafOrder]);\n\n const toggleBranchLength = useCallback(() => setEnableBranchLengths((prev) => !prev), []);\n\n const handleLeafOnMouseMove = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, node)\n !node.children && showTooltip({\n tooltipData: node.data,\n tooltipLeft: event.clientX,\n tooltipTop: event.clientY,\n });\n if (onLeafHoverChange) {\n onLeafHoverChange(node.leaves().map(leaf => leaf.data.id))\n }\n }, []);\n\n const handleLeafOnMouseLeave = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, null)\n hideTooltip();\n if (onLeafHoverChange) {\n onLeafHoverChange([])\n }\n }, []);\n\n const treeContent = useMemo(() => {\n return (\n <Group top={TOTAL_INNER_RADIUS} left={TOTAL_INNER_RADIUS}>\n <RenderTree\n node={rootNode}\n hovered={hovered}\n leafFontFamily={leafFontFamily}\n leafFontSize={leafFontSize}\n useBranchLengths={enableBranchLengths}\n onNodeMouseMove={handleLeafOnMouseMove}\n onNodeMouseLeave={handleLeafOnMouseLeave}\n onBranchClick={onBranchClick}\n />\n </Group>\n );\n }, [\n rootNode,\n hovered,\n leafFontFamily,\n leafFontSize,\n enableBranchLengths,\n handleLeafOnMouseMove,\n handleLeafOnMouseLeave,\n onBranchClick,\n ]);\n\n const renderTreeInZoom = useCallback(\n (zoom: ProvidedZoom<SVGSVGElement> & ZoomState) => {\n return (\n <ZoomFrame\n zoom={zoom}\n totalWidth={totalWidth}\n totalHeight={totalHeight}\n toggleBranchLength={toggleBranchLength}\n >\n {treeContent}\n </ZoomFrame>\n );\n },\n [totalWidth, totalHeight, toggleBranchLength, treeContent]\n );\n\n return totalWidth < 10 ? null : (\n <div>\n <Zoom<SVGSVGElement>\n width={totalWidth}\n height={totalHeight}\n scaleXMin={0.8}\n scaleXMax={4}\n scaleYMin={0.8}\n scaleYMax={4}\n >\n {renderTreeInZoom}\n </Zoom>\n {tooltipData && tooltipContents && (\n <TooltipInPortal left={tooltipLeft} top={tooltipTop}>\n {tooltipContents(tooltipData.id)}\n </TooltipInPortal>\n )}\n </div>\n );\n}\n"],"names":["useBranchLengthTransition","duration","ease","separationFn","getBranchLengthScaledY","cumulativeBranchLength","maxBranchLength","innerRadius","rmSciNotation","pathString","scientificRegex","replace","match","Number","toFixed","withNoSciNotation","generator","link","path","getLinkPath","pathRadialStep","source","l","target","x","n","y","getScaledLinkPath","branchLengthScaledRadius","lightenHex","hex","factor","r","parseInt","substring","g","b","Math","round","toHex","c","toString","padStart","TOTAL_INNER_RADIUS","TOTAL_INNER_DIAMETER","PhyloTree","width","totalWidth","height","totalHeight","data","highlighted","hovered","externalHovered","leafFontSize","leafFontFamily","linkStrokeWidth","getColor","getLabel","id","onBranchClick","onLeafHoverChange","labelPadding","defaultScaling","tooltipContents","leafOrder","enableBranchLengths","setEnableBranchLengths","useState","internalHovered","setInternalHovered","tooltipData","tooltipLeft","tooltipTop","showTooltip","hideTooltip","useTooltip","useMemo","TooltipInPortal","useTooltipInPortal","scroll","detectBounds","pendingRef","useRef","frameRef","handleDebounceHover","event","node","current","clientX","clientY","requestAnimationFrame","pending","pendingNode","children","leaves","map","leaf","circleRadius","max","size","PI","root","d3hierarchy","d","sum","sort","a","indexMap","Map","i","minIdx","min","get","Infinity","aHasHuman","some","bHasHuman","value","ascending","branch_length","undefined","rootNode","clusterLayout","d3cluster","separation","clusterRoot","copy","each","label","eachAfter","color","childColors","firstColor","allSame","every","eachBefore","parent","descendants","forEach","baseNodeX","baseNodeY","pointRadial","scaledNodeX","scaledNodeY","baseLinkPath","scaledLinkPath","baseLeafLinkExtension","x1","x2","y1","y2","scaledLeafLinkExtension","lightenedLinkExtColor","isHighlighted","includes","labelStrokeWidth","ancestorIds","Set","ancestors","descendantIds","achievedOrder","treeLeafSet","leafOrderSet","requestedFiltered","filter","has","achievedFiltered","console","error","join","toggleBranchLength","useCallback","prev","handleLeafOnMouseMove","handleLeafOnMouseLeave","treeContent","jsx","Group","RenderTree","renderTreeInZoom","zoom","ZoomFrame","jsxs","Zoom"],"mappings":"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"}
|
|
@@ -1,50 +1,84 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
import { jsxs as n, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { c as b } from "react/compiler-runtime";
|
|
3
|
+
import { useState as S, useImperativeHandle as v } from "react";
|
|
4
|
+
import _ from "./visualization.es55.js";
|
|
5
|
+
const H = (t) => {
|
|
6
|
+
const e = b(10), {
|
|
7
|
+
multiSeries: d,
|
|
8
|
+
tooltipBody: i,
|
|
9
|
+
ref: h
|
|
10
|
+
} = t;
|
|
11
|
+
let r;
|
|
12
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = {
|
|
13
|
+
open: !1
|
|
14
|
+
}, e[0] = r) : r = e[0];
|
|
15
|
+
const [p, u] = S(r);
|
|
16
|
+
let s;
|
|
17
|
+
if (e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = () => ({
|
|
18
|
+
show: (g, x, y) => u({
|
|
19
|
+
open: !0,
|
|
20
|
+
data: g,
|
|
21
|
+
left: x,
|
|
22
|
+
top: y
|
|
23
|
+
}),
|
|
24
|
+
hide: () => u(j)
|
|
25
|
+
}), e[1] = s) : s = e[1], v(h, s), !p.open || !p.data)
|
|
26
|
+
return null;
|
|
27
|
+
const {
|
|
28
|
+
data: o,
|
|
29
|
+
left: f,
|
|
30
|
+
top: m
|
|
31
|
+
} = p;
|
|
32
|
+
let l;
|
|
33
|
+
e[2] !== o || e[3] !== d || e[4] !== i ? (l = i ? i(o) : /* @__PURE__ */ n("div", { style: {
|
|
34
|
+
fontSize: 12
|
|
35
|
+
}, children: [
|
|
36
|
+
/* @__PURE__ */ n("div", { children: [
|
|
37
|
+
/* @__PURE__ */ c("strong", { children: "Range:" }),
|
|
38
|
+
" ",
|
|
39
|
+
o.x0.toFixed(2),
|
|
40
|
+
", ",
|
|
41
|
+
o.x1.toFixed(2)
|
|
42
|
+
] }),
|
|
43
|
+
d ? o.series.map(k) : /* @__PURE__ */ n("div", { children: [
|
|
44
|
+
/* @__PURE__ */ c("strong", { children: "Count:" }),
|
|
45
|
+
" ",
|
|
46
|
+
o.count
|
|
47
|
+
] })
|
|
48
|
+
] }), e[2] = o, e[3] = d, e[4] = i, e[5] = l) : l = e[5];
|
|
49
|
+
let a;
|
|
50
|
+
return e[6] !== f || e[7] !== l || e[8] !== m ? (a = /* @__PURE__ */ c(_, { left: f, top: m, children: l }), e[6] = f, e[7] = l, e[8] = m, e[9] = a) : a = e[9], a;
|
|
51
|
+
};
|
|
52
|
+
function j(t) {
|
|
53
|
+
return {
|
|
54
|
+
...t,
|
|
55
|
+
open: !1
|
|
56
|
+
};
|
|
23
57
|
}
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
},
|
|
58
|
+
function k(t) {
|
|
59
|
+
return /* @__PURE__ */ n("div", { style: {
|
|
60
|
+
display: "flex",
|
|
61
|
+
alignItems: "center",
|
|
62
|
+
gap: 4
|
|
63
|
+
}, children: [
|
|
64
|
+
/* @__PURE__ */ c("span", { style: {
|
|
65
|
+
width: 8,
|
|
66
|
+
height: 8,
|
|
67
|
+
borderRadius: 2,
|
|
68
|
+
backgroundColor: t.color,
|
|
69
|
+
display: "inline-block"
|
|
70
|
+
} }),
|
|
71
|
+
/* @__PURE__ */ n("span", { children: [
|
|
72
|
+
/* @__PURE__ */ n("strong", { children: [
|
|
73
|
+
t.label,
|
|
74
|
+
":"
|
|
75
|
+
] }),
|
|
76
|
+
" ",
|
|
77
|
+
t.count
|
|
78
|
+
] })
|
|
79
|
+
] }, t.label);
|
|
46
80
|
}
|
|
47
81
|
export {
|
|
48
|
-
|
|
82
|
+
H as default
|
|
49
83
|
};
|
|
50
84
|
//# sourceMappingURL=visualization.es70.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es70.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es70.js","sources":["../src/components/Histogram/HistogramTooltip.tsx"],"sourcesContent":["import React, { useImperativeHandle, useState } from 'react';\nimport { TooltipWithBounds } from '@visx/tooltip';\nimport { HistogramBin } from './types';\n\nexport interface HistogramTooltipHandle {\n show: (bin: HistogramBin, left: number, top: number) => void;\n hide: () => void;\n}\n\ninterface HistogramTooltipProps {\n multiSeries: boolean;\n tooltipBody?: (bin: HistogramBin) => React.ReactElement;\n ref: React.Ref<HistogramTooltipHandle>;\n}\n\nconst HistogramTooltip = ({ multiSeries, tooltipBody, ref }: HistogramTooltipProps) => {\n const [state, setState] = useState<{ open: boolean; data?: HistogramBin; left?: number; top?: number }>({ open: false });\n\n useImperativeHandle(ref, () => ({\n show: (bin, left, top) => setState({ open: true, data: bin, left, top }),\n hide: () => setState((s) => ({ ...s, open: false })),\n }));\n\n if (!state.open || !state.data) return null;\n\n const { data, left, top } = state;\n\n return (\n <TooltipWithBounds left={left} top={top}>\n {tooltipBody ? (\n tooltipBody(data)\n ) : (\n <div style={{ fontSize: 12 }}>\n <div>\n <strong>Range:</strong> {data.x0.toFixed(2)}, {data.x1.toFixed(2)}\n </div>\n {multiSeries ? (\n data.series.map((s) => (\n <div key={s.label} style={{ display: 'flex', alignItems: 'center', gap: 4 }}>\n <span style={{ width: 8, height: 8, borderRadius: 2, backgroundColor: s.color, display: 'inline-block' }} />\n <span><strong>{s.label}:</strong> {s.count}</span>\n </div>\n ))\n ) : (\n <div><strong>Count:</strong> {data.count}</div>\n )}\n </div>\n )}\n </TooltipWithBounds>\n );\n};\n\nexport default HistogramTooltip;\n"],"names":["HistogramTooltip","t0","$","_c","multiSeries","tooltipBody","ref","t1","Symbol","for","open","state","setState","useState","t2","show","bin","left","top","data","hide","_temp","useImperativeHandle","left_0","top_0","t3","jsxs","fontSize","jsx","x0","toFixed","x1","series","map","_temp2","count","t4","TooltipWithBounds","s","s_0","display","alignItems","gap","width","height","borderRadius","backgroundColor","color","label"],"mappings":"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"}
|
|
@@ -1,7 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
2
|
+
import { memo as X, useState as v } from "react";
|
|
3
|
+
import { getAnimationProps as w } from "./visualization.es20.js";
|
|
4
|
+
import { motion as x } from "./visualization.es25.js";
|
|
5
|
+
import B from "./visualization.es93.js";
|
|
6
|
+
const E = X(({
|
|
7
|
+
bin: r,
|
|
8
|
+
x: p,
|
|
9
|
+
barWidth: l,
|
|
10
|
+
yScale: n,
|
|
11
|
+
animationType: c,
|
|
12
|
+
binIndex: f,
|
|
13
|
+
svgRef: i,
|
|
14
|
+
tooltipRef: s,
|
|
15
|
+
onBarClicked: u
|
|
16
|
+
}) => {
|
|
17
|
+
const [h, m] = v(!1), d = c ? x.g : "g", M = w(c, f);
|
|
18
|
+
let a = 0;
|
|
19
|
+
const Y = r.series.map((t, e) => {
|
|
20
|
+
const o = a;
|
|
21
|
+
return a += t.count, {
|
|
22
|
+
s: t,
|
|
23
|
+
si: e,
|
|
24
|
+
segY: n(o + t.count),
|
|
25
|
+
segHeight: Math.max(n(o) - n(o + t.count), 0)
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
return /* @__PURE__ */ g(d, { ...M, onMouseEnter: (t) => {
|
|
29
|
+
m(!0);
|
|
30
|
+
const e = i.current?.getBoundingClientRect();
|
|
31
|
+
s.current?.show(r, e ? t.clientX - e.left + 10 : t.pageX, e ? t.clientY - e.top : t.pageY);
|
|
32
|
+
}, onMouseMove: (t) => {
|
|
33
|
+
const e = i.current?.getBoundingClientRect();
|
|
34
|
+
s.current?.show(r, e ? t.clientX - e.left + 10 : t.pageX, e ? t.clientY - e.top : t.pageY);
|
|
35
|
+
}, onMouseLeave: () => {
|
|
36
|
+
m(!1), s.current?.hide();
|
|
37
|
+
}, children: Y.map(({
|
|
38
|
+
s: t,
|
|
39
|
+
si: e,
|
|
40
|
+
segY: o,
|
|
41
|
+
segHeight: H
|
|
42
|
+
}) => /* @__PURE__ */ g(B, { x: p, y: o, width: l, height: H, fill: t.color, opacity: 0.85, stroke: h ? "#000000" : "none", style: {
|
|
43
|
+
cursor: u ? "pointer" : "default"
|
|
44
|
+
}, onClick: () => u?.(r) }, `seg-${e}`)) });
|
|
45
|
+
});
|
|
4
46
|
export {
|
|
5
|
-
|
|
47
|
+
E as default
|
|
6
48
|
};
|
|
7
49
|
//# sourceMappingURL=visualization.es71.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es71.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es71.js","sources":["../src/components/Histogram/HistogramBar.tsx"],"sourcesContent":["import React, { memo, useState } from 'react';\nimport { Bar } from '@visx/shape';\nimport { motion } from 'framer-motion';\nimport { getAnimationProps, AnimationType } from '../../utility';\nimport { HistogramBin } from './types';\nimport { HistogramTooltipHandle } from './HistogramTooltip';\n\nexport interface HistogramBarProps {\n bin: HistogramBin;\n x: number;\n barWidth: number;\n yScale: (v: number) => number;\n animationType?: AnimationType;\n binIndex: number;\n svgRef: React.RefObject<SVGSVGElement | null>;\n tooltipRef: React.RefObject<HistogramTooltipHandle | null>;\n onBarClicked?: (bin: HistogramBin) => void;\n}\n\n//memoize so that entire chart doesnt re-render on hover, just the hovered bar\nconst HistogramBar = memo(({ bin, x, barWidth, yScale, animationType, binIndex, svgRef, tooltipRef, onBarClicked }: HistogramBarProps) => {\n const [isHovered, setIsHovered] = useState(false);\n\n const Wrapper = animationType ? motion.g : 'g';\n const animProps = getAnimationProps(animationType, binIndex);\n\n let totCount = 0;\n const segments = bin.series.map((s, si) => {\n const start = totCount;\n totCount += s.count;\n return { s, si, segY: yScale(start + s.count), segHeight: Math.max(yScale(start) - yScale(start + s.count), 0) };\n });\n\n return (\n <Wrapper\n {...animProps}\n onMouseEnter={(e: React.MouseEvent) => {\n setIsHovered(true);\n const rect = svgRef.current?.getBoundingClientRect();\n tooltipRef.current?.show(bin, rect ? e.clientX - rect.left + 10 : e.pageX, rect ? e.clientY - rect.top : e.pageY);\n }}\n onMouseMove={(e: React.MouseEvent) => {\n const rect = svgRef.current?.getBoundingClientRect();\n tooltipRef.current?.show(bin, rect ? e.clientX - rect.left + 10 : e.pageX, rect ? e.clientY - rect.top : e.pageY);\n }}\n onMouseLeave={() => {\n setIsHovered(false);\n tooltipRef.current?.hide();\n }}\n >\n {segments.map(({ s, si, segY, segHeight }) => (\n <Bar\n key={`seg-${si}`}\n x={x}\n y={segY}\n width={barWidth}\n height={segHeight}\n fill={s.color}\n opacity={0.85}\n stroke={isHovered ? '#000000' : 'none'}\n style={{ cursor: onBarClicked ? 'pointer' : 'default' }}\n onClick={() => onBarClicked?.(bin)}\n />\n ))}\n </Wrapper>\n );\n});\n\nexport default HistogramBar;\n"],"names":["HistogramBar","memo","bin","x","barWidth","yScale","animationType","binIndex","svgRef","tooltipRef","onBarClicked","isHovered","setIsHovered","useState","Wrapper","motion","g","animProps","getAnimationProps","totCount","segments","series","map","s","si","start","count","segY","segHeight","Math","max","e","rect","current","getBoundingClientRect","show","clientX","left","pageX","clientY","top","pageY","hide","jsx","Bar","color","cursor"],"mappings":";;;;;AAoBA,MAAMA,IAAeC,EAAK,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAKC,GAAAA;AAAAA,EAAGC,UAAAA;AAAAA,EAAUC,QAAAA;AAAAA,EAAQC,eAAAA;AAAAA,EAAeC,UAAAA;AAAAA,EAAUC,QAAAA;AAAAA,EAAQC,YAAAA;AAAAA,EAAYC,cAAAA;AAAgC,MAAM;AACtI,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAE1CC,IAAUR,IAAgBS,EAAOC,IAAI,KACrCC,IAAYC,EAAkBZ,GAAeC,CAAQ;AAE3D,MAAIY,IAAW;AACf,QAAMC,IAAWlB,EAAImB,OAAOC,IAAI,CAACC,GAAGC,MAAO;AACvC,UAAMC,IAAQN;AACdA,WAAAA,KAAYI,EAAEG,OACP;AAAA,MAAEH,GAAAA;AAAAA,MAAGC,IAAAA;AAAAA,MAAIG,MAAMtB,EAAOoB,IAAQF,EAAEG,KAAK;AAAA,MAAGE,WAAWC,KAAKC,IAAIzB,EAAOoB,CAAK,IAAIpB,EAAOoB,IAAQF,EAAEG,KAAK,GAAG,CAAC;AAAA,IAAA;AAAA,EACjH,CAAC;AAED,2BACKZ,GAAA,EACG,GAAIG,GACJ,cAAc,CAACc,MAAwB;AACnCnB,IAAAA,EAAa,EAAI;AACjB,UAAMoB,IAAOxB,EAAOyB,SAASC,sBAAAA;AAC7BzB,IAAAA,EAAWwB,SAASE,KAAKjC,GAAK8B,IAAOD,EAAEK,UAAUJ,EAAKK,OAAO,KAAKN,EAAEO,OAAON,IAAOD,EAAEQ,UAAUP,EAAKQ,MAAMT,EAAEU,KAAK;AAAA,EACpH,GACA,aAAa,CAACV,MAAwB;AAClC,UAAMC,IAAOxB,EAAOyB,SAASC,sBAAAA;AAC7BzB,IAAAA,EAAWwB,SAASE,KAAKjC,GAAK8B,IAAOD,EAAEK,UAAUJ,EAAKK,OAAO,KAAKN,EAAEO,OAAON,IAAOD,EAAEQ,UAAUP,EAAKQ,MAAMT,EAAEU,KAAK;AAAA,EACpH,GACA,cAAc,MAAM;AAChB7B,IAAAA,EAAa,EAAK,GAClBH,EAAWwB,SAASS,KAAAA;AAAAA,EACxB,GAECtB,UAAAA,EAASE,IAAI,CAAC;AAAA,IAAEC,GAAAA;AAAAA,IAAGC,IAAAA;AAAAA,IAAIG,MAAAA;AAAAA,IAAMC,WAAAA;AAAAA,EAAAA,MAC1B,gBAAAe,EAACC,GAAA,EAEG,GAAAzC,GACA,GAAGwB,GACH,OAAOvB,GACP,QAAQwB,GACR,MAAML,EAAEsB,OACR,SAAS,MACT,QAAQlC,IAAY,YAAY,QAChC,OAAO;AAAA,IAAEmC,QAAQpC,IAAe,YAAY;AAAA,EAAA,GAC5C,SAAS,MAAMA,IAAeR,CAAG,KAT5B,OAAOsB,CAAE,EASqB,CAE1C,GACL;AAER,CAAC;"}
|