You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by dp...@apache.org on 2020/10/30 11:09:05 UTC

[incubator-superset] 02/02: chore(chart-data): add annotations and url params to chart data schema (#11393)

This is an automated email from the ASF dual-hosted git repository.

dpgaspar pushed a commit to branch 0.38
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit 504ef50b9e0b4ca845682137c30e80b89e766df2
Author: Ville Brofeldt <33...@users.noreply.github.com>
AuthorDate: Wed Oct 28 23:41:39 2020 +0200

    chore(chart-data): add annotations and url params to chart data schema (#11393)
    
    * chore(chart-data): add annotations to chart data schema
    
    * bump superset-ui packages
    
    * xit flaky cypress tests
---
 .../integration/explore/AdhocMetrics.test.ts       |   5 +-
 superset-frontend/package-lock.json                | 763 +++++++++++++++------
 superset-frontend/package.json                     |  52 +-
 superset/charts/schemas.py                         | 121 ++++
 superset/common/query_context.py                   |   2 +
 superset/common/query_object.py                    |   4 +
 6 files changed, 696 insertions(+), 251 deletions(-)

diff --git a/superset-frontend/cypress-base/cypress/integration/explore/AdhocMetrics.test.ts b/superset-frontend/cypress-base/cypress/integration/explore/AdhocMetrics.test.ts
index b422673..d673af0 100644
--- a/superset-frontend/cypress-base/cypress/integration/explore/AdhocMetrics.test.ts
+++ b/superset-frontend/cypress-base/cypress/integration/explore/AdhocMetrics.test.ts
@@ -57,8 +57,9 @@ describe('AdhocMetrics', () => {
   });
 
   xit('Switch from simple to custom sql', () => {
-    cy.visitChartByName('Num Births Trend');
-    cy.verifySliceSuccess({ waitAlias: '@postJson' });
+    cy.get('[data-test=metrics]')
+      .find('[data-test="metric-option"]')
+      .should('have.length', 1);
 
     // select column "num"
     cy.get('[data-test=metrics]').find('.Select__clear-indicator').click();
diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json
index df7d822..b73b9fc 100644
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@ -2885,9 +2885,9 @@
       }
     },
     "@babel/polyfill": {
-      "version": "7.11.5",
-      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.11.5.tgz",
-      "integrity": "sha512-FunXnE0Sgpd61pKSj2OSOs1D44rKTD3pGOfGilZ6LGrrIH0QEtJlTjqOqdF8Bs98JmjfGhni2BBkTfv9KcKJ9g==",
+      "version": "7.12.1",
+      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
+      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
       "requires": {
         "core-js": "^2.6.5",
         "regenerator-runtime": "^0.13.4"
@@ -3837,36 +3837,6 @@
         "prop-types": "^15.5.10"
       },
       "dependencies": {
-        "@data-ui/shared": {
-          "version": "0.0.84",
-          "resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.84.tgz",
-          "integrity": "sha512-MsDLsFzBHFEREr/eF2/RX1o/cXioEg+VQTsM8gViW5ywGQ7Xo5+EqUOaBSrwqKAkvp3e8PaEZVkchPC54IBhrA==",
-          "requires": {
-            "@data-ui/theme": "^0.0.84",
-            "@vx/event": "^0.0.165",
-            "@vx/group": "^0.0.165",
-            "@vx/shape": "^0.0.168",
-            "@vx/tooltip": "0.0.165",
-            "d3-array": "^1.2.1",
-            "prop-types": "^15.5.10"
-          },
-          "dependencies": {
-            "@vx/shape": {
-              "version": "0.0.168",
-              "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.168.tgz",
-              "integrity": "sha512-urKZkwSafMpPQ0wI/L5FJmufRiAR4UsgYUCKxROjfE1Cf4jWNlK6mlVIIASxCdHlh9CGBbIrRMdl5Yv5lzqhjA==",
-              "requires": {
-                "@vx/curve": "0.0.165",
-                "@vx/group": "0.0.165",
-                "@vx/point": "0.0.165",
-                "classnames": "^2.2.5",
-                "d3-path": "^1.0.5",
-                "d3-shape": "^1.2.0",
-                "prop-types": "^15.5.10"
-              }
-            }
-          }
-        },
         "@vx/axis": {
           "version": "0.0.175",
           "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.175.tgz",
@@ -3923,14 +3893,6 @@
             "prop-types": "^15.5.10"
           }
         },
-        "@vx/curve": {
-          "version": "0.0.165",
-          "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.165.tgz",
-          "integrity": "sha512-fiQAGrKNGjJbL+eixUckJqIZDWXH/1NtIyyDbSz3J7ksk0QpYr5BgWcNJN76HLNt7wfcLwNzCHeNs4iVYyFGTg==",
-          "requires": {
-            "d3-shape": "^1.0.6"
-          }
-        },
         "@vx/event": {
           "version": "0.0.165",
           "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.165.tgz",
@@ -4330,9 +4292,9 @@
       },
       "dependencies": {
         "@types/d3-scale": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-3.1.0.tgz",
-          "integrity": "sha512-6dXLb03fKXGQueAV50DSsYojBd2w1cSgBHNV2VQa5ScxhQqUy6yEtlukdbV8qyTORA9KLHHSu7hCNUQquYg5GQ==",
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-3.2.0.tgz",
+          "integrity": "sha512-AhnhueLSDQtS3ZpymlzKqT0siMToe/+mhIFf3UcH/hzlWnqPfPigb3vIFgpEL8k9KARx41t3qQGVFc9awYWpEg==",
           "requires": {
             "@types/d3-time": "*"
           }
@@ -15148,12 +15110,90 @@
         "@superset-ui/core": "0.15.2",
         "lodash": "^4.17.15",
         "prop-types": "^15.7.2"
+      },
+      "dependencies": {
+        "@superset-ui/core": {
+          "version": "0.15.2",
+          "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.15.2.tgz",
+          "integrity": "sha512-NZngspkaov9T7n5s5F9biADSS/noFLdRdQfGrd3p6KI8pkwksOEy/XxuVzbQ4/f0z8jGtzt5LYM0kYlV+8MqrQ==",
+          "requires": {
+            "@babel/runtime": "^7.1.2",
+            "@emotion/core": "^10.0.28",
+            "@emotion/styled": "^10.0.27",
+            "@types/d3-format": "^1.3.0",
+            "@types/d3-interpolate": "^1.3.1",
+            "@types/d3-scale": "^2.1.1",
+            "@types/d3-time": "^1.0.9",
+            "@types/d3-time-format": "^2.1.0",
+            "@types/lodash": "^4.14.149",
+            "@vx/responsive": "^0.0.197",
+            "csstype": "^2.6.4",
+            "d3-format": "^1.3.2",
+            "d3-interpolate": "^1.4.0",
+            "d3-scale": "^3.0.0",
+            "d3-time": "^1.0.10",
+            "d3-time-format": "^2.2.0",
+            "emotion-theming": "^10.0.27",
+            "fetch-retry": "^4.0.1",
+            "jed": "^1.1.1",
+            "lodash": "^4.17.11",
+            "pretty-ms": "^7.0.0",
+            "react-error-boundary": "^1.2.5",
+            "reselect": "^4.0.0",
+            "whatwg-fetch": "^3.0.0"
+          }
+        },
+        "@vx/responsive": {
+          "version": "0.0.197",
+          "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.197.tgz",
+          "integrity": "sha512-Qv15PJ/Hy79LjyfJ/9E8z+zacKAnD43O2Jg9wvB6PFSNs73xPEDy/mHTYxH+FZv94ruAE3scBO0330W29sQpyg==",
+          "requires": {
+            "@types/lodash": "^4.14.146",
+            "@types/react": "*",
+            "lodash": "^4.17.10",
+            "prop-types": "^15.6.1",
+            "resize-observer-polyfill": "1.5.1"
+          }
+        },
+        "d3-array": {
+          "version": "2.8.0",
+          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
+          "integrity": "sha512-6V272gsOeg7+9pTW1jSYOR1QE37g95I3my1hBmY+vOUNHRrk9yt4OTz/gK7PMkVAVDrYYq4mq3grTiZ8iJdNIw=="
+        },
+        "d3-interpolate": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
+          "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
+          "requires": {
+            "d3-color": "1"
+          }
+        },
+        "d3-scale": {
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.3.tgz",
+          "integrity": "sha512-8E37oWEmEzj57bHcnjPVOBS3n4jqakOeuv1EDdQSiSrYnMCBdMd3nc4HtKk7uia8DUHcY/CGuJ42xxgtEYrX0g==",
+          "requires": {
+            "d3-array": "^2.3.0",
+            "d3-format": "1 - 2",
+            "d3-interpolate": "1.2.0 - 2",
+            "d3-time": "1 - 2",
+            "d3-time-format": "2 - 3"
+          }
+        },
+        "d3-time-format": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
+          "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
+          "requires": {
+            "d3-time": "1"
+          }
+        }
       }
     },
     "@superset-ui/core": {
-      "version": "0.15.2",
-      "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.15.2.tgz",
-      "integrity": "sha512-NZngspkaov9T7n5s5F9biADSS/noFLdRdQfGrd3p6KI8pkwksOEy/XxuVzbQ4/f0z8jGtzt5LYM0kYlV+8MqrQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.15.10.tgz",
+      "integrity": "sha512-oTWuToyFpL9+opNaU3hD0VIhZqAEw0AP1Fd71NTLS+F7Ua5vw2KMjen9MDF5MMLYwOlQD4rWAtArWX+30D3HYw==",
       "requires": {
         "@babel/runtime": "^7.1.2",
         "@emotion/core": "^10.0.28",
@@ -15193,6 +15233,11 @@
             "resize-observer-polyfill": "1.5.1"
           }
         },
