@weng-lab/visualization 2.4.0-beta.2 → 2.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/helpers.d.ts +3 -1
- package/dist/src/components/ScatterPlot/helpers.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +14 -221
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +32 -2
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +44 -556
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +76 -214
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +25 -2
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +80 -4795
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +36 -25
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +12 -44
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +71 -141
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +30 -144
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +12 -14
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +221 -14
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +2 -58
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +556 -31
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +214 -18
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +2 -14
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +4800 -26
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +25 -32
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +44 -44
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +138 -70
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es12.js +2 -2
- package/dist/visualization.es120.js +146 -24
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +25 -84
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +69 -35
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +2 -2
- package/dist/visualization.es124.js +2 -2
- package/dist/visualization.es127.js +64 -5
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +7 -85
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +5 -90
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +7 -7
- package/dist/visualization.es130.js +42 -12
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +71 -5
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +16 -14
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +12 -7
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +5 -14
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +60 -4
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +37 -6
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +36 -60
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +82 -37
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +26 -34
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es140.js +6 -82
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +4 -28
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es143.js +83 -70
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +89 -16
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +12 -11
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +6 -5
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +11 -15
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +7 -4
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +13 -35
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es15.js +8 -8
- package/dist/visualization.es150.js +73 -8
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +21 -14
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +23 -11
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +40 -5
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +7 -11
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +12 -3
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +18 -2
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +36 -10
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +24 -30
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +27 -42
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es160.js +30 -49
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +8 -3
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +7 -3
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +3 -5
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es164.js +16 -4
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +16 -10
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +32 -3
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +15 -16
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +10 -18
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +6 -36
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es17.js +30 -30
- package/dist/visualization.es17.js.map +1 -1
- package/dist/visualization.es170.js +7 -2
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +11 -2
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +5 -4
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +4 -14
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +9 -3
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +5 -7
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +13 -3
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +26 -6
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +32 -3
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +108 -57
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es18.js +1 -1
- package/dist/visualization.es180.js +4 -7
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +4 -41
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +33 -30
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +15 -7
- 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 +11 -3
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +19 -16
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +27 -16
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +3 -32
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +8 -17
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es190.js +15 -10
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +11 -7
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +5 -6
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +10 -9
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +3 -4
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +2 -5
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +11 -9
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +30 -4
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +42 -12
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +48 -25
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es20.js +31 -62
- package/dist/visualization.es20.js.map +1 -1
- package/dist/visualization.es200.js +3 -20
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +3 -28
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +5 -32
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +4 -114
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +9 -8
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +3 -6
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +17 -7
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +18 -9
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +36 -6
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +2 -7
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +43 -112
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +2 -6
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +4 -15
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +14 -5
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +3 -4
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +7 -7
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +3 -7
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +6 -9
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +9 -3
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +6 -5
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +7 -33
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +7 -147
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +9 -15
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +6 -7
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +5 -10
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +4 -71
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +14 -22
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +5 -22
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +3 -40
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +6 -7
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +6 -12
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +9 -17
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +47 -7
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +74 -36
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +2 -25
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +482 -27
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +2 -75
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +124 -2
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +18 -482
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +4 -2
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +35 -123
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es24.js +33 -7
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es242.js +53 -23
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +31 -53
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +30 -17
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +12 -3
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +3 -3
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +3 -3
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +3 -3
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +3 -3
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +5 -45
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es250.js +3 -3
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +3 -3
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +2 -6
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +6 -47
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +48 -3
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +2 -5
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +6 -4
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +4 -3
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +3 -6
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +6 -4
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +42 -19
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +4 -53
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +23 -31
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +53 -33
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +20 -12
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +7 -10
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +34 -9
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +3 -6
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +3 -8
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +6 -6
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +12 -5
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +8 -5
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +2 -15
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +3 -5
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +3 -6
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +10 -6
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +25 -6
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +4 -3
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +32 -4
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +235 -7
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +992 -21
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +56 -32
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +10 -33
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +29 -34
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +3 -60
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +11 -5
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +36 -14
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +260 -18
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +59 -8
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +5 -7
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +5 -138
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +140 -5
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +6 -3
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +52 -32
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +20 -10
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +37 -36
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +28 -254
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +14 -18
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +18 -25
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +8 -26
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +108 -41
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +12 -19
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +140 -39
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +5 -57
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +12 -12
- package/dist/visualization.es30.js +29 -52
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +71 -22
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +34 -108
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +20 -12
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +3 -141
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +24 -5
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +30 -71
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +2 -36
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +2 -21
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +5 -3
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +15 -25
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +64 -54
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +34 -30
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +28 -2
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +11 -2
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +6 -5
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +13 -14
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +12 -35
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +2 -28
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +3 -11
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +2 -7
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +103 -13
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +61 -42
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +5 -12
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +3 -2
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +19 -3
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +6 -2
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +14 -103
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +4 -4
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +29 -3
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +6 -18
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +2 -6
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +20 -15
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +3 -5
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +21 -5
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +5 -28
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +7 -6
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +19 -2
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +44 -20
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +7 -21
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +19 -5
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +52 -6
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +26 -18
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +11 -44
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +46 -4
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +19 -7
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +10 -18
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +4 -53
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +4 -27
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +4 -11
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +172 -15
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +38 -10
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +5 -4
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +4 -4
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +2 -4
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +4 -18
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +29 -175
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +8 -40
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +10 -5
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +3 -3
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +66 -2
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +7 -30
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +5 -8
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +13 -10
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +34 -3
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +4 -65
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +20 -4
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +10 -7
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +2 -5
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +5 -14
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +2 -35
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +9 -4
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +9 -9
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +13 -2
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +2 -5
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +10 -2
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +7 -9
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +278 -23
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +6 -10
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +25 -13
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +19 -2
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +41 -10
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +3 -8
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +8 -5
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +8 -24
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +36 -19
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +8 -39
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +32 -3
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +18 -30
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +4 -8
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +2 -9
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +14 -34
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +23 -8
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +2 -32
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +62 -4
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +2 -2
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +2 -16
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +5 -24
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +37 -2
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +54 -18701
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +19 -61
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +4 -2
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +5 -2
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +4 -5
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +44 -32
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +26 -20
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +16 -3
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +10 -5
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +19 -4
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +13 -48
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +148 -5
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +3 -26
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +12 -16
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +48 -9
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +5 -19
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +13 -14
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +2 -4
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +7 -13
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +208 -47
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +26 -5
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +3 -12
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +111 -5
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +16 -2
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +15 -7
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +15 -210
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +2 -27
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +2 -4
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +2 -16
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +4 -14
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +2 -15
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +25 -2
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +22 -2
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +7 -59
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +9 -2
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +67 -4
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +6 -2
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +29 -25
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +9 -21
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +6 -9
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +2 -68
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +5 -6
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +26 -29
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +10 -9
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +7 -810
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +27 -6
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +10 -2
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +10 -4
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +2 -26
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +16 -11
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +28 -25
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +26 -10
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +2 -11
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +9 -2
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +13 -16
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +37 -0
- package/dist/visualization.es44.js.map +1 -0
- package/dist/visualization.es440.js +21 -28
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +13 -26
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +3 -2
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +2 -9
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +17 -12
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +3 -22
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +11 -12
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +11 -3
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +7 -2
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +19 -18
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +70 -131
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +22 -3
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +11 -11
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +51 -11
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +17 -6
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +36 -19
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +20 -20
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +29 -9
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +3 -50
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +18 -17
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +14 -36
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +11 -35
- package/dist/visualization.es46.js.map +1 -1
- package/dist/visualization.es460.js +10 -22
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +29 -31
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +6 -4
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +7 -18
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +2 -14
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +16 -10
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +7 -28
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +10 -6
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +615 -7
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +51 -2
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +65 -34
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +13 -17
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +11 -9
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +23 -10
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +32 -613
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +12 -50
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +19 -13
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +26 -11
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +25 -33
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +41 -11
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +20 -2
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +240 -11
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +40 -3
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +58 -3
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +4 -7
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +3 -16
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +7 -2
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +16 -2
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +2 -29
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +2 -120
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +2 -30
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +29 -11
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +96 -54
- package/dist/visualization.es49.js.map +1 -1
- package/dist/visualization.es490.js +119 -13
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +28 -31
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +10 -28
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +13 -10
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +32 -12
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +27 -16
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +9 -22
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +11 -15
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +15 -94
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +20 -25
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +10 -10
- package/dist/visualization.es50.js +28 -44
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +14 -69
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +90 -45
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +23 -29
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +67 -37
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +50 -28
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +35 -7
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +40 -33
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +9 -3
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +9 -3
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +6 -6
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +21 -53
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +8 -12
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +7 -2
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +5 -3
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +14 -3
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +5 -10
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +6 -25
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +6 -4
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +6 -32
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +3 -237
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +4 -992
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +18 -111
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +7 -59
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es522.js +1 -1
- package/dist/visualization.es53.js +20 -7
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es532.js +11 -28
- package/dist/visualization.es532.js.map +1 -1
- package/dist/visualization.es533.js +13 -10
- package/dist/visualization.es533.js.map +1 -1
- package/dist/visualization.es534.js +8 -14
- package/dist/visualization.es534.js.map +1 -1
- package/dist/visualization.es535.js +6 -6
- package/dist/visualization.es535.js.map +1 -1
- package/dist/visualization.es536.js +20 -8
- package/dist/visualization.es536.js.map +1 -1
- package/dist/visualization.es537.js +61 -18
- package/dist/visualization.es537.js.map +1 -1
- package/dist/visualization.es538.js +28 -63
- package/dist/visualization.es538.js.map +1 -1
- package/dist/visualization.es539.js +5 -19
- package/dist/visualization.es539.js.map +1 -1
- package/dist/visualization.es54.js +69 -33
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +3 -281
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +2 -2
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +260 -106
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +2 -5
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +127 -3
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +19 -2
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +20 -3
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +7 -3
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +3 -15
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +6 -3
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +57 -29
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +7 -9
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +5 -4
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +4 -6
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +7 -9
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +14 -6
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +9 -4
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +4 -3
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +5 -4
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +6 -11
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +30 -9
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +18701 -64
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +34 -30
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +51 -24
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +8 -51
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +4 -3
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +5 -8
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +3 -20
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +3 -7
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +14 -5
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +3 -5
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +9 -7
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +5 -44
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +11 -15
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +8 -3
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +24 -6
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +3 -34
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +8 -8
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +32 -9
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +9 -9
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +9 -18
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +18 -7
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +4 -4
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +5 -62
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +7 -32
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es582.js +1 -1
- package/dist/visualization.es583.js +1 -1
- package/dist/visualization.es59.js +59 -3
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es595.js +31 -11
- package/dist/visualization.es595.js.map +1 -1
- package/dist/visualization.es596.js +12 -24
- package/dist/visualization.es596.js.map +1 -1
- package/dist/visualization.es597.js +24 -19
- package/dist/visualization.es597.js.map +1 -1
- package/dist/visualization.es598.js +20 -7
- package/dist/visualization.es598.js.map +1 -1
- package/dist/visualization.es599.js +5 -4
- package/dist/visualization.es599.js.map +1 -1
- package/dist/visualization.es6.js +15 -15
- package/dist/visualization.es60.js +800 -36
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +6 -4
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +3 -64
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +64 -4
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +4 -8
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +6 -4
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +4 -16
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +17 -13
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +14 -32
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es62.js +130 -281
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es63.js +65 -17
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es64.js +113 -70
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es65.js +5 -12
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +34 -65
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +58 -304
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +45 -95
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +44 -27
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es70.js +20 -22
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +116 -18
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +96 -19
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +51 -69
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +54 -56
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +41 -6
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +5 -7
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +5 -58
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +18 -47
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +5 -45
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +13 -13
- package/dist/visualization.es80.js +26 -20
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +28 -113
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +38 -96
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +78 -61
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +46 -40
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +55 -80
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +7 -46
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +12 -55
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +57 -6
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +61 -10
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +1 -1
- package/dist/visualization.es90.js +33 -56
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +58 -13
- package/dist/visualization.es91.js.map +1 -1
- package/dist/visualization.es92.js +32 -74
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +18 -33
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +14 -13
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +26 -5
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +5 -5
- package/dist/visualization.es97.js +5 -5
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +5 -26
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +14 -69
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
- package/dist/visualization.es61.js +0 -7
- package/dist/visualization.es61.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es68.js","sources":["../src/components/ScatterPlot/minimap.tsx"],"sourcesContent":["import { MapProps } from \"./types\";\nimport { CROSSHAIR_DASH, CROSSHAIR_STROKE, CROSSHAIR_STROKE_WIDTH } from \"./Crosshair\";\n\nconst MINIMAP_SCALE_FACTOR = 0.25;\n// The crosshair is drawn inside the scaled group, so its stroke and dashes shrink with it.\n// Scale them back up so it renders identically to the crosshair on the plot itself.\nconst MINIMAP_CROSSHAIR_STROKE_WIDTH = CROSSHAIR_STROKE_WIDTH / MINIMAP_SCALE_FACTOR;\nconst MINIMAP_CROSSHAIR_DASH = CROSSHAIR_DASH.map((dash) => dash / MINIMAP_SCALE_FACTOR).join(\",\");\n\nconst MiniMap = <T,>({\n miniMap,\n width,\n height,\n pointData,\n xScale,\n yScale,\n zoom,\n crosshair\n}: MapProps<T>) => {\n // The minimap frame is the whole plot area untransformed, so a data coordinate maps onto it\n // through the base scales - no need to undo the current zoom.\n const crosshairX = crosshair ? xScale(crosshair.x) : null;\n const crosshairY = crosshair ? yScale(crosshair.y) : null;\n const frameWidth = width - 100;\n const frameHeight = height - 100;\n\n return (\n <div\n style={{\n position: 'absolute',\n bottom: miniMap.position ? miniMap.position.bottom : 10,\n right: miniMap.position ? miniMap.position.right : 10,\n }}\n >\n {/* Canvas for rendering points on minimap */}\n <canvas\n width={frameWidth * MINIMAP_SCALE_FACTOR}\n height={frameHeight * MINIMAP_SCALE_FACTOR}\n ref={(canvas) => {\n if (canvas) {\n const context = canvas.getContext('2d');\n const scaleFactor = MINIMAP_SCALE_FACTOR;\n const scaledWidth = frameWidth * scaleFactor;\n const scaledHeight = frameHeight * scaleFactor;\n if (context) {\n // Clear canvas\n context.clearRect(0, 0, canvas.width, canvas.height);\n\n // Draw background and outline\n context.fillStyle = 'white';\n context.fillRect(0, 0, scaledWidth, scaledHeight);\n context.strokeStyle = 'grey';\n context.lineWidth = 4;\n context.strokeRect(0, 0, scaledWidth, scaledHeight);\n\n // Draw points\n pointData.forEach(point => {\n const transformedX = xScale(point.x) * scaleFactor;\n const transformedY = yScale(point.y) * scaleFactor;\n context.beginPath();\n context.arc(transformedX, transformedY, 3 * scaleFactor, 0, Math.PI * 2);\n context.fillStyle = point.color ?? \"black\";\n context.fill();\n });\n }\n }\n }}\n style={{ display: 'block' }}\n />\n\n {/* SVG for rendering the zoom window */}\n <svg\n width={frameWidth * MINIMAP_SCALE_FACTOR}\n height={frameHeight * MINIMAP_SCALE_FACTOR}\n style={{ position: 'absolute', top: 0, left: 0 }}\n >\n <g transform={`scale(${MINIMAP_SCALE_FACTOR})`}>\n <rect\n width={frameWidth}\n height={frameHeight}\n fill=\"#0d0f98\"\n fillOpacity={0.2}\n stroke=\"#0d0f98\"\n strokeWidth={4}\n rx={8}\n transform={zoom.toStringInvert()}\n //drag functionality for window, must invert zoom and take the scale into account\n style={{ cursor: zoom.isDragging ? \"grabbing\" : \"grab\" }}\n onMouseDown={zoom.dragStart}\n onMouseUp={zoom.dragEnd}\n onMouseMove={(event) => {\n if (zoom.isDragging) {\n zoom.setTransformMatrix({\n scaleX: zoom.transformMatrix.scaleX,\n scaleY: zoom.transformMatrix.scaleY,\n translateX: zoom.transformMatrix.translateX - event.movementX / .25 * zoom.transformMatrix.scaleX,\n translateY: zoom.transformMatrix.translateY - event.movementY / .25 * zoom.transformMatrix.scaleY,\n skewX: zoom.transformMatrix.skewX,\n skewY: zoom.transformMatrix.skewY\n });\n }\n }}\n onMouseLeave={zoom.dragEnd}\n onTouchStart={zoom.dragStart}\n onTouchEnd={zoom.dragEnd}\n onTouchMove={(event) => {\n if (zoom.isDragging && event.touches.length === 1) {\n const touch = event.touches[0];\n zoom.setTransformMatrix({\n scaleX: zoom.transformMatrix.scaleX,\n scaleY: zoom.transformMatrix.scaleY,\n translateX: zoom.transformMatrix.translateX - touch.clientX / .25,\n translateY: zoom.transformMatrix.translateY - touch.clientY / .25,\n skewX: zoom.transformMatrix.skewX,\n skewY: zoom.transformMatrix.skewY\n });\n }\n }}\n />\n {crosshairY !== null && crosshairY >= 0 && crosshairY <= frameHeight && (\n <line\n x1={0}\n x2={frameWidth}\n y1={crosshairY}\n y2={crosshairY}\n stroke={CROSSHAIR_STROKE}\n strokeWidth={MINIMAP_CROSSHAIR_STROKE_WIDTH}\n strokeDasharray={MINIMAP_CROSSHAIR_DASH}\n pointerEvents=\"none\"\n />\n )}\n {crosshairX !== null && crosshairX >= 0 && crosshairX <= frameWidth && (\n <line\n x1={crosshairX}\n x2={crosshairX}\n y1={0}\n y2={frameHeight}\n stroke={CROSSHAIR_STROKE}\n strokeWidth={MINIMAP_CROSSHAIR_STROKE_WIDTH}\n strokeDasharray={MINIMAP_CROSSHAIR_DASH}\n pointerEvents=\"none\"\n />\n )}\n </g>\n </svg>\n </div>\n );\n};\n\nexport default MiniMap;"],"names":["MINIMAP_SCALE_FACTOR","MINIMAP_CROSSHAIR_STROKE_WIDTH","CROSSHAIR_STROKE_WIDTH","MINIMAP_CROSSHAIR_DASH","CROSSHAIR_DASH","map","dash","join","MiniMap","t0","$","_c","miniMap","width","height","pointData","xScale","yScale","zoom","crosshair","crosshairX","x","crosshairY","y","frameWidth","frameHeight","t1","position","bottom","t2","right","t3","t4","t5","t6","canvas","context","getContext","scaledWidth","scaledHeight","clearRect","fillStyle","fillRect","strokeStyle","lineWidth","strokeRect","forEach","point","transformedX","transformedY","beginPath","arc","Math","PI","color","fill","t7","Symbol","for","display","t8","jsx","t9","t10","t11","top","left","t12","toStringInvert","t13","isDragging","t14","cursor","t15","event","setTransformMatrix","scaleX","transformMatrix","scaleY","translateX","movementX","translateY","movementY","skewX","skewY","t16","event_0","touches","length","touch","clientX","clientY","t17","dragEnd","dragStart","t18","CROSSHAIR_STROKE","t19","t20","t21","t22","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es68.js","sources":["../src/components/Heatmap/HeatmapCell.tsx"],"sourcesContent":["import { memo, MouseEvent } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { getAnimationProps } from \"../../utility\";\nimport type { AnimationType } from \"../../utility\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport type { PlotTooltipRef } from \"../../tooltip\";\n\n/** Class on the <g> wrapping each cell. The hover rule keys off this. */\nexport const CELL_CLASS = \"visx-heatmap-cell\";\n/** Class on the <rect>/<circle> inside each cell. */\nexport const CELL_SHAPE_CLASS = \"visx-heatmap-cell-shape\";\n\n/**\n * Hover styling is plain CSS rather than React state: `:hover` costs no render at all, while\n * tracking hover in state re-renders on every cell the pointer crosses. Rendered once per chart\n * by Heatmap, inside the <svg> so it survives the SVG/PNG download serialization.\n *\n * The stroke is always painted in the cell's own fill color, so hovering only has to give it a\n * width. `strokeWidth={0}` below is a presentation attribute, which loses to any CSS rule - so\n * the hover rule wins without needing !important.\n *\n * `pointer-events: all` because cells with a null count render with fill=\"none\", and SVG's\n * default (visiblePainted) only treats painted area as a hit target - without this the pointer\n * falls through such a cell to the <svg> and it can never show its \"no data\" tooltip.\n */\nexport const heatmapCellStyles = `\n.${CELL_CLASS} { cursor: pointer; }\n.${CELL_SHAPE_CLASS} { transition: stroke-width 0.2s; pointer-events: all; }\n.${CELL_CLASS}:hover .${CELL_SHAPE_CLASS} { stroke-width: 2; }\n`;\n\nexport interface HeatmapCellProps {\n bin: AnyBin;\n isRect: boolean;\n binWidth: number;\n fill: string;\n fillOpacity: number;\n colIndex: number;\n animationType?: AnimationType;\n /** Stable for the life of the plot, so it never invalidates this cell's memoization. */\n tooltipRef: PlotTooltipRef<AnyBin>;\n onClick?: (bin: AnyBin) => void;\n}\n\n/**\n * visx rebuilds every bin object inside its own render, so `bin` always arrives with a fresh\n * identity and memo's default shallow compare can never bail out. Comparing the bin's fields\n * instead lets untouched cells skip re-rendering, which is what makes selection changes cheap:\n * only the cells whose appearance actually changed re-render, rather than the whole grid.\n *\n * `bin.bin` and `bin.datum` are the caller's own row/column data, which do keep identity, so a\n * reference check on those covers data and metadata changes.\n */\nconst binsEqual = (a: AnyBin, b: AnyBin): boolean => {\n if (\n a.row !== b.row ||\n a.column !== b.column ||\n a.count !== b.count ||\n a.gap !== b.gap ||\n a.color !== b.color ||\n a.opacity !== b.opacity ||\n a.bin !== b.bin ||\n a.datum !== b.datum\n ) {\n return false;\n }\n // Rect and circle cells carry different geometry fields\n if (\"x\" in a) {\n return \"x\" in b && a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n }\n return \"cy\" in b && a.cy === b.cy && a.r === b.r && a.radius === b.radius;\n};\n\n/**\n * Must compare every prop in HeatmapCellProps - one left out here would silently stop updating.\n */\nconst cellPropsEqual = (prev: HeatmapCellProps, next: HeatmapCellProps): boolean =>\n prev.fill === next.fill &&\n prev.fillOpacity === next.fillOpacity &&\n prev.isRect === next.isRect &&\n prev.binWidth === next.binWidth &&\n prev.colIndex === next.colIndex &&\n prev.animationType === next.animationType &&\n prev.tooltipRef === next.tooltipRef &&\n prev.onClick === next.onClick &&\n binsEqual(prev.bin, next.bin);\n\nconst HeatmapCell = memo(function HeatmapCell({\n bin, isRect, binWidth, fill, fillOpacity, colIndex,\n animationType, tooltipRef, onClick,\n}: HeatmapCellProps) {\n const isRectCell = isRect && \"width\" in bin && \"height\" in bin && \"x\" in bin && \"y\" in bin;\n const isCircleCell = !isRect && \"cy\" in bin && \"r\" in bin;\n\n const sharedProps = { fill, fillOpacity, stroke: fill, strokeWidth: 0 };\n\n const Wrapper = animationType ? motion.g : \"g\";\n const animProps = getAnimationProps(animationType as AnimationType, colIndex);\n\n return (\n <Wrapper\n {...animProps}\n className={CELL_CLASS}\n onMouseMove={(event: MouseEvent<SVGElement>) => tooltipRef.current?.show(bin, event)}\n onMouseLeave={() => tooltipRef.current?.hide()}\n onClick={() => onClick?.(bin)}\n >\n {isRectCell ? (\n <rect\n className={`visx-heatmap-rect ${CELL_SHAPE_CLASS}`}\n width={bin.width}\n height={bin.height}\n x={bin.x}\n y={bin.y}\n {...sharedProps}\n />\n ) : isCircleCell ? (\n <circle\n className={`visx-heatmap-circle ${CELL_SHAPE_CLASS}`}\n cx={bin.column * binWidth + binWidth / 2}\n cy={bin.cy}\n r={bin.r}\n {...sharedProps}\n />\n ) : null}\n </Wrapper>\n );\n}, cellPropsEqual);\n\nexport default HeatmapCell;\n"],"names":["CELL_CLASS","CELL_SHAPE_CLASS","heatmapCellStyles","binsEqual","a","b","row","column","count","gap","color","opacity","bin","datum","x","y","width","height","cy","r","radius","cellPropsEqual","prev","next","fill","fillOpacity","isRect","binWidth","colIndex","animationType","tooltipRef","onClick","HeatmapCell","memo","t0","$","_c","isRectCell","isCircleCell","t1","stroke","strokeWidth","sharedProps","Wrapper","motion","g","t2","t3","getAnimationProps","animProps","t4","event","current","show","t5","hide","t6","t7","jsx","t8"],"mappings":"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"}
|
|
@@ -1,31 +1,48 @@
|
|
|
1
|
-
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { c as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { jsx as i, jsxs as g } from "react/jsx-runtime";
|
|
2
|
+
import { c as S } from "react/compiler-runtime";
|
|
3
|
+
import { measureTextWidth as W } from "./visualization.es40.js";
|
|
4
|
+
import H from "./visualization.es22.js";
|
|
5
|
+
import k from "./visualization.es36.js";
|
|
6
|
+
const l = 14, _ = 6, x = 4, y = 11, A = "sans-serif", T = 5, I = (n) => n % 1 === 0 ? String(n) : n.toFixed(1), L = (n, t) => Array.from({
|
|
7
|
+
length: T
|
|
8
|
+
}, (e, o) => n + o * (t - n) / (T - 1)), D = 1.15, G = 6, O = (n, t) => {
|
|
9
|
+
const e = Math.max(...L(n, t).map((o) => W(I(o), y, A)));
|
|
10
|
+
return l + x + _ + e * D + G;
|
|
11
|
+
}, R = (n) => {
|
|
12
|
+
const t = S(11), {
|
|
13
|
+
colors: e,
|
|
14
|
+
minValue: o,
|
|
15
|
+
maxValue: c,
|
|
16
|
+
height: r
|
|
17
|
+
} = n;
|
|
18
|
+
let d;
|
|
19
|
+
if (t[0] !== e || t[1] !== r || t[2] !== c || t[3] !== o) {
|
|
20
|
+
const u = L(o, c), F = H({
|
|
21
|
+
domain: [c, o],
|
|
22
|
+
range: [0, r]
|
|
23
|
+
});
|
|
24
|
+
let s;
|
|
25
|
+
t[5] !== e ? (s = e.map((h, a) => /* @__PURE__ */ i("stop", { offset: `${a / (e.length - 1) * 100}%`, stopColor: e[e.length - 1 - a] }, a)), t[5] = e, t[6] = s) : s = t[6];
|
|
26
|
+
let m;
|
|
27
|
+
t[7] !== s ? (m = /* @__PURE__ */ i("defs", { children: /* @__PURE__ */ i("linearGradient", { id: "heatmap-legend-gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: s }) }), t[7] = s, t[8] = m) : m = t[8];
|
|
28
|
+
let f;
|
|
29
|
+
t[9] !== r ? (f = /* @__PURE__ */ i("rect", { x: 0, y: 0, width: l, height: r, fill: "url(#heatmap-legend-gradient)", rx: 2 }), t[9] = r, t[10] = f) : f = t[10], d = /* @__PURE__ */ g(k, { children: [
|
|
30
|
+
m,
|
|
31
|
+
f,
|
|
32
|
+
u.map((h, a) => {
|
|
33
|
+
const p = F(h);
|
|
34
|
+
return /* @__PURE__ */ g("g", { children: [
|
|
35
|
+
/* @__PURE__ */ i("line", { x1: l, x2: l + x, y1: p, y2: p, stroke: "#4d4f52", strokeWidth: 1 }),
|
|
36
|
+
/* @__PURE__ */ i("text", { x: l + x + _, y: p, dominantBaseline: "middle", fontSize: y, fontFamily: A, fill: "#4d4f52", children: I(h) })
|
|
37
|
+
] }, a);
|
|
38
|
+
})
|
|
39
|
+
] }), t[0] = e, t[1] = r, t[2] = c, t[3] = o, t[4] = d;
|
|
40
|
+
} else
|
|
41
|
+
d = t[4];
|
|
42
|
+
return d;
|
|
26
43
|
};
|
|
27
44
|
export {
|
|
28
|
-
|
|
29
|
-
|
|
45
|
+
R as default,
|
|
46
|
+
O as getHeatmapLegendWidth
|
|
30
47
|
};
|
|
31
48
|
//# sourceMappingURL=visualization.es69.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es69.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"visualization.es69.js","sources":["../src/components/Heatmap/HeatmapLegend.tsx"],"sourcesContent":["import { Group } from \"@visx/group\";\nimport { scaleLinear } from \"@visx/scale\";\nimport { measureTextWidth } from \"../../utility\";\n\nconst BAR_WIDTH = 14;\nconst LABEL_GAP = 6;\nconst TICK_WIDTH = 4;\nconst FONT_SIZE = 11;\nconst FONT_FAMILY = \"sans-serif\";\nconst NUM_TICKS = 5;\n\ninterface HeatmapLegendProps {\n colors: [string, string, ...string[]];\n minValue: number;\n maxValue: number;\n height: number;\n}\n\nconst formatTick = (value: number) =>\n value % 1 === 0 ? String(value) : value.toFixed(1);\n\nconst getTickValues = (minValue: number, maxValue: number) =>\n Array.from({ length: NUM_TICKS }, (_, i) =>\n minValue + (i * (maxValue - minValue)) / (NUM_TICKS - 1)\n );\n\n// Canvas's measureText and the browser's actual SVG text layout don't agree to the sub-pixel,\n// and the gap widens with string length - pad generously so longer labels (more digits) don't\n// creep past the reserved width and get clipped by the svg's default overflow:hidden.\nconst LABEL_WIDTH_SAFETY_FACTOR = 1.15;\nconst RIGHT_PADDING = 6;\n\n// Full width needed to render the legend (color bar + ticks + tick labels) without\n// clipping, based on the widest formatted tick label for the given value range.\nexport const getHeatmapLegendWidth = (minValue: number, maxValue: number): number => {\n const maxLabelWidth = Math.max(\n ...getTickValues(minValue, maxValue).map((value) =>\n measureTextWidth(formatTick(value), FONT_SIZE, FONT_FAMILY)\n )\n );\n return BAR_WIDTH + TICK_WIDTH + LABEL_GAP + maxLabelWidth * LABEL_WIDTH_SAFETY_FACTOR + RIGHT_PADDING;\n};\n\nconst HeatmapLegend = ({ colors, minValue, maxValue, height }: HeatmapLegendProps) => {\n const gradientId = \"heatmap-legend-gradient\";\n\n const tickValues = getTickValues(minValue, maxValue);\n\n const yScale = scaleLinear<number>({\n domain: [maxValue, minValue],\n range: [0, height],\n });\n\n return (\n <Group>\n <defs>\n {/* The bar reads top (max) to bottom (min), so the gradient stops run in reverse\n color order to match how colors map to values in the heatmap cells. */}\n <linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n {colors.map((_, i) => (\n <stop\n key={i}\n offset={`${(i / (colors.length - 1)) * 100}%`}\n stopColor={colors[colors.length - 1 - i]}\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n x={0}\n y={0}\n width={BAR_WIDTH}\n height={height}\n fill={`url(#${gradientId})`}\n rx={2}\n />\n {tickValues.map((value, i) => {\n const y = yScale(value);\n return (\n <g key={i}>\n <line\n x1={BAR_WIDTH}\n x2={BAR_WIDTH + TICK_WIDTH}\n y1={y}\n y2={y}\n stroke=\"#4d4f52\"\n strokeWidth={1}\n />\n <text\n x={BAR_WIDTH + TICK_WIDTH + LABEL_GAP}\n y={y}\n dominantBaseline=\"middle\"\n fontSize={FONT_SIZE}\n fontFamily={FONT_FAMILY}\n fill=\"#4d4f52\"\n >\n {formatTick(value)}\n </text>\n </g>\n );\n })}\n </Group>\n );\n};\n\nexport default HeatmapLegend;\nexport type { HeatmapLegendProps };\n"],"names":["BAR_WIDTH","LABEL_GAP","TICK_WIDTH","FONT_SIZE","FONT_FAMILY","NUM_TICKS","formatTick","value","String","toFixed","getTickValues","minValue","maxValue","Array","from","length","_","i","LABEL_WIDTH_SAFETY_FACTOR","RIGHT_PADDING","getHeatmapLegendWidth","maxLabelWidth","Math","max","map","measureTextWidth","HeatmapLegend","t0","$","_c","colors","height","t1","tickValues","yScale","scaleLinear","domain","range","t2","jsx","t3","gradientId","t4","Group","i_0","y"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as N, jsxs as oe } from "react/jsx-runtime";
|
|
2
2
|
import { useState as G, useMemo as f, useRef as U, useCallback as R } from "react";
|
|
3
|
-
import { ZoomFrame as ce } from "./visualization.
|
|
4
|
-
import { RenderTree as re } from "./visualization.
|
|
5
|
-
import ie from "./visualization.
|
|
6
|
-
import le from "./visualization.
|
|
7
|
-
import de from "./visualization.
|
|
8
|
-
import ue from "./visualization.
|
|
9
|
-
import he from "./visualization.
|
|
10
|
-
import S from "./visualization.
|
|
11
|
-
import pe from "./visualization.
|
|
12
|
-
import me from "./visualization.
|
|
13
|
-
import { pathRadialStep as J } from "./visualization.
|
|
3
|
+
import { ZoomFrame as ce } from "./visualization.es30.js";
|
|
4
|
+
import { RenderTree as re } from "./visualization.es31.js";
|
|
5
|
+
import ie from "./visualization.es20.js";
|
|
6
|
+
import le from "./visualization.es21.js";
|
|
7
|
+
import de from "./visualization.es32.js";
|
|
8
|
+
import ue from "./visualization.es33.js";
|
|
9
|
+
import he from "./visualization.es34.js";
|
|
10
|
+
import S from "./visualization.es35.js";
|
|
11
|
+
import pe from "./visualization.es36.js";
|
|
12
|
+
import me from "./visualization.es37.js";
|
|
13
|
+
import { pathRadialStep as J } from "./visualization.es38.js";
|
|
14
14
|
const we = {
|
|
15
15
|
duration: 0.3,
|
|
16
16
|
ease: "easeInOut"
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return /* @__PURE__ */ c("div", { children: [
|
|
16
|
-
/* @__PURE__ */ c("strong", { children: [
|
|
17
|
-
t.charAt(0).toUpperCase() + t.slice(1),
|
|
18
|
-
": "
|
|
19
|
-
] }),
|
|
20
|
-
typeof e == "string" ? e.length > 45 ? `${e.replace(/_/g, " ").slice(0, 45)}...` : e.replace(/_/g, " ") : String(e)
|
|
21
|
-
] }, t);
|
|
1
|
+
import o from "./visualization.es22.js";
|
|
2
|
+
const L = "#d1d5db", r = 0.5, E = "none", i = (n) => `${n.row}-${n.column}`;
|
|
3
|
+
function u(n, a) {
|
|
4
|
+
return o({
|
|
5
|
+
range: n,
|
|
6
|
+
domain: n.map((e, t) => t * a / (n.length - 1))
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function p(n, a, e, t) {
|
|
10
|
+
const l = n == null;
|
|
11
|
+
return {
|
|
12
|
+
fill: l ? E : e ? t : a ?? t,
|
|
13
|
+
fillOpacity: l ? 0 : e ? r : 1
|
|
14
|
+
};
|
|
22
15
|
}
|
|
23
16
|
export {
|
|
24
|
-
|
|
17
|
+
L as DEFAULT_DESELECTED_COLOR,
|
|
18
|
+
r as DESELECTED_OPACITY,
|
|
19
|
+
E as NULL_VALUE_COLOR,
|
|
20
|
+
i as cellKey,
|
|
21
|
+
u as getHeatmapColorScale,
|
|
22
|
+
p as resolveCellAppearance
|
|
25
23
|
};
|
|
26
24
|
//# sourceMappingURL=visualization.es70.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es70.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"visualization.es70.js","sources":["../src/components/Heatmap/heatmapCellAppearance.ts"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\nimport type { HeatmapCellId } from \"./types\";\n\nexport const DEFAULT_DESELECTED_COLOR = \"#d1d5db\";\nexport const DESELECTED_OPACITY = 0.5;\nexport const NULL_VALUE_COLOR = \"none\";\n\nexport const cellKey = (cell: HeatmapCellId) => `${cell.row}-${cell.column}`;\n\nexport function getHeatmapColorScale(colors: [string, string, ...string[]], maxValue: number) {\n return scaleLinear<string>({\n range: colors,\n domain: colors.map((_, i) => (i * maxValue) / (colors.length - 1)),\n });\n}\n\n/**\n * Shared by the SVG cell renderer (HeatmapCells.tsx, used for non-scrollable mode and export)\n * and the canvas cell renderer (HeatmapCanvasCells.ts, used on-screen in scrollable mode) so the\n * two can never drift apart on what a cell actually looks like.\n */\nexport function resolveCellAppearance(\n count: number | null | undefined,\n color: string | undefined,\n isDeselected: boolean,\n deselectedColor: string\n): { fill: string; fillOpacity: number } {\n const isNullValue = count == null;\n return {\n fill: isNullValue ? NULL_VALUE_COLOR : isDeselected ? deselectedColor : color ?? deselectedColor,\n fillOpacity: isNullValue ? 0 : isDeselected ? DESELECTED_OPACITY : 1,\n };\n}\n"],"names":["DEFAULT_DESELECTED_COLOR","DESELECTED_OPACITY","NULL_VALUE_COLOR","cellKey","cell","row","column","getHeatmapColorScale","colors","maxValue","scaleLinear","range","domain","map","_","i","length","resolveCellAppearance","count","color","isDeselected","deselectedColor","isNullValue","fill","fillOpacity"],"mappings":";AAGO,MAAMA,IAA2B,WAC3BC,IAAqB,KACrBC,IAAmB,QAEnBC,IAAUA,CAACC,MAAwB,GAAGA,EAAKC,GAAG,IAAID,EAAKE,MAAM;AAEnE,SAASC,EAAqBC,GAAuCC,GAAkB;AAC5F,SAAOC,EAAoB;AAAA,IACzBC,OAAOH;AAAAA,IACPI,QAAQJ,EAAOK,IAAI,CAACC,GAAGC,MAAOA,IAAIN,KAAaD,EAAOQ,SAAS,EAAE;AAAA,EAAA,CAClE;AACH;AAOO,SAASC,EACdC,GACAC,GACAC,GACAC,GACuC;AACvC,QAAMC,IAAcJ,KAAS;AAC7B,SAAO;AAAA,IACLK,MAAMD,IAAcpB,IAAmBkB,IAAeC,IAAkBF,KAASE;AAAAA,IACjFG,aAAaF,IAAc,IAAIF,IAAenB,IAAqB;AAAA,EAAA;AAEvE;"}
|
|
@@ -1,21 +1,119 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { cellKey as x, resolveCellAppearance as S } from "./visualization.es70.js";
|
|
2
|
+
const m = (t, o, n) => Math.min(Math.max(t, o), n);
|
|
3
|
+
function y(t, o, n) {
|
|
4
|
+
const {
|
|
5
|
+
xScale: a,
|
|
6
|
+
cellYScale: u,
|
|
7
|
+
gap: e,
|
|
8
|
+
isRect: l,
|
|
9
|
+
binWidth: c,
|
|
10
|
+
binHeight: i
|
|
11
|
+
} = t;
|
|
12
|
+
if (l)
|
|
13
|
+
return {
|
|
14
|
+
isRect: !0,
|
|
15
|
+
x: a(o),
|
|
16
|
+
y: u(n) + e,
|
|
17
|
+
width: c - e,
|
|
18
|
+
height: i - e
|
|
19
|
+
};
|
|
20
|
+
const r = Math.min(c, i) / 2;
|
|
21
|
+
return {
|
|
22
|
+
isRect: !1,
|
|
23
|
+
cx: o * c + c / 2,
|
|
24
|
+
cy: u(n) + e + r,
|
|
25
|
+
r: r - e,
|
|
26
|
+
radius: r
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function R(t, o, n, a, u, e) {
|
|
30
|
+
const {
|
|
31
|
+
data: l,
|
|
32
|
+
numRows: c,
|
|
33
|
+
binWidth: i,
|
|
34
|
+
binHeight: r,
|
|
35
|
+
yMax: h
|
|
36
|
+
} = t;
|
|
37
|
+
return {
|
|
38
|
+
colStart: m(Math.floor(o / i) - e, 0, Math.max(0, l.length - 1)),
|
|
39
|
+
colEnd: m(Math.ceil((o + a) / i) + e, 0, Math.max(0, l.length - 1)),
|
|
40
|
+
rowStart: m(Math.floor((h - (n + u)) / r) - e, 0, Math.max(0, c - 1)),
|
|
41
|
+
rowEnd: m(Math.floor((h - n) / r) + e, 0, Math.max(0, c - 1))
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function D(t, o, n, a) {
|
|
45
|
+
const {
|
|
46
|
+
data: u,
|
|
47
|
+
colorScale: e,
|
|
48
|
+
selectedKeys: l,
|
|
49
|
+
deselectedColor: c
|
|
50
|
+
} = o;
|
|
51
|
+
for (let i = n.colStart; i <= n.colEnd; i++) {
|
|
52
|
+
const r = u[i];
|
|
53
|
+
if (r)
|
|
54
|
+
for (let h = n.rowStart; h <= n.rowEnd; h++) {
|
|
55
|
+
const f = r.rows[h];
|
|
56
|
+
if (!f) continue;
|
|
57
|
+
const d = f.count, M = d == null ? void 0 : e(d), b = !!l && !l.has(x({
|
|
58
|
+
row: h,
|
|
59
|
+
column: i
|
|
60
|
+
})), {
|
|
61
|
+
fill: w,
|
|
62
|
+
fillOpacity: g
|
|
63
|
+
} = S(d, M, b, c);
|
|
64
|
+
if (g <= 0) continue;
|
|
65
|
+
const s = y(o, i, h);
|
|
66
|
+
t.globalAlpha = g, t.fillStyle = w, t.beginPath(), s.isRect ? t.rect(s.x, s.y, Math.max(s.width, 0), Math.max(s.height, 0)) : t.arc(s.cx, s.cy, Math.max(s.r, 0), 0, Math.PI * 2), t.fill(), a && a.row === h && a.column === i && (t.globalAlpha = 1, t.lineWidth = 2, t.strokeStyle = w, t.stroke());
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
t.globalAlpha = 1;
|
|
70
|
+
}
|
|
71
|
+
function A(t, o, n) {
|
|
72
|
+
const {
|
|
73
|
+
data: a,
|
|
74
|
+
numRows: u,
|
|
75
|
+
binWidth: e,
|
|
76
|
+
binHeight: l,
|
|
77
|
+
yMax: c
|
|
78
|
+
} = t;
|
|
79
|
+
if (o < 0 || n < 0) return null;
|
|
80
|
+
const i = Math.floor(o / e), r = Math.floor((c - n) / l);
|
|
81
|
+
return i < 0 || i >= a.length || r < 0 || r >= u || !a[i]?.rows[r] ? null : {
|
|
82
|
+
row: r,
|
|
83
|
+
column: i
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function E(t, o) {
|
|
87
|
+
const n = t.data[o.column], a = n?.rows[o.row];
|
|
88
|
+
if (!n || !a) return null;
|
|
89
|
+
const u = a.count, e = u == null ? void 0 : t.colorScale(u), l = y(t, o.column, o.row), c = {
|
|
90
|
+
bin: a,
|
|
91
|
+
row: o.row,
|
|
92
|
+
column: o.column,
|
|
93
|
+
datum: n,
|
|
94
|
+
gap: t.gap,
|
|
95
|
+
count: u,
|
|
96
|
+
color: e,
|
|
97
|
+
opacity: u == null ? void 0 : 1
|
|
98
|
+
};
|
|
99
|
+
return l.isRect ? {
|
|
100
|
+
...c,
|
|
101
|
+
x: l.x,
|
|
102
|
+
y: l.y,
|
|
103
|
+
width: l.width,
|
|
104
|
+
height: l.height
|
|
105
|
+
} : {
|
|
106
|
+
...c,
|
|
107
|
+
cx: l.cx,
|
|
108
|
+
cy: l.cy,
|
|
109
|
+
r: l.r,
|
|
110
|
+
radius: l.radius
|
|
111
|
+
};
|
|
112
|
+
}
|
|
18
113
|
export {
|
|
19
|
-
|
|
114
|
+
E as buildBin,
|
|
115
|
+
D as drawHeatmapCells,
|
|
116
|
+
R as getVisibleRange,
|
|
117
|
+
A as hitTestCell
|
|
20
118
|
};
|
|
21
119
|
//# sourceMappingURL=visualization.es71.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es71.js","sources":["../src/components/ScatterPlot/hooks/useSelectionMode.ts"],"sourcesContent":["import { useCallback, useState } from \"react\";\nimport { SelectionMode } from \"../types\";\n\ntype UseSelectionModeProps = {\n initialSelectionMode: SelectionMode;\n};\n\nexport const useSelectionMode = ({ initialSelectionMode }: UseSelectionModeProps) => {\n const [selectMode, setSelectMode] = useState<SelectionMode>(initialSelectionMode);\n\n const handleSelectionModeChange = useCallback((mode: SelectionMode) => {\n setSelectMode(mode);\n }, []);\n\n return { selectMode, handleSelectionModeChange };\n};\n"],"names":["useSelectionMode","t0","$","_c","initialSelectionMode","selectMode","setSelectMode","useState","t1","Symbol","for","mode","handleSelectionModeChange","t2"],"mappings":";;AAOO,MAAMA,IAAmBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAC;AAAA,IAAAC,sBAAAA;AAAAA,EAAAA,IAAAH,GAC7B,CAAAI,GAAAC,CAAA,IAAoCC,EAAwBH,CAAoB;AAAE,MAAAI;AAAA,EAAAN,EAAA,CAAA,MAAAO,uBAAAC,IAAA,2BAAA,KAEpCF,IAAAG,CAAAA,MAAA;AAC1CL,IAAAA,EAAcK,CAAI;AAAA,EAAC,GACtBT,OAAAM,KAAAA,IAAAN,EAAA,CAAA;AAFD,QAAAU,IAAkCJ;AAE3B,MAAAK;AAAA,SAAAX,SAAAG,KAEAQ,IAAA;AAAA,IAAAR,YAAAA;AAAAA,IAAAO,2BAAAA;AAAAA,EAAAA,GAAyCV,OAAAG,GAAAH,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAAzCW;AAAyC;"}
|
|
1
|
+
{"version":3,"file":"visualization.es71.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 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 ctx.globalAlpha = fillOpacity;\n ctx.fillStyle = fill;\n ctx.beginPath();\n if (geometry.isRect) {\n ctx.rect(geometry.x, geometry.y, Math.max(geometry.width, 0), Math.max(geometry.height, 0));\n } else {\n ctx.arc(geometry.cx, geometry.cy, Math.max(geometry.r, 0), 0, Math.PI * 2);\n }\n ctx.fill();\n\n if (hoveredCell && hoveredCell.row === row && hoveredCell.column === col) {\n ctx.globalAlpha = 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","columnDatum","rowDatum","rows","count","color","undefined","isDeselected","has","cellKey","column","fill","fillOpacity","resolveCellAppearance","geometry","globalAlpha","fillStyle","beginPath","rect","arc","PI","lineWidth","strokeStyle","stroke","hitTestCell","contentX","contentY","buildBin","cell","shared","bin","datum","opacity"],"mappings":"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"}
|
|
@@ -1,24 +1,101 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { jsx as W, jsxs as q } from "react/jsx-runtime";
|
|
2
|
+
import { c as A } from "react/compiler-runtime";
|
|
3
|
+
import { useRef as F, useEffect as G } from "react";
|
|
4
|
+
import { drawHeatmapCells as J } from "./visualization.es71.js";
|
|
5
|
+
const M = (a, t, d) => Math.min(Math.max(a, t), d), tt = (a) => {
|
|
6
|
+
const t = A(50), {
|
|
7
|
+
canvasCellParams: d,
|
|
8
|
+
xMax: r,
|
|
9
|
+
yMax: i,
|
|
10
|
+
viewportWidth: p,
|
|
11
|
+
viewportHeight: f,
|
|
12
|
+
scrollLeft: P,
|
|
13
|
+
scrollTop: b,
|
|
14
|
+
width: s,
|
|
15
|
+
height: c,
|
|
16
|
+
onNavigate: h
|
|
17
|
+
} = a, L = F(null), e = r > 0 ? s / r : 0, o = i > 0 ? c / i : 0;
|
|
18
|
+
let v, R;
|
|
19
|
+
t[0] !== d || t[1] !== e || t[2] !== o || t[3] !== r || t[4] !== i ? (v = () => {
|
|
20
|
+
const n = L.current;
|
|
21
|
+
if (!n || e <= 0 || o <= 0)
|
|
22
|
+
return;
|
|
23
|
+
const l = n.getContext("2d");
|
|
24
|
+
if (!l)
|
|
25
|
+
return;
|
|
26
|
+
const U = window.devicePixelRatio || 1;
|
|
27
|
+
l.setTransform(U * e, 0, 0, U * o, 0, 0), l.clearRect(0, 0, r, i);
|
|
28
|
+
const $ = {
|
|
29
|
+
colStart: 0,
|
|
30
|
+
colEnd: Math.max(0, d.data.length - 1),
|
|
31
|
+
rowStart: 0,
|
|
32
|
+
rowEnd: Math.max(0, d.numRows - 1)
|
|
33
|
+
};
|
|
34
|
+
J(l, d, $, null);
|
|
35
|
+
}, R = [d, r, i, e, o], t[0] = d, t[1] = e, t[2] = o, t[3] = r, t[4] = i, t[5] = v, t[6] = R) : (v = t[5], R = t[6]), G(v, R);
|
|
36
|
+
let C;
|
|
37
|
+
t[7] !== h || t[8] !== f || t[9] !== p || t[10] !== r || t[11] !== i ? (C = (n, l) => {
|
|
38
|
+
h(M(n - p / 2, 0, Math.max(0, r - p)), M(l - f / 2, 0, Math.max(0, i - f)));
|
|
39
|
+
}, t[7] = h, t[8] = f, t[9] = p, t[10] = r, t[11] = i, t[12] = C) : C = t[12];
|
|
40
|
+
const E = C;
|
|
41
|
+
let T;
|
|
42
|
+
t[13] !== E || t[14] !== e || t[15] !== o ? (T = (n) => {
|
|
43
|
+
if (e <= 0 || o <= 0)
|
|
44
|
+
return;
|
|
45
|
+
const l = n.currentTarget.getBoundingClientRect();
|
|
46
|
+
E((n.clientX - l.left) / e, (n.clientY - l.top) / o);
|
|
47
|
+
}, t[13] = E, t[14] = e, t[15] = o, t[16] = T) : T = t[16];
|
|
48
|
+
const I = T, B = K;
|
|
49
|
+
let y;
|
|
50
|
+
t[17] !== h || t[18] !== e || t[19] !== o || t[20] !== P || t[21] !== b || t[22] !== f || t[23] !== p || t[24] !== r || t[25] !== i ? (y = (n) => {
|
|
51
|
+
e <= 0 || o <= 0 || !n.currentTarget.hasPointerCapture(n.pointerId) || h(M(P + n.movementX / e, 0, Math.max(0, r - p)), M(b + n.movementY / o, 0, Math.max(0, i - f)));
|
|
52
|
+
}, t[17] = h, t[18] = e, t[19] = o, t[20] = P, t[21] = b, t[22] = f, t[23] = p, t[24] = r, t[25] = i, t[26] = y) : y = t[26];
|
|
53
|
+
const X = y, N = O, D = M(P * e, 0, s), H = M(b * o, 0, c), Y = Math.max(0, Math.min(p * e, s - D)), j = Math.max(0, Math.min(f * o, c - H));
|
|
54
|
+
let m;
|
|
55
|
+
t[27] !== c || t[28] !== s ? (m = {
|
|
56
|
+
position: "relative",
|
|
57
|
+
width: s,
|
|
58
|
+
height: c
|
|
59
|
+
}, t[27] = c, t[28] = s, t[29] = m) : m = t[29];
|
|
60
|
+
const k = s * (window.devicePixelRatio || 1), z = c * (window.devicePixelRatio || 1);
|
|
61
|
+
let u;
|
|
62
|
+
t[30] !== c || t[31] !== s ? (u = {
|
|
63
|
+
width: s,
|
|
64
|
+
height: c,
|
|
65
|
+
display: "block",
|
|
66
|
+
cursor: "pointer",
|
|
67
|
+
border: "1px solid #d5d5d5",
|
|
68
|
+
boxSizing: "border-box"
|
|
69
|
+
}, t[30] = c, t[31] = s, t[32] = u) : u = t[32];
|
|
70
|
+
let x;
|
|
71
|
+
t[33] !== I || t[34] !== k || t[35] !== z || t[36] !== u ? (x = /* @__PURE__ */ W("canvas", { ref: L, width: k, height: z, style: u, onPointerDown: I }), t[33] = I, t[34] = k, t[35] = z, t[36] = u, t[37] = x) : x = t[37];
|
|
72
|
+
let g;
|
|
73
|
+
t[38] !== j || t[39] !== D || t[40] !== H || t[41] !== Y ? (g = {
|
|
74
|
+
position: "absolute",
|
|
75
|
+
left: D,
|
|
76
|
+
top: H,
|
|
77
|
+
width: Y,
|
|
78
|
+
height: j,
|
|
79
|
+
border: "2px solid #0d0f98",
|
|
80
|
+
backgroundColor: "rgba(13, 15, 152, 0.15)",
|
|
81
|
+
cursor: "grab",
|
|
82
|
+
boxSizing: "border-box"
|
|
83
|
+
}, t[38] = j, t[39] = D, t[40] = H, t[41] = Y, t[42] = g) : g = t[42];
|
|
84
|
+
let w;
|
|
85
|
+
t[43] !== X || t[44] !== g ? (w = /* @__PURE__ */ W("div", { onPointerDown: B, onPointerMove: X, onPointerUp: N, style: g }), t[43] = X, t[44] = g, t[45] = w) : w = t[45];
|
|
86
|
+
let S;
|
|
87
|
+
return t[46] !== x || t[47] !== w || t[48] !== m ? (S = /* @__PURE__ */ q("div", { style: m, children: [
|
|
88
|
+
x,
|
|
89
|
+
w
|
|
90
|
+
] }), t[46] = x, t[47] = w, t[48] = m, t[49] = S) : S = t[49], S;
|
|
17
91
|
};
|
|
18
|
-
function a
|
|
19
|
-
|
|
92
|
+
function K(a) {
|
|
93
|
+
a.stopPropagation(), a.currentTarget.setPointerCapture(a.pointerId);
|
|
94
|
+
}
|
|
95
|
+
function O(a) {
|
|
96
|
+
a.currentTarget.releasePointerCapture(a.pointerId);
|
|
20
97
|
}
|
|
21
98
|
export {
|
|
22
|
-
|
|
99
|
+
tt as default
|
|
23
100
|
};
|
|
24
101
|
//# sourceMappingURL=visualization.es72.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es72.js","sources":["../src/components/ScatterPlot/hooks/useMiniMapToggle.ts"],"sourcesContent":["import { useCallback, useState } from \"react\";\n\ntype UseMiniMapToggleProps = {\n initialOpen: boolean;\n};\n\nexport const useMiniMapToggle = ({ initialOpen }: UseMiniMapToggleProps) => {\n const [showMiniMap, setShowMiniMap] = useState(initialOpen);\n\n const toggleMiniMap = useCallback(() => {\n setShowMiniMap((curr) => !curr);\n }, []);\n\n return { showMiniMap, toggleMiniMap };\n};\n"],"names":["useMiniMapToggle","t0","$","_c","initialOpen","showMiniMap","setShowMiniMap","useState","t1","Symbol","for","_temp","toggleMiniMap","t2","curr"],"mappings":";;AAMO,MAAMA,IAAmBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAC;AAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAH,GAC7B,CAAAI,GAAAC,CAAA,IAAsCC,EAASH,CAAW;AAAE,MAAAI;AAAA,EAAAN,EAAA,CAAA,MAAAO,uBAAAC,IAAA,2BAAA,KAE1BF,IAAAA,MAAA;AAC9BF,IAAAA,EAAeK,CAAe;AAAA,EAAC,GAClCT,OAAAM,KAAAA,IAAAN,EAAA,CAAA;AAFD,QAAAU,IAAsBJ;AAEf,MAAAK;AAAA,SAAAX,SAAAG,KAEAQ,IAAA;AAAA,IAAAR,aAAAA;AAAAA,IAAAO,eAAAA;AAAAA,EAAAA,GAA8BV,OAAAG,GAAAH,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAA9BW;AAA8B;AAPT,SAAAF,EAAAG,GAAA;AAAA,SAIC,CAACA;AAAI;"}
|
|
1
|
+
{"version":3,"file":"visualization.es72.js","sources":["../src/components/Heatmap/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 /** Called with a new (unclamped-by-caller) scroll position when the user clicks or drags the minimap. */\n onNavigate: (left: number, top: number) => 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}: 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 useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || scaleX <= 0 || scaleY <= 0) return;\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 }, [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 (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 [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","t0","$","_c","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","canvasRef","useRef","scaleX","scaleY","t1","t2","canvas","current","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","range","colStart","colEnd","data","length","rowStart","rowEnd","numRows","drawHeatmapCells","useEffect","t3","contentX","contentY","navigateCentered","t4","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","handleCanvasPointerDown","handleRectPointerDown","_temp","t5","event_1","hasPointerCapture","pointerId","movementX","movementY","handleRectPointerMove","handleRectPointerUp","_temp2","rectLeft","rectTop","rectWidth","rectHeight","t6","position","t7","t8","t9","display","cursor","border","boxSizing","t10","jsx","t11","backgroundColor","t12","t13","jsxs","event_0","stopPropagation","setPointerCapture","event_2","releasePointerCapture"],"mappings":"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"}
|