@weng-lab/visualization 2.5.0 → 2.5.1-beta.0
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/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +69 -35
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +15 -58
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +15 -32
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +222 -18
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +2 -14
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +557 -26
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +213 -12
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +2 -74
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +4797 -30
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +25 -13
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +43 -220
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +144 -2
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +146 -556
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +32 -214
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +45 -2
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +75 -4799
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +25 -25
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +83 -43
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +35 -143
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +43 -145
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es120.js +22 -45
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +120 -18
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +80 -124
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +152 -76
- package/dist/visualization.es123.js.map +1 -1
- package/dist/visualization.es124.js +82 -155
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +36 -81
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +60 -38
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +44 -57
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +55 -44
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +32 -15
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +2 -2
- package/dist/visualization.es130.js +18 -15
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +14 -26
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +26 -70
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es135.js +70 -59
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +15 -37
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +11 -36
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +5 -84
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +5 -29
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es14.js +7 -7
- package/dist/visualization.es140.js +60 -7
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +38 -4
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es142.js +36 -3
- package/dist/visualization.es142.js.map +1 -1
- package/dist/visualization.es143.js +82 -83
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +29 -5
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +7 -89
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +4 -12
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +2 -4
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +82 -12
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +89 -6
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es150.js +12 -13
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +5 -63
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +15 -7
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +6 -42
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +12 -70
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +17 -15
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +3 -11
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +36 -5
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +3 -30
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +8 -8
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es16.js +8 -8
- package/dist/visualization.es160.js +15 -6
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +11 -4
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +5 -16
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +11 -16
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es164.js +3 -32
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +2 -17
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +10 -10
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +30 -6
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +42 -6
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +47 -8
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es170.js +3 -5
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +3 -5
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +5 -8
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +4 -4
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +9 -11
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +3 -26
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +16 -8
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +18 -6
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +36 -7
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +2 -10
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es180.js +2 -7
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +4 -7
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +14 -5
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +3 -15
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +7 -6
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +3 -4
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +6 -6
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +72 -6
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +22 -9
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +22 -32
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es190.js +38 -112
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +7 -3
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +12 -5
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +16 -32
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +36 -15
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +24 -7
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +26 -10
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +64 -8
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +7 -16
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +42 -10
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es200.js +30 -5
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +7 -11
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +6 -3
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +4 -2
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +16 -10
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +16 -30
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +31 -41
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +12 -45
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +11 -3
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +7 -3
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +62 -143
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +6 -5
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +10 -4
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +4 -10
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +4 -3
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +8 -17
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +4 -18
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +12 -36
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +27 -2
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +20 -2
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +28 -4
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +113 -8
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +74 -14
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +2 -3
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +483 -7
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +2 -3
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +123 -6
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +61 -17
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +60 -27
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +3 -3
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +5 -72
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +33 -22
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +147 -7
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +15 -22
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +7 -40
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +10 -6
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +9 -12
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +6 -17
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +7 -36
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +8 -23
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +6 -27
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +6 -74
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +6 -2
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +7 -35
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +14 -482
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +6 -2
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +3 -123
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +6 -63
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +6 -60
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +9 -18
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +32 -3
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +113 -34
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es25.js +7 -47
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es258.js +1 -1
- package/dist/visualization.es26.js +45 -32
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es264.js +34 -4
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +2 -35
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +54 -2
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +31 -23
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +33 -53
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +12 -20
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +17 -31
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +4 -53
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +23 -31
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +53 -33
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +20 -12
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +10 -7
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +9 -34
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +6 -3
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +8 -3
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +6 -6
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +5 -12
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +5 -21
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +15 -2
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +5 -3
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +6 -3
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +6 -10
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +6 -4
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +3 -32
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +4 -61
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +7 -235
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +29 -993
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +120 -3
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +33 -10
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +29 -11
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +10 -36
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +13 -260
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +29 -56
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +28 -5
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +10 -21
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +12 -37
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +16 -33
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +22 -13
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +16 -18
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +12 -12
- package/dist/visualization.es30.js +32 -52
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +95 -7
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +28 -7
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +66 -135
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +51 -5
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +33 -108
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +40 -11
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +3 -142
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +11 -5
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +35 -70
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +256 -31
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +55 -44
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +58 -19
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +5 -3
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +21 -24
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +37 -30
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +35 -2
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +15 -2
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +19 -6
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +8 -14
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +7 -34
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +137 -24
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +111 -34
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +5 -10
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +109 -6
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +12 -13
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +142 -12
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +6 -2
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +72 -3
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +36 -2
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +20 -103
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +3 -4
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +25 -3
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +8 -29
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +30 -18
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +2 -6
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +2 -15
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +5 -4
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +15 -29
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +34 -6
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +28 -2
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +11 -20
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +7 -21
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +13 -5
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +33 -64
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +12 -8
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +2 -19
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +3 -44
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +2 -7
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +103 -19
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +4 -53
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +3 -27
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +19 -11
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +5 -18
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +14 -11
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +50 -42
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +4 -4
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +29 -4
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +6 -3
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +2 -176
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +20 -40
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +21 -6
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +5 -3
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +8 -2
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +19 -30
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +43 -7
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +39 -46
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +7 -11
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +19 -3
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +49 -61
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +27 -7
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +11 -5
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +17 -12
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +11 -34
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +4 -4
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +4 -10
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +4 -2
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +42 -3
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +175 -4
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +40 -2
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +5 -9
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +4 -10
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +2 -13
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +30 -2
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +8 -10
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +10 -7
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +3 -5
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +65 -24
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +5 -46
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +7 -19
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +4 -40
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +14 -3
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +34 -8
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +4 -8
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +9 -35
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +2 -10
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +5 -32
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +2 -5
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +10 -2
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +4 -3
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +10 -16
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +12 -24
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +2 -2
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +10 -63
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +8 -2
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +6 -2
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +24 -5
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +19 -37
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +38 -18
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +3 -4
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +18 -282
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +8 -4
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +8 -4
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +34 -47
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +9 -26
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +30 -15
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +5 -10
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +2 -20
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +16 -14
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +24 -3
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +2 -13
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +4 -18
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +60 -46
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +2 -6
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +2 -13
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +6 -2
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +36 -6
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +19 -208
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +3 -26
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +4 -3
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +5 -16
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +48 -14
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +26 -65
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +26 -14
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +17 -2
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +10 -2
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +20 -2
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +13 -4
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +4 -2
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +13 -25
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +47 -20
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +6 -9
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +13 -68
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +30 -270
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +2 -6
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +7 -29
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +209 -9
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +27 -6
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +4 -2
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +16 -5
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +15 -26
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +15 -11
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +2 -27
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +2 -10
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +18698 -99
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +2 -11
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +5 -2
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +2 -16
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +25 -30
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +22 -26
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +9 -2
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +68 -9
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +6 -13
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +29 -23
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +9 -12
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +5 -27
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +6 -3
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +2 -2
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +4 -17
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +25 -3
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +10 -11
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +27 -11
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +9 -6
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +11 -19
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +2 -23
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +16 -12
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +5 -22
- package/dist/visualization.es46.js.map +1 -1
- package/dist/visualization.es460.js +27 -48
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +26 -18
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +2 -36
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +8 -22
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +12 -31
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +22 -3
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +12 -18
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +3 -14
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +2 -11
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +16 -28
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +59 -17
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +4 -6
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +11 -7
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +11 -2
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +6 -16
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +19 -9
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +21 -8
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +9 -613
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +50 -50
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +18 -13
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +36 -11
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +809 -19
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +23 -23
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +31 -34
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +3 -12
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +18 -19
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +13 -40
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +10 -57
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +28 -17
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +6 -26
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +7 -26
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +2 -43
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es490.js +16 -3
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +9 -3
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +10 -7
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +615 -15
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +51 -2
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +13 -2
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +11 -2
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +23 -30
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +35 -29
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +11 -118
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +6 -6
- package/dist/visualization.es50.js +128 -78
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +17 -28
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +25 -10
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +26 -13
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +39 -29
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +18 -27
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +40 -10
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +57 -12
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +3 -17
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +3 -24
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +7 -17
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +35 -7
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +14 -95
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +2 -29
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +2 -72
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +2 -52
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +28 -33
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +7 -42
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +32 -7
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +3 -9
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +3 -6
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +6 -8
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +43 -7
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +12 -6
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +2 -6
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +3 -14
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +3 -5
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +10 -6
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +4 -6
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +32 -6
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +61 -3
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +237 -4
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es529.js +990 -7
- package/dist/visualization.es529.js.map +1 -1
- package/dist/visualization.es53.js +7 -66
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es531.js +1 -1
- package/dist/visualization.es54.js +44 -113
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es541.js +3 -10
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +3 -13
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +16 -8
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +4 -8
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +9 -19
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +4 -62
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +6 -28
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +10 -5
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +7 -3
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +8 -5
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +5 -2
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +3 -281
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +4 -2
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +11 -127
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +8 -17
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +30 -3
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +24 -3
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +50 -14
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +1 -1
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +8 -9
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +64 -68
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +20 -4
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +7 -5
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +6 -9
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +5 -7
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +7 -4
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +15 -3
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +5 -4
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +6 -11
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +34 -9
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +8 -30
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +271 -12
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +10 -24
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +13 -51
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +8 -4
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +8 -9
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +19 -20
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +62 -7
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +28 -7
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +5 -6
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +3 -7
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +2 -16
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +100 -18699
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +18 -4
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +281 -6
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +2 -35
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +127 -8
- package/dist/visualization.es583.js.map +1 -1
- package/dist/visualization.es584.js +9 -32
- package/dist/visualization.es584.js.map +1 -1
- package/dist/visualization.es585.js +9 -9
- package/dist/visualization.es585.js.map +1 -1
- package/dist/visualization.es586.js +18 -9
- package/dist/visualization.es586.js.map +1 -1
- package/dist/visualization.es587.js +7 -18
- package/dist/visualization.es587.js.map +1 -1
- package/dist/visualization.es588.js +4 -4
- package/dist/visualization.es588.js.map +1 -1
- package/dist/visualization.es589.js +32 -7
- package/dist/visualization.es589.js.map +1 -1
- package/dist/visualization.es59.js +27 -5
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es591.js +3 -3
- package/dist/visualization.es592.js +1 -1
- package/dist/visualization.es6.js +16 -16
- package/dist/visualization.es60.js +22 -5
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es604.js +4 -32
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +8 -12
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +6 -24
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +17 -18
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es608.js +15 -7
- package/dist/visualization.es608.js.map +1 -1
- package/dist/visualization.es609.js +13 -6
- package/dist/visualization.es609.js.map +1 -1
- package/dist/visualization.es61.js +17 -59
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es610.js +24 -3
- package/dist/visualization.es610.js.map +1 -1
- package/dist/visualization.es611.js +19 -64
- package/dist/visualization.es611.js.map +1 -1
- package/dist/visualization.es612.js +7 -5
- package/dist/visualization.es612.js.map +1 -1
- package/dist/visualization.es613.js +6 -9
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +3 -6
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +62 -16
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +32 -14
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es62.js +19 -809
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es620.js +3 -5
- package/dist/visualization.es620.js.map +1 -1
- package/dist/visualization.es621.js +5 -3
- package/dist/visualization.es621.js.map +1 -1
- package/dist/{visualization.es49.js → visualization.es63.js} +2 -2
- package/dist/{visualization.es49.js.map → visualization.es63.js.map} +1 -1
- package/dist/visualization.es64.js +78 -128
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es65.js +11 -32
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +39 -168
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +77 -126
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +44 -173
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +56 -74
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es70.js +6 -54
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +26 -111
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +12 -7
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +56 -32
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +69 -39
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +11 -80
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +32 -46
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +168 -55
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +129 -6
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +175 -26
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +11 -11
- package/dist/visualization.es80.js +74 -13
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +29 -58
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +65 -52
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +46 -39
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +3 -42
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +46 -5
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +3 -4
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +282 -18
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +18 -4
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +34 -26
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +1 -1
- package/dist/visualization.es90.js +52 -28
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es92.js +13 -5
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +74 -5
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +33 -5
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +13 -32
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +5 -45
- package/dist/visualization.es96.js.map +1 -1
- package/dist/visualization.es97.js +5 -76
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +5 -25
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +25 -84
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,127 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const {
|
|
81
|
-
data: a,
|
|
82
|
-
numRows: r,
|
|
83
|
-
binWidth: i,
|
|
84
|
-
binHeight: l,
|
|
85
|
-
yMax: c
|
|
86
|
-
} = t;
|
|
87
|
-
if (o < 0 || n < 0) return null;
|
|
88
|
-
const u = Math.floor(o / i), e = Math.floor((c - n) / l);
|
|
89
|
-
return u < 0 || u >= a.length || e < 0 || e >= r || !a[u]?.rows[e] ? null : {
|
|
90
|
-
row: e,
|
|
91
|
-
column: u
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
function k(t, o) {
|
|
95
|
-
const n = t.data[o.column], a = n?.rows[o.row];
|
|
96
|
-
if (!n || !a) return null;
|
|
97
|
-
const r = a.count, i = r == null ? void 0 : t.colorScale(r), l = x(t, o.column, o.row), c = {
|
|
98
|
-
bin: a,
|
|
99
|
-
row: o.row,
|
|
100
|
-
column: o.column,
|
|
101
|
-
datum: n,
|
|
102
|
-
gap: t.gap,
|
|
103
|
-
count: r,
|
|
104
|
-
color: i,
|
|
105
|
-
opacity: r == null ? void 0 : 1
|
|
106
|
-
};
|
|
107
|
-
return l.isRect ? {
|
|
108
|
-
...c,
|
|
109
|
-
x: l.x,
|
|
110
|
-
y: l.y,
|
|
111
|
-
width: l.width,
|
|
112
|
-
height: l.height
|
|
113
|
-
} : {
|
|
114
|
-
...c,
|
|
115
|
-
cx: l.cx,
|
|
116
|
-
cy: l.cy,
|
|
117
|
-
r: l.r,
|
|
118
|
-
radius: l.radius
|
|
119
|
-
};
|
|
120
|
-
}
|
|
1
|
+
import { jsxs as U, jsx as X } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as Y, useEffect as k, useCallback as l } from "react";
|
|
3
|
+
import { drawHeatmapCells as q } from "./visualization.es121.js";
|
|
4
|
+
const m = (c, o, e) => Math.min(Math.max(c, o), e), J = ({
|
|
5
|
+
canvasCellParams: c,
|
|
6
|
+
xMax: o,
|
|
7
|
+
yMax: e,
|
|
8
|
+
viewportWidth: a,
|
|
9
|
+
viewportHeight: s,
|
|
10
|
+
scrollLeft: b,
|
|
11
|
+
scrollTop: P,
|
|
12
|
+
width: i,
|
|
13
|
+
height: d,
|
|
14
|
+
onNavigate: f,
|
|
15
|
+
onCanvasClick: R,
|
|
16
|
+
onReady: g
|
|
17
|
+
}) => {
|
|
18
|
+
const D = Y(null), n = o > 0 ? i / o : 0, r = e > 0 ? d / e : 0, S = Y(g);
|
|
19
|
+
S.current = g, k(() => {
|
|
20
|
+
const t = D.current;
|
|
21
|
+
if (!t || n <= 0 || r <= 0) return;
|
|
22
|
+
const u = requestAnimationFrame(() => {
|
|
23
|
+
const p = t.getContext("2d");
|
|
24
|
+
if (!p) return;
|
|
25
|
+
const I = window.devicePixelRatio || 1;
|
|
26
|
+
p.setTransform(I * n, 0, 0, I * r, 0, 0), p.clearRect(0, 0, o, e);
|
|
27
|
+
const M = {
|
|
28
|
+
colStart: 0,
|
|
29
|
+
colEnd: Math.max(0, c.data.length - 1),
|
|
30
|
+
rowStart: 0,
|
|
31
|
+
rowEnd: Math.max(0, c.numRows - 1)
|
|
32
|
+
};
|
|
33
|
+
q(p, c, M, null), S.current?.();
|
|
34
|
+
});
|
|
35
|
+
return () => cancelAnimationFrame(u);
|
|
36
|
+
}, [c, o, e, n, r]);
|
|
37
|
+
const T = l((t, u) => {
|
|
38
|
+
f(m(t - a / 2, 0, Math.max(0, o - a)), m(u - s / 2, 0, Math.max(0, e - s)));
|
|
39
|
+
}, [f, a, s, o, e]), h = l((t) => {
|
|
40
|
+
if (R) {
|
|
41
|
+
R();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (n <= 0 || r <= 0) return;
|
|
45
|
+
const u = t.currentTarget.getBoundingClientRect();
|
|
46
|
+
T((t.clientX - u.left) / n, (t.clientY - u.top) / r);
|
|
47
|
+
}, [R, T, n, r]), j = l((t) => {
|
|
48
|
+
t.stopPropagation(), t.currentTarget.setPointerCapture(t.pointerId);
|
|
49
|
+
}, []), x = l((t) => {
|
|
50
|
+
n <= 0 || r <= 0 || !t.currentTarget.hasPointerCapture(t.pointerId) || f(m(b + t.movementX / n, 0, Math.max(0, o - a)), m(P + t.movementY / r, 0, Math.max(0, e - s)));
|
|
51
|
+
}, [b, P, n, r, o, e, a, s, f]), z = l((t) => {
|
|
52
|
+
t.currentTarget.releasePointerCapture(t.pointerId);
|
|
53
|
+
}, []), C = m(b * n, 0, i), E = m(P * r, 0, d), A = Math.max(0, Math.min(a * n, i - C)), F = Math.max(0, Math.min(s * r, d - E));
|
|
54
|
+
return /* @__PURE__ */ U("div", { style: {
|
|
55
|
+
position: "relative",
|
|
56
|
+
width: i,
|
|
57
|
+
height: d
|
|
58
|
+
}, children: [
|
|
59
|
+
/* @__PURE__ */ X("canvas", { ref: D, width: i * (window.devicePixelRatio || 1), height: d * (window.devicePixelRatio || 1), style: {
|
|
60
|
+
width: i,
|
|
61
|
+
height: d,
|
|
62
|
+
display: "block",
|
|
63
|
+
cursor: "pointer",
|
|
64
|
+
border: "1px solid #d5d5d5",
|
|
65
|
+
boxSizing: "border-box"
|
|
66
|
+
}, onPointerDown: h }),
|
|
67
|
+
/* @__PURE__ */ X("div", { onPointerDown: j, onPointerMove: x, onPointerUp: z, style: {
|
|
68
|
+
position: "absolute",
|
|
69
|
+
left: C,
|
|
70
|
+
top: E,
|
|
71
|
+
width: A,
|
|
72
|
+
height: F,
|
|
73
|
+
border: "2px solid #0d0f98",
|
|
74
|
+
backgroundColor: "rgba(13, 15, 152, 0.15)",
|
|
75
|
+
cursor: "grab",
|
|
76
|
+
boxSizing: "border-box"
|
|
77
|
+
} })
|
|
78
|
+
] });
|
|
79
|
+
};
|
|
121
80
|
export {
|
|
122
|
-
|
|
123
|
-
C as drawHeatmapCells,
|
|
124
|
-
W as getVisibleRange,
|
|
125
|
-
P as hitTestCell
|
|
81
|
+
J as default
|
|
126
82
|
};
|
|
127
83
|
//# sourceMappingURL=visualization.es122.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es122.js","sources":["../src/components/Heatmap/HeatmapCanvasCells.ts"],"sourcesContent":["import type { ColumnDatum, HeatmapCellId } from \"./types\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport { cellKey, resolveCellAppearance } from \"./heatmapCellAppearance\";\n\n/**\n * Everything the canvas draw loop and hit-testing need to place a cell exactly where the SVG\n * path (HeatmapCells.tsx, via @visx/heatmap's HeatmapRect/HeatmapCircle) would. xScale/cellYScale\n * are the same functions Heatmap.tsx already builds and passes to HeatmapCells.\n */\nexport interface CanvasCellParams {\n data: ColumnDatum[];\n numRows: number;\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n colorScale: (count: number) => string | undefined;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n yMax: number;\n selectedKeys: Set<string> | null;\n deselectedColor: string;\n}\n\nexport interface CanvasDrawRange {\n colStart: number;\n colEnd: number;\n rowStart: number;\n rowEnd: number;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Mirrors @visx/heatmap's HeatmapRect/HeatmapCircle bin geometry exactly (see their source:\n// node_modules/@visx/heatmap/lib/heatmaps/{HeatmapRect,HeatmapCircle}.js) so canvas-drawn cells\n// land on the same pixels the SVG path (export, non-scrollable mode) would draw them at. The\n// circle center's x mirrors HeatmapCell.tsx's own recomputation (col*binWidth + binWidth/2)\n// rather than @visx/heatmap's raw cx, for the same reason that file does it: keeps circles\n// centered in their cell regardless of the configured radius.\ntype CellGeometry =\n | { isRect: true; x: number; y: number; width: number; height: number }\n | { isRect: false; cx: number; cy: number; r: number; radius: number };\n\nfunction getCellGeometry(params: CanvasCellParams, col: number, row: number): CellGeometry {\n const { xScale, cellYScale, gap, isRect, binWidth, binHeight } = params;\n if (isRect) {\n return { isRect: true, x: xScale(col), y: cellYScale(row) + gap, width: binWidth - gap, height: binHeight - gap };\n }\n const radius = Math.min(binWidth, binHeight) / 2;\n return { isRect: false, cx: col * binWidth + binWidth / 2, cy: cellYScale(row) + gap + radius, r: radius - gap, radius };\n}\n\n/**\n * Column/row index bounds (inclusive) that intersect the given scroll viewport, plus a small\n * overscan so a cell is already drawn just before it scrolls into view rather than popping in a\n * frame late. Row bounds are derived from cellYScale's own convention (row 0 at the bottom of\n * the grid, row numRows-1 at the top): a cell at row r occupies content-y band\n * [yMax-(r+1)*binHeight, yMax-r*binHeight), so the row under a given y is\n * floor((yMax-y)/binHeight).\n */\nexport function getVisibleRange(\n params: CanvasCellParams,\n scrollLeft: number,\n scrollTop: number,\n viewportWidth: number,\n viewportHeight: number,\n overscan: number\n): CanvasDrawRange {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n return {\n colStart: clamp(Math.floor(scrollLeft / binWidth) - overscan, 0, Math.max(0, data.length - 1)),\n colEnd: clamp(Math.ceil((scrollLeft + viewportWidth) / binWidth) + overscan, 0, Math.max(0, data.length - 1)),\n rowStart: clamp(Math.floor((yMax - (scrollTop + viewportHeight)) / binHeight) - overscan, 0, Math.max(0, numRows - 1)),\n rowEnd: clamp(Math.floor((yMax - scrollTop) / binHeight) + overscan, 0, Math.max(0, numRows - 1)),\n };\n}\n\n/** Paints the cells in `range` onto `ctx`, whose origin is already at content-space (0,0). */\nexport function drawHeatmapCells(\n ctx: CanvasRenderingContext2D,\n params: CanvasCellParams,\n range: CanvasDrawRange,\n hoveredCell: HeatmapCellId | null\n) {\n const { data, colorScale, selectedKeys, deselectedColor } = params;\n // fillStyle/globalAlpha assignment forces the browser to re-parse the CSS color string even\n // when it's unchanged from the previous cell - skipping redundant writes matters at this scale\n // (this loop runs per-cell, up to hundreds of thousands of times for the minimap's full-dataset\n // draw). Rects also use fillRect directly (no beginPath/rect/fill trio) since it's a faster\n // native path for solid fills; a path is only built for a cell when it's the hovered one, so\n // its outline can still be stroked.\n let lastFill: string | null = null;\n let lastAlpha = -1;\n for (let col = range.colStart; col <= range.colEnd; col++) {\n const columnDatum = data[col];\n if (!columnDatum) continue;\n for (let row = range.rowStart; row <= range.rowEnd; row++) {\n const rowDatum = columnDatum.rows[row];\n if (!rowDatum) continue;\n const count = rowDatum.count;\n const color = count == null ? undefined : colorScale(count);\n const isDeselected = !!selectedKeys && !selectedKeys.has(cellKey({ row, column: col }));\n const { fill, fillOpacity } = resolveCellAppearance(count, color, isDeselected, deselectedColor);\n if (fillOpacity <= 0) continue;\n\n const geometry = getCellGeometry(params, col, row);\n if (fillOpacity !== lastAlpha) {\n ctx.globalAlpha = fillOpacity;\n lastAlpha = fillOpacity;\n }\n if (fill !== lastFill) {\n ctx.fillStyle = fill;\n lastFill = fill;\n }\n\n const isHovered = hoveredCell !== null && hoveredCell.row === row && hoveredCell.column === col;\n if (geometry.isRect) {\n const width = Math.max(geometry.width, 0);\n const height = Math.max(geometry.height, 0);\n ctx.fillRect(geometry.x, geometry.y, width, height);\n if (isHovered) {\n ctx.beginPath();\n ctx.rect(geometry.x, geometry.y, width, height);\n }\n } else {\n ctx.beginPath();\n ctx.arc(geometry.cx, geometry.cy, Math.max(geometry.r, 0), 0, Math.PI * 2);\n ctx.fill();\n }\n\n if (isHovered) {\n ctx.globalAlpha = 1;\n lastAlpha = 1;\n ctx.lineWidth = 2;\n ctx.strokeStyle = fill;\n ctx.stroke();\n }\n }\n }\n ctx.globalAlpha = 1;\n}\n\n/** Content-space (post-scroll-offset) coordinates -> the cell under them, or null if none. */\nexport function hitTestCell(params: CanvasCellParams, contentX: number, contentY: number): HeatmapCellId | null {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n if (contentX < 0 || contentY < 0) return null;\n const column = Math.floor(contentX / binWidth);\n const row = Math.floor((yMax - contentY) / binHeight);\n if (column < 0 || column >= data.length || row < 0 || row >= numRows) return null;\n if (!data[column]?.rows[row]) return null;\n return { row, column };\n}\n\n/** Builds the same bin shape @visx/heatmap's RectCell/CircleCell provide, for onClick/tooltipBody. */\nexport function buildBin(params: CanvasCellParams, cell: HeatmapCellId): AnyBin | null {\n const columnDatum = params.data[cell.column];\n const rowDatum = columnDatum?.rows[cell.row];\n if (!columnDatum || !rowDatum) return null;\n\n const count = rowDatum.count;\n const color = count == null ? undefined : params.colorScale(count);\n const geometry = getCellGeometry(params, cell.column, cell.row);\n const shared = { bin: rowDatum, row: cell.row, column: cell.column, datum: columnDatum, gap: params.gap, count, color, opacity: count == null ? undefined : 1 };\n\n return geometry.isRect\n ? ({ ...shared, x: geometry.x, y: geometry.y, width: geometry.width, height: geometry.height } as AnyBin)\n : ({ ...shared, cx: geometry.cx, cy: geometry.cy, r: geometry.r, radius: geometry.radius } as AnyBin);\n}\n"],"names":["clamp","value","min","max","Math","getCellGeometry","params","col","row","xScale","cellYScale","gap","isRect","binWidth","binHeight","x","y","width","height","radius","cx","cy","r","getVisibleRange","scrollLeft","scrollTop","viewportWidth","viewportHeight","overscan","data","numRows","yMax","colStart","floor","length","colEnd","ceil","rowStart","rowEnd","drawHeatmapCells","ctx","range","hoveredCell","colorScale","selectedKeys","deselectedColor","lastFill","lastAlpha","columnDatum","rowDatum","rows","count","color","undefined","isDeselected","has","cellKey","column","fill","fillOpacity","resolveCellAppearance","geometry","globalAlpha","fillStyle","isHovered","fillRect","beginPath","rect","arc","PI","lineWidth","strokeStyle","stroke","hitTestCell","contentX","contentY","buildBin","cell","shared","bin","datum","opacity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es122.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { drawHeatmapCells, type CanvasCellParams } from \"../HeatmapCanvasCells\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n /** Fires after each draw completes, so a caller (e.g. the expanded popup) can show its own\n * loading state for the full-dataset draw without this component needing to know about it. */\n onReady?: () => void;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n onReady,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n // Read via a ref rather than as an effect dependency below - onReady is commonly passed as an\n // inline arrow function, and putting it in the deps array would re-trigger (and re-run) the\n // draw effect on every parent render instead of only when the drawable content actually changes.\n const onReadyRef = useRef(onReady);\n onReadyRef.current = onReady;\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || scaleX <= 0 || scaleY <= 0) return;\n // The full-dataset draw below is synchronous and can take a while for large grids (the\n // minimap has no windowing, unlike the main grid). Deferring it a frame lets the surrounding\n // UI - the expanded popup's backdrop, border, and title bar - paint first, so opening the\n // minimap feels immediate instead of the whole popup appearing to hang.\n const raf = requestAnimationFrame(() => {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n const dpr = window.devicePixelRatio || 1;\n ctx.setTransform(dpr * scaleX, 0, 0, dpr * scaleY, 0, 0);\n ctx.clearRect(0, 0, xMax, yMax);\n const range = {\n colStart: 0,\n colEnd: Math.max(0, canvasCellParams.data.length - 1),\n rowStart: 0,\n rowEnd: Math.max(0, canvasCellParams.numRows - 1),\n };\n drawHeatmapCells(ctx, canvasCellParams, range, null);\n onReadyRef.current?.();\n });\n return () => cancelAnimationFrame(raf);\n }, [canvasCellParams, xMax, yMax, scaleX, scaleY]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n const handleRectPointerDown = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n }, []);\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n if (scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(scrollLeft + event.movementX / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(scrollTop + event.movementY / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scrollLeft, scrollTop, scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n }, []);\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","HeatmapMiniMap","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","onReady","canvasRef","useRef","scaleX","scaleY","onReadyRef","current","useEffect","canvas","raf","requestAnimationFrame","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","range","colStart","colEnd","data","length","rowStart","rowEnd","numRows","drawHeatmapCells","cancelAnimationFrame","navigateCentered","useCallback","contentX","contentY","handleCanvasPointerDown","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","handleRectPointerDown","stopPropagation","setPointerCapture","pointerId","handleRectPointerMove","hasPointerCapture","movementX","movementY","handleRectPointerUp","releasePointerCapture","rectLeft","rectTop","rectWidth","rectHeight","jsxs","position","jsx","display","cursor","border","boxSizing","backgroundColor"],"mappings":";;;AAoBA,MAAMA,IAAQA,CAACC,GAAeC,GAAaC,MAAgBC,KAAKF,IAAIE,KAAKD,IAAIF,GAAOC,CAAG,GAAGC,CAAG,GAEvFE,IAAiBA,CAAC;AAAA,EACtBC,kBAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,SAAAA;AACmB,MAAM;AACzB,QAAMC,IAAYC,EAAiC,IAAI,GACjDC,IAASb,IAAO,IAAIM,IAAQN,IAAO,GACnCc,IAASb,IAAO,IAAIM,IAASN,IAAO,GAKpCc,IAAaH,EAAOF,CAAO;AACjCK,EAAAA,EAAWC,UAAUN,GAErBO,EAAU,MAAM;AACd,UAAMC,IAASP,EAAUK;AACzB,QAAI,CAACE,KAAUL,KAAU,KAAKC,KAAU,EAAG;AAK3C,UAAMK,IAAMC,sBAAsB,MAAM;AACtC,YAAMC,IAAMH,EAAOI,WAAW,IAAI;AAClC,UAAI,CAACD,EAAK;AACV,YAAME,IAAMC,OAAOC,oBAAoB;AACvCJ,MAAAA,EAAIK,aAAaH,IAAMV,GAAQ,GAAG,GAAGU,IAAMT,GAAQ,GAAG,CAAC,GACvDO,EAAIM,UAAU,GAAG,GAAG3B,GAAMC,CAAI;AAC9B,YAAM2B,IAAQ;AAAA,QACZC,UAAU;AAAA,QACVC,QAAQjC,KAAKD,IAAI,GAAGG,EAAiBgC,KAAKC,SAAS,CAAC;AAAA,QACpDC,UAAU;AAAA,QACVC,QAAQrC,KAAKD,IAAI,GAAGG,EAAiBoC,UAAU,CAAC;AAAA,MAAA;AAElDC,MAAAA,EAAiBf,GAAKtB,GAAkB6B,GAAO,IAAI,GACnDb,EAAWC,UAAAA;AAAAA,IACb,CAAC;AACD,WAAO,MAAMqB,qBAAqBlB,CAAG;AAAA,EACvC,GAAG,CAACpB,GAAkBC,GAAMC,GAAMY,GAAQC,CAAM,CAAC;AAEjD,QAAMwB,IAAmBC,EACvB,CAACC,GAAkBC,MAAqB;AACtCjC,IAAAA,EACEf,EAAM+C,IAAWtC,IAAgB,GAAG,GAAGL,KAAKD,IAAI,GAAGI,IAAOE,CAAa,CAAC,GACxET,EAAMgD,IAAWtC,IAAiB,GAAG,GAAGN,KAAKD,IAAI,GAAGK,IAAOE,CAAc,CAAC,CAC5E;AAAA,EACF,GACA,CAACK,GAAYN,GAAeC,GAAgBH,GAAMC,CAAI,CACxD,GAEMyC,IAA0BH,EAC9B,CAACI,MAAiD;AAChD,QAAIlC,GAAe;AACjBA,MAAAA,EAAAA;AACA;AAAA,IACF;AACA,QAAII,KAAU,KAAKC,KAAU,EAAG;AAChC,UAAM8B,IAAOD,EAAME,cAAcC,sBAAAA;AACjCR,IAAAA,GAAkBK,EAAMI,UAAUH,EAAKI,QAAQnC,IAAS8B,EAAMM,UAAUL,EAAKM,OAAOpC,CAAM;AAAA,EAC5F,GACA,CAACL,GAAe6B,GAAkBzB,GAAQC,CAAM,CAClD,GAEMqC,IAAwBZ,EAAY,CAACI,MAA8C;AACvFA,IAAAA,EAAMS,gBAAAA,GACNT,EAAME,cAAcQ,kBAAkBV,EAAMW,SAAS;AAAA,EACvD,GAAG,CAAA,CAAE,GAECC,IAAwBhB,EAC5B,CAACI,MAA8C;AAC7C,IAAI9B,KAAU,KAAKC,KAAU,KAAK,CAAC6B,EAAME,cAAcW,kBAAkBb,EAAMW,SAAS,KACxF9C,EACEf,EAAMW,IAAauC,EAAMc,YAAY5C,GAAQ,GAAGhB,KAAKD,IAAI,GAAGI,IAAOE,CAAa,CAAC,GACjFT,EAAMY,IAAYsC,EAAMe,YAAY5C,GAAQ,GAAGjB,KAAKD,IAAI,GAAGK,IAAOE,CAAc,CAAC,CACnF;AAAA,EACF,GACA,CAACC,GAAYC,GAAWQ,GAAQC,GAAQd,GAAMC,GAAMC,GAAeC,GAAgBK,CAAU,CAC/F,GAEMmD,IAAsBpB,EAAY,CAACI,MAA8C;AACrFA,IAAAA,EAAME,cAAce,sBAAsBjB,EAAMW,SAAS;AAAA,EAC3D,GAAG,CAAA,CAAE,GAECO,IAAWpE,EAAMW,IAAaS,GAAQ,GAAGP,CAAK,GAC9CwD,IAAUrE,EAAMY,IAAYS,GAAQ,GAAGP,CAAM,GAC7CwD,IAAYlE,KAAKD,IAAI,GAAGC,KAAKF,IAAIO,IAAgBW,GAAQP,IAAQuD,CAAQ,CAAC,GAC1EG,IAAanE,KAAKD,IAAI,GAAGC,KAAKF,IAAIQ,IAAiBW,GAAQP,IAASuD,CAAO,CAAC;AAElF,SACE,gBAAAG,EAAC,SAAI,OAAO;AAAA,IAAEC,UAAU;AAAA,IAAY5D,OAAAA;AAAAA,IAAOC,QAAAA;AAAAA,EAAAA,GACzC,UAAA;AAAA,IAAA,gBAAA4D,EAAC,UAAA,EACC,KAAKxD,GACL,OAAOL,KAASkB,OAAOC,oBAAoB,IAC3C,QAAQlB,KAAUiB,OAAOC,oBAAoB,IAC7C,OAAO;AAAA,MAAEnB,OAAAA;AAAAA,MAAOC,QAAAA;AAAAA,MAAQ6D,SAAS;AAAA,MAASC,QAAQ;AAAA,MAAWC,QAAQ;AAAA,MAAqBC,WAAW;AAAA,IAAA,GACrG,eAAe7B,GAAwB;AAAA,IAEzC,gBAAAyB,EAAC,SACC,eAAehB,GACf,eAAeI,GACf,aAAaI,GACb,OAAO;AAAA,MACLO,UAAU;AAAA,MACVlB,MAAMa;AAAAA,MACNX,KAAKY;AAAAA,MACLxD,OAAOyD;AAAAA,MACPxD,QAAQyD;AAAAA,MACRM,QAAQ;AAAA,MACRE,iBAAiB;AAAA,MACjBH,QAAQ;AAAA,MACRE,WAAW;AAAA,IAAA,EACb,CAAE;AAAA,EAAA,GAEN;AAEJ;"}
|
|
@@ -1,83 +1,159 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return () => cancelAnimationFrame(u);
|
|
36
|
-
}, [c, o, e, n, r]);
|
|
37
|
-
const T = l((t, u) => {
|
|
38
|
-
f(m(t - a / 2, 0, Math.max(0, o - a)), m(u - s / 2, 0, Math.max(0, e - s)));
|
|
39
|
-
}, [f, a, s, o, e]), h = l((t) => {
|
|
40
|
-
if (R) {
|
|
41
|
-
R();
|
|
1
|
+
import { jsx as o, jsxs as S } from "react/jsx-runtime";
|
|
2
|
+
import { c as T } from "react/compiler-runtime";
|
|
3
|
+
import { useRef as D, useEffect as W, useState as j } from "react";
|
|
4
|
+
import { createPortal as G } from "react-dom";
|
|
5
|
+
import V from "./visualization.es122.js";
|
|
6
|
+
const B = 94, K = 90, N = 16, X = 2147483647, Y = (k) => {
|
|
7
|
+
const e = T(31);
|
|
8
|
+
let n, r, t;
|
|
9
|
+
e[0] !== k ? ({
|
|
10
|
+
onClose: t,
|
|
11
|
+
containerRef: n,
|
|
12
|
+
...r
|
|
13
|
+
} = k, e[0] = k, e[1] = n, e[2] = r, e[3] = t) : (n = e[1], r = e[2], t = e[3]);
|
|
14
|
+
const z = D(null);
|
|
15
|
+
let h, u;
|
|
16
|
+
e[4] !== n || e[5] !== t ? (h = () => {
|
|
17
|
+
const c = (m) => {
|
|
18
|
+
const p = m.target;
|
|
19
|
+
n.current?.contains(p) || z.current?.contains(p) || t();
|
|
20
|
+
}, f = (m) => {
|
|
21
|
+
m.key === "Escape" && t();
|
|
22
|
+
};
|
|
23
|
+
return document.addEventListener("pointerdown", c), document.addEventListener("keydown", f), () => {
|
|
24
|
+
document.removeEventListener("pointerdown", c), document.removeEventListener("keydown", f);
|
|
25
|
+
};
|
|
26
|
+
}, u = [n, t], e[4] = n, e[5] = t, e[6] = h, e[7] = u) : (h = e[6], u = e[7]), W(h, u);
|
|
27
|
+
const [i, C] = j(null), [E, A] = j(!1);
|
|
28
|
+
let y;
|
|
29
|
+
e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = () => A(!0), e[8] = y) : y = e[8];
|
|
30
|
+
const L = y, H = D(null);
|
|
31
|
+
let b;
|
|
32
|
+
e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = (c) => {
|
|
33
|
+
if (H.current?.disconnect(), H.current = null, !c) {
|
|
34
|
+
C(null);
|
|
42
35
|
return;
|
|
43
36
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
37
|
+
const f = new ResizeObserver((m) => {
|
|
38
|
+
const [p] = m;
|
|
39
|
+
if (!p)
|
|
40
|
+
return;
|
|
41
|
+
const {
|
|
42
|
+
width: U,
|
|
43
|
+
height: $
|
|
44
|
+
} = p.contentRect;
|
|
45
|
+
C({
|
|
46
|
+
width: Math.floor(U),
|
|
47
|
+
height: Math.floor($)
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
f.observe(c), H.current = f;
|
|
51
|
+
}, e[9] = b) : b = e[9];
|
|
52
|
+
const O = b;
|
|
53
|
+
let g, _;
|
|
54
|
+
e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = {
|
|
55
|
+
position: "fixed",
|
|
56
|
+
inset: 0,
|
|
57
|
+
zIndex: X,
|
|
58
|
+
background: "rgba(0,0,0,0.45)",
|
|
59
|
+
display: "flex",
|
|
60
|
+
alignItems: "center",
|
|
61
|
+
justifyContent: "center"
|
|
62
|
+
}, _ = /* @__PURE__ */ o("style", { children: "@keyframes heatmapMiniMapSpinnerRotate { to { transform: rotate(360deg); } }" }), e[10] = g, e[11] = _) : (g = e[10], _ = e[11]);
|
|
63
|
+
let x, v, P;
|
|
64
|
+
e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
55
65
|
position: "relative",
|
|
56
|
-
width:
|
|
57
|
-
height:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
66
|
+
width: `${B}vw`,
|
|
67
|
+
height: `${K}vh`,
|
|
68
|
+
boxSizing: "border-box",
|
|
69
|
+
display: "flex",
|
|
70
|
+
flexDirection: "column",
|
|
71
|
+
background: "#fff",
|
|
72
|
+
border: "1px solid #d5d5d5",
|
|
73
|
+
borderRadius: 8,
|
|
74
|
+
boxShadow: "0 8px 32px rgba(0,0,0,0.25)",
|
|
75
|
+
overflow: "hidden"
|
|
76
|
+
}, v = {
|
|
77
|
+
flexShrink: 0,
|
|
78
|
+
display: "flex",
|
|
79
|
+
alignItems: "center",
|
|
80
|
+
justifyContent: "space-between",
|
|
81
|
+
padding: `10px ${N}px`,
|
|
82
|
+
background: "#f7f7f8",
|
|
83
|
+
borderBottom: "1px solid #e5e5e5"
|
|
84
|
+
}, P = /* @__PURE__ */ o("span", { style: {
|
|
85
|
+
fontSize: 14,
|
|
86
|
+
fontWeight: 600,
|
|
87
|
+
color: "#333"
|
|
88
|
+
}, children: "Minimap" }), e[12] = x, e[13] = v, e[14] = P) : (x = e[12], v = e[13], P = e[14]);
|
|
89
|
+
let M;
|
|
90
|
+
e[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (M = {
|
|
91
|
+
width: 26,
|
|
92
|
+
height: 26,
|
|
93
|
+
display: "flex",
|
|
94
|
+
alignItems: "center",
|
|
95
|
+
justifyContent: "center",
|
|
96
|
+
padding: 0,
|
|
97
|
+
border: "none",
|
|
98
|
+
borderRadius: "50%",
|
|
99
|
+
background: "#fff",
|
|
100
|
+
color: "#555",
|
|
101
|
+
fontSize: 16,
|
|
102
|
+
lineHeight: 1,
|
|
103
|
+
cursor: "pointer"
|
|
104
|
+
}, e[15] = M) : M = e[15];
|
|
105
|
+
let l;
|
|
106
|
+
e[16] !== t ? (l = /* @__PURE__ */ S("div", { style: v, children: [
|
|
107
|
+
P,
|
|
108
|
+
/* @__PURE__ */ o("button", { type: "button", "aria-label": "Close expanded minimap", onClick: t, style: M, children: "×" })
|
|
109
|
+
] }), e[16] = t, e[17] = l) : l = e[17];
|
|
110
|
+
let w;
|
|
111
|
+
e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (w = {
|
|
112
|
+
flex: 1,
|
|
113
|
+
minHeight: 0,
|
|
114
|
+
display: "flex",
|
|
115
|
+
padding: N
|
|
116
|
+
}, e[18] = w) : w = e[18];
|
|
117
|
+
let I;
|
|
118
|
+
e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (I = {
|
|
119
|
+
flex: 1,
|
|
120
|
+
minHeight: 0,
|
|
121
|
+
position: "relative"
|
|
122
|
+
}, e[19] = I) : I = e[19];
|
|
123
|
+
let s;
|
|
124
|
+
e[20] !== E ? (s = !E && /* @__PURE__ */ o("div", { "aria-label": "Loading minimap", style: {
|
|
125
|
+
position: "absolute",
|
|
126
|
+
inset: 0,
|
|
127
|
+
zIndex: 1,
|
|
128
|
+
display: "flex",
|
|
129
|
+
alignItems: "center",
|
|
130
|
+
justifyContent: "center",
|
|
131
|
+
pointerEvents: "none"
|
|
132
|
+
}, children: /* @__PURE__ */ o("div", { style: {
|
|
133
|
+
width: 40,
|
|
134
|
+
height: 40,
|
|
135
|
+
borderRadius: "50%",
|
|
136
|
+
border: "4px solid #e5e5e5",
|
|
137
|
+
borderTopColor: "#0d0f98",
|
|
138
|
+
animation: "heatmapMiniMapSpinnerRotate 0.8s linear infinite"
|
|
139
|
+
} }) }), e[20] = E, e[21] = s) : s = e[21];
|
|
140
|
+
let a;
|
|
141
|
+
e[22] !== r || e[23] !== i ? (a = i && i.width > 0 && i.height > 0 && /* @__PURE__ */ o(V, { ...r, width: i.width, height: i.height, onReady: L }), e[22] = r, e[23] = i, e[24] = a) : a = e[24];
|
|
142
|
+
let d;
|
|
143
|
+
e[25] !== s || e[26] !== a ? (d = /* @__PURE__ */ o("div", { style: w, children: /* @__PURE__ */ S("div", { ref: O, style: I, children: [
|
|
144
|
+
s,
|
|
145
|
+
a
|
|
146
|
+
] }) }), e[25] = s, e[26] = a, e[27] = d) : d = e[27];
|
|
147
|
+
let R;
|
|
148
|
+
return e[28] !== l || e[29] !== d ? (R = G(/* @__PURE__ */ S("div", { style: g, children: [
|
|
149
|
+
_,
|
|
150
|
+
/* @__PURE__ */ S("div", { ref: z, style: x, children: [
|
|
151
|
+
l,
|
|
152
|
+
d
|
|
153
|
+
] })
|
|
154
|
+
] }), document.body), e[28] = l, e[29] = d, e[30] = R) : R = e[30], R;
|
|
79
155
|
};
|
|
80
156
|
export {
|
|
81
|
-
|
|
157
|
+
Y as default
|
|
82
158
|
};
|
|
83
159
|
//# sourceMappingURL=visualization.es123.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es123.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { drawHeatmapCells, type CanvasCellParams } from \"../HeatmapCanvasCells\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n /** Fires after each draw completes, so a caller (e.g. the expanded popup) can show its own\n * loading state for the full-dataset draw without this component needing to know about it. */\n onReady?: () => void;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n onReady,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n // Read via a ref rather than as an effect dependency below - onReady is commonly passed as an\n // inline arrow function, and putting it in the deps array would re-trigger (and re-run) the\n // draw effect on every parent render instead of only when the drawable content actually changes.\n const onReadyRef = useRef(onReady);\n onReadyRef.current = onReady;\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || scaleX <= 0 || scaleY <= 0) return;\n // The full-dataset draw below is synchronous and can take a while for large grids (the\n // minimap has no windowing, unlike the main grid). Deferring it a frame lets the surrounding\n // UI - the expanded popup's backdrop, border, and title bar - paint first, so opening the\n // minimap feels immediate instead of the whole popup appearing to hang.\n const raf = requestAnimationFrame(() => {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n const dpr = window.devicePixelRatio || 1;\n ctx.setTransform(dpr * scaleX, 0, 0, dpr * scaleY, 0, 0);\n ctx.clearRect(0, 0, xMax, yMax);\n const range = {\n colStart: 0,\n colEnd: Math.max(0, canvasCellParams.data.length - 1),\n rowStart: 0,\n rowEnd: Math.max(0, canvasCellParams.numRows - 1),\n };\n drawHeatmapCells(ctx, canvasCellParams, range, null);\n onReadyRef.current?.();\n });\n return () => cancelAnimationFrame(raf);\n }, [canvasCellParams, xMax, yMax, scaleX, scaleY]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n const handleRectPointerDown = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n }, []);\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n if (scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(scrollLeft + event.movementX / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(scrollTop + event.movementY / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scrollLeft, scrollTop, scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n }, []);\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","HeatmapMiniMap","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","onReady","canvasRef","useRef","scaleX","scaleY","onReadyRef","current","useEffect","canvas","raf","requestAnimationFrame","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","range","colStart","colEnd","data","length","rowStart","rowEnd","numRows","drawHeatmapCells","cancelAnimationFrame","navigateCentered","useCallback","contentX","contentY","handleCanvasPointerDown","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","handleRectPointerDown","stopPropagation","setPointerCapture","pointerId","handleRectPointerMove","hasPointerCapture","movementX","movementY","handleRectPointerUp","releasePointerCapture","rectLeft","rectTop","rectWidth","rectHeight","jsxs","position","jsx","display","cursor","border","boxSizing","backgroundColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es123.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMapPopup.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type RefObject } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport HeatmapMiniMap, { type HeatmapMiniMapProps } from \"./HeatmapMiniMap\";\n\n// The expanded minimap opens as a viewport-fixed modal sized off the screen, not the plot's own\n// (often much smaller) container - nearly the whole screen, but leaving a visible backdrop margin\n// so it still reads as a popup rather than a page navigation.\nconst MINI_MAP_POPUP_WIDTH_VW = 94;\nconst MINI_MAP_POPUP_HEIGHT_VH = 90;\nconst MINI_MAP_POPUP_PADDING = 16;\n// `position: fixed` only escapes to the viewport if every ancestor is un-transformed; a single\n// transform/filter/will-change/contain anywhere between the heatmap and <body> in a consuming\n// app re-scopes it to that ancestor instead, letting unrelated elements elsewhere on the page\n// stack above it regardless of z-index. Portaling straight to document.body below sidesteps\n// that; the max practical z-index on top of it is belt-and-suspenders against anything else on\n// the host page (app chrome, third-party widgets) that also claims a very high value.\nconst MINI_MAP_POPUP_Z_INDEX = 2147483647;\n\ntype MiniMapPassThroughProps = Omit<HeatmapMiniMapProps, \"width\" | \"height\" | \"onCanvasClick\">;\n\nexport interface HeatmapMiniMapPopupProps extends MiniMapPassThroughProps {\n onClose: () => void;\n /** The inline minimap's own container - counts as \"inside\" for the outside-click check below. */\n containerRef: RefObject<HTMLDivElement | null>;\n}\n\nconst HeatmapMiniMapPopup = ({ onClose, containerRef, ...miniMapProps }: HeatmapMiniMapPopupProps) => {\n // The popup itself lives outside containerRef in the tree (it's positioned relative to the\n // plot's outer container, not the small inline minimap) - both refs count as \"inside\" here.\n const popupRef = useRef<HTMLDivElement | null>(null);\n useEffect(() => {\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node;\n if (containerRef.current?.contains(target) || popupRef.current?.contains(target)) return;\n onClose();\n };\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") onClose();\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [containerRef, onClose]);\n\n // The expanded minimap's canvas needs real pixel dimensions (for dpr scaling), but the popup\n // itself is sized by CSS (vw/vh) against the viewport, which can change as the window resizes\n // while the popup is open - ResizeObserver on the flex-filled area inside it is what actually\n // measures that, rather than computing it from window.innerWidth/innerHeight up front.\n const [size, setSize] = useState<{ width: number; height: number } | null>(null);\n // The minimap draws its entire dataset with no windowing, so for large grids the popup can sit\n // blank for a noticeable moment after opening - a skeleton fills that gap instead of looking\n // like the popup hung. Owned here (not inside HeatmapMiniMap) since only the expanded view is\n // large/slow enough to warrant one; the small always-visible inline minimap doesn't need it.\n const [isReady, setIsReady] = useState(false);\n const handleReady = useCallback(() => setIsReady(true), []);\n const observerRef = useRef<ResizeObserver | null>(null);\n const areaRef = useCallback((node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n if (!node) {\n setSize(null);\n return;\n }\n const observer = new ResizeObserver(([entry]) => {\n if (!entry) return;\n const { width, height } = entry.contentRect;\n setSize({ width: Math.floor(width), height: Math.floor(height) });\n });\n observer.observe(node);\n observerRef.current = observer;\n }, []);\n\n return createPortal(\n <div style={{ position: \"fixed\", inset: 0, zIndex: MINI_MAP_POPUP_Z_INDEX, background: \"rgba(0,0,0,0.45)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <style>{\"@keyframes heatmapMiniMapSpinnerRotate { to { transform: rotate(360deg); } }\"}</style>\n <div\n ref={popupRef}\n style={{\n position: \"relative\",\n width: `${MINI_MAP_POPUP_WIDTH_VW}vw`,\n height: `${MINI_MAP_POPUP_HEIGHT_VH}vh`,\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"#fff\",\n border: \"1px solid #d5d5d5\",\n borderRadius: 8,\n boxShadow: \"0 8px 32px rgba(0,0,0,0.25)\",\n overflow: \"hidden\",\n }}\n >\n {/* A proper title bar, not just a close button floating in extra top padding - its\n horizontal padding matches the body's below so the panel reads as evenly framed. */}\n <div\n style={{\n flexShrink: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: `10px ${MINI_MAP_POPUP_PADDING}px`,\n background: \"#f7f7f8\",\n borderBottom: \"1px solid #e5e5e5\",\n }}\n >\n <span style={{ fontSize: 14, fontWeight: 600, color: \"#333\" }}>Minimap</span>\n <button\n type=\"button\"\n aria-label=\"Close expanded minimap\"\n onClick={onClose}\n style={{\n width: 26,\n height: 26,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: 0,\n border: \"none\",\n borderRadius: \"50%\",\n background: \"#fff\",\n color: \"#555\",\n fontSize: 16,\n lineHeight: 1,\n cursor: \"pointer\",\n }}\n >\n ×\n </button>\n </div>\n <div style={{ flex: 1, minHeight: 0, display: \"flex\", padding: MINI_MAP_POPUP_PADDING }}>\n <div ref={areaRef} style={{ flex: 1, minHeight: 0, position: \"relative\" }}>\n {/* Rendered as soon as the popup mounts, independent of `size` - the area div is\n already laid out by CSS (flex: 1) on this same paint, so the skeleton can fill it\n immediately. Waiting on `size` (the async ResizeObserver round-trip) would leave a\n blank gap before the skeleton itself shows up, which is exactly what it's meant to\n cover. */}\n {!isReady && (\n <div\n aria-label=\"Loading minimap\"\n style={{\n position: \"absolute\",\n inset: 0,\n zIndex: 1,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n }}\n >\n <div\n style={{\n width: 40,\n height: 40,\n borderRadius: \"50%\",\n border: \"4px solid #e5e5e5\",\n // Matches the viewport-rectangle accent color HeatmapMiniMap itself uses.\n borderTopColor: \"#0d0f98\",\n animation: \"heatmapMiniMapSpinnerRotate 0.8s linear infinite\",\n }}\n />\n </div>\n )}\n {size && size.width > 0 && size.height > 0 && (\n <HeatmapMiniMap {...miniMapProps} width={size.width} height={size.height} onReady={handleReady} />\n )}\n </div>\n </div>\n </div>\n </div>,\n document.body\n );\n};\n\nexport default HeatmapMiniMapPopup;\n"],"names":["MINI_MAP_POPUP_WIDTH_VW","MINI_MAP_POPUP_HEIGHT_VH","MINI_MAP_POPUP_PADDING","MINI_MAP_POPUP_Z_INDEX","HeatmapMiniMapPopup","t0","$","_c","containerRef","miniMapProps","onClose","popupRef","useRef","t1","t2","handlePointerDown","event","target","current","contains","handleKeyDown","event_0","key","document","addEventListener","removeEventListener","useEffect","size","setSize","useState","isReady","setIsReady","t3","Symbol","for","handleReady","observerRef","t4","node","disconnect","observer","ResizeObserver","t5","entry","width","height","contentRect","Math","floor","observe","areaRef","t6","position","inset","zIndex","background","display","alignItems","justifyContent","jsx","t7","t8","t9","boxSizing","flexDirection","border","borderRadius","boxShadow","overflow","flexShrink","padding","borderBottom","fontSize","fontWeight","color","t10","lineHeight","cursor","t11","t12","flex","minHeight","t13","t14","pointerEvents","borderTopColor","animation","t15","HeatmapMiniMap","t16","t17","createPortal","jsxs","body"],"mappings":"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"}
|