+        "d3-array": {
+          "version": "2.8.0",
+          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
+          "integrity": "sha512-6V272gsOeg7+9pTW1jSYOR1QE37g95I3my1hBmY+vOUNHRrk9yt4OTz/gK7PMkVAVDrYYq4mq3grTiZ8iJdNIw=="
+        },
         "d3-interpolate": {
           "version": "1.4.0",
           "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
@@ -15202,11 +15247,11 @@
           }
         },
         "d3-scale": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.2.tgz",
-          "integrity": "sha512-3Mvi5HfqPFq0nlyeFlkskGjeqrR/790pINMHc4RXKJ2E6FraTd3juaRIRZZHyMAbi3LjAMW0EH4FB1WgoGyeXg==",
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.3.tgz",
+          "integrity": "sha512-8E37oWEmEzj57bHcnjPVOBS3n4jqakOeuv1EDdQSiSrYnMCBdMd3nc4HtKk7uia8DUHcY/CGuJ42xxgtEYrX0g==",
           "requires": {
-            "d3-array": "1.2.0 - 2",
+            "d3-array": "^2.3.0",
             "d3-format": "1 - 2",
             "d3-interpolate": "1.2.0 - 2",
             "d3-time": "1 - 2",
@@ -15224,18 +15269,28 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-calendar": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.15.5.tgz",
-      "integrity": "sha512-dHS0VyrE04uXFGztmJK4ZkvJicQA5vhaRu9MmYuRsQ33w859vxwJNWVQ3Zn3pjqgdSr23eB7Q7NX6bNh8J7/8A==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.15.10.tgz",
+      "integrity": "sha512-JOjOgPqCCyfA8RlLEpmMZLlWAJGx/6vdC3GEUiLE2L6adZv/z8lzR+PiRLTtmaQqCduToHzekr8E5IwWAchC3Q==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3-array": "^2.0.3",
         "d3-selection": "^1.4.0",
         "d3-tip": "^0.9.1",
         "prop-types": "^15.6.2"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15244,29 +15299,51 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-chord": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.15.5.tgz",
-      "integrity": "sha512-TXXSMNVPJ+h7UOg3LAybKkZ5Yel9648lHGaEww97JtF8Da8t8I+UT0DcuqJWXkxoXwWrbP0qnkpON9t8+z/BCw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.15.10.tgz",
+      "integrity": "sha512-/hfQVkwIb0FPgkO5WlXVAXXOYiK7sW5DPegpxbeeYN/whVDEYMdCve+1PsTdKxkjIuOyyj4SSEYsosVEAYGXAQ==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "prop-types": "^15.6.2",
         "react": "^16.13.1"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-country-map": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.15.5.tgz",
-      "integrity": "sha512-tZEw+IYHIyKWPhesdY0HK7YlcleXWEXHLBstd3TtZ1KEgFCZyNO1Ug/fpywHT2NfdB+kmth56DauI7LwpIKKtA==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.15.10.tgz",
+      "integrity": "sha512-M/KZNmtGVZN+o+aIDcPG3ivNJvXdboAOyGZbLxuf79rhltekxyDGvrZlipksOLZQA2bXslqSaWBpvfTaRdTxZA==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-array": "^2.0.3",
         "prop-types": "^15.6.2"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15275,55 +15352,101 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-event-flow": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.15.5.tgz",
-      "integrity": "sha512-uHESP+s9es8r4HPBAONcgfbcahyV9AHJ9yhRANYRqqhaYclML6Gj6JmvYzuBuV3M5eDAlRzwjHwJwrXHUiQEhg==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.15.10.tgz",
+      "integrity": "sha512-zRYpL3Kq/inmQAQCU5MnwUtzrrHHQUBnYV2HGK1QukumINYxUm5i2jTty6Xf0Rn+BE6QJCHPAZfs7CPF1+MJpA==",
       "requires": {
         "@data-ui/event-flow": "^0.0.84",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-force-directed": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.15.5.tgz",
-      "integrity": "sha512-fwZ66NZpzsl4K581vAh4Zg96YM7nV4q/0tm74iNDlP4TB1RLS92dv9Ny3rj/uQfXqPOcaZhSmVBPRZwKxetTGQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.15.10.tgz",
+      "integrity": "sha512-GtG52eAw4BsTzdPnlTd6uttqP7kj57R2qdT91rM88n2aLVF5w6m+/0kcO6uqhyDOy3WN+2h4XzUkiOPvq3sWkw==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "prop-types": "^15.7.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-heatmap": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.15.5.tgz",
-      "integrity": "sha512-82RGIzUsJufb0shxr1osEqrOeW27Jv1rVyr5fNHUjEq9nLF5Hf5aVJTVkWZY9zw6qAPxOJuEVzB768MH9CyvqQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.15.10.tgz",
+      "integrity": "sha512-FC9AZtVU2zcj1IPU6Bh40vn06wY+F1AC5HY0UzYCBAF+pIYy9n3ASy4sPONV08p1/D97KCRZyzmLaX3gGpHHFQ==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-svg-legend": "^1.x",
         "d3-tip": "^0.9.1",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-histogram": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.15.5.tgz",
-      "integrity": "sha512-pZ9Jwh0Ziw1TeHdRoDlm3gvhwVfba6zk9LwyAYZVL++7tF6c7N+O/mw2yyG55uyaKmN5acS5WBFyV0us8dgcCQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.15.10.tgz",
+      "integrity": "sha512-sA4tPMPEItdvmCCpA+DUWVnAi/TUJ0WiqDZXAqaAZszG1I60q+jvp+DaA2jXb2+tjv7j2S9icYUUtB1JQpMnBw==",
       "requires": {
         "@data-ui/histogram": "^0.0.84",
         "@data-ui/theme": "^0.0.84",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@vx/legend": "^0.0.198",
         "@vx/responsive": "^0.0.197",
         "@vx/scale": "^0.0.197",
         "prop-types": "^15.6.2"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "@vx/group": {
           "version": "0.0.198",
           "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.198.tgz",
@@ -15385,17 +15508,27 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-horizon": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.15.5.tgz",
-      "integrity": "sha512-dlX0zrepXy39sV4l0gg1ZhriS/o0QfuY5n7/yfM7BfSb3sDF7umt+u1trL2xypAHVZow9+ctOIbWaHjfaS8JXw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.15.10.tgz",
+      "integrity": "sha512-jgEoFwoo7SJgVuZDixGJnFSQSQtgBLV56NfUqkg2IshpB6nQQFt3+u0fARr1ng64rjRoEl0o4rpqPVtmmmaTgg==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3-array": "^2.0.3",
         "d3-scale": "^3.0.1",
         "prop-types": "^15.6.2"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15416,12 +15549,12 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-map-box": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.15.5.tgz",
-      "integrity": "sha512-OkX8WnFGUdwSkMILFNec1yPZLEaLqjTf/MIMqnjjcrZd/LGA7JnsoquO43jwPZiPDQJSWRQaJvWe/Ulocy45MQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.15.10.tgz",
+      "integrity": "sha512-JcCFDqZSgF4ZwGUTuX11oYbYAjnocsz/FieP402lRcGswYO3OSLc3i+syC+4ocEb+VxYB0Uruti2f6JHawZImA==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "immutable": "^3.8.2",
         "mapbox-gl": "^0.53.0",
         "prop-types": "^15.6.2",
@@ -15430,6 +15563,16 @@
         "viewport-mercator-project": "^6.1.1"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "immutable": {
           "version": "3.8.2",
           "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
@@ -15438,17 +15581,27 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-paired-t-test": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.15.5.tgz",
-      "integrity": "sha512-Wcx2KkLTXNXOXvnNAX4UAL0ZY4I5LdnIepa3gLlDRF4PPE7tIaTTsJpyNPYKRtaKHGvIoP8DYqTZafey2qlGBA==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.15.10.tgz",
+      "integrity": "sha512-PTc3UTsk+wnCkrKKt3jLi/RaHhLBj31KQBNQzVOee4rTnVP4kJd/ks49oaH7nku9tVG2iBs15WW8CfqZBCYBbw==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "distributions": "^1.0.0",
         "prop-types": "^15.6.2",
         "reactable-arc": "0.15.0"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "reactable-arc": {
           "version": "0.15.0",
           "resolved": "https://registry.npmjs.org/reactable-arc/-/reactable-arc-0.15.0.tgz",
@@ -15457,106 +15610,202 @@
       }
     },
     "@superset-ui/legacy-plugin-chart-parallel-coordinates": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.15.5.tgz",
-      "integrity": "sha512-kntPmYJ78Ze/jSqJMN8XfVE5qOMIk/KWyH5X0sihpGXCt+nsldWywjfv5IhPggjMV9d22BYBpYTwg7rkFLIuOA==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.15.10.tgz",
+      "integrity": "sha512-qpPeZlvXfXqX/NcxMWYgh2rmD7DZnI13ScrQUoXXf6OSH+3Lgx/7t1YcwsI7DKU+ngd1fioYibbKsg2GN4hgLQ==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "prop-types": "^15.7.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-partition": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.15.5.tgz",
-      "integrity": "sha512-U0aO46rjwRt35jvu5n8rKse5L3FGoi2vLgKgtrh2sRYkyRrf3RsbXICQ2l3TwpiIt7KC9AHiFy0sTKeId+/K0Q==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.15.10.tgz",
+      "integrity": "sha512-B7nzrV9F23LEMqEggDPAYiDViKp89E6W/TG8TyP850M61RCpWZUbNmq2KEYdQVGCmnOW2fBMK9AvTcxg35XCtQ==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-hierarchy": "^1.1.8",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-pivot-table": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.15.5.tgz",
-      "integrity": "sha512-1l5PB3lymTvwfx+YAlisie8ffRycWE6TRRTueH1f8yb9SKZu4KRXdIrrZ3PMJ2g1Uae0Fkl7SlnQMsE365zUvw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.15.10.tgz",
+      "integrity": "sha512-byXaU1Sfvpl4yRPi5BL/WXgwenD4csKmJd7i0yrXWls6L1GpcCZHTtMnTmKuBwwJbJPTHZ2PAuMNsBh38olIlQ==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "datatables.net-bs": "^1.10.15",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-rose": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.15.5.tgz",
-      "integrity": "sha512-VELNE1iRcuc5Gb9hyHjY6F8IQrQUEsIlsZH/RTKiZOY/KDwpY0rVzG0qftvDLFzp0/rOUSD/r9L7Ny2kWhKT+Q==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.15.10.tgz",
+      "integrity": "sha512-dfp7IlckqiQgLPG68mAnDU3VKLorKHw4Bu2cIOvltasLD8y2qRIC84P9JTxd58dsxPTm4neuNDaIWi+b+vf22g==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "nvd3": "1.8.6",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-sankey": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.15.5.tgz",
-      "integrity": "sha512-9cjLUE1uZTP7ZGzd49UEZ3AVoQXGqOVW6FFymYdIcJ58m/09U1aROjT4q8MPZjUX1cfOWAZn8LKdu8H2FThzKw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.15.10.tgz",
+      "integrity": "sha512-ttULXBUwLW31vzO5wgNPZWZ0G08il+xRyfz1K9g0LZVfH2LJH8AjsPT3sgiPb+tfOgVCMDfzTq9osTj37x0T9w==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-sankey": "^0.4.2",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-sankey-loop": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.15.5.tgz",
-      "integrity": "sha512-shASQ8FOgQmaHqALw4R1MVyfhmhn8dbD7xww69qzHcrJZeXnmSTTYws4CngdMRH5LccPsu2+jSFP4MTP8Likbw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.15.10.tgz",
+      "integrity": "sha512-0mssS0wFUrI4oeqCUqyoM182WNTi5ueWa69gOmnKS3pPjrs1vvCS5C49B6P9kwsBOn9m7cKMbslMQFDGfE7nNA==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3-sankey-diagram": "^0.7.3",
         "d3-selection": "^1.4.0",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-sunburst": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.15.5.tgz",
-      "integrity": "sha512-g9AGz0aHiaPbDHQMb7AgUHPLV+I5fNexba9Q71S0RzP+UF/7DdzWIfO+QPZ97+ZlvitGsmSFDmbI+zdoo+Z1Jw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.15.10.tgz",
+      "integrity": "sha512-thg7qd2Gxmdq0bC3/RUdphD7qyb6RgIGj6WKMdLvJj08IyygpBCel3VD8aEJAqFuDhTntKKr5NnwP5i/KTjOJg==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-treemap": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.15.5.tgz",
-      "integrity": "sha512-VGON3aHPhDL4K6ET2R52EVf6yNg9zpovw6wzXcIQQn0EPwUXEoquP4D5Ea0/oa97WqfRhY2Bxhyi86BIMCzFBQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.15.10.tgz",
+      "integrity": "sha512-+RDsde2maAp+kQDye1zX2fkIClkkdlDLQmtltjB0X2TxhJiEtKQjNw2Fq5qd1RGX+V1Pp2e3m5LXPVXUMKaOZw==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3-hierarchy": "^1.1.8",
         "d3-selection": "^1.4.0",
         "prop-types": "^15.6.2"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-plugin-chart-world-map": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.15.5.tgz",
-      "integrity": "sha512-PYLZZSWeGp7XPgCxDKDb3kw1DWxVRXLnik266O686vTbLqW9q9Ka1ZME1/pNhqBsEg8RPI9wrPoNn7sst97Btg==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.15.10.tgz",
+      "integrity": "sha512-feQMP9ijwPVwlb7qHbHiu6rFEqDTciLaq0uCSrbBE+gyqxuejbxyipSba33qRTFWpC0Wd5UgHloHhLBuXg/UXA==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-array": "^2.4.0",
         "d3-color": "^1.4.1",
@@ -15564,6 +15813,16 @@
         "prop-types": "^15.6.2"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15577,17 +15836,29 @@
       }
     },
     "@superset-ui/legacy-preset-chart-big-number": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.15.5.tgz",
-      "integrity": "sha512-Yi1nyVjfvQ25ULxVPBhR+Ppn35ckp5jgUZ3hhjLaTB66/tTVR3iaugfcNxmI2ehrsIaXReZGk7RQQ5CkdIwEpw==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.15.10.tgz",
+      "integrity": "sha512-b8SaNxe9ufJydw0mJPJ2EnftcGq1JkAXmdBzFQ/3LgXFH8QTilvVrek0lgTEWvcZLxQqIOOqG05xA+1kAMnDvA==",
       "requires": {
         "@data-ui/xy-chart": "^0.0.84",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@types/d3-color": "^1.2.2",
         "@types/shortid": "^0.0.29",
         "d3-color": "^1.2.3",
         "shortid": "^2.2.14"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/legacy-preset-chart-deckgl": {
@@ -15616,13 +15887,13 @@
       }
     },
     "@superset-ui/legacy-preset-chart-nvd3": {
-      "version": "0.15.8",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.15.8.tgz",
-      "integrity": "sha512-vj2oTLJjnq5zDwJMvHsZTHp2hvqUjt/Xcp0ZblxNnhl/qtxh1O8GXEwseyi3hZsXwVxXAAFb3z+hjq6jr+ATiQ==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.15.10.tgz",
+      "integrity": "sha512-SWQms0AQk1iWntITf5HoRwRNzHwfWryZyE5JuFBT6FkupAzRwrcn5wnR5U0P8r3qETO+6jV6cJZXIU24T1rGWg==",
       "requires": {
         "@data-ui/xy-chart": "^0.0.84",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "d3": "^3.5.17",
         "d3-tip": "^0.9.1",
         "dompurify": "^2.0.6",
@@ -15633,27 +15904,51 @@
         "nvd3-fork": "2.0.3",
         "prop-types": "^15.6.2",
         "urijs": "^1.18.10"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/plugin-chart-echarts": {
-      "version": "0.15.7",
-      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.15.7.tgz",
-      "integrity": "sha512-MFrFsx/B+55p+carRaYcM+j8+8RFViV9We9y2mU8ISp1T/dUKsJCyjzALG1SWHIsgDe2EzWlOJ0HmCv5Xy7hPA==",
+      "version": "0.15.11",
+      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.15.11.tgz",
+      "integrity": "sha512-Zd7Hjgj9OfrJ3V+cf6oQDn+1ptYHrUW2pwlatZQ4vrgZ8/Wru8y7A2jLgTljyVkteOONJ9L4bgTgo5StOEm96g==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@types/echarts": "^4.6.3",
         "echarts": "^4.9.0"
+      },
+      "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        }
       }
     },
     "@superset-ui/plugin-chart-table": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.15.5.tgz",
