@weng-lab/visualization 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts +5 -10
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +1 -1
- package/dist/src/components/Histogram/Histogram.d.ts.map +1 -1
- package/dist/src/utility.d.ts +8 -2
- package/dist/src/utility.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +2 -156
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +4795 -78
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +25 -38
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +45 -47
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +141 -71
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +144 -30
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +9 -9
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +73 -25
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +31 -68
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +12 -221
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +26 -2
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +69 -556
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +58 -214
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +32 -2
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +18 -4800
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +13 -24
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +26 -45
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +29 -141
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +41 -143
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +67 -49
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es12.js +2 -2
- package/dist/visualization.es120.js +24 -31
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +85 -18
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +36 -14
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +45 -26
- package/dist/visualization.es123.js.map +1 -1
- package/dist/visualization.es124.js +22 -32
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +123 -44
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +79 -75
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +154 -23
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +81 -83
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +37 -35
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +7 -7
- package/dist/visualization.es130.js +60 -85
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +47 -5
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +63 -89
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +7 -13
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +5 -6
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +42 -14
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +2 -7
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +1605 -13
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +19 -4
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +27 -7
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es140.js +14 -14
- package/dist/visualization.es141.js +1 -1
- package/dist/visualization.es142.js +1 -1
- package/dist/visualization.es143.js +1 -1
- package/dist/visualization.es144.js +1 -1
- package/dist/visualization.es145.js +7 -3
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +4 -71
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +3 -16
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +30 -11
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +8 -5
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es15.js +8 -8
- package/dist/visualization.es150.js +6 -30
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +3 -7
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +16 -6
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +16 -3
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +32 -16
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +16 -16
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +9 -31
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +6 -16
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +6 -10
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +10 -6
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es160.js +4 -6
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +4 -10
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +8 -4
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +3 -3
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es164.js +12 -8
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +26 -4
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +83 -11
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +89 -26
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +13 -2
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +5 -1605
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es170.js +14 -74
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +7 -2
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +13 -482
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +4 -2
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +17 -63
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +70 -59
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +15 -122
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +12 -8
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +5 -16
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +8 -11
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es18.js +1 -1
- package/dist/visualization.es180.js +15 -5
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +11 -12
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +5 -3
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +12 -2
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +4 -11
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +2 -31
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +10 -42
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +29 -48
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +43 -3
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +50 -3
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es190.js +3 -6
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +3 -5
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +5 -10
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +4 -3
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +9 -16
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +3 -18
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +17 -36
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +19 -2
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +37 -2
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +2 -4
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es20.js +43 -147
- package/dist/visualization.es20.js.map +1 -1
- package/dist/visualization.es200.js +2 -15
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +4 -3
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +15 -7
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +1 -1
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +7 -7
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +3 -19
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +6 -3
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +18 -35
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +3 -63
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +36 -7
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +31 -62
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +9 -42
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +6 -19
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +7 -27
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +9 -3
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +6 -9
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +6 -6
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +5 -7
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +13 -8
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +5 -6
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +3 -6
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +7 -39
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +6 -5
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +6 -14
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +9 -5
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +32 -3
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +114 -6
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +3 -6
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +5 -9
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +32 -31
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +14 -113
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +7 -3
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +7 -80
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +11 -5
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +74 -33
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +2 -16
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +482 -7
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +2 -12
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +123 -17
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +60 -69
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +57 -19
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +2 -23
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +68 -36
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +68 -44
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +22 -7
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +20 -10
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +37 -14
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +7 -36
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +10 -22
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +15 -25
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +36 -34
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +25 -2
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +26 -122
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +34 -23
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +44 -56
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es250.js +2 -54
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +27 -18
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +20 -3
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +3 -3
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +3 -3
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +3 -3
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +3 -3
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +3 -3
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +3 -3
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +2 -6
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +11 -7
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +6 -47
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +48 -3
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +2 -5
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +6 -4
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +4 -3
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +3 -6
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +6 -4
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +5 -2
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +23 -53
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +53 -31
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +55 -5
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +51 -31
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +31 -12
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +34 -7
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +12 -34
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +29 -4
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +119 -3
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +29 -6
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +10 -12
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +14 -2
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +32 -3
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +147 -6
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +28 -3
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +10 -10
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +12 -25
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +17 -4
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +23 -32
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +17 -3
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +96 -11
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +27 -35
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +67 -256
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +49 -57
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +110 -47
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +34 -5
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +41 -21
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +3 -38
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +11 -34
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +36 -14
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +260 -18
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +59 -8
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +5 -7
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +21 -140
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +37 -5
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +12 -12
- package/dist/visualization.es30.js +7 -33
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +29 -104
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +13 -11
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +18 -141
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +9 -6
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +5 -69
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +137 -32
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +5 -20
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +109 -3
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +12 -24
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +139 -28
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +17 -31
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +6 -2
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +72 -2
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +35 -5
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +21 -15
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +3 -34
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +24 -27
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +30 -10
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +2 -7
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +2 -14
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +6 -12
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +31 -18
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +15 -2
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +35 -3
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +28 -2
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +10 -103
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +6 -4
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +14 -3
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +12 -19
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +2 -6
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +3 -15
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +2 -5
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +18701 -12
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +103 -28
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +4 -6
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +3 -2
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +19 -20
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +6 -21
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +14 -5
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +4 -7
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +28 -18
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +7 -44
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +2 -7
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +5 -58
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +20 -20
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +21 -54
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +5 -26
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +8 -11
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +18 -18
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +43 -11
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +7 -5
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +20 -4
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +53 -3
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +25 -174
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +5 -55
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +11 -40
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +18 -5
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +11 -3
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +5 -2
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +4 -30
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +4 -8
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +174 -9
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +39 -3
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +5 -65
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +4 -7
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +60 -111
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +2 -5
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +30 -14
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +7 -34
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +10 -4
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +3 -9
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +66 -2
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +7 -5
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +5 -2
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +13 -9
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +35 -10
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +810 -7
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +5 -13
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +10 -2
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +2 -10
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +5 -8
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +2 -6
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +9 -24
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +10 -19
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +13 -41
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +2 -3
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +10 -9
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es380.js +6 -7
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +5 -35
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +23 -8
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +19 -32
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +40 -4
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +3 -2
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +8 -15
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +8 -24
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +36 -2
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +9 -62
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +130 -33
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +32 -2
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +5 -2
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +2 -6
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +14 -35
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +23 -19
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +2 -4
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +62 -4
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +2 -5
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +2 -49
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +5 -26
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +63 -31
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +35 -15
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +21 -10
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +3 -19
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +5 -14
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +4 -3
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +47 -11
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +25 -47
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +16 -5
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +10 -13
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +20 -2
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +62 -164
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +14 -7
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +3 -209
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +12 -26
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +48 -3
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +6 -16
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +13 -15
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +2 -15
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +7 -2
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +210 -2
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +27 -2
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +112 -64
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +4 -5
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +16 -2
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +15 -25
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +14 -21
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +2 -9
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +2 -68
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +2 -6
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +4 -28
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +2 -10
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +25 -6
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +46 -173
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +22 -2
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +9 -5
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +68 -26
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +6 -11
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +29 -27
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +9 -9
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +6 -11
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +2 -2
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +5 -16
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +24 -28
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +5 -74
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +11 -26
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +27 -2
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +9 -8
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +10 -12
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +2 -23
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +16 -13
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +30 -3
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +26 -2
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +2 -18
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +8 -3
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +33 -112
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +12 -11
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +23 -11
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +12 -6
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +3 -19
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +2 -23
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +17 -11
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +3 -50
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +11 -17
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +11 -36
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +6 -22
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +33 -18700
- package/dist/visualization.es46.js.map +1 -1
- package/dist/visualization.es460.js +19 -32
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +22 -3
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +11 -18
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +50 -13
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +17 -10
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +35 -29
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +23 -6
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +31 -7
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +4 -2
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +18 -16
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +52 -5
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +14 -9
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +10 -9
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +26 -612
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +6 -51
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +8 -13
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +2 -11
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +17 -23
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +8 -34
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +9 -12
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +613 -17
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +55 -5
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +43 -33
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +11 -56
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +11 -19
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +22 -25
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +33 -25
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +11 -41
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +18 -3
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +26 -3
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +27 -7
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +41 -14
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +42 -59
- package/dist/visualization.es49.js.map +1 -1
- package/dist/visualization.es490.js +20 -2
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +41 -2
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +58 -2
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +3 -9
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +3 -10
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +7 -7
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +15 -8
- 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 +2 -6
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +2 -15
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +88 -96
- package/dist/visualization.es5.js.map +1 -1
- package/dist/visualization.es50.js +5 -810
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +7 -6
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +34 -6
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +3 -6
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +3 -6
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +6 -3
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +12 -4
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +2 -10
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +3 -29
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +3 -61
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +9 -236
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +8 -0
- package/dist/visualization.es51.js.map +1 -0
- package/dist/visualization.es510.js +4 -992
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +33 -29
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +8 -118
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +9 -29
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +6 -10
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +8 -13
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +6 -32
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +4 -27
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +14 -10
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +5 -12
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +18 -131
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +6 -17
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +6 -23
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +6 -16
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +3 -96
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +4 -28
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +8 -70
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +234 -48
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +991 -33
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +59 -39
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es53.js +4 -43
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es54.js +26 -35
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +4 -28
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +3 -10
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +15 -13
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +4 -8
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +10 -8
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +4 -19
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +5 -62
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +10 -5
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +7 -3
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +5 -2
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +30 -69
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +3 -18
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +4 -282
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +12 -2
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +9 -127
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +29 -8
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +24 -51
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +51 -7
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +3 -4
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +7 -2
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +20 -3
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +28 -43
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +8 -4
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +6 -3
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +5 -11
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +7 -9
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +15 -30
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +4 -24
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +6 -3
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +34 -3
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +8 -9
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +28 -9
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +64 -11
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +5 -16
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +10 -4
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +13 -5
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +8 -21
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +8 -8
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +19 -6
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +62 -5
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +3 -7
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +2 -16
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +18 -4
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +61 -34
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +281 -6
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +2 -35
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +127 -8
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +1 -1
- package/dist/visualization.es584.js +1 -1
- package/dist/visualization.es585.js +1 -1
- package/dist/visualization.es587.js +1 -1
- package/dist/visualization.es588.js +1 -1
- package/dist/visualization.es59.js +3 -10
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es6.js +239 -205
- package/dist/visualization.es6.js.map +1 -1
- package/dist/visualization.es60.js +46 -54
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +4 -12
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +8 -24
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +6 -19
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +19 -7
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +15 -6
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +12 -3
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +24 -64
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +18 -31
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es608.js +7 -5
- package/dist/visualization.es608.js.map +1 -1
- package/dist/visualization.es609.js +6 -9
- package/dist/visualization.es609.js.map +1 -1
- package/dist/visualization.es61.js +4 -52
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es610.js +3 -6
- package/dist/visualization.es610.js.map +1 -1
- package/dist/visualization.es611.js +62 -288
- package/dist/visualization.es611.js.map +1 -1
- package/dist/visualization.es612.js +31 -17
- package/dist/visualization.es612.js.map +1 -1
- package/dist/visualization.es613.js +9 -14
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +9 -9
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +18 -9
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +289 -17
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es62.js +281 -54
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es621.js +3 -117
- package/dist/visualization.es621.js.map +1 -1
- package/dist/visualization.es622.js +11 -3
- package/dist/visualization.es622.js.map +1 -1
- package/dist/visualization.es623.js +117 -11
- package/dist/visualization.es623.js.map +1 -1
- package/dist/visualization.es63.js +17 -41
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es64.js +34 -5
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es65.js +10 -4
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +54 -17
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +7 -4
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +7 -26
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +64 -29
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es70.js +265 -7
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +103 -8
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +27 -29
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +21 -63
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +17 -61
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +20 -3
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +74 -47
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +81 -4
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +36 -278
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +79 -17
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +13 -13
- package/dist/visualization.es80.js +45 -65
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +55 -265
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +7 -103
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +26 -27
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +12 -22
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +57 -17
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +31 -20
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +169 -74
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +129 -80
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +174 -63
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +1 -1
- package/dist/visualization.es90.js +74 -5
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +5 -5
- package/dist/visualization.es92.js +5 -5
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +5 -15
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +10 -10
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +14 -12
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +221 -44
- package/dist/visualization.es96.js.map +1 -1
- package/dist/visualization.es97.js +2 -22
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +557 -60
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +213 -79
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
- package/dist/visualization.es38.js +0 -11
- package/dist/visualization.es38.js.map +0 -1
|
@@ -1,269 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
boundedWidth: l,
|
|
26
|
-
boundedHeight: c,
|
|
27
|
-
loading: ke,
|
|
28
|
-
pointData: p,
|
|
29
|
-
animation: T,
|
|
30
|
-
animationGroupSize: O,
|
|
31
|
-
animationBuffer: $,
|
|
32
|
-
xScale: I,
|
|
33
|
-
yScale: U,
|
|
34
|
-
zoom: f,
|
|
35
|
-
selectMode: i,
|
|
36
|
-
selectable: Ae,
|
|
37
|
-
disableZoom: h,
|
|
38
|
-
groupPointsAnchor: re,
|
|
39
|
-
hoveredPoint: E,
|
|
40
|
-
hoveredPoints: ne,
|
|
41
|
-
handleMouseMove: Ee,
|
|
42
|
-
handleMouseLeave: oe,
|
|
43
|
-
onDisplayedPointsChange: se,
|
|
44
|
-
onSelectionChange: ge,
|
|
45
|
-
onPointClicked: ce,
|
|
46
|
-
leftAxisLabel: Le,
|
|
47
|
-
bottomAxisLabel: Me,
|
|
48
|
-
border: Ce,
|
|
49
|
-
originLine: Te,
|
|
50
|
-
backgroundGradient: L,
|
|
51
|
-
crosshair: J,
|
|
52
|
-
divRef: Re
|
|
53
|
-
}) => {
|
|
54
|
-
const le = A(null), ae = A(null), F = A(0), N = A(null), [Q, _] = Qe(!!T);
|
|
55
|
-
V(() => {
|
|
56
|
-
if (!T) return;
|
|
57
|
-
if (p.length > 2500) {
|
|
58
|
-
_(!1);
|
|
59
|
-
return;
|
|
1
|
+
import { slice as F } from "./visualization.es506.js";
|
|
2
|
+
import { bisectRight as j } from "./visualization.es500.js";
|
|
3
|
+
import b from "./visualization.es507.js";
|
|
4
|
+
import w from "./visualization.es505.js";
|
|
5
|
+
import I from "./visualization.es508.js";
|
|
6
|
+
import R from "./visualization.es509.js";
|
|
7
|
+
import S, { tickIncrement as z } from "./visualization.es83.js";
|
|
8
|
+
import q from "./visualization.es510.js";
|
|
9
|
+
function L() {
|
|
10
|
+
var A = I, h = w, v = q;
|
|
11
|
+
function s(i) {
|
|
12
|
+
Array.isArray(i) || (i = Array.from(i));
|
|
13
|
+
var r, c = i.length, o, m, u = new Array(c);
|
|
14
|
+
for (r = 0; r < c; ++r)
|
|
15
|
+
u[r] = A(i[r], r, i);
|
|
16
|
+
var k = h(u), e = k[0], t = k[1], n = v(u, e, t);
|
|
17
|
+
if (!Array.isArray(n)) {
|
|
18
|
+
const g = t, x = +n;
|
|
19
|
+
if (h === w && ([e, t] = R(e, t, x)), n = S(e, t, x), n[0] <= e && (m = z(e, t, x)), n[n.length - 1] >= t)
|
|
20
|
+
if (g >= t && h === w) {
|
|
21
|
+
const l = z(e, t, x);
|
|
22
|
+
isFinite(l) && (l > 0 ? t = (Math.floor(t / l) + 1) * l : l < 0 && (t = (Math.ceil(t * -l) + 1) / -l));
|
|
23
|
+
} else
|
|
24
|
+
n.pop();
|
|
60
25
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
passive: !1
|
|
92
|
-
}), e.addEventListener("touchstart", n, {
|
|
93
|
-
passive: !1
|
|
94
|
-
}), e.addEventListener("touchmove", r, {
|
|
95
|
-
passive: !1
|
|
96
|
-
})), () => {
|
|
97
|
-
e && (e.removeEventListener("wheel", t), e.removeEventListener("touchstart", n), e.removeEventListener("touchmove", r));
|
|
98
|
-
};
|
|
99
|
-
}, []);
|
|
100
|
-
const u = C(() => ze(I, f.transformMatrix.translateX, f.transformMatrix.scaleX), [I, f.transformMatrix]), v = C(() => We(U, f.transformMatrix.translateY, f.transformMatrix.scaleY), [U, f.transformMatrix]), G = C(() => E ? [E] : ne ?? [], [E, ne]), ue = C(() => {
|
|
101
|
-
const e = re;
|
|
102
|
-
if (!e) return G;
|
|
103
|
-
const t = (n) => e in n ? n[e] : n.metaData?.[e], r = new Set(G.map(t).filter((n) => n !== void 0));
|
|
104
|
-
return r.size === 0 ? [] : p.filter((n) => {
|
|
105
|
-
const a = t(n);
|
|
106
|
-
return a !== void 0 && r.has(a);
|
|
107
|
-
});
|
|
108
|
-
}, [G, re, p]), ve = A(/* @__PURE__ */ new Set()), M = C(() => {
|
|
109
|
-
const e = new Set(ue.map((r) => `${r.x},${r.y}`)), t = ve.current;
|
|
110
|
-
return e.size === t.size && [...e].every((r) => t.has(r)) ? t : (ve.current = e, e);
|
|
111
|
-
}, [ue]), j = C(() => p.filter((e) => {
|
|
112
|
-
const t = u(e.x), r = v(e.y);
|
|
113
|
-
return t >= 0 && t <= l && r >= 0 && r <= c;
|
|
114
|
-
}), [p, u, v, l, c]), q = ee((e, t, r) => {
|
|
115
|
-
const n = r.getContext("2d");
|
|
116
|
-
if (!n) return;
|
|
117
|
-
if (Ze(n, l, c), L) {
|
|
118
|
-
const [x, H, B] = L.colorScale ?? ["red", "white", "blue"], w = l, g = c, Ue = e(0), Je = t(0), Ne = Math.max(1e-3, Math.min(0.999, (Ue * w - Je * g + g * g) / (w * w + g * g))), K = n.createLinearGradient(0, g, w, 0);
|
|
119
|
-
K.addColorStop(0, x), K.addColorStop(Ne, H), K.addColorStop(1, B), n.globalAlpha = L.opacity ?? 1, n.fillStyle = K, n.fillRect(0, 0, w, g), n.globalAlpha = 1;
|
|
120
|
-
}
|
|
121
|
-
const {
|
|
122
|
-
nonHovered: a,
|
|
123
|
-
hovered: S
|
|
124
|
-
} = He(p, M), xe = (x, H) => {
|
|
125
|
-
const B = e(x.x), w = t(x.y);
|
|
126
|
-
be(B, w, l, c) && et(n, x, B, w, H ? F.current : 0);
|
|
127
|
-
};
|
|
128
|
-
a.forEach((x) => xe(x, !1)), S.forEach((x) => xe(x, !0));
|
|
129
|
-
}, [c, l, M, p, L]);
|
|
130
|
-
V(() => {
|
|
131
|
-
const e = ae.current;
|
|
132
|
-
if (!e || Q) return;
|
|
133
|
-
if (M.size === 0) {
|
|
134
|
-
N.current = null, F.current = 0, q(u, v, e);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
if (N.current === M) {
|
|
138
|
-
q(u, v, e);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
N.current = M;
|
|
142
|
-
const t = performance.now();
|
|
143
|
-
F.current = 0;
|
|
144
|
-
let r = requestAnimationFrame(function n() {
|
|
145
|
-
const a = Math.min(1, (performance.now() - t) / ht);
|
|
146
|
-
F.current = xt(a), q(u, v, e), a < 1 && (r = requestAnimationFrame(n));
|
|
147
|
-
});
|
|
148
|
-
return () => cancelAnimationFrame(r);
|
|
149
|
-
}, [q, u, v, Q, M]);
|
|
150
|
-
const De = ee(() => {
|
|
151
|
-
E && ce?.(E);
|
|
152
|
-
}, [E, ce]), Fe = h ? Ae ? m ? "none" : "crosshair" : m ? "none" : "default" : E ? "default" : i === "select" ? m ? "none" : "crosshair" : f.isDragging ? "grabbing" : "grab", z = (e) => {
|
|
153
|
-
de(e), Ve(f);
|
|
154
|
-
}, y = A(null), d = A(null), W = ct((e) => {
|
|
155
|
-
f.dragMove(e);
|
|
156
|
-
}), Ye = ee(() => {
|
|
157
|
-
y.current !== null && (cancelAnimationFrame(y.current), y.current = null);
|
|
158
|
-
const e = d.current;
|
|
159
|
-
d.current = null, e && W(e);
|
|
160
|
-
}, [W]);
|
|
161
|
-
V(() => () => {
|
|
162
|
-
y.current !== null && cancelAnimationFrame(y.current);
|
|
163
|
-
}, []);
|
|
164
|
-
const pe = (e) => {
|
|
165
|
-
d.current = e.nativeEvent, y.current === null && (y.current = requestAnimationFrame(() => {
|
|
166
|
-
y.current = null;
|
|
167
|
-
const t = d.current;
|
|
168
|
-
d.current = null, t && W(t);
|
|
169
|
-
}));
|
|
170
|
-
}, Z = () => {
|
|
171
|
-
Ye(), f.dragEnd();
|
|
172
|
-
}, Xe = i === "none" ? void 0 : i === "select" ? ie : h ? void 0 : f.dragStart, je = i === "none" ? void 0 : i === "select" ? z : h ? void 0 : Z, qe = i === "none" ? void 0 : i === "select" ? m ? fe : void 0 : h ? void 0 : pe, Be = i === "none" ? void 0 : i === "select" ? z : h ? void 0 : Z, Ke = i === "none" ? void 0 : i === "select" ? ie : h ? void 0 : f.dragStart, Oe = i === "none" ? void 0 : i === "select" ? z : h ? void 0 : Z, $e = i === "none" ? void 0 : i === "select" ? m ? fe : void 0 : h ? void 0 : pe, Ie = (e) => {
|
|
173
|
-
if (_(!1), !h) {
|
|
174
|
-
const t = pt(e) || {
|
|
175
|
-
x: 0,
|
|
176
|
-
y: 0
|
|
177
|
-
}, r = e.deltaY < 0 ? 1.1 : 0.9;
|
|
178
|
-
f.scale({
|
|
179
|
-
scaleX: r,
|
|
180
|
-
scaleY: r,
|
|
181
|
-
point: t
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}, he = A([]);
|
|
185
|
-
return V(() => {
|
|
186
|
-
((t, r) => t.length !== r.length ? !0 : !t.every((n, a) => {
|
|
187
|
-
const S = r[a];
|
|
188
|
-
return n.x === S.x && n.y === S.y && n.r === S.r && n.shape === S.shape && n.color === S.color && n.opacity === S.opacity;
|
|
189
|
-
}))(he.current, j) && (se?.(j), he.current = j);
|
|
190
|
-
}, [j, se]), /* @__PURE__ */ o(Ge, { justifyContent: "center", alignItems: "center", direction: "row", sx: {
|
|
191
|
-
position: "relative"
|
|
192
|
-
}, children: /* @__PURE__ */ o(me, { sx: {
|
|
193
|
-
width: D,
|
|
194
|
-
height: te
|
|
195
|
-
}, children: ke ? /* @__PURE__ */ o(me, { display: "flex", width: "100%", height: "100%", sx: {
|
|
196
|
-
justifyContent: "center",
|
|
197
|
-
alignItems: "center"
|
|
198
|
-
}, children: /* @__PURE__ */ o(_e, {}) }) : /* @__PURE__ */ k("div", { style: {
|
|
199
|
-
position: "relative"
|
|
200
|
-
}, ref: Re, children: [
|
|
201
|
-
/* @__PURE__ */ o("canvas", { ref: ae, width: l * 2, height: c * 2, style: {
|
|
202
|
-
userSelect: "none",
|
|
203
|
-
position: "absolute",
|
|
204
|
-
top: s.top,
|
|
205
|
-
left: s.left,
|
|
206
|
-
width: l,
|
|
207
|
-
height: c,
|
|
208
|
-
backgroundColor: "transparent"
|
|
209
|
-
} }),
|
|
210
|
-
/* @__PURE__ */ k("svg", { width: D, height: te, overflow: "visible", style: {
|
|
211
|
-
position: "absolute",
|
|
212
|
-
userSelect: "none"
|
|
213
|
-
}, onMouseMove: (e) => {
|
|
214
|
-
m ? oe() : Ee(e, f);
|
|
215
|
-
}, onMouseLeave: oe, children: [
|
|
216
|
-
/* @__PURE__ */ k(Se, { top: s.top, left: s.left, children: [
|
|
217
|
-
Q && T && /* @__PURE__ */ o(tt, { pointData: p, animation: T, animationGroupSize: O, animationBuffer: $, xScaleTransformed: u, yScaleTransformed: v, boundedWidth: l, boundedHeight: c }),
|
|
218
|
-
i === "select" && /* @__PURE__ */ k(b, { children: [
|
|
219
|
-
Pe.map((e, t) => /* @__PURE__ */ o(lt, { fill: "transparent", stroke: "black", strokeWidth: 3, data: e, curve: at, x: (r) => r.x, y: (r) => r.y }, `line-${t}`)),
|
|
220
|
-
m && /* @__PURE__ */ k("g", { children: [
|
|
221
|
-
/* @__PURE__ */ o("line", { x1: R - s.left + Y - 6, y1: P - s.top + X, x2: R - s.left + Y + 6, y2: P - s.top + X, stroke: "black", strokeWidth: 1 }),
|
|
222
|
-
/* @__PURE__ */ o("line", { x1: R - s.left + Y, y1: P - s.top + X - 6, x2: R - s.left + Y, y2: P - s.top + X + 6, stroke: "black", strokeWidth: 1 }),
|
|
223
|
-
/* @__PURE__ */ o("circle", { cx: R - s.left, cy: P - s.top, r: 4, fill: "transparent", stroke: "black", pointerEvents: "none" })
|
|
224
|
-
] })
|
|
225
|
-
] }),
|
|
226
|
-
Te && (() => {
|
|
227
|
-
const e = u(0), t = v(0);
|
|
228
|
-
return /* @__PURE__ */ k(b, { children: [
|
|
229
|
-
t >= 0 && t <= c && /* @__PURE__ */ o("line", { x1: 0, x2: l, y1: t, y2: t, stroke: "#000", strokeWidth: 1, strokeDasharray: "4,4", pointerEvents: "none" }),
|
|
230
|
-
e >= 0 && e <= l && /* @__PURE__ */ o("line", { x1: e, x2: e, y1: 0, y2: c, stroke: "#000", strokeWidth: 1, strokeDasharray: "4,4", pointerEvents: "none" })
|
|
231
|
-
] });
|
|
232
|
-
})(),
|
|
233
|
-
/* @__PURE__ */ o("rect", { ref: le, fill: "transparent", width: l, height: c, style: {
|
|
234
|
-
cursor: Fe
|
|
235
|
-
}, onMouseDown: Xe, onMouseUp: je, onMouseMove: qe, onMouseLeave: Be, onTouchStart: Ke, onTouchEnd: Oe, onTouchMove: $e, onWheel: Ie, onClick: De }),
|
|
236
|
-
J && !m && /* @__PURE__ */ o(ot, { position: {
|
|
237
|
-
x: u(J.x),
|
|
238
|
-
y: v(J.y)
|
|
239
|
-
}, boundedWidth: l, boundedHeight: c })
|
|
240
|
-
] }),
|
|
241
|
-
/* @__PURE__ */ k(Se, { top: s.top, left: s.left, children: [
|
|
242
|
-
/* @__PURE__ */ o(it, { scale: v, tickLabelProps: () => ({
|
|
243
|
-
fill: "#1c1917",
|
|
244
|
-
fontSize: 10,
|
|
245
|
-
textAnchor: "end",
|
|
246
|
-
verticalAnchor: "middle",
|
|
247
|
-
x: -10
|
|
248
|
-
}), tickValues: ye(v, 5) }),
|
|
249
|
-
/* @__PURE__ */ o(ft, { top: c, scale: u, tickLabelProps: () => ({
|
|
250
|
-
fill: "#1c1917",
|
|
251
|
-
fontSize: 11,
|
|
252
|
-
textAnchor: "middle"
|
|
253
|
-
}), tickValues: ye(u, 5) }),
|
|
254
|
-
Ce && /* @__PURE__ */ k(b, { children: [
|
|
255
|
-
/* @__PURE__ */ o(ut, { top: 0, scale: u, tickValues: [] }),
|
|
256
|
-
/* @__PURE__ */ o(vt, { scale: v, tickValues: [], left: l })
|
|
257
|
-
] }),
|
|
258
|
-
/* @__PURE__ */ o(we, { textAnchor: "middle", verticalAnchor: "end", angle: -90, fontSize: 15, y: c / 2, x: 0, dx: -50, children: Le }),
|
|
259
|
-
/* @__PURE__ */ o(we, { textAnchor: "middle", verticalAnchor: "start", fontSize: 15, y: c, x: l / 2, dy: 50, children: Me })
|
|
260
|
-
] }),
|
|
261
|
-
/* @__PURE__ */ o(rt, { pointData: p, xScaleTransformed: u, yScaleTransformed: v, boundedWidth: l, boundedHeight: c, margin: s }),
|
|
262
|
-
L?.legend && /* @__PURE__ */ o(nt, { backgroundGradient: L, boundedHeight: c, barLeft: s.left + l + 25, marginTop: s.top })
|
|
263
|
-
] })
|
|
264
|
-
] }) }) });
|
|
265
|
-
};
|
|
26
|
+
for (var f = n.length, a = 0, p = f; n[a] <= e; ) ++a;
|
|
27
|
+
for (; n[p - 1] > t; ) --p;
|
|
28
|
+
(a || p < f) && (n = n.slice(a, p), f = p - a);
|
|
29
|
+
var y = new Array(f + 1), M;
|
|
30
|
+
for (r = 0; r <= f; ++r)
|
|
31
|
+
M = y[r] = [], M.x0 = r > 0 ? n[r - 1] : e, M.x1 = r < f ? n[r] : t;
|
|
32
|
+
if (isFinite(m)) {
|
|
33
|
+
if (m > 0)
|
|
34
|
+
for (r = 0; r < c; ++r)
|
|
35
|
+
(o = u[r]) != null && e <= o && o <= t && y[Math.min(f, Math.floor((o - e) / m))].push(i[r]);
|
|
36
|
+
else if (m < 0) {
|
|
37
|
+
for (r = 0; r < c; ++r)
|
|
38
|
+
if ((o = u[r]) != null && e <= o && o <= t) {
|
|
39
|
+
const g = Math.floor((e - o) * m);
|
|
40
|
+
y[Math.min(f, g + (n[g] <= o))].push(i[r]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} else
|
|
44
|
+
for (r = 0; r < c; ++r)
|
|
45
|
+
(o = u[r]) != null && e <= o && o <= t && y[j(n, o, 0, f)].push(i[r]);
|
|
46
|
+
return y;
|
|
47
|
+
}
|
|
48
|
+
return s.value = function(i) {
|
|
49
|
+
return arguments.length ? (A = typeof i == "function" ? i : b(i), s) : A;
|
|
50
|
+
}, s.domain = function(i) {
|
|
51
|
+
return arguments.length ? (h = typeof i == "function" ? i : b([i[0], i[1]]), s) : h;
|
|
52
|
+
}, s.thresholds = function(i) {
|
|
53
|
+
return arguments.length ? (v = typeof i == "function" ? i : b(Array.isArray(i) ? F.call(i) : i), s) : v;
|
|
54
|
+
}, s;
|
|
55
|
+
}
|
|
266
56
|
export {
|
|
267
|
-
|
|
57
|
+
L as default
|
|
268
58
|
};
|
|
269
59
|
//# sourceMappingURL=visualization.es81.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es81.js","sources":["../src/components/ScatterPlot/ScatterPlotViewport.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { Box, Stack } from \"@mui/material\";\nimport { Group } from \"@visx/group\";\nimport { AxisBottom, AxisLeft, AxisRight, AxisTop } from \"@visx/axis\";\nimport { LinePath } from \"@visx/shape\";\nimport { Text } from \"@visx/text\";\nimport { curveBasis } from \"@visx/curve\";\nimport { localPoint } from \"@visx/event\";\nimport { ScaleLinear } from \"@visx/vendor/d3-scale\";\nimport { BackgroundGradient, ChartProps, CrosshairPosition, Point, SelectionMode, ZoomType } from \"./types\";\nimport { drawCanvasPoint, getTicks, isPointVisible, partitionPointsByHover, prepareCanvas, rescaleX, rescaleY } from \"./helpers\";\nimport { useStableCallback } from \"../../hooks\";\nimport AnimatedPoints from \"./AnimatedPoints\";\nimport PointLabels from \"./PointLabels\";\nimport GradientLegend from \"./GradientLegend\";\nimport Crosshair from \"./Crosshair\";\nimport { useDragSelection } from \"./hooks/useDragSelection\";\n\ntype ScatterPlotViewportProps<T extends object> = {\n width: number;\n height: number;\n margin: { top: number; left: number };\n boundedWidth: number;\n boundedHeight: number;\n loading: boolean;\n pointData: Point<T>[];\n animation?: ChartProps<T, boolean | undefined, boolean | undefined>[\"animation\"];\n animationGroupSize?: number;\n animationBuffer?: number;\n xScale: ScaleLinear<number, number, never>;\n yScale: ScaleLinear<number, number, never>;\n zoom: ZoomType;\n selectMode: SelectionMode;\n selectable: boolean;\n disableZoom?: boolean;\n groupPointsAnchor?: keyof Point<T> | keyof T;\n hoveredPoint: Point<T> | null;\n hoveredPoints?: Point<T>[];\n handleMouseMove: (event: React.MouseEvent<SVGElement>, zoom: ZoomType) => void;\n handleMouseLeave: () => void;\n onDisplayedPointsChange?: (points: Point<T>[]) => void;\n onSelectionChange?: (selectedPoints: Point<T>[]) => void;\n onPointClicked?: (point: Point<T>) => void;\n leftAxisLabel?: string;\n bottomAxisLabel?: string;\n border: boolean;\n originLine?: boolean;\n backgroundGradient?: BackgroundGradient;\n /** Crosshair position in data coordinates, or null for no crosshair. */\n crosshair?: CrosshairPosition | null;\n divRef: React.RefObject<HTMLDivElement | null>;\n};\n\n/**\n * Hover growth eases in over this long, and is dropped instantly on the way out.\n * Easing the exit too would drag a tail of still-shrinking points behind the cursor\n * whenever it sweeps across a dense plot.\n */\nconst HOVER_GROW_MS = 120;\n\nconst easeOutCubic = (t: number) => 1 - Math.pow(1 - t, 3);\n\nconst ScatterPlotViewport = <T extends object>({\n width,\n height,\n margin,\n boundedWidth,\n boundedHeight,\n loading,\n pointData,\n animation,\n animationGroupSize,\n animationBuffer,\n xScale,\n yScale,\n zoom,\n selectMode,\n selectable,\n disableZoom,\n groupPointsAnchor,\n hoveredPoint,\n hoveredPoints,\n handleMouseMove,\n handleMouseLeave,\n onDisplayedPointsChange,\n onSelectionChange,\n onPointClicked,\n leftAxisLabel,\n bottomAxisLabel,\n border,\n originLine,\n backgroundGradient,\n crosshair,\n divRef,\n}: ScatterPlotViewportProps<T>) => {\n const graphRef = useRef<SVGRectElement | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n // Hover growth is driven straight onto the canvas through a ref. A redraw is ~0.3ms at\n // 3.4k points so the drawing is cheap, but a re-render per frame would not be.\n const hoverAmountRef = useRef(0);\n const animatedKeysRef = useRef<Set<string> | null>(null);\n\n // Animation state — viewport owns what it renders\n const [showPointAnimation, setShowPointAnimation] = useState(Boolean(animation));\n\n useEffect(() => {\n if (!animation) return;\n if (pointData.length > 2500) {\n setShowPointAnimation(false);\n return;\n }\n const duration = 450;\n const buffer = (animationBuffer ?? 0.03) * 1000;\n const groups = Math.ceil(pointData.length / (animationGroupSize ?? 1));\n const total = duration + groups * buffer;\n\n const t = window.setTimeout(() => setShowPointAnimation(false), total);\n return () => window.clearTimeout(t);\n }, [animation, animationBuffer, animationGroupSize, pointData.length]);\n\n const { lines, isDragging, x, y, dx, dy, dragStart, dragMove, dragEnd, completeSelection } =\n useDragSelection({ pointData, margin, xScale, yScale, onSelectionChange });\n\n // Passive event listeners to prevent default scroll/touch behavior on the chart surface\n useEffect(() => {\n const graphElement = graphRef.current;\n\n const handleWheel = (event: WheelEvent) => { event.preventDefault(); };\n const handleTouchMove = (event: TouchEvent) => { event.preventDefault(); };\n const handleTouchStart = (event: TouchEvent) => { event.preventDefault(); };\n\n if (graphElement) {\n graphElement.addEventListener('wheel', handleWheel, { passive: false });\n graphElement.addEventListener('touchstart', handleTouchStart, { passive: false });\n graphElement.addEventListener('touchmove', handleTouchMove, { passive: false });\n }\n\n return () => {\n if (graphElement) {\n graphElement.removeEventListener('wheel', handleWheel);\n graphElement.removeEventListener('touchstart', handleTouchStart);\n graphElement.removeEventListener('touchmove', handleTouchMove);\n }\n };\n }, []);\n\n const xScaleTransformed = useMemo(\n () => rescaleX(xScale, zoom.transformMatrix.translateX, zoom.transformMatrix.scaleX),\n [xScale, zoom.transformMatrix]\n );\n const yScaleTransformed = useMemo(\n () => rescaleY(yScale, zoom.transformMatrix.translateY, zoom.transformMatrix.scaleY),\n [yScale, zoom.transformMatrix]\n );\n\n // What is hovered: the point under the cursor if there is one, otherwise whatever the\n // consumer has asked to highlight. The cursor takes precedence so the plot's own hover is\n // never overridden mid-gesture.\n const highlightSeeds: Point<T>[] = useMemo(\n () => (hoveredPoint ? [hoveredPoint] : hoveredPoints ?? []),\n [hoveredPoint, hoveredPoints]\n );\n\n const groupedPoints: Point<T>[] = useMemo(() => {\n const anchor = groupPointsAnchor;\n if (!anchor) return highlightSeeds;\n\n const anchorValue = (point: Point<T>): unknown =>\n anchor in point\n ? point[anchor as keyof Point<T>]\n : point.metaData?.[anchor as keyof T];\n\n // Collect the seeds' anchor values first, so this stays O(points + seeds). Matching each\n // point against each seed would be 2.5m comparisons when a whole 750-point group is\n // handed in against 3.4k points.\n const seedValues = new Set(\n highlightSeeds.map(anchorValue).filter((value) => value !== undefined)\n );\n if (seedValues.size === 0) return [];\n\n return pointData.filter((point) => {\n const value = anchorValue(point);\n return value !== undefined && seedValues.has(value);\n });\n }, [highlightSeeds, groupPointsAnchor, pointData]);\n\n const previousHoveredKeysRef = useRef<Set<string>>(new Set());\n\n const hoveredPointKeys = useMemo(() => {\n const next = new Set(groupedPoints.map((point) => `${point.x},${point.y}`));\n const previous = previousHoveredKeysRef.current;\n\n // Moving between points inside one anchored group rebuilds this set, but its contents\n // are unchanged - the hovered group is the same group. Handing back the previous Set\n // keeps its identity stable, so the redraw effect and the hover growth it drives both\n // sit still instead of restarting on every point the cursor crosses. Purely a\n // memoisation hint: the contents are correct either way.\n if (next.size === previous.size && [...next].every((key) => previous.has(key))) {\n return previous;\n }\n\n previousHoveredKeysRef.current = next;\n return next;\n }, [groupedPoints]);\n\n const currentDisplayedPoints = useMemo(\n () => pointData.filter((point) => {\n const tx = xScaleTransformed(point.x);\n const ty = yScaleTransformed(point.y);\n return tx >= 0 && tx <= boundedWidth && ty >= 0 && ty <= boundedHeight;\n }),\n [pointData, xScaleTransformed, yScaleTransformed, boundedWidth, boundedHeight]\n );\n\n const drawPoints = useCallback((\n xST: ScaleLinear<number, number, never>,\n yST: ScaleLinear<number, number, never>,\n canvas: HTMLCanvasElement\n ) => {\n const context = canvas.getContext('2d');\n if (!context) return;\n\n prepareCanvas(context, boundedWidth, boundedHeight);\n\n if (backgroundGradient) {\n const [colorLow, colorMid, colorHigh] = backgroundGradient.colorScale ?? [\"red\", \"white\", \"blue\"];\n const W = boundedWidth;\n const H = boundedHeight;\n const x0 = xST(0);\n const y0 = yST(0);\n const fraction = Math.max(0.001, Math.min(0.999, (x0 * W - y0 * H + H * H) / (W * W + H * H)));\n const gradient = context.createLinearGradient(0, H, W, 0);\n gradient.addColorStop(0, colorLow);\n gradient.addColorStop(fraction, colorMid);\n gradient.addColorStop(1, colorHigh);\n context.globalAlpha = backgroundGradient.opacity ?? 1;\n context.fillStyle = gradient;\n context.fillRect(0, 0, W, H);\n context.globalAlpha = 1;\n }\n\n const { nonHovered, hovered } = partitionPointsByHover(pointData, hoveredPointKeys);\n\n const drawRenderedPoint = (point: Point<T>, isHovered: boolean) => {\n const transformedX = xST(point.x);\n const transformedY = yST(point.y);\n if (!isPointVisible(transformedX, transformedY, boundedWidth, boundedHeight)) return;\n drawCanvasPoint(context, point, transformedX, transformedY, isHovered ? hoverAmountRef.current : 0);\n };\n\n nonHovered.forEach((point) => drawRenderedPoint(point, false));\n hovered.forEach((point) => drawRenderedPoint(point, true));\n }, [boundedHeight, boundedWidth, hoveredPointKeys, pointData, backgroundGradient]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || showPointAnimation) return;\n\n // Leaving is instant: drop the growth and repaint once.\n if (hoveredPointKeys.size === 0) {\n animatedKeysRef.current = null;\n hoverAmountRef.current = 0;\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n return;\n }\n\n // Only a change of hovered set starts the growth. This effect also runs on pan, zoom\n // and data changes, which should repaint at the size the points have already reached\n // rather than snapping them back to zero.\n if (animatedKeysRef.current === hoveredPointKeys) {\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n return;\n }\n animatedKeysRef.current = hoveredPointKeys;\n\n const startedAt = performance.now();\n hoverAmountRef.current = 0;\n let frame = requestAnimationFrame(function step() {\n const t = Math.min(1, (performance.now() - startedAt) / HOVER_GROW_MS);\n hoverAmountRef.current = easeOutCubic(t);\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n if (t < 1) frame = requestAnimationFrame(step);\n });\n\n return () => cancelAnimationFrame(frame);\n }, [drawPoints, xScaleTransformed, yScaleTransformed, showPointAnimation, hoveredPointKeys]);\n\n const handlePointClick = useCallback(() => {\n if (hoveredPoint) onPointClicked?.(hoveredPoint);\n }, [hoveredPoint, onPointClicked]);\n\n const surfaceCursor = disableZoom\n ? selectable\n ? isDragging ? 'none' : 'crosshair'\n : isDragging ? 'none' : 'default'\n : hoveredPoint\n ? 'default'\n : selectMode === 'select'\n ? isDragging ? 'none' : 'crosshair'\n : zoom.isDragging\n ? 'grabbing'\n : 'grab';\n\n const handleSelectionEnd = (event: React.MouseEvent<SVGRectElement> | React.TouchEvent<SVGRectElement>) => {\n dragEnd(event);\n completeSelection(zoom);\n };\n\n /**\n * Panning is coalesced to one zoom update per animation frame.\n *\n * zoom.dragMove sets the transform matrix on every move it is handed, and a mouse reports\n * positions faster than the browser paints. Because mousemove is a continuous event that\n * React flushes synchronously - and because a shared zoom sits above every synced plot, so\n * one update re-renders all of them - handling each move outright never lets the browser\n * paint, and React eventually warns that the update depth was exceeded.\n *\n * The buffer holds nativeEvent rather than the synthetic event: React clears currentTarget\n * once dispatch returns, and this runs a frame later. Routing through useStableCallback\n * keeps the frame calling the current zoom rather than the one captured when it was queued.\n */\n const dragFrameRef = useRef<number | null>(null);\n const pendingDragRef = useRef<MouseEvent | TouchEvent | null>(null);\n const dragMoveLatest = useStableCallback((event: MouseEvent | TouchEvent) => {\n zoom.dragMove(event as unknown as React.MouseEvent | React.TouchEvent);\n });\n\n const flushPendingDrag = useCallback(() => {\n if (dragFrameRef.current !== null) {\n cancelAnimationFrame(dragFrameRef.current);\n dragFrameRef.current = null;\n }\n const pending = pendingDragRef.current;\n pendingDragRef.current = null;\n if (pending) dragMoveLatest(pending);\n }, [dragMoveLatest]);\n\n useEffect(() => () => {\n if (dragFrameRef.current !== null) cancelAnimationFrame(dragFrameRef.current);\n }, []);\n\n const onZoomDragMove = (event: React.MouseEvent<SVGRectElement> | React.TouchEvent<SVGRectElement>) => {\n pendingDragRef.current = event.nativeEvent;\n if (dragFrameRef.current !== null) return;\n dragFrameRef.current = requestAnimationFrame(() => {\n dragFrameRef.current = null;\n const pending = pendingDragRef.current;\n pendingDragRef.current = null;\n if (pending) dragMoveLatest(pending);\n });\n };\n\n // The queued frame is applied before the gesture closes, so the plot lands on the position\n // the pointer was actually released at rather than a frame behind it.\n const onZoomDragEnd = () => {\n flushPendingDrag();\n zoom.dragEnd();\n };\n\n const onSurfaceMouseDown = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? dragStart\n : disableZoom ? undefined : zoom.dragStart;\n const onSurfaceMouseUp = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : onZoomDragEnd;\n const onSurfaceMouseMove = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? (isDragging ? dragMove : undefined)\n : disableZoom ? undefined : onZoomDragMove;\n const onSurfaceMouseLeave = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : onZoomDragEnd;\n const onSurfaceTouchStart = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? dragStart\n : disableZoom ? undefined : zoom.dragStart;\n const onSurfaceTouchEnd = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : onZoomDragEnd;\n const onSurfaceTouchMove = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? (isDragging ? dragMove : undefined)\n : disableZoom ? undefined : onZoomDragMove;\n const onSurfaceWheel: React.WheelEventHandler<SVGRectElement> = (event) => {\n setShowPointAnimation(false);\n if (!disableZoom) {\n const point = localPoint(event) || { x: 0, y: 0 };\n const zoomDirection = event.deltaY < 0 ? 1.1 : 0.9;\n zoom.scale({ scaleX: zoomDirection, scaleY: zoomDirection, point });\n }\n };\n\n const previousDisplayedPoints = useRef<Point<T>[]>([]);\n\n useEffect(() => {\n const haveDisplayedPointsChanged = (prevPoints: Point<T>[], nextPoints: Point<T>[]) => {\n if (prevPoints.length !== nextPoints.length) return true;\n return !prevPoints.every((point, index) => {\n const nextPoint = nextPoints[index];\n return (\n point.x === nextPoint.x &&\n point.y === nextPoint.y &&\n point.r === nextPoint.r &&\n point.shape === nextPoint.shape &&\n point.color === nextPoint.color &&\n point.opacity === nextPoint.opacity\n );\n });\n };\n\n if (haveDisplayedPointsChanged(previousDisplayedPoints.current, currentDisplayedPoints)) {\n onDisplayedPointsChange?.(currentDisplayedPoints);\n previousDisplayedPoints.current = currentDisplayedPoints;\n }\n }, [currentDisplayedPoints, onDisplayedPointsChange]);\n\n return (\n <Stack justifyContent=\"center\" alignItems=\"center\" direction=\"row\" sx={{ position: \"relative\" }}>\n <Box sx={{ width, height }}>\n {loading ? (\n <Box display=\"flex\" width=\"100%\" height=\"100%\" sx={{ justifyContent: \"center\", alignItems: \"center\" }}>\n <CircularProgress />\n </Box>\n ) : (\n <div style={{ position: \"relative\" }} ref={divRef}>\n <canvas\n ref={canvasRef}\n width={boundedWidth * 2}\n height={boundedHeight * 2}\n style={{\n userSelect: \"none\",\n position: \"absolute\",\n top: margin.top,\n left: margin.left,\n width: boundedWidth,\n height: boundedHeight,\n backgroundColor: \"transparent\",\n }}\n />\n <svg\n width={width}\n height={height}\n overflow=\"visible\"\n style={{ position: \"absolute\", userSelect: \"none\" }}\n onMouseMove={(event) => {\n if (isDragging) handleMouseLeave();\n else handleMouseMove(event, zoom);\n }}\n onMouseLeave={handleMouseLeave}\n >\n <Group top={margin.top} left={margin.left}>\n {showPointAnimation && animation && (\n <AnimatedPoints\n pointData={pointData}\n animation={animation}\n animationGroupSize={animationGroupSize}\n animationBuffer={animationBuffer}\n xScaleTransformed={xScaleTransformed}\n yScaleTransformed={yScaleTransformed}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n />\n )}\n {selectMode === \"select\" && (\n <>\n {lines.map((line, index) => (\n <LinePath\n key={`line-${index}`}\n fill=\"transparent\"\n stroke=\"black\"\n strokeWidth={3}\n data={line}\n curve={curveBasis}\n x={(datum) => datum.x}\n y={(datum) => datum.y}\n />\n ))}\n {isDragging && (\n <g>\n <line x1={x - margin.left + dx - 6} y1={y - margin.top + dy} x2={x - margin.left + dx + 6} y2={y - margin.top + dy} stroke=\"black\" strokeWidth={1} />\n <line x1={x - margin.left + dx} y1={y - margin.top + dy - 6} x2={x - margin.left + dx} y2={y - margin.top + dy + 6} stroke=\"black\" strokeWidth={1} />\n <circle cx={x - margin.left} cy={y - margin.top} r={4} fill=\"transparent\" stroke=\"black\" pointerEvents=\"none\" />\n </g>\n )}\n </>\n )}\n {originLine && (() => {\n const x0 = xScaleTransformed(0);\n const y0 = yScaleTransformed(0);\n return (\n <>\n {y0 >= 0 && y0 <= boundedHeight && (\n <line x1={0} x2={boundedWidth} y1={y0} y2={y0} stroke=\"#000\" strokeWidth={1} strokeDasharray=\"4,4\" pointerEvents=\"none\" />\n )}\n {x0 >= 0 && x0 <= boundedWidth && (\n <line x1={x0} x2={x0} y1={0} y2={boundedHeight} stroke=\"#000\" strokeWidth={1} strokeDasharray=\"4,4\" pointerEvents=\"none\" />\n )}\n </>\n );\n })()}\n <rect\n ref={graphRef}\n fill=\"transparent\"\n width={boundedWidth}\n height={boundedHeight}\n style={{ cursor: surfaceCursor }}\n onMouseDown={onSurfaceMouseDown}\n onMouseUp={onSurfaceMouseUp}\n onMouseMove={onSurfaceMouseMove}\n onMouseLeave={onSurfaceMouseLeave}\n onTouchStart={onSurfaceTouchStart}\n onTouchEnd={onSurfaceTouchEnd}\n onTouchMove={onSurfaceTouchMove}\n onWheel={onSurfaceWheel}\n onClick={handlePointClick}\n />\n {crosshair && !isDragging && (\n <Crosshair\n position={{\n x: xScaleTransformed(crosshair.x),\n y: yScaleTransformed(crosshair.y),\n }}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n />\n )}\n </Group>\n <Group top={margin.top} left={margin.left}>\n <AxisLeft\n scale={yScaleTransformed}\n tickLabelProps={() => ({\n fill: \"#1c1917\",\n fontSize: 10,\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: -10,\n })}\n tickValues={getTicks(yScaleTransformed, 5)}\n />\n <AxisBottom\n top={boundedHeight}\n scale={xScaleTransformed}\n tickLabelProps={() => ({\n fill: \"#1c1917\",\n fontSize: 11,\n textAnchor: \"middle\",\n })}\n tickValues={getTicks(xScaleTransformed, 5)}\n />\n {border && (\n <>\n <AxisTop top={0} scale={xScaleTransformed} tickValues={[]} />\n <AxisRight scale={yScaleTransformed} tickValues={[]} left={boundedWidth} />\n </>\n )}\n <Text textAnchor=\"middle\" verticalAnchor=\"end\" angle={-90} fontSize={15} y={boundedHeight / 2} x={0} dx={-50}>\n {leftAxisLabel}\n </Text>\n <Text textAnchor=\"middle\" verticalAnchor=\"start\" fontSize={15} y={boundedHeight} x={boundedWidth / 2} dy={50}>\n {bottomAxisLabel}\n </Text>\n </Group>\n <PointLabels\n pointData={pointData}\n xScaleTransformed={xScaleTransformed}\n yScaleTransformed={yScaleTransformed}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n margin={margin}\n />\n {backgroundGradient?.legend && (\n <GradientLegend\n backgroundGradient={backgroundGradient}\n boundedHeight={boundedHeight}\n barLeft={margin.left + boundedWidth + 25}\n marginTop={margin.top}\n />\n )}\n </svg>\n </div>\n )}\n </Box>\n </Stack>\n );\n};\n\nexport default ScatterPlotViewport;\n"],"names":["HOVER_GROW_MS","easeOutCubic","t","Math","pow","ScatterPlotViewport","width","height","margin","boundedWidth","boundedHeight","loading","pointData","animation","animationGroupSize","animationBuffer","xScale","yScale","zoom","selectMode","selectable","disableZoom","groupPointsAnchor","hoveredPoint","hoveredPoints","handleMouseMove","handleMouseLeave","onDisplayedPointsChange","onSelectionChange","onPointClicked","leftAxisLabel","bottomAxisLabel","border","originLine","backgroundGradient","crosshair","divRef","graphRef","useRef","canvasRef","hoverAmountRef","animatedKeysRef","showPointAnimation","setShowPointAnimation","useState","Boolean","useEffect","length","duration","buffer","groups","ceil","total","window","setTimeout","clearTimeout","lines","isDragging","x","y","dx","dy","dragStart","dragMove","dragEnd","completeSelection","useDragSelection","graphElement","current","handleWheel","event","preventDefault","handleTouchMove","handleTouchStart","addEventListener","passive","removeEventListener","xScaleTransformed","useMemo","rescaleX","transformMatrix","translateX","scaleX","yScaleTransformed","rescaleY","translateY","scaleY","highlightSeeds","groupedPoints","anchor","anchorValue","point","metaData","seedValues","Set","map","filter","value","undefined","size","has","previousHoveredKeysRef","hoveredPointKeys","next","previous","every","key","currentDisplayedPoints","tx","ty","drawPoints","useCallback","xST","yST","canvas","context","getContext","prepareCanvas","colorLow","colorMid","colorHigh","colorScale","W","H","x0","y0","fraction","max","min","gradient","createLinearGradient","addColorStop","globalAlpha","opacity","fillStyle","fillRect","nonHovered","hovered","partitionPointsByHover","drawRenderedPoint","isHovered","transformedX","transformedY","isPointVisible","drawCanvasPoint","forEach","startedAt","performance","now","frame","requestAnimationFrame","step","cancelAnimationFrame","handlePointClick","surfaceCursor","handleSelectionEnd","dragFrameRef","pendingDragRef","dragMoveLatest","useStableCallback","flushPendingDrag","pending","onZoomDragMove","nativeEvent","onZoomDragEnd","onSurfaceMouseDown","onSurfaceMouseUp","onSurfaceMouseMove","onSurfaceMouseLeave","onSurfaceTouchStart","onSurfaceTouchEnd","onSurfaceTouchMove","onSurfaceWheel","localPoint","zoomDirection","deltaY","scale","previousDisplayedPoints","haveDisplayedPointsChanged","prevPoints","nextPoints","index","nextPoint","r","shape","color","jsx","Stack","position","Box","justifyContent","alignItems","CircularProgress","jsxs","userSelect","top","left","backgroundColor","Group","AnimatedPoints","Fragment","line","LinePath","curveBasis","datum","cursor","Crosshair","AxisLeft","fill","fontSize","textAnchor","verticalAnchor","getTicks","AxisBottom","AxisTop","AxisRight","Text","PointLabels","legend","GradientLegend"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es81.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/bin.js"],"sourcesContent":["import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function bin() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n if (tz[0] <= x0) step = tickIncrement(x0, x1, tn);\n\n // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n // Be careful not to mutate an array owned by the user!\n var m = tz.length, a = 0, b = m;\n while (tz[a] <= x0) ++a;\n while (tz[b - 1] > x1) --b;\n if (a || b < m) tz = tz.slice(a, b), m = b - a;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : constant(Array.isArray(_) ? slice.call(_) : _), histogram) : threshold;\n };\n\n return histogram;\n}\n"],"names":["bin","value","identity","domain","extent","threshold","sturges","histogram","data","i","n","x","step","values","xz","x0","x1","tz","max","tn","nice","ticks","tickIncrement","m","b","bins","j","bisect","_","constant","slice"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,106 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
width: C,
|
|
8
|
-
height: D,
|
|
9
|
-
pointData: E,
|
|
10
|
-
xScale: m,
|
|
11
|
-
yScale: R,
|
|
12
|
-
zoom: r,
|
|
13
|
-
crosshair: h
|
|
14
|
-
}) => {
|
|
15
|
-
const a = h ? m(h.x) : null, u = h ? R(h.y) : null, l = C - 100, i = D - 100, s = S(null), d = S(null), g = S(null), M = w(() => {
|
|
16
|
-
const n = d.current;
|
|
17
|
-
d.current = null, n && r.setTransformMatrix({
|
|
18
|
-
...r.transformMatrix,
|
|
19
|
-
translateX: r.transformMatrix.translateX - n.dx / o * r.transformMatrix.scaleX,
|
|
20
|
-
translateY: r.transformMatrix.translateY - n.dy / o * r.transformMatrix.scaleY
|
|
21
|
-
});
|
|
22
|
-
}), p = (n, t) => {
|
|
23
|
-
const e = d.current ?? {
|
|
24
|
-
dx: 0,
|
|
25
|
-
dy: 0
|
|
26
|
-
};
|
|
27
|
-
e.dx += n, e.dy += t, d.current = e;
|
|
28
|
-
}, A = () => {
|
|
29
|
-
s.current === null && (s.current = requestAnimationFrame(() => {
|
|
30
|
-
s.current = null, M();
|
|
31
|
-
}));
|
|
32
|
-
}, x = () => {
|
|
33
|
-
s.current !== null && (cancelAnimationFrame(s.current), s.current = null), M(), g.current = null, r.dragEnd();
|
|
34
|
-
};
|
|
35
|
-
return Y(() => () => {
|
|
36
|
-
s.current !== null && cancelAnimationFrame(s.current);
|
|
37
|
-
}, []), /* @__PURE__ */ b("div", { style: {
|
|
38
|
-
position: "absolute",
|
|
39
|
-
bottom: c.position ? c.position.bottom : 10,
|
|
40
|
-
right: c.position ? c.position.right : 10
|
|
41
|
-
}, children: [
|
|
42
|
-
/* @__PURE__ */ f("canvas", { width: l * o, height: i * o, ref: (n) => {
|
|
43
|
-
if (n) {
|
|
44
|
-
const t = n.getContext("2d"), e = o, I = l * e, k = i * e;
|
|
45
|
-
t && (t.clearRect(0, 0, n.width, n.height), t.fillStyle = "white", t.fillRect(0, 0, I, k), t.strokeStyle = "grey", t.lineWidth = 4, t.strokeRect(0, 0, I, k), E.forEach((y) => {
|
|
46
|
-
const O = m(y.x) * e, X = R(y.y) * e;
|
|
47
|
-
t.beginPath(), t.arc(O, X, 3 * e, 0, Math.PI * 2), t.fillStyle = y.color ?? "black", t.fill();
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
}, style: {
|
|
51
|
-
display: "block"
|
|
52
|
-
} }),
|
|
53
|
-
/* @__PURE__ */ f("svg", { width: l * o, height: i * o, style: {
|
|
54
|
-
position: "absolute",
|
|
55
|
-
top: 0,
|
|
56
|
-
left: 0
|
|
57
|
-
}, children: /* @__PURE__ */ b("g", { transform: `scale(${o})`, children: [
|
|
58
|
-
/* @__PURE__ */ f(
|
|
59
|
-
"rect",
|
|
60
|
-
{
|
|
61
|
-
width: l,
|
|
62
|
-
height: i,
|
|
63
|
-
fill: "#0d0f98",
|
|
64
|
-
fillOpacity: 0.2,
|
|
65
|
-
stroke: "#0d0f98",
|
|
66
|
-
strokeWidth: 4,
|
|
67
|
-
rx: 8,
|
|
68
|
-
transform: r.toStringInvert(),
|
|
69
|
-
style: {
|
|
70
|
-
cursor: r.isDragging ? "grabbing" : "grab",
|
|
71
|
-
touchAction: "none"
|
|
72
|
-
},
|
|
73
|
-
onMouseDown: r.dragStart,
|
|
74
|
-
onMouseUp: x,
|
|
75
|
-
onMouseMove: (n) => {
|
|
76
|
-
r.isDragging && (p(n.movementX, n.movementY), A());
|
|
77
|
-
},
|
|
78
|
-
onMouseLeave: x,
|
|
79
|
-
onTouchStart: (n) => {
|
|
80
|
-
const t = n.touches[0];
|
|
81
|
-
t && (g.current = {
|
|
82
|
-
x: t.clientX,
|
|
83
|
-
y: t.clientY
|
|
84
|
-
}), r.dragStart(n);
|
|
85
|
-
},
|
|
86
|
-
onTouchEnd: x,
|
|
87
|
-
onTouchCancel: x,
|
|
88
|
-
onTouchMove: (n) => {
|
|
89
|
-
if (!r.isDragging || n.touches.length !== 1) return;
|
|
90
|
-
const t = n.touches[0], e = g.current;
|
|
91
|
-
g.current = {
|
|
92
|
-
x: t.clientX,
|
|
93
|
-
y: t.clientY
|
|
94
|
-
}, e && (p(t.clientX - e.x, t.clientY - e.y), A());
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
),
|
|
98
|
-
u !== null && u >= 0 && u <= i && /* @__PURE__ */ f("line", { x1: 0, x2: l, y1: u, y2: u, stroke: T, strokeWidth: H, strokeDasharray: _, pointerEvents: "none" }),
|
|
99
|
-
a !== null && a >= 0 && a <= l && /* @__PURE__ */ f("line", { x1: a, x2: a, y1: 0, y2: i, stroke: T, strokeWidth: H, strokeDasharray: _, pointerEvents: "none" })
|
|
100
|
-
] }) })
|
|
101
|
-
] });
|
|
102
|
-
};
|
|
1
|
+
function l(n, e, a) {
|
|
2
|
+
n = +n, e = +e, a = (g = arguments.length) < 2 ? (e = n, n = 0, 1) : g < 3 ? 1 : +a;
|
|
3
|
+
for (var h = -1, g = Math.max(0, Math.ceil((e - n) / a)) | 0, i = new Array(g); ++h < g; )
|
|
4
|
+
i[h] = n + h * a;
|
|
5
|
+
return i;
|
|
6
|
+
}
|
|
103
7
|
export {
|
|
104
|
-
|
|
8
|
+
l as default
|
|
105
9
|
};
|
|
106
10
|
//# sourceMappingURL=visualization.es82.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es82.js","sources":["../src/components/ScatterPlot/minimap.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { MapProps } from \"./types\";\nimport { CROSSHAIR_DASH, CROSSHAIR_STROKE, CROSSHAIR_STROKE_WIDTH } from \"./Crosshair\";\nimport { useStableCallback } from \"../../hooks\";\n\nconst MINIMAP_SCALE_FACTOR = 0.25;\n// The crosshair is drawn inside the scaled group, so its stroke and dashes shrink with it.\n// Scale them back up so it renders identically to the crosshair on the plot itself.\nconst MINIMAP_CROSSHAIR_STROKE_WIDTH = CROSSHAIR_STROKE_WIDTH / MINIMAP_SCALE_FACTOR;\nconst MINIMAP_CROSSHAIR_DASH = CROSSHAIR_DASH.map((dash) => dash / MINIMAP_SCALE_FACTOR).join(\",\");\n\nconst MiniMap = <T,>({\n miniMap,\n width,\n height,\n pointData,\n xScale,\n yScale,\n zoom,\n crosshair\n}: MapProps<T>) => {\n // The minimap frame is the whole plot area untransformed, so a data coordinate maps onto it\n // through the base scales - no need to undo the current zoom.\n const crosshairX = crosshair ? xScale(crosshair.x) : null;\n const crosshairY = crosshair ? yScale(crosshair.y) : null;\n const frameWidth = width - 100;\n const frameHeight = height - 100;\n\n /**\n * Dragging the window is coalesced to one zoom update per animation frame.\n *\n * This handler sets the transform matrix directly rather than going through zoom.dragMove,\n * so it needs its own coalescing: without it a mouse reporting faster than the browser\n * paints updates a zoom shared by every synced plot on each move, and React eventually\n * warns that the update depth was exceeded.\n *\n * Movement is accumulated rather than replaced: these are deltas, so dropping the moves in\n * between would lose the distance they covered. A pointer moving faster than the frame rate\n * still pans exactly as far as it travelled.\n */\n const frameRef = useRef<number | null>(null);\n const pendingRef = useRef<{ dx: number; dy: number } | null>(null);\n // Touch events carry absolute positions, so a drag delta is the step from the previous one.\n const lastTouchRef = useRef<{ x: number; y: number } | null>(null);\n\n const flushPan = useStableCallback(() => {\n const pending = pendingRef.current;\n pendingRef.current = null;\n if (!pending) return;\n\n zoom.setTransformMatrix({\n ...zoom.transformMatrix,\n translateX: zoom.transformMatrix.translateX - pending.dx / MINIMAP_SCALE_FACTOR * zoom.transformMatrix.scaleX,\n translateY: zoom.transformMatrix.translateY - pending.dy / MINIMAP_SCALE_FACTOR * zoom.transformMatrix.scaleY,\n });\n });\n\n const accumulate = (dx: number, dy: number) => {\n const pending = pendingRef.current ?? { dx: 0, dy: 0 };\n pending.dx += dx;\n pending.dy += dy;\n pendingRef.current = pending;\n };\n\n const scheduleFrame = () => {\n if (frameRef.current !== null) return;\n frameRef.current = requestAnimationFrame(() => {\n frameRef.current = null;\n flushPan();\n });\n };\n\n // Apply whatever is still queued before the gesture closes, so the window lands where the\n // pointer left it rather than a frame behind.\n const endPan = () => {\n if (frameRef.current !== null) {\n cancelAnimationFrame(frameRef.current);\n frameRef.current = null;\n }\n flushPan();\n lastTouchRef.current = null;\n zoom.dragEnd();\n };\n\n useEffect(() => () => {\n if (frameRef.current !== null) cancelAnimationFrame(frameRef.current);\n }, []);\n\n return (\n <div\n style={{\n position: 'absolute',\n bottom: miniMap.position ? miniMap.position.bottom : 10,\n right: miniMap.position ? miniMap.position.right : 10,\n }}\n >\n {/* Canvas for rendering points on minimap */}\n <canvas\n width={frameWidth * MINIMAP_SCALE_FACTOR}\n height={frameHeight * MINIMAP_SCALE_FACTOR}\n ref={(canvas) => {\n if (canvas) {\n const context = canvas.getContext('2d');\n const scaleFactor = MINIMAP_SCALE_FACTOR;\n const scaledWidth = frameWidth * scaleFactor;\n const scaledHeight = frameHeight * scaleFactor;\n if (context) {\n // Clear canvas\n context.clearRect(0, 0, canvas.width, canvas.height);\n\n // Draw background and outline\n context.fillStyle = 'white';\n context.fillRect(0, 0, scaledWidth, scaledHeight);\n context.strokeStyle = 'grey';\n context.lineWidth = 4;\n context.strokeRect(0, 0, scaledWidth, scaledHeight);\n\n // Draw points\n pointData.forEach(point => {\n const transformedX = xScale(point.x) * scaleFactor;\n const transformedY = yScale(point.y) * scaleFactor;\n context.beginPath();\n context.arc(transformedX, transformedY, 3 * scaleFactor, 0, Math.PI * 2);\n context.fillStyle = point.color ?? \"black\";\n context.fill();\n });\n }\n }\n }}\n style={{ display: 'block' }}\n />\n\n {/* SVG for rendering the zoom window */}\n <svg\n width={frameWidth * MINIMAP_SCALE_FACTOR}\n height={frameHeight * MINIMAP_SCALE_FACTOR}\n style={{ position: 'absolute', top: 0, left: 0 }}\n >\n <g transform={`scale(${MINIMAP_SCALE_FACTOR})`}>\n <rect\n width={frameWidth}\n height={frameHeight}\n fill=\"#0d0f98\"\n fillOpacity={0.2}\n stroke=\"#0d0f98\"\n strokeWidth={4}\n rx={8}\n transform={zoom.toStringInvert()}\n //drag functionality for window, must invert zoom and take the scale into account\n style={{ cursor: zoom.isDragging ? \"grabbing\" : \"grab\", touchAction: \"none\" }}\n onMouseDown={zoom.dragStart}\n onMouseUp={endPan}\n onMouseMove={(event) => {\n if (zoom.isDragging) {\n accumulate(event.movementX, event.movementY);\n scheduleFrame();\n }\n }}\n onMouseLeave={endPan}\n onTouchStart={(event) => {\n const touch = event.touches[0];\n // Seed the previous position so the first move measures a step from\n // where the finger landed, not from the origin.\n if (touch) lastTouchRef.current = { x: touch.clientX, y: touch.clientY };\n zoom.dragStart(event);\n }}\n onTouchEnd={endPan}\n onTouchCancel={endPan}\n onTouchMove={(event) => {\n // Only a single finger pans; a second one is a pinch, which belongs\n // to the plot's own zoom rather than to this window.\n if (!zoom.isDragging || event.touches.length !== 1) return;\n const touch = event.touches[0];\n const last = lastTouchRef.current;\n lastTouchRef.current = { x: touch.clientX, y: touch.clientY };\n if (!last) return;\n accumulate(touch.clientX - last.x, touch.clientY - last.y);\n scheduleFrame();\n }}\n />\n {crosshairY !== null && crosshairY >= 0 && crosshairY <= frameHeight && (\n <line\n x1={0}\n x2={frameWidth}\n y1={crosshairY}\n y2={crosshairY}\n stroke={CROSSHAIR_STROKE}\n strokeWidth={MINIMAP_CROSSHAIR_STROKE_WIDTH}\n strokeDasharray={MINIMAP_CROSSHAIR_DASH}\n pointerEvents=\"none\"\n />\n )}\n {crosshairX !== null && crosshairX >= 0 && crosshairX <= frameWidth && (\n <line\n x1={crosshairX}\n x2={crosshairX}\n y1={0}\n y2={frameHeight}\n stroke={CROSSHAIR_STROKE}\n strokeWidth={MINIMAP_CROSSHAIR_STROKE_WIDTH}\n strokeDasharray={MINIMAP_CROSSHAIR_DASH}\n pointerEvents=\"none\"\n />\n )}\n </g>\n </svg>\n </div>\n );\n};\n\nexport default MiniMap;"],"names":["MINIMAP_SCALE_FACTOR","MINIMAP_CROSSHAIR_STROKE_WIDTH","CROSSHAIR_STROKE_WIDTH","MINIMAP_CROSSHAIR_DASH","CROSSHAIR_DASH","map","dash","join","MiniMap","miniMap","width","height","pointData","xScale","yScale","zoom","crosshair","crosshairX","x","crosshairY","y","frameWidth","frameHeight","frameRef","useRef","pendingRef","lastTouchRef","flushPan","useStableCallback","pending","current","setTransformMatrix","transformMatrix","translateX","dx","scaleX","translateY","dy","scaleY","accumulate","scheduleFrame","requestAnimationFrame","endPan","cancelAnimationFrame","dragEnd","useEffect","jsxs","position","bottom","right","jsx","canvas","context","getContext","scaleFactor","scaledWidth","scaledHeight","clearRect","fillStyle","fillRect","strokeStyle","lineWidth","strokeRect","forEach","point","transformedX","transformedY","beginPath","arc","Math","PI","color","fill","display","top","left","toStringInvert","cursor","isDragging","touchAction","dragStart","event","movementX","movementY","touch","touches","clientX","clientY","length","last","CROSSHAIR_STROKE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es82.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/range.js"],"sourcesContent":["export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n"],"names":["range","start","stop","step","n","i"],"mappings":"AAAe,SAASA,EAAMC,GAAOC,GAAMC,GAAM;AAC/C,EAAAF,IAAQ,CAACA,GAAOC,IAAO,CAACA,GAAMC,KAAQC,IAAI,UAAU,UAAU,KAAKF,IAAOD,GAAOA,IAAQ,GAAG,KAAKG,IAAI,IAAI,IAAI,CAACD;AAM9G,WAJIE,IAAI,IACJD,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMF,IAAOD,KAASE,CAAI,CAAC,IAAI,GACpDH,IAAQ,IAAI,MAAMI,CAAC,GAEhB,EAAEC,IAAID;AACX,IAAAJ,EAAMK,CAAC,IAAIJ,IAAQI,IAAIF;AAGzB,SAAOH;AACT;","x_google_ignoreList":[0]}
|