-      "integrity": "sha512-G467ItqlgUKbvHmcfjCHUHC1Z1P0FBgrdhAtmNG0E9ibqjbXKy4qOpJ95RtE3qFGaaLcIM4HnuI8ewVBDKJ0wg==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.15.10.tgz",
+      "integrity": "sha512-nmKnX6OWwQ1pzQEvERqO3oBtSgPXDBQzoxfjFrUFeaiRy7erQPEFWQt31y4JDiVKYclTzy9q9pfft3pHkTh5pw==",
       "requires": {
         "@emotion/core": "^10.0.28",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@types/d3-array": "^2.0.0",
         "@types/match-sorter": "^4.0.0",
         "@types/react-table": "^7.0.19",
@@ -15666,6 +15961,16 @@
         "xss": "^1.0.6"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15674,12 +15979,12 @@
       }
     },
     "@superset-ui/plugin-chart-word-cloud": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.15.5.tgz",
-      "integrity": "sha512-0wD1T4YLoZ18a2XAb0M290mt+HuPg1PINHJceH5EhSp40C+gv1sr7n26pK5KxHZPYUQ6Hdn+RDF3v7O8lPLRsA==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.15.10.tgz",
+      "integrity": "sha512-Uivv2ovh02fM7ZVKtRDyJkxV8oosJ24XaXVWOsoV9xlgmlWbO2tC4PaEspqfp6VjwFr6vnjpjIDNWdjjPSlAZw==",
       "requires": {
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@types/d3-cloud": "^1.2.1",
         "@types/d3-scale": "^2.0.2",
         "d3-cloud": "^1.2.5",
@@ -15688,6 +15993,16 @@
         "encodable": "^0.7.6"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "d3-array": {
           "version": "2.8.0",
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
@@ -15708,14 +16023,14 @@
       }
     },
     "@superset-ui/preset-chart-xy": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.15.5.tgz",
-      "integrity": "sha512-+SWku2DIi+k7vKuZagE/lSxib1GyKKM6e2N77cf0cSuiapKpCl90CsgSjHM+i96ovdmyltGzbAIzoxhrY7ICmA==",
+      "version": "0.15.10",
+      "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.15.10.tgz",
+      "integrity": "sha512-R0OFc3aXlGrWgsKiPCBmLpehR1JA9fab9a1XwDYLGiJT9/28nT269dQ4d2NlBw4hKq+EKwDmotc7KEhJCXzkIw==",
       "requires": {
         "@data-ui/theme": "^0.0.84",
         "@data-ui/xy-chart": "^0.0.84",
-        "@superset-ui/chart-controls": "0.15.5",
-        "@superset-ui/core": "0.15.2",
+        "@superset-ui/chart-controls": "0.15.10",
+        "@superset-ui/core": "0.15.10",
         "@vx/axis": "^0.0.198",
         "@vx/legend": "^0.0.198",
         "@vx/scale": "^0.0.197",
@@ -15725,6 +16040,16 @@
         "reselect": "^4.0.0"
       },
       "dependencies": {
+        "@superset-ui/chart-controls": {
+          "version": "0.15.10",
+          "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.15.10.tgz",
+          "integrity": "sha512-InYqMwjGLpW5I4rBkMCRAJ2a3DAKrgfBM36dxW/xeaUaxqsx5ZEb9pWBYJI91SjqcZDeKtM9OdRvm+SAvvITtg==",
+          "requires": {
+            "@superset-ui/core": "0.15.10",
+            "lodash": "^4.17.15",
+            "prop-types": "^15.7.2"
+          }
+        },
         "@vx/axis": {
           "version": "0.0.198",
           "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.198.tgz",
@@ -17007,21 +17332,21 @@
       }
     },
     "@types/d3-color": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-1.2.2.tgz",
-      "integrity": "sha512-6pBxzJ8ZP3dYEQ4YjQ+NVbQaOflfgXq/JbDiS99oLobM2o72uAST4q6yPxHv6FOTCRC/n35ktuo8pvw/S4M7sw=="
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-1.4.1.tgz",
+      "integrity": "sha512-xkPLi+gbgUU9ED6QX4g6jqYL2KCB0/3AlM+ncMGqn49OgH0gFMY/ITGqPF8HwEiLzJaC+2L0I+gNwBgABv1Pvg=="
     },
     "@types/d3-format": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.1.tgz",
-      "integrity": "sha512-KAWvReOKMDreaAwOjdfQMm0HjcUMlQG47GwqdVKgmm20vTd2pucj0a70c3gUSHrnsmo6H2AMrkBsZU2UhJLq8A=="
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.4.1.tgz",
+      "integrity": "sha512-ss9G2snEKmp2In5Z3T0Jpqv8QaDBc2xHltBw83KjnV5B5w+Iwphbvq5ph/Xnu4d03fmmsdt+o1aWch379rxIbA=="
     },
     "@types/d3-interpolate": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-1.3.1.tgz",
-      "integrity": "sha512-z8Zmi08XVwe8e62vP6wcA+CNuRhpuUU5XPEfqpG0hRypDE5BWNthQHB1UNWWDB7ojCbGaN4qBdsWp5kWxhT1IQ==",
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-1.4.2.tgz",
+      "integrity": "sha512-ylycts6llFf8yAEs1tXzx2loxxzDZHseuhPokrqKprTQSTcD3JbJI1omZP1rphsELZO3Q+of3ff0ZS7+O6yVzg==",
       "requires": {
-        "@types/d3-color": "*"
+        "@types/d3-color": "^1"
       }
     },
     "@types/d3-path": {
@@ -17030,11 +17355,11 @@
       "integrity": "sha512-NaIeSIBiFgSC6IGUBjZWcscUJEq7vpVu7KthHN8eieTV9d9MqkSOZLH4chq1PmcKy06PNe3axLeKmRIyxJ+PZQ=="
     },
     "@types/d3-scale": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-2.2.0.tgz",
-      "integrity": "sha512-oQFanN0/PiR2oySHfj+zAAkK1/p4LD32Nt1TMVmzk+bYHk7vgIg/iTXQWitp1cIkDw4LMdcgvO63wL+mNs47YA==",
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-2.2.4.tgz",
+      "integrity": "sha512-wkQXT+IfgfAnKB5rtS1qMJg3FS32r1rVFHvqtiqk8pX8o5aQR3VwX1P7ErHjzNIicTlkWsaMiUTrYB+E75HFeA==",
       "requires": {
-        "@types/d3-time": "*"
+        "@types/d3-time": "^1"
       }
     },
     "@types/d3-scale-chromatic": {
@@ -17043,22 +17368,22 @@
       "integrity": "sha512-7FtJYrmXTEWLykShjYhoGuDNR/Bda0+tstZMkFj4RRxUEryv16AGh3be21tqg84B6KfEwiZyEpBcTyPyU+GWjg=="
     },
     "@types/d3-shape": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.4.tgz",
-      "integrity": "sha512-fxmOjs+UqNQGpztD5BOo+KriE0jLFrBP4Ct++0QExv/xfDOT1cpcMxgsZ+5qPmnR0t+GjbwAe1Um1PHpv3G4oA==",
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.5.tgz",
+      "integrity": "sha512-aPEax03owTAKynoK8ZkmkZEDZvvT4Y5pWgii4Jp4oQt0gH45j6siDl9gNDVC5kl64XHN2goN9jbYoHK88tFAcA==",
       "requires": {
         "@types/d3-path": "^1"
       }
     },
     "@types/d3-time": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-1.0.10.tgz",
-      "integrity": "sha512-aKf62rRQafDQmSiv1NylKhIMmznsjRN+MnXRXTqHoqm0U/UZzVpdrtRnSIfdiLS616OuC1soYeX1dBg2n1u8Xw=="
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-1.1.1.tgz",
+      "integrity": "sha512-ULX7LoqXTCYtM+tLYOaeAJK7IwCT+4Gxlm2MaH0ErKLi07R5lh8NHCAyWcDkCCmx1AfRcBEV6H9QE9R25uP7jw=="
     },
     "@types/d3-time-format": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.1.1.tgz",
-      "integrity": "sha512-tJSyXta8ZyJ52wDDHA96JEsvkbL6jl7wowGmuf45+fAkj5Y+SQOnz0N7/H68OWmPshPsAaWMQh+GAws44IzH3g=="
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.1.tgz",
+      "integrity": "sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA=="
     },
     "@types/dom-to-image": {
       "version": "2.6.0",
@@ -17070,9 +17395,9 @@
       }
     },
     "@types/echarts": {
-      "version": "4.8.1",
-      "resolved": "https://registry.npmjs.org/@types/echarts/-/echarts-4.8.1.tgz",
-      "integrity": "sha512-+kyP8TUkyJgmIBioPBJiTay9G7f/xcW7/8CYgh3iWa8kQ/SbGmAIpXyyCXtiWqPXT+tnsIONLC4hcNfmxVfxAg==",
+      "version": "4.9.0",
+      "resolved": "https://registry.npmjs.org/@types/echarts/-/echarts-4.9.0.tgz",
+      "integrity": "sha512-9QIAUe6cxM5GyGNCIhlEwf7l5oclZDVM0HNRfehPx3dDUt1Jfhbvp/U2wfgwtL/IDqyASBVs1zu4qyaCsuJINA==",
       "requires": {
         "@types/zrender": "*"
       }
@@ -18352,14 +18677,6 @@
           "resolved": "https://registry.npmjs.org/@vx/clip-path/-/clip-path-0.0.165.tgz",
           "integrity": "sha512-mBCbgguLMVyGvar5FbxqyyY4NQFlnXoSLF0TrhgWYkF/FCXdE1CzBC+Y4iXIJOY0ZTtluqL9XrNdIDpx49AmuA=="
         },
-        "@vx/curve": {
-          "version": "0.0.165",
-          "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.165.tgz",
-          "integrity": "sha512-fiQAGrKNGjJbL+eixUckJqIZDWXH/1NtIyyDbSz3J7ksk0QpYr5BgWcNJN76HLNt7wfcLwNzCHeNs4iVYyFGTg==",
-          "requires": {
-            "d3-shape": "^1.0.6"
-          }
-        },
         "@vx/group": {
           "version": "0.0.170",
           "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
@@ -24041,9 +24358,9 @@
       }
     },
     "dompurify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz",
-      "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg=="
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.0.tgz",
+      "integrity": "sha512-bqFOQ7XRmmozp0VsKdIEe8UwZYxj0yttz7l80GBtBqdVRY48cOpXH2J/CVO7AEkV51qY0EBVXfilec18mdmQ/w=="
     },
     "domutils": {
       "version": "1.5.1",
@@ -26440,7 +26757,7 @@
       "dependencies": {
         "core-js": {
           "version": "1.2.7",
-          "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
           "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
         }
       }
@@ -33542,9 +33859,9 @@
       },
       "dependencies": {
         "@babel/runtime": {
-          "version": "7.11.2",
-          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
-          "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==",
+          "version": "7.12.1",
+          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
+          "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
           "requires": {
             "regenerator-runtime": "^0.13.4"
           }
@@ -37732,9 +38049,9 @@
       "dev": true
     },
     "pretty-ms": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.0.tgz",
-      "integrity": "sha512-J3aPWiC5e9ZeZFuSeBraGxSkGMOvulSWsxDByOcbD1Pr75YL3LSNIKIb52WXbCLE1sS5s4inBBbryjF4Y05Ceg==",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
+      "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
       "requires": {
         "parse-ms": "^2.1.0"
       }
@@ -47640,9 +47957,9 @@
       }
     },
     "whatwg-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
-      "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz",
+      "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ=="
     },
     "whatwg-mimetype": {
       "version": "2.3.0",
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index f53987f..fc598da 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -64,33 +64,33 @@
     "@data-ui/sparkline": "^0.0.84",
     "@emotion/core": "^10.0.28",
     "@superset-ui/chart-controls": "^0.15.5",
-    "@superset-ui/core": "^0.15.2",
-    "@superset-ui/legacy-plugin-chart-calendar": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-chord": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-country-map": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-event-flow": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-force-directed": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-heatmap": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-histogram": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-horizon": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-map-box": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-partition": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-pivot-table": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-rose": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-sankey": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-sunburst": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-treemap": "^0.15.5",
-    "@superset-ui/legacy-plugin-chart-world-map": "^0.15.5",
-    "@superset-ui/legacy-preset-chart-big-number": "^0.15.5",
+    "@superset-ui/core": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-calendar": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-chord": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-country-map": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-event-flow": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-force-directed": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-heatmap": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-histogram": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-horizon": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-map-box": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-partition": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-pivot-table": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-rose": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-sankey": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-sunburst": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-treemap": "^0.15.10",
+    "@superset-ui/legacy-plugin-chart-world-map": "^0.15.10",
+    "@superset-ui/legacy-preset-chart-big-number": "^0.15.10",
     "@superset-ui/legacy-preset-chart-deckgl": "^0.3.1",
-    "@superset-ui/legacy-preset-chart-nvd3": "^0.15.8",
-    "@superset-ui/plugin-chart-echarts": "^0.15.7",
-    "@superset-ui/plugin-chart-table": "^0.15.5",
-    "@superset-ui/plugin-chart-word-cloud": "^0.15.5",
-    "@superset-ui/preset-chart-xy": "^0.15.5",
+    "@superset-ui/legacy-preset-chart-nvd3": "^0.15.10",
+    "@superset-ui/plugin-chart-echarts": "^0.15.11",
+    "@superset-ui/plugin-chart-table": "^0.15.10",
+    "@superset-ui/plugin-chart-word-cloud": "^0.15.10",
+    "@superset-ui/preset-chart-xy": "^0.15.10",
     "@vx/responsive": "^0.0.195",
     "abortcontroller-polyfill": "^1.1.9",
     "antd": "^4.5.2",
diff --git a/superset/charts/schemas.py b/superset/charts/schemas.py
index 58012a8..8541c4a 100644
--- a/superset/charts/schemas.py
+++ b/superset/charts/schemas.py
@@ -704,7 +704,94 @@ class ChartDataExtrasSchema(Schema):
     )
 
 
+class AnnotationLayerSchema(Schema):
+    annotationType = fields.String(
+        description="Type of annotation layer",
+        validate=validate.OneOf(
+            choices=("EVENT", "FORMULA", "INTERVAL", "TIME_SERIES",)
+        ),
+    )
+    color = fields.String(description="Layer color", allow_none=True,)
+    descriptionColumns = fields.List(
+        fields.String(),
+        description="Columns to use as the description. If none are provided, "
+        "all will be shown.",
+    )
+    hideLine = fields.Boolean(
+        description="Should line be hidden. Only applies to line annotations",
+        allow_none=True,
+    )
+    intervalEndColumn = fields.String(
+        description=(
+            "Column containing end of interval. Only applies to interval layers"
+        ),
+        allow_none=True,
+    )
+    name = fields.String(description="Name of layer", required=True)
+    opacity = fields.String(
+        description="Opacity of layer",
+        validate=validate.OneOf(
+            choices=("", "opacityLow", "opacityMedium", "opacityHigh"),
+        ),
+        allow_none=True,
+        required=False,
+    )
+    overrides = fields.Dict(
+        keys=fields.String(
+            desciption="Name of property to be overridden",
+            validate=validate.OneOf(
+                choices=("granularity", "time_grain_sqla", "time_range", "time_shift"),
+            ),
+        ),
+        values=fields.Raw(allow_none=True),
+        description="which properties should be overridable",
+        allow_none=True,
+    )
+    show = fields.Boolean(description="Should the layer be shown", required=True)
+    showMarkers = fields.Boolean(
+        description="Should markers be shown. Only applies to line annotations.",
+        required=True,
+    )
+    sourceType = fields.String(
+        description="Type of source for annotation data",
+        validate=validate.OneOf(choices=("", "line", "NATIVE", "table",)),
+    )
+    style = fields.String(
+        description="Line style. Only applies to time-series annotations",
+        validate=validate.OneOf(choices=("dashed", "dotted", "solid", "longDashed",)),
+    )
+    timeColumn = fields.String(
+        description="Column with event date or interval start date", allow_none=True,
+    )
+    titleColumn = fields.String(description="Column with title", allow_none=True,)
+    width = fields.Float(
+        description="Width of annotation line",
+        validate=[
+            Range(
+                min=0,
+                min_inclusive=True,
+                error=_("`width` must be greater or equal to 0"),
+            )
+        ],
+    )
+    value = fields.Raw(
+        description="For formula annotations, this contains the formula. "
+        "For other types, this is the primary key of the source object.",
+        required=True,
+    )
+
+
 class ChartDataQueryObjectSchema(Schema):
+    annotation_layers = fields.List(
+        fields.Nested(AnnotationLayerSchema),
+        description="Annotation layers to apply to chart",
+        allow_none=True,
+    )
+    applied_time_extras = fields.Dict(
+        description="A mapping of temporal extras that have been applied to the query",
+        required=False,
+        example={"__time_range": "1 year ago : now"},
+    )
     filters = fields.List(fields.Nested(ChartDataFilterSchema), required=False)
     granularity = fields.String(
         description="Name of temporal column used for time filtering. For legacy Druid "
@@ -816,6 +903,19 @@ class ChartDataQueryObjectSchema(Schema):
         "as `having_druid`.",
         deprecated=True,
     )
+    druid_time_origin = fields.String(
+        description="Starting point for time grain counting on legacy Druid "
+        "datasources. Used to change e.g. Monday/Sunday first-day-of-week. "
+        "This field is deprecated and should be passed to `extras` "
+        "as `druid_time_origin`.",
+        allow_none=True,
+    )
+    url_params = fields.Dict(
+        description="Optional query parameters passed to a dashboard or Explore view",
+        keys=fields.String(description="The query parameter"),
+        values=fields.String(description="The value of the query parameter"),
+        allow_none=True,
+    )
 
 
 class ChartDataDatasourceSchema(Schema):
@@ -852,7 +952,28 @@ class ChartDataQueryContextSchema(Schema):
     # pylint: enable=no-self-use,unused-argument
 
 
+class AnnotationDataSchema(Schema):
+    columns = fields.List(
+        fields.String(),
+        description="columns available in the annotation result",
+        required=True,
+    )
+    records = fields.List(
+        fields.Dict(keys=fields.String(),),
+        description="records mapping the column name to it's value",
+        required=True,
+    )
+
+
 class ChartDataResponseResult(Schema):
+    annotation_data = fields.List(
+        fields.Dict(
+            keys=fields.String(description="Annotation layer name"),
+            values=fields.String(),
+        ),
+        description="All requested annotation data",
+        allow_none=True,
+    )
     cache_key = fields.String(
         description="Unique cache key for query object", required=True, allow_none=True,
     )
diff --git a/superset/common/query_context.py b/superset/common/query_context.py
index 0e7fa9d..22276e8 100644
--- a/superset/common/query_context.py
+++ b/superset/common/query_context.py
@@ -155,6 +155,8 @@ class QueryContext:
             query_obj.row_offset = 0
             query_obj.columns = [o.column_name for o in self.datasource.columns]
         payload = self.get_df_payload(query_obj)
+        # TODO: implement
+        payload["annotation_data"] = []
         df = payload["df"]
         status = payload["status"]
         if status != utils.QueryStatus.FAILED:
diff --git a/superset/common/query_object.py b/superset/common/query_object.py
index a2676b9..be138d0 100644
--- a/superset/common/query_object.py
+++ b/superset/common/query_object.py
@@ -59,6 +59,7 @@ class QueryObject:
     and druid. The query objects are constructed on the client.
     """
 
+    annotation_layers: List[Dict[str, Any]]
     granularity: Optional[str]
     from_dttm: Optional[datetime]
     to_dttm: Optional[datetime]
@@ -79,6 +80,7 @@ class QueryObject:
 
     def __init__(
         self,
+        annotation_layers: Optional[List[Dict[str, Any]]] = None,
         granularity: Optional[str] = None,
         metrics: Optional[List[Union[Dict[str, Any], str]]] = None,
         groupby: Optional[List[str]] = None,
@@ -97,9 +99,11 @@ class QueryObject:
         post_processing: Optional[List[Optional[Dict[str, Any]]]] = None,
         **kwargs: Any,
     ):
+        annotation_layers = annotation_layers or []
         metrics = metrics or []
         extras = extras or {}
         is_sip_38 = is_feature_enabled("SIP_38_VIZ_REARCHITECTURE")
+        self.annotation_layers = annotation_layers
         self.granularity = granularity
         self.from_dttm, self.to_dttm = utils.get_since_until(
             relative_start=extras.get(