You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by vi...@apache.org on 2023/01/16 09:38:48 UTC

[superset] branch villebro/falsy-default created (now b00802189a)

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

villebro pushed a change to branch villebro/falsy-default
in repository https://gitbox.apache.org/repos/asf/superset.git


      at b00802189a Merge branch 'master' into villebro/falsy-default

This branch includes the following new commits:

     new b00802189a Merge branch 'master' into villebro/falsy-default

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[superset] 01/01: Merge branch 'master' into villebro/falsy-default

Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

villebro pushed a commit to branch villebro/falsy-default
in repository https://gitbox.apache.org/repos/asf/superset.git

commit b00802189a21d49520df21f11af2cb8f9e1b225e
Merge: eeec7463ad eb66590b6a
Author: Ville Brofeldt <vi...@apple.com>
AuthorDate: Mon Jan 16 11:37:46 2023 +0200

    Merge branch 'master' into villebro/falsy-default

 .github/CODEOWNERS                                 |    15 +-
 .github/ISSUE_TEMPLATE/feature_request.md          |    12 +-
 .github/ISSUE_TEMPLATE/security_vulnerability.md   |    12 -
 .github/ISSUE_TEMPLATE/sip.md                      |     6 +-
 .github/actions/chart-testing-action               |     2 +-
 .github/dependabot.yml                             |    21 +
 .github/workflows/bashlib.sh                       |    31 +
 .github/workflows/caches.js                        |     2 +
 .github/workflows/check_db_migration_confict.yml   |     5 +-
 .github/workflows/chromatic-master.yml             |    55 +
 .github/workflows/docker_build_push.sh             |    13 +
 .github/workflows/license-check.yml                |    51 +
 .github/workflows/misc.yml                         |    99 -
 .github/workflows/prefer-typescript.yml            |    56 +
 .github/workflows/superset-applitool-cypress.yml   |    88 +
 .../workflows/superset-applitools-storybook.yml    |    40 +
 .github/workflows/superset-cli.yml                 |    76 +
 .github/workflows/superset-e2e.yml                 |     4 +-
 .github/workflows/superset-frontend.yml            |     5 +
 .github/workflows/superset-helm-lint.yml           |     1 +
 .github/workflows/superset-helm-release.yml        |     7 +-
 .../workflows/superset-python-integrationtest.yml  |     2 +-
 .github/workflows/superset-python-misc.yml         |    19 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     4 +-
 .github/workflows/superset-websocket.yml           |     2 +-
 .github/workflows/welcome-new-users.yml            |    21 +
 .markdownlint.json                                 |     4 +
 .pre-commit-config.yaml                            |    15 +-
 .pylintrc                                          |     6 +-
 CHANGELOG.md                                       |  1483 +-
 CODE_OF_CONDUCT.md                                 |     4 +-
 CONTRIBUTING.md                                    |   116 +-
 Dockerfile                                         |    76 +-
 Makefile                                           |    16 +-
 README.md                                          |    91 +-
 RELEASING/Dockerfile.from_local_tarball            |     4 +-
 RELEASING/Dockerfile.from_svn_tarball              |     4 +-
 RELEASING/README.md                                |   270 +-
 RELEASING/changelog.py                             |     8 +-
 RELEASING/email_templates/announce.j2              |     8 +-
 RELEASING/email_templates/result_pmc.j2            |    10 +-
 RELEASING/email_templates/vote_pmc.j2              |     5 +-
 RELEASING/generate_email.py                        |   154 +
 RELEASING/release-notes-0-38/README.md             |     2 +-
 RELEASING/release-notes-1-2/README.md              |     2 +-
 RELEASING/release-notes-1-4/README.md              |     2 +-
 RELEASING/release-notes-1-5/README.md              |   142 +
 .../release-notes-1-5/media/adhoc_columns.png      |   Bin 0 -> 206451 bytes
 .../release-notes-1-5/media/categorical_line.png   |   Bin 0 -> 308426 bytes
 .../release-notes-1-5/media/dependent_filters.png  |   Bin 0 -> 437988 bytes
 RELEASING/release-notes-1-5/media/filter_bar.png   |   Bin 0 -> 367513 bytes
 RELEASING/release-notes-1-5/media/permalink.png    |   Bin 0 -> 187932 bytes
 RELEASING/release-notes-2-0/README.md              |   152 +
 RELEASING/release-notes-2-0/changelog.md           |   491 +
 RELEASING/requirements.txt                         |    19 +
 RELEASING/send_email.py                            |   271 -
 RELEASING/test_run_tarball.sh                      |     2 +-
 RESOURCES/FEATURE_FLAGS.md                         |    47 +-
 RESOURCES/INTHEWILD.md                             |    37 +-
 UPDATING.md                                        |   106 +-
 docker-compose-non-dev.yml                         |     6 +
 docker-compose.yml                                 |    12 +-
 docker/.env                                        |     2 +-
 docker/.env-non-dev                                |     2 +-
 docker/README.md                                   |     4 +-
 docker/docker-bootstrap.sh                         |     2 +-
 docker/docker-frontend.sh                          |     5 +-
 docker/docker-init.sh                              |     2 +-
 docker/pythonpath_dev/superset_config.py           |    23 +-
 docker/run-server.sh                               |     3 +
 docs/README.md                                     |    34 +-
 docs/docs/contributing/contributing-page.mdx       |     6 +-
 docs/docs/contributing/local-backend.mdx           |    15 +-
 docs/docs/contributing/pull-request-guidelines.mdx |     2 +-
 docs/docs/contributing/testing-locally.mdx         |    14 +
 docs/docs/contributing/translations.mdx            |     6 +-
 .../creating-your-first-dashboard.mdx              |     6 +-
 .../creating-charts-dashboards/exploring-data.mdx  |     2 +-
 docs/docs/databases/athena.mdx                     |     8 +
 docs/docs/databases/bigquery.mdx                   |     4 +-
 docs/docs/databases/clickhouse.mdx                 |    24 +-
 docs/docs/databases/databricks.mdx                 |    46 +-
 docs/docs/databases/docker-add-drivers.mdx         |     2 +-
 docs/docs/databases/drill.mdx                      |     4 +-
 docs/docs/databases/druid.mdx                      |     6 +
 docs/docs/databases/dynamodb.mdx                   |    20 +
 docs/docs/databases/elasticsearch.mdx              |    10 +-
 .../docs/databases/installing-database-drivers.mdx |    11 +-
 docs/docs/databases/kusto.mdx                      |    26 +
 docs/docs/databases/risingwave.mdx                 |    17 +
 docs/docs/databases/snowflake.mdx                  |    30 +-
 docs/docs/databases/sql-server.mdx                 |     7 +
 docs/docs/databases/timescaledb.mdx                |    38 +
 docs/docs/databases/trino.mdx                      |   102 +-
 docs/docs/frequently-asked-questions.mdx           |     8 -
 docs/docs/installation/alerts-reports.mdx          |   180 +-
 docs/docs/installation/cache.mdx                   |    93 +-
 docs/docs/installation/configuring-superset.mdx    |    35 +-
 docs/docs/installation/event-logging.mdx           |     4 +-
 .../installing-superset-from-scratch.mdx           |     8 +-
 .../installing-superset-using-docker-compose.mdx   |    20 +-
 docs/docs/installation/running-on-kubernetes.mdx   |    33 +-
 docs/docs/installation/sql-templating.mdx          |    60 +-
 docs/docs/intro.mdx                                |     6 +-
 docs/docs/miscellaneous/chart-params.mdx           |     4 +-
 docs/docs/miscellaneous/country-map-tools.mdx      |    11 +-
 docs/docs/security.mdx                             |    61 +-
 docs/docusaurus.config.js                          |    70 +-
 docs/package.json                                  |     6 +-
 docs/src/css/custom.css                            |    95 -
 docs/src/pages/community.tsx                       |     7 +-
 docs/src/pages/index.tsx                           |    30 +-
 docs/src/resources/data.js                         |    14 +-
 docs/src/styles/antd-theme.less                    |    27 +
 docs/src/styles/custom.css                         |   113 +
 docs/src/styles/main.less                          |    21 +
 docs/static/img/applitools.png                     |   Bin 0 -> 3658 bytes
 docs/static/img/dashboard.jpg                      |   Bin 0 -> 128565 bytes
 docs/static/img/dashboard3.png                     |   Bin 728491 -> 0 bytes
 docs/static/img/databases/databricks.png           |   Bin 0 -> 20293 bytes
 .../img/databases/{sqllite.jpg => sqlite.jpg}      |   Bin
 .../img/databases/{sqllite.png => sqlite.png}      |   Bin
 .../static/img/databases}/timescale.png            |   Bin
 docs/static/img/explore.jpg                        |   Bin 0 -> 150805 bytes
 docs/static/img/explorer5.jpg                      |   Bin 314853 -> 0 bytes
 docs/static/img/github.png                         |   Bin 0 -> 8640 bytes
 docs/static/img/sql_lab.jpg                        |   Bin 0 -> 117310 bytes
 docs/static/img/sqllab5.jpg                        |   Bin 345510 -> 0 bytes
 docs/static/resources/openapi.json                 |  1631 +-
 docs/static/script/matomo.js                       |    36 +
 docs/yarn.lock                                     |  1089 +-
 helm/superset/Chart.lock                           |     9 +
 helm/superset/Chart.yaml                           |    25 +-
 helm/superset/README.md                            |   255 +
 helm/superset/README.md.gotmpl                     |    44 +
 helm/superset/templates/_helpers.tpl               |     6 -
 helm/superset/templates/configmap-superset.yaml    |     1 +
 helm/superset/templates/deployment-beat.yaml       |    60 +-
 helm/superset/templates/deployment-flower.yaml     |   143 +
 helm/superset/templates/deployment-worker.yaml     |    80 +-
 helm/superset/templates/deployment-ws.yaml         |   139 +
 helm/superset/templates/deployment.yaml            |    64 +-
 helm/superset/templates/ingress.yaml               |    16 +-
 helm/superset/templates/init-job.yaml              |    15 +-
 helm/superset/templates/secret-env.yaml            |     1 +
 .../superset/templates/secret-superset-config.yaml |     1 +
 helm/superset/templates/secret-ws.yaml             |    32 +
 helm/superset/templates/service-account.yaml       |     4 +
 helm/superset/templates/service.yaml               |    61 +
 helm/superset/values.schema.json                   |   608 -
 helm/superset/values.yaml                          |   567 +-
 lintconf.yaml                                      |     8 +-
 requirements/base.in                               |     5 +-
 requirements/base.txt                              |   103 +-
 requirements/development.in                        |    12 +-
 requirements/development.txt                       |    76 +-
 requirements/docker.in                             |     2 +-
 requirements/docker.txt                            |    16 +-
 requirements/integration.in                        |     4 +-
 requirements/integration.txt                       |    33 +-
 requirements/local.txt                             |     4 +-
 requirements/testing.in                            |    17 +-
 requirements/testing.txt                           |   121 +-
 scripts/babel_update.sh                            |     2 +-
 scripts/pypi_push.sh                               |    33 -
 scripts/python_tests.sh                            |     2 +-
 setup.cfg                                          |     4 +-
 setup.py                                           |    96 +-
 superset-embedded-sdk/README.md                    |     7 +-
 superset-embedded-sdk/package-lock.json            |   221 +-
 superset-embedded-sdk/package.json                 |     5 +-
 superset-embedded-sdk/src/const.ts                 |     4 +
 superset-embedded-sdk/src/guestTokenRefresh.ts     |     3 +-
 superset-embedded-sdk/src/index.ts                 |    39 +-
 superset-frontend/.eslintrc.js                     |    16 +-
 superset-frontend/.storybook/main.js               |     5 +-
 superset-frontend/.storybook/preview.jsx           |    18 +-
 superset-frontend/applitools.config.js             |    27 +
 superset-frontend/babel.config.js                  |     6 +
 .../cypress-base/applitools.config.js              |    29 +
 superset-frontend/cypress-base/cypress.json        |     2 +-
 .../cypress-base/cypress/fixtures/charts.json      |    42 +
 .../cypress-base/cypress/fixtures/dashboards.json  |    46 +
 .../cypress-base/cypress/fixtures/example.json     |     5 -
 .../integration/alerts_and_reports/alerts.test.ts  |    43 +
 .../integration/alerts_and_reports/reports.test.ts |    43 +
 .../integration/chart_list/card_view.test.ts       |   129 -
 .../integration/chart_list/chart_list.helper.ts    |    19 -
 .../chart_list/chartlist.applitools.test.ts        |    46 +
 .../cypress/integration/chart_list/filter.test.ts  |   180 +-
 .../cypress/integration/chart_list/list.test.ts    |   298 +
 .../integration/chart_list/list_view.test.ts       |    61 -
 .../integration/dashboard/_skip.controls.test.ts   |   101 +
 .../integration/dashboard/_skip.filter.test.ts     |    83 +
 .../integration/dashboard/_skip.key_value.test.ts  |    56 +
 .../integration/dashboard/_skip.url_params.test.ts |    47 +
 .../cypress/integration/dashboard/actions.test.js  |    44 +
 .../cypress/integration/dashboard/controls.test.ts |   101 -
 .../dashboard/dashboard.applitools.test.ts         |    54 +
 .../integration/dashboard/dashboard.helper.ts      |   135 -
 .../integration/dashboard/drilltodetail.test.ts    |   613 +
 .../integration/dashboard/edit_mode.test.js        |   102 -
 .../integration/dashboard/edit_properties.test.ts  |   197 -
 .../cypress/integration/dashboard/editmode.test.ts |   807 +
 .../cypress/integration/dashboard/fav_star.test.js |    63 -
 .../cypress/integration/dashboard/filter.test.ts   |    82 -
 .../integration/dashboard/key_value.test.ts        |    58 -
 .../cypress/integration/dashboard/load.test.ts     |    21 +-
 .../cypress/integration/dashboard/markdown.test.ts |    69 -
 .../integration/dashboard/nativeFilters.test.ts    |  1515 +-
 .../cypress/integration/dashboard/save.test.js     |   158 -
 .../cypress/integration/dashboard/tabs.test.ts     |   114 +-
 .../integration/dashboard/url_params.test.ts       |    50 -
 .../cypress/integration/dashboard/utils.ts         |   516 +
 .../integration/dashboard_list/card_view.test.ts   |   124 -
 .../dashboard_list/dashboard_list.helper.ts        |    19 -
 .../dashboardlist.applitools.test.ts               |    46 +
 .../integration/dashboard_list/filter.test.ts      |   123 +-
 .../integration/dashboard_list/list.test.ts        |   248 +
 .../integration/dashboard_list/list_view.test.ts   |    61 -
 .../cypress/integration/database/helper.ts         |    19 -
 .../cypress/integration/database/modal.test.ts     |    27 +-
 .../integration/dataset/dataset_list.test.ts       |    46 +
 .../integration/explore/AdhocFilters.test.ts       |   110 -
 .../integration/explore/_skip.AdhocFilters.test.ts |   110 +
 .../integration/explore/advanced_analytics.test.ts |    11 +-
 .../cypress/integration/explore/chart.test.js      |   107 +-
 .../cypress/integration/explore/control.test.ts    |   125 +-
 .../integration/explore/explore.applitools.test.ts |    41 +
 .../cypress/integration/explore/filter_box.test.js |     2 +-
 .../cypress/integration/explore/link.test.ts       |     5 +-
 .../cypress/integration/explore/utils.ts           |    91 +
 .../explore/visualizations/area.test.js            |    60 +-
 .../explore/visualizations/big_number.test.js      |    16 +-
 .../visualizations/big_number_total.test.js        |    10 +-
 .../explore/visualizations/box_plot.test.js        |    25 +-
 .../explore/visualizations/bubble.test.js          |    56 +-
 .../explore/visualizations/compare.test.js         |    28 +-
 .../explore/visualizations/dist_bar.test.js        |    41 +-
 .../explore/visualizations/download_chart.test.js  |    48 +
 .../explore/visualizations/dual_line.test.js       |    30 +-
 .../explore/visualizations/gauge.test.js           |    30 +-
 .../explore/visualizations/graph.test.ts           |    25 +-
 .../explore/visualizations/histogram.test.ts       |    29 +-
 .../explore/visualizations/line.test.ts            |    66 +-
 .../integration/explore/visualizations/pie.test.js |    25 +-
 .../explore/visualizations/pivot_table.test.js     |    14 +-
 .../explore/visualizations/sankey.test.js          |    29 +-
 .../explore/visualizations/shared.helper.js        |     4 +-
 .../explore/visualizations/sunburst.test.js        |    25 +-
 .../explore/visualizations/table.test.ts           |    18 +-
 .../explore/visualizations/time_table.js           |    22 +-
 .../explore/visualizations/treemap.test.js         |    26 +-
 .../explore/visualizations/world_map.test.js       |    24 +-
 .../sqllab/_skip.sourcePanel.index.test.js         |    74 +
 .../cypress/integration/sqllab/query.test.ts       |    60 +-
 .../integration/sqllab/sourcePanel.index.test.js   |    74 -
 .../integration/sqllab/sqllab.applitools.test.ts   |    33 +
 .../cypress/integration/sqllab/tabs.test.ts        |    10 +-
 .../cypress-base/cypress/plugins/index.js          |     5 +
 .../cypress-base/cypress/support/directories.ts    |    23 +-
 .../cypress-base/cypress/support/index.d.ts        |    39 +
 .../cypress-base/cypress/support/index.ts          |   322 +-
 .../cypress-base/cypress/utils/index.ts            |   102 +
 .../cypress-base/cypress/utils/parsePostForm.ts    |     2 +-
 .../cypress-base/cypress/utils/urls.ts             |    30 +
 superset-frontend/cypress-base/package-lock.json   |  3710 +-
 superset-frontend/cypress-base/package.json        |     3 +
 superset-frontend/cypress-base/tsconfig.json       |     2 +-
 superset-frontend/jest.config.js                   |     4 +-
 superset-frontend/package-lock.json                | 82264 ++++++++++---------
 superset-frontend/package.json                     |   106 +-
 .../plugin-chart/templates/src/MyChart.erb         |     2 +-
 .../templates/test/plugin/transformProps.test.erb  |     4 +-
 .../packages/generator-superset/package.json       |    38 +-
 .../superset-ui-chart-controls/package.json        |    10 +-
 .../src/components/ColumnOption.tsx                |    14 +-
 .../src/components/MetricOption.tsx                |    46 +-
 .../src/components/SQLPopover.tsx                  |    70 +
 .../src/components/labelUtils.tsx                  |    12 +-
 .../superset-ui-chart-controls/src/constants.ts    |    18 +-
 .../superset-ui-chart-controls/src/fixtures.ts     |   149 +
 .../superset-ui-chart-controls/src/index.ts        |    12 +-
 .../src/operators/contributionOperator.ts          |     1 +
 .../src/operators/flattenOperator.ts               |     6 +-
 .../src/operators/index.ts                         |     1 +
 .../src/operators/pivotOperator.ts                 |    13 +-
 .../src/operators/prophetOperator.ts               |     8 +-
 .../src/operators/renameOperator.ts                |    94 +
 .../src/operators/resampleOperator.ts              |     1 +
 .../src/operators/rollingWindowOperator.ts         |     4 +-
 .../src/operators/sortOperator.ts                  |    42 +-
 .../src/operators/timeCompareOperator.ts           |     4 +-
 .../src/operators/timeComparePivotOperator.ts      |    13 +-
 .../src/operators/utils/index.ts                   |     3 +-
 .../src/operators/utils/isDerivedSeries.ts         |    41 +
 .../src/operators/utils/isTimeComparison.ts        |    35 +
 .../src/operators/utils/isValidTimeCompare.ts      |    35 -
 .../src/sections/advancedAnalytics.tsx             |    97 +-
 .../src/sections/annotationsAndLayers.tsx          |     2 +
 .../src/sections/chartTitle.tsx                    |    17 +-
 .../src/sections/echartsTimeSeriesQuery.tsx        |    62 +
 .../src/sections/forecastInterval.tsx              |    24 +-
 .../src/sections/index.ts                          |     1 +
 .../src/sections/sections.tsx                      |    24 +-
 .../ColumnConfigControl/ColumnConfigItem.tsx       |     4 +-
 .../components/ColumnConfigControl/constants.tsx   |    11 +
 .../components/RadioButtonControl.tsx              |    13 +-
 .../src/shared-controls/customControls.tsx         |   141 +
 .../src/shared-controls/dndControls.tsx            |   197 +-
 .../src/shared-controls/emitFilterControl.tsx      |    37 -
 .../src/shared-controls/index.ts                   |    25 +
 .../src/shared-controls/index.tsx                  |   552 -
 .../src/shared-controls/legacySortBy.tsx           |    37 -
 .../src/shared-controls/mixins.tsx                 |   121 +
 .../src/shared-controls/sharedControls.tsx         |   409 +
 .../superset-ui-chart-controls/src/types.ts        |   109 +-
 .../src/utils/columnChoices.ts                     |    23 +-
 .../src/utils/defineSavedMetrics.ts                |    29 +
 .../src/utils/expandControlConfig.tsx              |     3 +-
 .../src/utils/getColorFormatters.ts                |    89 +-
 .../src/utils/getStandardizedControls.ts           |    68 +
 .../src/utils/getTemporalColumns.ts                |    77 +
 .../superset-ui-chart-controls/src/utils/index.ts  |     3 +
 .../test/components/ColumnOption.test.tsx          |    12 +-
 .../test/components/MetricOption.test.tsx          |    11 +-
 .../test/operators/boxplotOperator.test.ts         |   115 +
 .../test/operators/contributionOperator.test.ts    |    54 +
 .../{utils => }/operators/flattenOperator.test.ts  |     0
 .../test/operators/pivotOperator.test.ts           |   164 +
 .../test/operators/prophetOperator.test.ts         |   134 +
 .../test/operators/renameOperator.test.ts          |   168 +
 .../{utils => }/operators/resampleOperator.test.ts |     0
 .../test/operators/rollingWindowOperator.test.ts   |   137 +
 .../test/operators/sortOperator.test.ts            |   148 +
 .../test/operators/timeCompareOperator.test.ts     |   119 +
 .../operators/timeComparePivotOperator.test.ts     |   176 +
 .../test/operators/utils/isDerivedSeries.test.ts   |    99 +
 .../superset-ui-chart-controls/test/types.test.ts  |    54 +-
 .../test/utils/columnChoices.test.tsx              |    13 +-
 .../test/utils/defineSavedMetrics.test.tsx         |    61 +
 .../test/utils/getColorFormatters.test.ts          |   102 +-
 .../test/utils/getStandardizedControls.test.ts     |    82 +
 .../test/utils/getTemporalColumns.test.ts          |   104 +
 .../test/utils/operators/boxplotOperator.test.ts   |   115 -
 .../utils/operators/contributionOperator.test.ts   |    54 -
 .../test/utils/operators/pivotOperator.test.ts     |   138 -
 .../test/utils/operators/prophetOperator.test.ts   |   100 -
 .../utils/operators/rollingWindowOperator.test.ts  |   137 -
 .../test/utils/operators/sortOperator.test.ts      |   143 -
 .../utils/operators/timeCompareOperator.test.ts    |   121 -
 .../operators/timeComparePivotOperator.test.ts     |   137 -
 .../packages/superset-ui-core/package.json         |    62 +-
 .../superset-ui-core/src/api/types/core.ts         |    31 +
 .../src/chart/components/FallbackComponent.tsx     |    23 +-
 .../src/chart/components/SuperChart.tsx            |    19 +-
 .../src/chart/components/SuperChartCore.tsx        |     3 +-
 .../src/chart/models/ChartMetadata.ts              |     5 +
 .../src/chart/models/ChartProps.ts                 |    28 +
 .../superset-ui-core/src/chart/types/Base.ts       |    13 +
 .../src/color/CategoricalColorScale.ts             |    40 +-
 .../src/color/ColorSchemeRegistry.ts               |    13 +-
 .../src/color/SharedLabelColorSingleton.ts         |   145 +-
 .../packages/superset-ui-core/src/color/index.ts   |     1 +
 .../packages/superset-ui-core/src/color/utils.ts   |    35 +
 .../src/components/SafeMarkdown.tsx                |    54 +-
 .../src/connection/SupersetClient.ts               |     2 +
 .../src/connection/SupersetClientClass.ts          |    42 +-
 .../src/connection/callApi/callApi.ts              |    50 +-
 .../src/connection/callApi/parseResponse.ts        |    19 +-
 .../superset-ui-core/src/connection/types.ts       |    10 +-
 .../superset-ui-core/src/dashboard/index.ts        |    20 -
 .../superset-ui-core/src/dashboard/types/Base.ts   |   129 -
 .../src/dimension/computeMaxFontSize.ts            |    16 +-
 .../packages/superset-ui-core/src/index.ts         |     2 +-
 .../superset-ui-core/src/models/Registry.ts        |     6 +-
 .../superset-ui-core/src/models/TypedRegistry.ts   |    60 +
 .../packages/superset-ui-core/src/models/index.ts  |     1 +
 .../src/number-format/NumberFormats.ts             |     2 +
 .../superset-ui-core/src/number-format/README.md   |     2 +-
 .../superset-ui-core/src/query/DatasourceKey.ts    |     4 +-
 .../superset-ui-core/src/query/api/v1/makeApi.ts   |    37 +-
 .../src/query/buildQueryContext.ts                 |    66 +-
 .../superset-ui-core/src/query/buildQueryObject.ts |    27 +-
 .../superset-ui-core/src/query/constants.ts        |    19 +-
 .../superset-ui-core/src/query/extractExtras.ts    |    32 +-
 .../superset-ui-core/src/query/extractTimegrain.ts |     2 +-
 .../superset-ui-core/src/query/getColumnLabel.ts   |     4 +-
 .../superset-ui-core/src/query/getMetricLabel.ts   |     2 +-
 .../superset-ui-core/src/query/getXAxis.ts         |    57 +
 .../packages/superset-ui-core/src/query/index.ts   |     3 +
 .../superset-ui-core/src/query/normalizeOrderBy.ts |    10 +-
 .../src/query/normalizeTimeColumn.ts               |    84 +
 .../superset-ui-core/src/query/processFilters.ts   |     4 -
 .../src/query/types/AnnotationLayer.ts             |     7 +-
 .../superset-ui-core/src/query/types/Column.ts     |    33 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |   146 +
 .../superset-ui-core/src/query/types/Datasource.ts |    12 +-
 .../superset-ui-core/src/query/types/Filter.ts     |     6 +
 .../superset-ui-core/src/query/types/Metric.ts     |    26 +-
 .../superset-ui-core/src/query/types/Operator.ts   |     1 +
 .../src/query/types/PostProcessing.ts              |    22 +-
 .../superset-ui-core/src/query/types/Query.ts      |   336 +-
 .../src/query/types/QueryFormData.ts               |    34 +-
 .../src/query/types/QueryResponse.ts               |     3 +-
 .../superset-ui-core/src/query/types/Time.ts       |     1 -
 .../superset-ui-core/src/query/types/index.ts      |     2 +
 .../packages/superset-ui-core/src/style/index.tsx  |     1 +
 .../superset-ui-core/src/translation/Translator.ts |     2 +-
 .../packages/superset-ui-core/src/types/index.ts   |     4 +
 .../src/ui-overrides/ExtensionsRegistry.ts         |    86 +
 .../superset-ui-core/src/ui-overrides/index.tsx    |    20 +
 .../superset-ui-core/src/utils/featureFlags.ts     |    70 +-
 .../packages/superset-ui-core/src/utils/index.ts   |     2 +
 .../superset-ui-core/src/utils/isDefined.ts        |     2 +-
 .../superset-ui-core/src/utils/lruCache.ts         |    74 +
 .../superset-ui-core/src/utils/typedMemo.ts        |    21 +
 .../test/__mocks__/resize-observer-polyfill.ts     |     5 +
 .../test/chart/components/MockChartPlugins.tsx     |    60 +-
 .../test/chart/components/SuperChart.test.tsx      |    18 +-
 .../test/chart/components/SuperChartCore.test.tsx  |    62 +-
 .../test/chart/fixtures/formData.ts                |     3 +-
 .../test/chart/models/ChartPlugin.test.tsx         |     2 +
 .../test/chart/models/ChartProps.test.ts           |    11 +-
 .../test/color/CategoricalColorScale.test.ts       |    20 +-
 .../test/color/ColorSchemeRegistry.test.ts         |    16 +
 .../test/color/SharedLabelColorSingleton.test.ts   |   133 +-
 .../superset-ui-core/test/color/utils.test.ts      |    24 +-
 .../test/connection/SupersetClient.test.ts         |    16 +-
 .../test/connection/SupersetClientClass.test.ts    |   132 +-
 .../test/connection/callApi/callApi.test.ts        |    44 +
 .../test/connection/callApi/parseResponse.test.ts  |    32 +
 .../test/dimension/computeMaxFontSize.test.ts      |     9 +
 .../test/models/ExtensibleFunction.test.ts         |     2 +-
 .../test/models/TypedRegistry.test.ts              |    33 +
 .../NumberFormatterRegistrySingleton.test.ts       |     2 +-
 .../test/query/DatasourceKey.test.ts               |    15 +-
 .../test/query/api/v1/makeApi.test.ts              |     2 +-
 .../test/query/buildQueryContext.test.ts           |   115 +-
 .../test/query/buildQueryObject.test.ts            |    46 +-
 .../test/query/extractExtras.test.ts               |     3 +-
 .../superset-ui-core/test/query/getAxis.test.ts    |    26 +
 .../test/query/normalizeOrderBy.test.ts            |     8 +-
 .../test/query/normalizeTimeColumn.test.ts         |   291 +
 .../test/query/processFilters.test.ts              |    38 +-
 .../test/query/types/Column.test.ts                |    63 +
 .../test/query/types/Dashboard.test.ts             |    70 +
 .../test/query/types/Datasource.test.ts            |    37 +
 .../test/query/types/Filter.test.ts                |    23 +
 .../test/query/types/Metric.test.ts                |    88 +
 .../test/query/types/PostProcessing.test.ts        |     4 +-
 .../TimeFormatterRegistrySingleton.test.ts         |     2 +-
 .../test/translation/Translator.test.ts            |     4 +-
 .../test/ui-overrides/ExtensionsRegistry.test.ts   |    23 +
 .../test/utils/featureFlag.test.ts                 |    43 +-
 .../superset-ui-core/test/utils/lruCache.test.ts   |    60 +
 .../superset-ui-demo/.storybook/themeDecorator.js  |     4 +-
 .../packages/superset-ui-demo/package.json         |     3 +-
 .../shared/components/ResizableChartDemo.tsx       |     2 +-
 .../storybook/shared/components/VerifyCORS.tsx     |     3 +-
 .../legacy-plugin-chart-calendar/Stories.tsx       |     2 +
 .../CountryMapStories.tsx                          |    10 +-
 .../legacy-plugin-chart-force-directed/Stories.tsx |    39 -
 .../legacy-plugin-chart-force-directed/data.ts     |   447 -
 .../legacy-plugin-chart-map-box/Stories.tsx        |    55 +-
 .../plugins/legacy-plugin-chart-map-box/data.ts    |     7 +-
 .../legacy-plugin-chart-world-map/Stories.tsx      |     1 +
 .../legacy-preset-chart-deckgl/Path/Stories.tsx    |   103 +-
 .../legacy-preset-chart-deckgl/Path/payload.js     |    24 +-
 .../AreaTimeseries/Stories.tsx                     |    88 +
 .../plugin-chart-echarts/AreaTimeseries/data.ts    |   771 +
 .../MixedTimeseries/Stories.tsx                    |    64 +-
 .../MixedTimeseries/negativeData.ts                |    45 +
 .../plugin-chart-echarts/Timeseries/Stories.tsx    |    97 +-
 .../Timeseries/confbandData.ts                     |   329 +
 .../Timeseries/negativeNumData.ts                  |   111 +
 .../Timeseries/stackWithNulls.ts                   |    36 +
 .../plugin-chart-pivot-table/PivotTableStories.tsx |    74 +
 .../plugins/plugin-chart-pivot-table/testData.ts   |   126 +
 .../plugins/plugin-chart-table/TableStories.tsx    |     9 +-
 .../plugins/plugin-chart-table/birthNames.json     |     1 -
 .../stories/plugins/plugin-chart-table/testData.ts |     2 +-
 .../plugins/plugin-chart-word-cloud/Stories.tsx    |     4 +-
 .../preset-chart-xy/Line/stories/timeShift.tsx     |   135 +-
 .../packages/superset-ui-switchboard/package.json  |     2 +-
 .../packages/superset-ui-switchboard/src/index.ts  |     3 +
 .../src/switchboard.test.ts                        |    31 +-
 .../superset-ui-switchboard/src/switchboard.ts     |   148 +-
 .../legacy-plugin-chart-calendar/src/Calendar.js   |     4 +-
 .../src/ReactCalendar.jsx                          |   133 +-
 .../src/controlPanel.ts                            |    34 +-
 .../src/images/example.jpg                         |   Bin 0 -> 36394 bytes
 .../legacy-plugin-chart-calendar/src/index.js      |     2 +
 .../legacy-plugin-chart-chord/src/ReactChord.jsx   |    30 +-
 .../legacy-plugin-chart-chord/src/controlPanel.ts  |    18 +-
 .../legacy-plugin-chart-country-map/package.json   |     6 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   715 +-
 .../src/CountryMap.js                              |     1 -
 .../src/ReactCountryMap.js                         |    22 -
 .../src/ReactCountryMap.jsx                        |    76 +
 .../src/controlPanel.ts                            |     6 +
 .../src/countries.ts                               |    44 +
 .../src/countries/argentina.geojson                |    30 +
 .../src/countries/bolivia.geojson                  |    15 +
 .../src/countries/chile.geojson                    |    22 +
 .../src/countries/colombia.geojson                 |    40 +
 .../src/countries/costa rica.geojson               |    13 +
 .../src/countries/cuba.geojson                     |    22 +
 .../src/countries/dominican republic.geojson       |    38 +
 .../src/countries/ecuador.geojson                  |    30 +
 .../src/countries/el salvador.geojson              |    20 +
 .../src/countries/guatemala.geojson                |    28 +
 .../src/countries/haiti.geojson                    |    16 +
 .../src/countries/honduras.geojson                 |    24 +
 .../src/countries/latvia.geojson                   |   125 +
 .../src/countries/nicaragua.geojson                |    23 +
 .../src/countries/panama.geojson                   |    18 +
 .../src/countries/papua new guinea.geojson         |    28 +
 .../src/countries/paraguay.geojson                 |    24 +
 .../src/countries/puerto rico.geojson              |     7 +
 .../src/countries/saint barthelemy.geojson         |     7 +
 .../src/countries/saint martin.geojson             |     7 +
 .../src/countries/turkey.geojson                   |    87 +
 .../src/countries/ukraine.geojson                  |     3 +-
 .../src/countries/venezuela.geojson                |    32 +
 .../src/images/exampleGermany.jpg                  |   Bin 0 -> 31211 bytes
 .../src/images/exampleUsa.jpg                      |   Bin 0 -> 85089 bytes
 .../legacy-plugin-chart-country-map/src/index.js   |     3 +
 .../src/controlPanel.tsx                           |    15 +-
 .../src/images/example.jpg                         |   Bin 0 -> 85099 bytes
 .../legacy-plugin-chart-event-flow/src/index.ts    |     2 +
 .../src/types/external.d.ts                        |     1 +
 .../CHANGELOG.md                                   |    27 -
 .../legacy-plugin-chart-force-directed/README.md   |    52 -
 .../package.json                                   |    39 -
 .../src/ForceDirected.js                           |   176 -
 .../src/ReactForceDirected.jsx                     |    56 -
 .../src/controlPanel.ts                            |   108 -
 .../src/images/thumbnail.png                       |   Bin 33535 -> 0 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 94166 -> 0 bytes
 .../src/index.js                                   |    41 -
 .../src/transformProps.js                          |    30 -
 .../legacy-plugin-chart-heatmap/src/Heatmap.js     |     3 +-
 .../src/controlPanel.ts                            |   334 -
 .../src/controlPanel.tsx                           |   352 +
 .../src/controlPanel.ts                            |    36 +-
 .../legacy-plugin-chart-horizon/package.json       |    33 +-
 .../src/HorizonChart.css                           |    38 -
 .../src/HorizonChart.jsx                           |    68 +-
 .../src/controlPanel.ts                            |     6 +-
 .../legacy-plugin-chart-map-box/package.json       |    38 +-
 .../src/controlPanel.ts                            |    67 +-
 .../legacy-plugin-chart-paired-t-test/package.json |    33 +-
 .../src/PairedTTest.css                            |    86 -
 .../src/PairedTTest.jsx                            |   110 +-
 .../src/ParallelCoordinates.js                     |     1 -
 .../src/ReactParallelCoordinates.jsx               |    95 +-
 .../src/vendor/parcoords/d3.parcoords.css          |    79 -
 .../legacy-plugin-chart-partition/package.json     |    37 +-
 .../src/Partition.css                              |    64 -
 .../legacy-plugin-chart-partition/src/Partition.js |     4 +-
 .../src/ReactPartition.js                          |    22 -
 .../src/ReactPartition.jsx                         |    81 +
 .../src/controlPanel.tsx                           |    99 +-
 .../src/controlPanel.ts                            |    17 +-
 .../legacy-plugin-chart-pivot-table/src/index.js   |     2 +-
 .../plugins/legacy-plugin-chart-rose/package.json  |    34 +-
 .../legacy-plugin-chart-rose/src/ReactRose.js      |    22 -
 .../legacy-plugin-chart-rose/src/ReactRose.jsx     |    75 +
 .../plugins/legacy-plugin-chart-rose/src/Rose.css  |    43 -
 .../plugins/legacy-plugin-chart-rose/src/Rose.js   |     2 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |    94 +-
 .../src/images/example1.jpg                        |   Bin 0 -> 116296 bytes
 .../src/images/example2.jpg                        |   Bin 0 -> 50161 bytes
 .../plugins/legacy-plugin-chart-rose/src/index.js  |     3 +
 .../legacy-plugin-chart-sankey-loop/package.json   |    36 +-
 .../src/ReactSankeyLoop.js                         |    22 -
 .../src/ReactSankeyLoop.jsx                        |    72 +
 .../src/SankeyLoop.css                             |    57 -
 .../src/SankeyLoop.js                              |     2 -
 .../legacy-plugin-chart-sankey/src/ReactSankey.jsx |    64 +-
 .../legacy-plugin-chart-sankey/src/controlPanel.ts |    11 +-
 .../legacy-plugin-chart-sunburst/package.json      |    36 +-
 .../src/ReactSunburst.js                           |    22 -
 .../src/ReactSunburst.jsx                          |    66 +
 .../legacy-plugin-chart-sunburst/src/Sunburst.css  |    70 -
 .../legacy-plugin-chart-sunburst/src/Sunburst.js   |     3 +-
 .../src/controlPanel.ts                            |    23 +-
 .../legacy-plugin-chart-treemap/package.json       |    36 +-
 .../src/ReactTreemap.js                            |    22 -
 .../src/ReactTreemap.jsx                           |    51 +
 .../legacy-plugin-chart-treemap/src/Treemap.css    |    36 -
 .../legacy-plugin-chart-treemap/src/Treemap.js     |     1 -
 .../legacy-plugin-chart-treemap/src/index.js       |     2 +-
 .../src/ReactWorldMap.jsx                          |    17 +-
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |    89 +-
 .../src/controlPanel.ts                            |    48 +-
 .../legacy-plugin-chart-world-map/src/index.js     |     3 +-
 .../src/transformProps.js                          |    12 +-
 .../legacy-plugin-chart-world-map/src/utils.ts     |    23 +
 .../legacy-preset-chart-deckgl/package.json        |    11 +-
 .../src/DeckGLContainer.jsx                        |     1 -
 .../src/components/BootstrapSliderWrapper.css      |    25 -
 .../src/components/BootstrapSliderWrapper.jsx      |    17 +-
 .../src/components/Legend.css                      |    44 -
 .../src/components/Legend.jsx                      |    39 +-
 .../src/components/PlaySlider.css                  |    46 -
 .../src/components/PlaySlider.jsx                  |    38 +-
 .../src/components/Tooltip.tsx                     |    47 +-
 .../legacy-preset-chart-deckgl/src/css/deckgl.css  |    22 -
 .../src/layers/Arc/Arc.jsx                         |     4 +-
 .../src/layers/Geojson/Geojson.jsx                 |    38 +-
 .../src/layers/Geojson/controlPanel.ts             |     8 +-
 .../src/layers/Grid/Grid.jsx                       |    20 +-
 .../src/layers/Grid/controlPanel.ts                |    16 +-
 .../src/layers/Hex/Hex.jsx                         |    19 +-
 .../src/layers/Hex/controlPanel.ts                 |    41 +-
 .../src/layers/Path/controlPanel.ts                |     4 +-
 .../src/layers/Polygon/Polygon.jsx                 |     7 +-
 .../src/layers/Polygon/controlPanel.ts             |    10 +-
 .../src/layers/Scatter/Scatter.jsx                 |     6 +-
 .../src/layers/Scatter/controlPanel.ts             |    12 +-
 .../src/layers/Screengrid/Screengrid.jsx           |     9 +-
 .../src/layers/Screengrid/controlPanel.ts          |    10 +-
 .../src/utilities/Shared_DeckGL.jsx                |    30 +-
 .../src/utilities/controls.jsx                     |     2 +-
 .../src/utilities/sharedDndControls.jsx            |     6 +-
 .../legacy-preset-chart-deckgl/src/utils.js        |     4 +-
 .../src/utils/explore.js                           |     2 +-
 .../src/Area/controlPanel.ts                       |     6 +-
 .../legacy-preset-chart-nvd3/src/Area/index.js     |     2 +-
 .../src/Bar/controlPanel.ts                        |     8 +-
 .../legacy-preset-chart-nvd3/src/Bar/index.js      |     2 +-
 .../src/Bubble/controlPanel.ts                     |     9 +
 .../src/Bubble/images/example.jpg                  |   Bin 0 -> 61529 bytes
 .../legacy-preset-chart-nvd3/src/Bubble/index.js   |     2 +
 .../src/Bullet/images/example.jpg                  |   Bin 0 -> 23045 bytes
 .../legacy-preset-chart-nvd3/src/Bullet/index.js   |     2 +
 .../src/Compare/controlPanel.ts                    |    11 +-
 .../src/DistBar/controlPanel.ts                    |    17 +-
 .../legacy-preset-chart-nvd3/src/DistBar/index.js  |     9 +-
 .../src/DualLine/images/example.jpg                |   Bin 0 -> 121614 bytes
 .../legacy-preset-chart-nvd3/src/DualLine/index.js |     2 +
 .../src/Line/controlPanel.ts                       |    11 +-
 .../legacy-preset-chart-nvd3/src/Line/index.js     |     2 +-
 .../src/LineMulti/images/example.jpg               |   Bin 0 -> 223147 bytes
 .../src/LineMulti/index.js                         |     2 +
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |   130 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |     6 +-
 .../src/Pie/controlPanel.ts                        |    12 +-
 .../src/TimePivot/controlPanel.ts                  |    17 +-
 .../src/vendor/superset/AnnotationTypes.js         |    10 +-
 .../src/vendor/superset/exploreUtils.js            |     2 +-
 .../plugins/plugin-chart-echarts/package.json      |     2 +-
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |     9 +-
 .../src/BigNumber/BigNumberTotal/index.ts          |     3 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |    17 +-
 .../src/BigNumber/BigNumberViz.tsx                 |   183 +-
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |    76 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |    83 +-
 .../src/BigNumber/BigNumberWithTrendline/index.ts  |     3 +-
 .../BigNumberWithTrendline/transformProps.ts       |    53 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |    60 +-
 .../src/BoxPlot/EchartsBoxPlot.tsx                 |    37 +-
 .../plugin-chart-echarts/src/BoxPlot/buildQuery.ts |    54 +-
 .../src/BoxPlot/controlPanel.ts                    |   110 +-
 .../plugin-chart-echarts/src/BoxPlot/index.ts      |     2 +-
 .../src/BoxPlot/transformProps.ts                  |    53 +-
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |    37 +-
 .../src/Funnel/EchartsFunnel.tsx                   |    37 +-
 .../src/Funnel/controlPanel.tsx                    |    20 +-
 .../src/Funnel/images/example.jpg                  |   Bin 0 -> 43090 bytes
 .../plugin-chart-echarts/src/Funnel/index.ts       |     4 +-
 .../src/Funnel/transformProps.ts                   |    55 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |    38 +-
 .../src/Gauge/EchartsGauge.tsx                     |    37 +-
 .../plugin-chart-echarts/src/Gauge/buildQuery.ts   |     1 -
 .../plugin-chart-echarts/src/Gauge/constants.ts    |    15 +-
 .../src/Gauge/controlPanel.tsx                     |    21 +-
 .../src/Gauge/images/example1.jpg                  |   Bin 0 -> 56912 bytes
 .../src/Gauge/images/example2.jpg                  |   Bin 0 -> 37092 bytes
 .../plugin-chart-echarts/src/Gauge/index.ts        |     5 +-
 .../src/Gauge/transformProps.ts                    |   111 +-
 .../plugin-chart-echarts/src/Gauge/types.ts        |    28 +-
 .../src/Graph/EchartsGraph.tsx                     |    56 +-
 .../src/Graph/controlPanel.tsx                     |     7 +-
 .../src/Graph/images/example.jpg                   |   Bin 0 -> 57705 bytes
 .../plugin-chart-echarts/src/Graph/index.ts        |     5 +-
 .../src/Graph/transformProps.ts                    |    27 +-
 .../plugin-chart-echarts/src/Graph/types.ts        |    17 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |    61 +-
 .../src/MixedTimeseries/buildQuery.ts              |   126 +-
 .../src/MixedTimeseries/controlPanel.tsx           |   107 +-
 .../src/MixedTimeseries/index.ts                   |    26 +-
 .../src/MixedTimeseries/transformProps.ts          |   230 +-
 .../src/MixedTimeseries/types.ts                   |    71 +-
 .../plugin-chart-echarts/src/Pie/EchartsPie.tsx    |    37 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |    39 +-
 .../plugins/plugin-chart-echarts/src/Pie/index.ts  |     2 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   138 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |    39 +-
 .../src/Radar/EchartsRadar.tsx                     |    37 +-
 .../plugin-chart-echarts/src/Radar/buildQuery.ts   |     4 +-
 .../src/Radar/controlPanel.tsx                     |    14 +-
 .../src/Radar/images/example1.jpg                  |   Bin 0 -> 68385 bytes
 .../src/Radar/images/example2.jpg                  |   Bin 0 -> 66606 bytes
 .../plugin-chart-echarts/src/Radar/index.ts        |     5 +-
 .../src/Radar/transformProps.ts                    |    36 +-
 .../plugin-chart-echarts/src/Radar/types.ts        |    33 +-
 .../src/Timeseries/Area/controlPanel.tsx           |   102 +-
 .../src/Timeseries/Area/index.ts                   |    11 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |    86 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   419 +-
 .../src/Timeseries/Regular/Bar/index.ts            |    19 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |   274 +
 .../src/Timeseries/Regular/Line/index.ts           |    17 +-
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |    34 +-
 .../src/Timeseries/Regular/Scatter/index.ts        |    17 +-
 .../Timeseries/Regular/SmoothLine/controlPanel.tsx |   218 +
 .../src/Timeseries/Regular/SmoothLine/index.ts     |    17 +-
 .../src/Timeseries/Regular/controlPanel.tsx        |   245 -
 .../src/Timeseries/Step/controlPanel.tsx           |    62 +-
 .../src/Timeseries/Step/index.ts                   |    17 +-
 .../src/Timeseries/buildQuery.ts                   |    36 +-
 .../src/Timeseries/constants.ts                    |    66 +
 .../src/Timeseries/controlPanel.tsx                |   304 -
 .../plugin-chart-echarts/src/Timeseries/index.ts   |    13 +-
 .../src/Timeseries/transformProps.ts               |   247 +-
 .../src/Timeseries/transformers.ts                 |    70 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |    86 +-
 .../plugin-chart-echarts/src/Tree/EchartsTree.tsx  |    12 +-
 .../plugin-chart-echarts/src/Tree/constants.ts     |    16 +
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |     9 +-
 .../src/Tree/transformProps.ts                     |    20 +-
 .../plugins/plugin-chart-echarts/src/Tree/types.ts |    34 +-
 .../src/Treemap/EchartsTreemap.tsx                 |    41 +-
 .../src/Treemap/controlPanel.tsx                   |    14 +-
 .../plugin-chart-echarts/src/Treemap/index.ts      |     4 +-
 .../src/Treemap/transformProps.ts                  |    32 +-
 .../plugin-chart-echarts/src/Treemap/types.ts      |    25 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |    28 +-
 .../src/components/ExtraControls.tsx               |   112 +
 .../plugins/plugin-chart-echarts/src/constants.ts  |    59 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    46 +-
 .../plugins/plugin-chart-echarts/src/defaults.ts   |    56 +-
 .../plugins/plugin-chart-echarts/src/index.ts      |     2 +-
 .../plugins/plugin-chart-echarts/src/types.ts      |    66 +-
 .../plugin-chart-echarts/src/utils/annotation.ts   |    34 +-
 .../src/utils/eventHandlers.ts                     |    82 +
 .../plugin-chart-echarts/src/utils/forecast.ts     |     8 +-
 .../src/utils/formDataSuffix.ts                    |    74 +
 .../plugin-chart-echarts/src/utils/series.ts       |   137 +-
 .../plugin-chart-echarts/src/utils/tooltip.ts      |    79 +
 .../test/BigNumber/transformProps.test.ts          |    22 +-
 .../test/BoxPlot/buildQuery.test.ts                |     2 +-
 .../test/BoxPlot/transformProps.test.ts            |     7 +-
 .../test/Funnel/transformProps.test.ts             |    11 +-
 .../test/Gauge/buildQuery.test.ts                  |     6 +-
 .../test/Gauge/transformProps.test.ts              |     6 +-
 .../test/Graph/transformProps.test.ts              |    57 +-
 .../test/MixedTimeseries/buildQuery.test.ts        |   473 +
 .../test/Pie/transformProps.test.ts                |     6 +-
 .../test/Timeseries/buildQuery.test.ts             |   183 +-
 .../test/Timeseries/transformProps.test.ts         |    97 +-
 .../test/Tree/transformProps.test.ts               |    23 +-
 .../test/Treemap/transformProps.test.ts            |     7 +-
 .../test/utils/annotation.test.ts                  |    31 +-
 .../test/utils/forecast.test.ts                    |   223 +-
 .../test/utils/formDataSuffix.test.ts              |    57 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   134 +-
 .../plugins/plugin-chart-handlebars/README.md      |    74 +
 .../plugins/plugin-chart-handlebars/package.json   |    47 +
 .../plugin-chart-handlebars/src/Handlebars.tsx     |    49 +
 .../src/components/CodeEditor/CodeEditor.tsx       |    80 +
 .../src/components/ControlHeader/controlHeader.tsx |    31 +
 .../src/components/Handlebars/HandlebarsViewer.tsx |    91 +
 .../plugins/plugin-chart-handlebars/src/consts.ts  |    40 +
 .../src/images/example1.jpg                        |   Bin 0 -> 97899 bytes
 .../src/images/example2.jpg                        |   Bin 0 -> 294384 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 398917 bytes
 .../plugins/plugin-chart-handlebars/src/index.ts   |    27 +
 .../src/plugin/buildQuery.ts                       |    32 +
 .../src/plugin/controlPanel.tsx                    |    87 +
 .../src/plugin/controls/columns.tsx                |    91 +
 .../src/plugin/controls/groupBy.tsx                |    45 +
 .../src/plugin/controls/handlebarTemplate.tsx      |    75 +
 .../src/plugin/controls/includeTime.ts             |    35 +
 .../src/plugin/controls/limits.ts                  |    39 +
 .../src/plugin/controls/metrics.tsx                |   113 +
 .../src/plugin/controls/orderBy.tsx                |    57 +
 .../src/plugin/controls/pagination.tsx             |    57 +
 .../src/plugin/controls/queryMode.tsx              |    42 +
 .../src/plugin/controls/shared.ts                  |    61 +
 .../src/plugin/controls/style.tsx                  |    85 +
 .../plugin-chart-handlebars/src/plugin/index.ts    |    54 +
 .../src/plugin/transformProps.ts                   |    31 +
 .../plugins/plugin-chart-handlebars/src/types.ts   |    65 +
 .../plugin-chart-handlebars/test/index.test.ts     |    33 +
 .../test/plugin/buildQuery.test.ts                 |    37 +
 .../test/plugin/transformProps.test.ts             |    52 +
 .../tsconfig.json                                  |     0
 .../plugin-chart-handlebars/types/external.d.ts    |    24 +
 .../plugins/plugin-chart-pivot-table/package.json  |     3 +-
 .../src/PivotTableChart.tsx                        |    67 +-
 .../src/plugin/buildQuery.ts                       |    38 +-
 .../src/plugin/controlPanel.tsx                    |   105 +-
 .../plugin-chart-pivot-table/src/plugin/index.ts   |     4 +-
 .../src/plugin/transformProps.ts                   |     5 +-
 .../src/react-pivottable/PivotTable.jsx            |     5 +-
 .../src/react-pivottable/Styles.js                 |    12 +-
 .../src/react-pivottable/TableRenderers.jsx        |    21 +-
 .../src/react-pivottable/utilities.js              |   101 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |     8 +
 .../test/plugin/transformProps.test.ts             |     3 +-
 .../plugins/plugin-chart-table/package.json        |     4 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    65 +-
 .../src/DataTable/hooks/useSticky.tsx              |    32 +-
 .../src/DataTable/types/react-table.d.ts           |    13 +-
 .../utils/sortAlphanumericCaseInsensitive.ts       |     2 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |    15 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   279 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |    24 +-
 .../plugin-chart-table/src/controlPanel.tsx        |   146 +-
 .../plugins/plugin-chart-table/src/index.ts        |     2 +-
 .../plugin-chart-table/src/transformProps.ts       |    24 +-
 .../plugins/plugin-chart-table/src/types.ts        |     8 +
 .../plugin-chart-table/test/TableChart.test.tsx    |    79 +-
 .../test/sortAlphanumericCaseInsensitive.test.ts   |   108 +
 .../plugins/plugin-chart-table/test/testData.ts    |     2 +
 .../plugins/plugin-chart-word-cloud/package.json   |     1 +
 .../src/chart/WordCloud.tsx                        |    10 +-
 .../src/plugin/controlPanel.ts                     |    17 +-
 .../test/legacyPlugin/transformProps.test.ts       |     7 +-
 .../preset-chart-xy/src/BoxPlot/controlPanel.ts    |    30 +-
 .../src/components/BoxPlot/BoxPlot.tsx             |     4 +-
 .../src/components/BoxPlot/Encoder.ts              |     4 +-
 .../preset-chart-xy/src/components/Line/Encoder.ts |     2 +-
 .../src/components/ScatterPlot/Encoder.ts          |     4 +-
 .../src/components/ScatterPlot/ScatterPlot.tsx     |     4 +-
 .../spec/fixtures/mockChartQueries.js              |    24 +-
 .../spec/fixtures/mockDashboardInfo.js             |     3 +
 .../spec/fixtures/mockDashboardState.js            |    86 +
 superset-frontend/spec/fixtures/mockDatasource.js  |     1 -
 .../spec/fixtures/mockNativeFilters.ts             |     1 +
 .../spec/fixtures/mockSliceEntities.js             |    22 +-
 superset-frontend/spec/fixtures/mockState.js       |     5 +
 superset-frontend/spec/fixtures/mockStore.js       |    99 +-
 superset-frontend/spec/helpers/reducerIndex.ts     |    15 +-
 superset-frontend/spec/helpers/setup.ts            |     4 +-
 superset-frontend/spec/helpers/shim.ts             |    83 -
 superset-frontend/spec/helpers/shim.tsx            |    92 +
 superset-frontend/spec/helpers/testing-library.tsx |    33 +-
 superset-frontend/src/SqlLab/App.jsx               |    31 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |   300 +-
 .../src/SqlLab/actions/sqlLab.test.js              |   314 +-
 .../AceEditorWrapper/AceEditorWrapper.test.tsx     |    98 +
 .../SqlLab/components/AceEditorWrapper/index.tsx   |   241 +-
 .../src/SqlLab/components/App/index.jsx            |    11 +-
 .../src/SqlLab/components/ColumnElement/index.tsx  |     8 +-
 .../EstimateQueryCostButton.test.tsx               |    93 +
 .../components/EstimateQueryCostButton/index.tsx   |    34 +-
 .../components/ExploreCtasResultsButton/index.tsx  |    31 +-
 .../components/ExploreResultsButton/index.tsx      |     5 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.jsx     |    68 -
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |   133 +
 .../SqlLab/components/QueryAutoRefresh/index.jsx   |   124 -
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |   100 +
 .../components/QueryHistory/QueryHistory.test.tsx  |     9 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |    23 +-
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |   147 +
 .../SqlLab/components/QueryLimitSelect/index.tsx   |   112 +
 .../components/QuerySearch/QuerySearch.test.jsx    |   140 -
 .../src/SqlLab/components/QuerySearch/index.tsx    |   293 -
 .../SqlLab/components/QueryStateLabel/index.tsx    |     2 +-
 .../components/QueryTable/QueryTable.test.jsx      |     3 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |   101 +-
 .../SqlLab/components/ResultSet/ResultSet.test.jsx |   219 -
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   271 +
 .../src/SqlLab/components/ResultSet/index.tsx      |   958 +-
 .../RunQueryActionButton.test.jsx                  |    53 -
 .../RunQueryActionButton.test.tsx                  |   160 +
 .../components/RunQueryActionButton/index.tsx      |    48 +-
 .../SaveDatasetActionButton.test.tsx               |    68 +
 .../components/SaveDatasetActionButton/index.tsx   |    85 +
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |   186 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   493 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.jsx |    88 -
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |   225 +
 .../src/SqlLab/components/SaveQuery/index.tsx      |   154 +-
 .../ScheduleQueryButton/ScheduleQueryButton.less   |    39 -
 .../components/ScheduleQueryButton/index.tsx       |    69 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.jsx     |   132 -
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |   186 +
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |    35 +-
 .../SqlLab/components/SouthPane/SouthPane.test.jsx |   181 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    93 +-
 .../src/SqlLab/components/SouthPane/state.ts       |    39 -
 .../SqlLab/components/SqlEditor/SqlEditor.test.jsx |   196 +-
 .../src/SqlLab/components/SqlEditor/index.jsx      |   955 +-
 .../SqlEditorLeftBar/SqlEditorLeftBar.test.jsx     |   159 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |   204 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |   220 +
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |   147 +
 .../TabStatusIcon/TabStatusIcon.test.jsx           |    39 -
 .../TabStatusIcon/TabStatusIcon.test.tsx           |    37 +
 .../src/SqlLab/components/TabStatusIcon/index.tsx  |    25 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.jsx     |   101 +-
 .../SqlLab/components/TabbedSqlEditors/index.jsx   |   202 +-
 .../components/TableElement/TableElement.test.jsx  |    27 +-
 .../src/SqlLab/components/TableElement/index.tsx   |    21 +-
 .../TemplateParamsEditor.test.tsx                  |    96 +-
 .../components/TemplateParamsEditor/index.tsx      |    37 +-
 superset-frontend/src/SqlLab/constants.ts          |     7 +
 superset-frontend/src/SqlLab/fixtures.ts           |   232 +-
 .../src/SqlLab/hooks/useQueryEditor/index.ts       |    38 +
 .../hooks/useQueryEditor/useQueryEditor.test.ts    |    92 +
 superset-frontend/src/SqlLab/main.less             |    14 +-
 .../src/SqlLab/reducers/getInitialState.js         |    44 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |   462 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |   119 +-
 superset-frontend/src/SqlLab/types.ts              |   146 +-
 .../src/SqlLab/utils/newQueryTabName.test.ts       |    48 +
 .../src/SqlLab/utils/newQueryTabName.ts            |    49 +
 .../SqlLab/utils/reduxStateToLocalStorageHelper.js |     2 +-
 superset-frontend/src/SqlLab/utils/useInterval.ts  |    47 +
 .../src/addSlice/AddSliceContainer.test.tsx        |    87 -
 .../src/addSlice/AddSliceContainer.tsx             |   338 -
 superset-frontend/src/addSlice/App.tsx             |    49 -
 superset-frontend/src/addSlice/index.tsx           |    23 -
 .../src/assets/images/apache-kylin.png             |   Bin 13694 -> 9780 bytes
 superset-frontend/src/assets/images/clickhouse.png |   Bin 7651 -> 9841 bytes
 superset-frontend/src/assets/images/databricks.png |   Bin 0 -> 11073 bytes
 superset-frontend/src/assets/images/db2.png        |   Bin 9010 -> 7493 bytes
 superset-frontend/src/assets/images/druid.png      |   Bin 12839 -> 11845 bytes
 .../src/assets/images/empty-dataset.svg            |    38 +
 .../src/assets/images/empty-table.svg              |    22 +
 superset-frontend/src/assets/images/exasol.png     |   Bin 8582 -> 8965 bytes
 .../src/assets/images/filter-results.svg           |    34 +
 superset-frontend/src/assets/images/firebird.png   |   Bin 10895 -> 7953 bytes
 superset-frontend/src/assets/images/firebolt.png   |   Bin 27249 -> 9061 bytes
 .../src/assets/images/google-biquery.png           |   Bin 16418 -> 15539 bytes
 superset-frontend/src/assets/images/greenplum.png  |   Bin 17811 -> 18956 bytes
 superset-frontend/src/assets/images/hologres.png   |   Bin 23843 -> 4529 bytes
 .../src/assets/images/icons/area-chart-tile.svg    |    21 +
 .../src/assets/images/icons/bar-chart-tile.svg     |    21 +
 .../assets/images/icons/big-number-chart-tile.svg  |    22 +
 .../assets/images/icons/current-rendered-tile.svg  |    21 +
 .../src/assets/images/icons/line-chart-tile.svg    |    21 +
 .../src/assets/images/icons/pie-chart-tile.svg     |    28 +
 superset-frontend/src/assets/images/icons/redo.svg |    21 +
 .../src/assets/images/icons/table-chart-tile.svg   |    28 +
 superset-frontend/src/assets/images/icons/undo.svg |    21 +
 superset-frontend/src/assets/images/mariadb.png    |   Bin 16770 -> 9663 bytes
 superset-frontend/src/assets/images/monet-db.png   |   Bin 21830 -> 14327 bytes
 .../src/assets/images/mssql-server.png             |   Bin 21970 -> 10710 bytes
 superset-frontend/src/assets/images/mysql.png      |   Bin 14453 -> 9362 bytes
 superset-frontend/src/assets/images/netezza.png    |   Bin 54596 -> 8460 bytes
 superset-frontend/src/assets/images/no-columns.svg |    22 +
 superset-frontend/src/assets/images/oracle.png     |   Bin 8231 -> 8577 bytes
 superset-frontend/src/assets/images/pinot.png      |   Bin 68618 -> 7127 bytes
 superset-frontend/src/assets/images/postgresql.png |   Bin 18364 -> 16942 bytes
 superset-frontend/src/assets/images/presto.png     |   Bin 18505 -> 10865 bytes
 superset-frontend/src/assets/images/redshift.png   |   Bin 9168 -> 10885 bytes
 superset-frontend/src/assets/images/rockset.png    |   Bin 23189 -> 8570 bytes
 superset-frontend/src/assets/images/snowflake.png  |   Bin 21654 -> 15635 bytes
 superset-frontend/src/assets/images/sqlite.png     |   Bin 11330 -> 10972 bytes
 superset-frontend/src/assets/images/sybase.png     |   Bin 11992 -> 18309 bytes
 superset-frontend/src/assets/images/teradata.png   |   Bin 93361 -> 9993 bytes
 superset-frontend/src/assets/images/timescale.png  |   Bin 16120 -> 15319 bytes
 superset-frontend/src/assets/images/trino.png      |   Bin 23773 -> 10322 bytes
 superset-frontend/src/assets/images/vector.svg     |    21 +
 superset-frontend/src/assets/images/vertica.png    |   Bin 6800 -> 11479 bytes
 superset-frontend/src/assets/images/yugabyte.png   |   Bin 6460 -> 12123 bytes
 .../src/assets/stylesheets/less/fonts.less         |     8 +-
 .../src/assets/stylesheets/less/variables.less     |     1 +
 .../src/assets/stylesheets/superset.less           |    15 +-
 .../src/components/Alert/Alert.test.tsx            |    11 +-
 .../AlteredSliceTag/AlteredSliceTag.test.jsx       |    13 +
 .../src/components/AlteredSliceTag/index.jsx       |    42 +-
 .../components/AnchorLink/AnchorLink.stories.tsx   |    50 -
 .../src/components/AnchorLink/AnchorLink.test.jsx  |    73 -
 .../src/components/AnchorLink/index.jsx            |    94 -
 .../src/components/AsyncAceEditor/index.tsx        |     6 +-
 .../components/AsyncSelect/AsyncSelect.test.jsx    |     2 +-
 .../src/components/AsyncSelect/index.jsx           |     2 +-
 superset-frontend/src/components/Badge/index.tsx   |     4 +-
 superset-frontend/src/components/Button/index.tsx  |    49 +-
 .../src/components/CachedLabel/index.tsx           |     2 +-
 .../CertifiedBadge/CertifiedBadge.test.tsx         |    19 +-
 superset-frontend/src/components/Chart/Chart.jsx   |   102 +-
 .../src/components/Chart/ChartContextMenu.tsx      |   152 +
 .../src/components/Chart/ChartRenderer.jsx         |   153 +-
 .../src/components/Chart/ChartRenderer.test.jsx    |    19 +-
 .../DrillDetail/DrillDetailMenuItems.test.tsx      |   345 +
 .../Chart/DrillDetail/DrillDetailMenuItems.tsx     |   254 +
 .../Chart/DrillDetail/DrillDetailModal.test.tsx    |    95 +
 .../Chart/DrillDetail/DrillDetailModal.tsx         |   118 +
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |   200 +
 .../Chart/DrillDetail/DrillDetailPane.tsx          |   397 +
 .../DrillDetail/DrillDetailTableControls.test.tsx  |   109 +
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |   140 +
 .../src/components/Chart/DrillDetail/index.ts      |    20 +
 .../src/components/Chart/DrillDetail/types.ts      |    45 +
 .../src/components/Chart/DrillDetail/utils.ts      |    46 +
 .../src/components/Chart/chartAction.js            |    46 +-
 .../src/components/Chart/chartActions.test.js      |    38 +
 .../src/components/Chart/chartReducer.ts           |    10 +-
 .../src/components/Chart/utils.test.ts             |    42 +
 superset-frontend/src/components/Chart/utils.ts    |    40 +
 .../src/components/ConfirmStatusChange/index.tsx   |     2 +-
 .../src/components/CopyToClipboard/index.jsx       |    11 +-
 .../src/components/CronPicker/CronPicker.tsx       |     9 +
 .../DatabaseSelector/DatabaseSelector.test.tsx     |    40 +-
 .../src/components/DatabaseSelector/index.tsx      |    92 +-
 .../Datasource/ChangeDatasourceModal.tsx           |     6 +-
 .../src/components/Datasource/CollectionTable.tsx  |    59 +-
 .../src/components/Datasource/DatasourceEditor.jsx |   334 +-
 .../Datasource/DatasourceEditor.test.jsx           |    62 +-
 .../components/Datasource/DatasourceModal.test.jsx |     9 +-
 .../src/components/Datasource/DatasourceModal.tsx  |     9 +-
 .../src/components/Datasource/Field.tsx            |     1 -
 .../src/components/Datasource/crud.less            |    54 -
 .../DeprecatedSelect.stories.tsx                   |     0
 .../DeprecatedSelect/DeprecatedSelect.tsx          |   322 +
 .../{Select => DeprecatedSelect}/NativeSelect.tsx  |     0
 .../components/DeprecatedSelect/OnPasteSelect.jsx  |   104 +
 .../DeprecatedSelect/OnPasteSelect.test.jsx        |   216 +
 .../WindowedSelect/WindowedMenuList.tsx            |   158 +
 .../WindowedSelect/index.tsx                       |     0
 .../DeprecatedSelect/WindowedSelect/windowed.tsx   |    84 +
 .../{Select => DeprecatedSelect}/index.ts          |     0
 .../src/components/DeprecatedSelect/styles.tsx     |   406 +
 .../src/components/DeprecatedSelect/utils.ts       |    59 +
 .../src/components/DesignSystem.stories.mdx        |    25 +
 .../src/components/Dropdown/index.tsx              |    28 +-
 .../src/components/DropdownButton/index.tsx        |     3 +-
 .../DropdownContainer.stories.tsx                  |   109 +
 .../DropdownContainer/DropdownContainer.test.tsx   |   156 +
 .../DropdownContainer/Overview.stories.mdx         |    17 +
 .../src/components/DropdownContainer/index.tsx     |   408 +
 .../DropdownSelectableIcon.stories.tsx             |    65 +
 .../DropdownSelectableIcon.test.tsx                |    99 +
 .../components/DropdownSelectableIcon/index.tsx    |   109 +
 .../DynamicEditableTitle.test.tsx                  |    69 +
 .../src/components/DynamicEditableTitle/index.tsx  |   218 +
 .../src/components/EditableTitle/index.tsx         |    26 +-
 .../src/components/EmptyState/index.tsx            |    67 +-
 .../ErrorBoundary/ErrorBoundary.test.tsx           |     2 +
 .../ErrorMessage/BasicErrorAlert.test.tsx          |     7 +
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |     7 +
 .../ErrorMessage/DatabaseErrorMessage.tsx          |    19 +-
 .../DatasetNotFoundErrorMessage.test.tsx           |     7 +
 .../components/ErrorMessage/ErrorAlert.test.tsx    |    13 +
 .../src/components/ErrorMessage/ErrorAlert.tsx     |    24 +-
 .../ErrorMessageWithStackTrace.test.tsx            |     7 +
 .../ErrorMessage/ErrorMessageWithStackTrace.tsx    |     5 +-
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |     7 +
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |     7 +
 .../src/components/FacePile/index.tsx              |     4 +-
 .../src/components/FaveStar/FaveStar.test.tsx      |    17 +-
 .../src/components/FaveStar/index.tsx              |    18 +-
 .../FilterableTable/FilterableTable.stories.tsx    |    73 +
 .../FilterableTable/FilterableTable.test.tsx       |    19 +-
 .../components/FilterableTable/FilterableTable.tsx |   675 -
 .../FilterableTable/FilterableTableStyles.less     |   118 -
 .../src/components/FilterableTable/index.tsx       |   712 +
 .../Form/LabeledErrorBoundInput.test.jsx           |    17 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |    32 +-
 .../components/GenericLink/GenericLink.test.tsx    |    59 +
 .../src/components/GenericLink/GenericLink.tsx     |    52 +
 .../src/components/Icons/AntdEnhanced.tsx          |     1 +
 superset-frontend/src/components/Icons/IconType.ts |     1 -
 .../src/components/Icons/Icons.stories.tsx         |     5 -
 superset-frontend/src/components/Icons/index.tsx   |    11 +-
 .../src/components/ImportModal/ErrorAlert.tsx      |    71 +
 .../src/components/ImportModal/index.tsx           |    20 +-
 .../src/components/ImportModal/styles.ts           |    43 +
 .../IndeterminateCheckbox.test.tsx                 |    37 +-
 .../src/components/InfoTooltip/index.tsx           |     2 +-
 .../src/components/Label/Label.stories.tsx         |     3 +-
 superset-frontend/src/components/Label/index.tsx   |    22 +-
 .../components/LastUpdated/LastUpdated.test.tsx    |     4 +-
 .../src/components/ListView/CrossLinks.test.tsx    |    97 +
 .../src/components/ListView/CrossLinks.tsx         |   122 +
 .../components/ListView/CrossLinksTooltip.test.tsx |    89 +
 .../src/components/ListView/CrossLinksTooltip.tsx  |    73 +
 .../src/components/ListView/Filters/Base.ts        |     4 +
 .../src/components/ListView/Filters/DateRange.tsx  |    27 +-
 .../src/components/ListView/Filters/Search.tsx     |    23 +-
 .../src/components/ListView/Filters/Select.tsx     |    82 +-
 .../src/components/ListView/Filters/index.tsx      |    83 +-
 .../src/components/ListView/ListView.test.jsx      |     2 +
 .../src/components/ListView/ListView.tsx           |    96 +-
 superset-frontend/src/components/ListView/types.ts |     5 +
 superset-frontend/src/components/ListView/utils.ts |     3 +-
 .../ListViewCard/ListViewCard.stories.tsx          |    26 +-
 .../src/components/ListViewCard/index.tsx          |    88 +-
 .../src/components/Loading/Loading.stories.tsx     |     4 +-
 .../src/components/Loading/Loading.test.tsx        |     4 +-
 superset-frontend/src/components/Loading/index.tsx |     7 +-
 superset-frontend/src/components/Menu/index.tsx    |     7 +-
 .../src/components/MessageToasts/Toast.test.jsx    |     2 +
 .../src/components/MessageToasts/Toast.tsx         |     4 +-
 .../src/components/MessageToasts/types.ts          |     2 +
 .../src/components/MetadataBar/ContentConfig.tsx   |   136 +
 .../src/components/MetadataBar/ContentType.ts      |    91 +
 .../components/MetadataBar/MetadataBar.stories.mdx |   145 +
 .../components/MetadataBar/MetadataBar.stories.tsx |   109 +
 .../components/MetadataBar/MetadataBar.test.tsx    |   268 +
 .../src/components/MetadataBar/MetadataBar.tsx     |   237 +
 .../src/components/MetadataBar/index.tsx           |    29 +
 superset-frontend/src/components/Modal/Modal.tsx   |    78 +-
 .../ModalTrigger/ModalTrigger.stories.tsx          |     8 +-
 .../src/components/ModalTrigger/index.jsx          |   129 -
 .../src/components/ModalTrigger/index.tsx          |   130 +
 .../PageHeaderWithActions.test.tsx                 |    59 +
 .../src/components/PageHeaderWithActions/index.tsx |   175 +
 .../PopoverDropdown/PopoverDropdown.test.tsx       |    20 +-
 .../PopoverSection/PopoverSection.test.tsx         |    14 +-
 .../src/components/ProgressBar/index.tsx           |     2 +-
 superset-frontend/src/components/Radio/index.tsx   |     1 +
 .../components/RefreshLabel/RefreshLabel.test.tsx  |     8 +-
 .../HeaderReportActionsDropdown/index.tsx          |   116 -
 .../HeaderReportDropdown/index.test.tsx            |   257 +
 .../ReportModal/HeaderReportDropdown/index.tsx     |   329 +
 .../components/ReportModal/ReportModal.test.tsx    |   180 +
 .../src/components/ReportModal/index.test.tsx      |   110 -
 .../src/components/ReportModal/index.tsx           |   345 +-
 .../src/components/ReportModal/styles.tsx          |    14 +-
 .../src/components/ResizableSidebar/index.tsx      |    82 +
 .../ResizableSidebar/useStoredSidebarWidth.test.ts |    92 +
 .../ResizableSidebar/useStoredSidebarWidth.ts      |    51 +
 .../src/components/Select/AsyncSelect.stories.tsx  |   368 +
 .../src/components/Select/AsyncSelect.test.tsx     |   813 +
 .../src/components/Select/AsyncSelect.tsx          |   532 +
 .../src/components/Select/CustomTag.tsx            |    77 +
 .../src/components/Select/DeprecatedSelect.tsx     |   322 -
 .../src/components/Select/OnPasteSelect.jsx        |   104 -
 .../src/components/Select/OnPasteSelect.test.jsx   |   212 -
 .../src/components/Select/Select.stories.tsx       |   237 +-
 .../src/components/Select/Select.test.tsx          |   383 +-
 superset-frontend/src/components/Select/Select.tsx |   955 +-
 .../Select/WindowedSelect/WindowedMenuList.tsx     |   158 -
 .../components/Select/WindowedSelect/windowed.tsx  |    80 -
 .../src/components/Select/constants.ts             |    52 +
 superset-frontend/src/components/Select/styles.tsx |   464 +-
 superset-frontend/src/components/Select/types.ts   |   218 +
 superset-frontend/src/components/Select/utils.ts   |    94 -
 superset-frontend/src/components/Select/utils.tsx  |   200 +
 .../src/components/Table/Table.overview.mdx        |   339 +
 .../src/components/Table/Table.stories.tsx         |   682 +
 .../src/components/Table/Table.test.tsx            |    80 +
 .../src/components/Table/VirtualTable.tsx          |   247 +
 .../ActionCell/ActionCell.overview.mdx             |    69 +
 .../ActionCell/ActionCell.stories.tsx              |    36 +
 .../cell-renderers/ActionCell/ActionCell.test.tsx  |    50 +
 .../Table/cell-renderers/ActionCell/fixtures.ts    |    47 +
 .../Table/cell-renderers/ActionCell/index.tsx      |   145 +
 .../BooleanCell/BooleanCell.stories.tsx            |    34 +
 .../BooleanCell/BooleanCell.test.tsx               |    37 +
 .../Table/cell-renderers/BooleanCell/index.tsx     |    30 +
 .../ButtonCell/ButtonCell.stories.tsx              |    62 +
 .../cell-renderers/ButtonCell/ButtonCell.test.tsx  |    40 +
 .../Table/cell-renderers/ButtonCell/index.tsx      |    58 +
 .../cell-renderers/NullCell/NullCell.stories.tsx   |    28 +
 .../cell-renderers/NullCell/NullCell.test.tsx      |    35 +
 .../Table/cell-renderers/NullCell/index.tsx        |    37 +
 .../NumericCell/NumericCell.stories.tsx            |    47 +
 .../NumericCell/NumericCell.test.tsx               |    49 +
 .../Table/cell-renderers/NumericCell/index.tsx     |   418 +
 .../cell-renderers/TimeCell/TimeCell.stories.tsx   |    43 +
 .../cell-renderers/TimeCell/TimeCell.test.tsx      |    49 +
 .../Table/cell-renderers/TimeCell/index.tsx        |    38 +
 .../components/Table/cell-renderers/fixtures.ts    |    25 +
 .../header-renderers/HeaderWithRadioGroup.tsx      |    94 +
 superset-frontend/src/components/Table/index.tsx   |   454 +
 .../src/components/Table/sorters.test.ts           |   100 +
 superset-frontend/src/components/Table/sorters.ts  |    36 +
 .../Table/utils/InteractiveTableUtils.ts           |   233 +
 .../src/components/Table/utils/utils.test.ts       |    48 +
 .../src/components/Table/utils/utils.ts            |    40 +
 .../src/components/TableCollection/index.tsx       |   281 +-
 .../TableSelector/TableSelector.test.tsx           |    94 +-
 .../src/components/TableSelector/index.tsx         |   236 +-
 .../src/components/TableView/TableView.stories.tsx |     1 +
 .../src/components/TableView/TableView.test.tsx    |     2 +
 .../src/components/TableView/TableView.tsx         |    48 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |    46 +-
 .../src/components/Timer/Timer.test.tsx            |     2 +-
 superset-frontend/src/components/Timer/index.tsx   |     4 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |     8 +-
 .../src/components/TimezoneSelector/index.tsx      |     4 +-
 superset-frontend/src/components/Tooltip/index.tsx |     7 +-
 .../TooltipParagraph/TooltipParagraph.stories.tsx  |    49 +
 .../TooltipParagraph/TooltipParagraph.test.tsx     |    57 +
 .../src/components/TooltipParagraph/index.tsx      |    43 +
 .../URLShortLinkButton/URLShortLinkButton.test.tsx |   102 -
 .../src/components/URLShortLinkButton/index.jsx    |   120 -
 superset-frontend/src/components/atomic-design.png |   Bin 0 -> 163100 bytes
 superset-frontend/src/components/index.ts          |     2 +
 superset-frontend/src/constants.ts                 |    88 +
 .../src/dashboard/actions/dashboardInfo.ts         |    70 +-
 .../src/dashboard/actions/dashboardLayout.js       |     2 +-
 .../src/dashboard/actions/dashboardState.js        |   176 +-
 .../src/dashboard/actions/dashboardState.test.js   |    86 +-
 superset-frontend/src/dashboard/actions/hydrate.js |   122 +-
 .../src/dashboard/actions/nativeFilters.ts         |    24 +
 .../src/dashboard/actions/sliceEntities.js         |   214 +-
 .../src/dashboard/actions/sliceEntities.test.js    |   102 +
 .../src/dashboard/components/AddSliceCard.jsx      |   148 -
 .../components/AddSliceCard/AddSliceCard.test.tsx  |    62 +
 .../components/AddSliceCard/AddSliceCard.tsx       |   288 +
 .../src/dashboard/components/AddSliceCard/index.ts |    22 +
 .../components/AnchorLink/AnchorLink.stories.tsx   |    50 +
 .../components/AnchorLink/AnchorLink.test.tsx      |    69 +
 .../src/dashboard/components/AnchorLink/index.tsx  |    79 +
 .../dashboard/components/BuilderComponentPane.tsx  |   142 -
 .../BuilderComponentPane.test.tsx                  |    35 +
 .../components/BuilderComponentPane/index.tsx      |   102 +
 .../CrossFilterScopingForm.test.tsx                |     2 +-
 .../CrossFilterScopingModal.tsx                    |    14 +-
 .../src/dashboard/components/Dashboard.jsx         |     6 +-
 .../src/dashboard/components/Dashboard.test.jsx    |     3 +-
 .../DashboardBuilder/DashboardBuilder.test.jsx     |   196 -
 .../DashboardBuilder/DashboardBuilder.test.tsx     |   294 +
 .../DashboardBuilder/DashboardBuilder.tsx          |   208 +-
 .../DashboardBuilder/DashboardContainer.tsx        |   117 +-
 .../components/DashboardEmbedControls.tsx          |    54 +-
 .../src/dashboard/components/DashboardGrid.jsx     |    97 +-
 .../dashboard/components/FiltersBadge/index.tsx    |     4 +-
 .../dashboard/components/FiltersBadge/selectors.ts |    21 +-
 .../dashboard/components/Header/Header.test.tsx    |   230 +-
 .../HeaderActionsDropdown.test.tsx                 |   116 +-
 .../Header/HeaderActionsDropdown/index.jsx         |   258 +-
 .../src/dashboard/components/Header/index.jsx      |   573 +-
 .../src/dashboard/components/Header/types.ts       |     3 +-
 .../OverwriteConfirm/OverwriteConfirm.test.tsx     |    50 +
 .../OverwriteConfirmModal.test.tsx                 |    90 +
 .../OverwriteConfirm/OverwriteConfirmModal.tsx     |   209 +
 .../components/OverwriteConfirm/index.tsx          |    41 +
 .../PropertiesModal/PropertiesModal.test.tsx       |   185 +-
 .../dashboard/components/PropertiesModal/index.tsx |   127 +-
 .../dashboard/components/PublishedStatus/index.jsx |     6 +-
 .../components/RefreshIntervalModal.test.tsx       |    24 +-
 .../dashboard/components/RefreshIntervalModal.tsx  |    44 +-
 .../src/dashboard/components/SaveModal.tsx         |    16 +-
 .../src/dashboard/components/SliceAdder.jsx        |   146 +-
 .../src/dashboard/components/SliceAdder.test.jsx   |    13 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |   122 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    70 +-
 .../SliceHeaderControls.test.tsx                   |   249 +-
 .../components/SliceHeaderControls/index.tsx       |   290 +-
 .../URLShortLinkButton/URLShortLinkButton.test.tsx |   102 +
 .../components/URLShortLinkButton/index.tsx        |   113 +
 .../src/dashboard/components/dnd/DragDroppable.jsx |    26 +-
 .../src/dashboard/components/dnd/handleHover.js    |     2 +
 .../components/filterscope/FilterScope.test.tsx    |     4 +-
 .../components/filterscope/FilterScopeModal.tsx    |    12 +-
 .../components/filterscope/FilterScopeSelector.jsx |    23 +-
 .../dashboard/components/gridComponents/Chart.jsx  |    91 +-
 .../components/gridComponents/Chart.test.jsx       |    11 +-
 .../components/gridComponents/ChartHolder.jsx      |   404 -
 .../components/gridComponents/ChartHolder.test.jsx |   138 -
 .../components/gridComponents/ChartHolder.test.tsx |   375 +-
 .../components/gridComponents/ChartHolder.tsx      |   325 +
 .../components/gridComponents/Column.test.jsx      |     9 +-
 .../dashboard/components/gridComponents/Header.jsx |    16 +-
 .../components/gridComponents/Markdown.jsx         |    16 +-
 .../components/gridComponents/Markdown.test.jsx    |    12 +-
 .../dashboard/components/gridComponents/Row.jsx    |    49 +
 .../components/gridComponents/Row.test.jsx         |     9 +-
 .../dashboard/components/gridComponents/Tab.jsx    |    94 +-
 .../components/gridComponents/Tab.test.tsx         |    77 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |   107 +-
 .../components/gridComponents/Tabs.test.jsx        |    12 +
 .../components/gridComponents/new/NewMarkdown.jsx  |     5 +-
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |    15 +-
 .../components/menu/ShareMenuItems/index.tsx       |    47 +-
 .../FilterBar/ActionButtons/ActionButtons.test.tsx |    28 +-
 .../FilterBar/ActionButtons/index.tsx              |   113 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |    38 +-
 .../FilterBarOrientationSelect.test.tsx            |   175 +
 .../FilterBar/FilterBarOrientationSelect/index.tsx |    88 +
 .../FilterBar/FilterConfigurationLink/index.tsx    |    38 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   225 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |   297 +-
 .../FilterControls/FilterDivider.stories.tsx       |   122 +
 .../FilterControls/FilterDivider.test.tsx          |   135 +
 .../FilterBar/FilterControls/FilterDivider.tsx     |   162 +
 .../FilterBar/FilterControls/FilterValue.tsx       |    52 +-
 .../FilterBar/FilterControls/types.ts              |    15 +-
 .../FilterBar/FilterControls/utils.ts              |    16 +-
 .../FilterBar/FilterSets/EditSection.tsx           |     2 +-
 .../FilterBar/FilterSets/FilterSetUnit.tsx         |     2 +-
 .../FilterBar/FilterSets/FilterSets.test.tsx       |     2 +-
 .../FilterBar/FilterSets/FiltersHeader.tsx         |     2 +-
 .../nativeFilters/FilterBar/FilterSets/Footer.tsx  |     2 +-
 .../nativeFilters/FilterBar/FilterSets/index.tsx   |     4 +-
 .../FilterBar/FiltersDropdownContent/index.tsx     |    54 +
 .../FiltersOutOfScopeCollapsible/index.tsx         |    89 +
 .../nativeFilters/FilterBar/Header/index.tsx       |    63 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |   138 +
 .../FilterBar/HorizontalFilterBar.test.tsx         |   105 +
 .../nativeFilters/FilterBar/Vertical.tsx           |   316 +
 .../components/nativeFilters/FilterBar/index.tsx   |   357 +-
 .../components/nativeFilters/FilterBar/state.ts    |     2 +-
 .../components/nativeFilters/FilterBar/types.ts    |    67 +
 .../FilterBar/useFilterControlFactory.tsx          |    87 +
 .../components/nativeFilters/FilterBar/utils.ts    |     9 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    17 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |   173 +-
 .../nativeFilters/FilterCard/FilterCardContent.tsx |    12 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |    55 +-
 .../nativeFilters/FilterCard/ScopeRow.tsx          |    16 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |     5 +
 .../components/nativeFilters/FilterCard/index.tsx  |    10 +-
 .../components/nativeFilters/FilterCard/types.ts   |     7 +
 .../nativeFilters/FilterCard/useFilterScope.ts     |     7 +-
 .../nativeFilters/FilterCard/useTruncation.ts      |    58 -
 .../FiltersConfigModal/FilterConfigPane.test.tsx   |     8 -
 .../FiltersConfigModal/FilterConfigurePane.tsx     |    56 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |    30 -
 .../FiltersConfigModal/FilterTitlePane.tsx         |     4 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |     4 +-
 .../FiltersConfigForm/DefaultValue.tsx             |     4 +-
 .../FiltersConfigForm/FilterScope/utils.test.ts    | 18204 ++++
 .../FiltersConfigForm/FilterScope/utils.ts         |    53 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   493 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |     6 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    18 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |     3 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |   237 +-
 .../FiltersConfigModal/Footer/Footer.tsx           |     2 +-
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |     2 +-
 .../dashboard/components/nativeFilters/utils.ts    |    17 +-
 superset-frontend/src/dashboard/constants.ts       |     4 +-
 .../src/dashboard/containers/Chart.jsx             |    10 +-
 .../src/dashboard/containers/Dashboard.ts          |     2 +-
 .../dashboard/containers/DashboardComponent.jsx    |     2 -
 .../src/dashboard/containers/DashboardGrid.jsx     |     7 +-
 .../src/dashboard/containers/DashboardHeader.jsx   |    14 +-
 .../src/dashboard/containers/DashboardPage.tsx     |   153 +-
 .../src/dashboard/containers/SliceAdder.jsx        |     9 +-
 .../src/dashboard/reducers/dashboardInfo.js        |    10 +-
 .../src/dashboard/reducers/dashboardLayout.js      |    64 +-
 .../src/dashboard/reducers/dashboardLayout.test.js |    23 +-
 .../src/dashboard/reducers/dashboardState.js       |    30 +-
 .../src/dashboard/reducers/dashboardState.test.js  |     9 +-
 .../src/dashboard/reducers/nativeFilters.ts        |    14 +
 superset-frontend/src/dashboard/reducers/types.ts  |    11 +
 superset-frontend/src/dashboard/styles.ts          |     9 +
 .../dashboard/stylesheets/builder-sidepane.less    |   131 -
 .../src/dashboard/stylesheets/builder.less         |     1 +
 .../dashboard/stylesheets/components/header.less   |     5 -
 .../src/dashboard/stylesheets/components/row.less  |     6 +
 .../src/dashboard/stylesheets/dashboard.less       |    30 +-
 .../src/dashboard/stylesheets/index.less           |     1 -
 .../src/dashboard/stylesheets/resizable.less       |     4 +-
 superset-frontend/src/dashboard/types.ts           |    58 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |    87 +-
 .../src/dashboard/util/activeDashboardFilters.js   |     4 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |    32 +-
 superset-frontend/src/dashboard/util/constants.ts  |     1 +
 .../util/filterboxMigrationHelper.test.ts          |     4 +-
 .../src/dashboard/util/filterboxMigrationHelper.ts |   102 +-
 .../src/dashboard/util/findParentId.js             |    49 -
 .../src/dashboard/util/findParentId.test.js        |    44 -
 .../src/dashboard/util/findParentId.test.ts        |    55 +
 .../src/dashboard/util/findParentId.ts             |    68 +
 .../src/dashboard/util/findPermission.test.ts      |   151 -
 .../src/dashboard/util/findPermission.ts           |    53 -
 .../util/findTabIndexByComponentId.test.js         |     2 +-
 .../util/getDetailedComponentWidth.test.js         |     6 +-
 .../dashboard/util/getFilterConfigsFromFormdata.js |     8 -
 .../util/getFormDataWithExtraFilters.test.ts       |    33 +-
 .../src/dashboard/util/getOverwriteItems.test.ts   |    57 +
 .../src/dashboard/util/getOverwriteItems.ts        |    46 +
 .../src/dashboard/util/getSliceHeaderTooltip.tsx   |    44 +
 .../src/dashboard/util/injectCustomCss.ts          |     2 +-
 .../dashboard/util/logging/childChartsDidLoad.js   |     2 +-
 .../src/dashboard/util/permissionUtils.test.ts     |   154 +
 .../src/dashboard/util/permissionUtils.ts          |    65 +
 .../src/dashboard/util/propShapes.jsx              |    14 +-
 .../dashboard/util/updateComponentParentsList.js   |    40 +-
 .../util/updateComponentParentsList.test.js        |    67 +-
 .../util/useFilterFocusHighlightStyles.test.tsx    |   248 +
 .../util/useFilterFocusHighlightStyles.ts          |    92 +
 superset-frontend/src/embedded/api.tsx             |    68 +
 superset-frontend/src/embedded/index.tsx           |    83 +-
 superset-frontend/src/explore/App.jsx              |    52 -
 superset-frontend/src/explore/ExplorePage.tsx      |   162 +
 .../src/explore/actions/datasourcesActions.test.ts |   139 +
 .../src/explore/actions/datasourcesActions.ts      |    93 +
 .../src/explore/actions/exploreActions.ts          |    73 +-
 .../src/explore/actions/hydrateExplore.test.ts     |   214 +
 .../src/explore/actions/hydrateExplore.ts          |   195 +
 .../src/explore/actions/saveModalActions.js        |   212 +-
 .../src/explore/actions/saveModalActions.test.js   |   341 +
 .../src/explore/components/ChartPills.tsx          |    88 +
 .../src/explore/components/Control.less            |    21 -
 .../src/explore/components/Control.test.tsx        |    94 +
 .../src/explore/components/Control.tsx             |    44 +-
 .../src/explore/components/ControlHeader.tsx       |    66 +-
 .../src/explore/components/ControlPanelAlert.tsx   |    98 -
 .../components/ControlPanelsContainer.test.tsx     |    14 +-
 .../explore/components/ControlPanelsContainer.tsx  |   327 +-
 .../src/explore/components/ControlRow.test.tsx     |    45 +-
 .../src/explore/components/ControlRow.tsx          |    18 +-
 .../CopyToClipboardButton.test.tsx                 |    22 +-
 .../DataTableControl/FilterInput.test.tsx          |     1 +
 .../components/DataTableControl/RowCount.test.tsx  |     9 +-
 .../explore/components/DataTableControl/index.tsx  |   200 +-
 .../DataTableControl/useTableColumns.test.ts       |   177 +-
 .../explore/components/DataTableControl/utils.ts   |    49 +
 .../DataTablesPane/DataTablesPane.test.tsx         |   150 -
 .../components/DataTablesPane/DataTablesPane.tsx   |   243 +
 .../components/DataTableControls.tsx               |    82 +
 .../components/ResultsPaneOnDashboard.tsx          |    97 +
 .../DataTablesPane/components/SamplesPane.tsx      |   146 +
 .../components/SingleQueryResultPane.tsx           |    73 +
 .../components/DataTablesPane/components/index.ts  |    22 +
 .../DataTablesPane/components/useResultsPane.tsx   |   152 +
 .../src/explore/components/DataTablesPane/index.ts |    20 +
 .../explore/components/DataTablesPane/index.tsx    |   461 -
 .../DataTablesPane/test/DataTablesPane.test.tsx    |   163 +
 .../test/ResultsPaneOnDashboard.test.tsx           |   174 +
 .../DataTablesPane/test/SamplesPane.test.tsx       |   115 +
 .../components/DataTablesPane/test/fixture.tsx     |   119 +
 .../src/explore/components/DataTablesPane/types.ts |    88 +
 .../DatasourcePanel/DatasourcePanel.test.tsx       |   148 +-
 .../DatasourcePanelDragOption.test.tsx             |    39 +-
 .../components/DatasourcePanel/fixtures.tsx        |     3 +-
 .../explore/components/DatasourcePanel/index.tsx   |   224 +-
 .../ExploreAdditionalActionsMenu.test.tsx          |   331 -
 .../ExploreAdditionalActionsMenu/ExploreReport.tsx |    92 -
 .../ExploreAdditionalActionsMenu/index.jsx         |   445 -
 .../src/explore/components/ExploreAlert.tsx        |   132 +
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   337 +-
 .../components/ExploreChartHeader/index.jsx        |   493 +-
 .../src/explore/components/ExploreChartPanel.jsx   |   409 +-
 .../explore/components/ExploreChartPanel.test.jsx  |   162 +-
 .../ExploreViewContainer.test.tsx                  |   115 +-
 .../components/ExploreViewContainer/index.jsx      |   632 +-
 .../ExportToCSVDropdown.test.tsx                   |    42 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |    61 +-
 .../explore/components/PropertiesModal/index.tsx   |    19 +-
 .../components/QueryAndSaveBtns.stories.tsx        |    48 -
 .../explore/components/QueryAndSaveBtns.test.jsx   |    60 -
 .../src/explore/components/QueryAndSaveBtns.tsx    |   124 -
 .../explore/components/RowCountLabel.stories.tsx   |    59 -
 .../src/explore/components/RowCountLabel.test.jsx  |    50 -
 .../src/explore/components/RowCountLabel.tsx       |    53 -
 .../RowCountLabel/RowCountLabel.stories.tsx        |    58 +
 .../RowCountLabel/RowCountLabel.test.tsx           |    65 +
 .../src/explore/components/RowCountLabel/index.tsx |    57 +
 .../RunQueryButton/RunQueryButton.stories.tsx      |    50 +
 .../RunQueryButton/RunQueryButton.test.tsx         |    76 +
 .../explore/components/RunQueryButton/index.tsx    |    56 +
 .../src/explore/components/SaveModal.test.jsx      |   433 +-
 .../src/explore/components/SaveModal.tsx           |   469 +-
 .../AnnotationLayerControl/AnnotationLayer.jsx     |   110 +-
 .../AnnotationLayer.test.tsx                       |    21 +-
 .../controls/AnnotationLayerControl/index.jsx      |    19 +-
 .../components/controls/CheckboxControl.jsx        |    25 +-
 .../CollectionControl/CollectionControl.test.tsx   |    27 +-
 .../components/controls/ColorPickerControl.jsx     |    29 +-
 .../ColorSchemeControl/ColorScheme.test.jsx        |    43 -
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |     4 +-
 .../ColorSchemeControl/ColorSchemeLabel.test.tsx   |    59 +
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |   126 +
 .../controls/ColorSchemeControl/index.jsx          |   208 -
 .../controls/ColorSchemeControl/index.tsx          |   189 +
 .../FormattingPopoverContent.tsx                   |    98 +-
 .../ControlPopover/ControlPopover.test.tsx         |    83 +-
 .../controls/ControlPopover/ControlPopover.tsx     |    79 +-
 .../DatasourceControl/DatasourceControl.test.jsx   |    70 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |   308 +-
 .../controls/DatasourceControl/index.jsx           |   307 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |   237 +-
 .../components/AdvancedFrame.test.tsx              |    46 -
 .../DateFilterControl/components/AdvancedFrame.tsx |    26 +-
 .../DateFilterControl/components/CommonFrame.tsx   |     8 +-
 .../components/CustomFrame.test.tsx                |   125 -
 .../DateFilterControl/components/CustomFrame.tsx   |    18 +
 .../DateFilterControl/components/DateLabel.tsx     |   100 +
 .../controls/DateFilterControl/components/index.ts |     1 +
 .../components/controls/DateFilterControl/index.ts |     1 +
 .../DateFilterControl/tests/AdvancedFrame.test.tsx |    46 +
 .../DateFilterControl/tests/CustomFrame.test.tsx   |   264 +
 .../tests/DateFilterLabel.test.tsx                 |    86 +
 .../{utils => tests}/utils.test.ts                 |     0
 .../components/controls/DateFilterControl/types.ts |    10 +
 .../controls/DateFilterControl/utils/constants.ts  |    26 +
 .../DateFilterControl/utils/dateFilterUtils.ts     |    65 +-
 .../controls/DateFilterControl/utils/dateParser.ts |     2 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    88 +-
 .../ColumnSelectPopoverTrigger.tsx                 |    50 +-
 .../DndAdhocFilterOption.tsx                       |    78 +
 .../DndColumnSelect.test.tsx                       |    43 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |   129 +-
 .../DndColumnSelectPopoverTitle.jsx                |    11 +-
 .../DndFilterSelect.test.tsx                       |   106 +-
 .../DndColumnSelectControl/DndFilterSelect.tsx     |   100 +-
 .../DndMetricSelect.test.tsx                       |   152 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |   157 +-
 .../DndColumnSelectControl/DndSelectLabel.tsx      |    13 +-
 .../DndColumnSelectControl/Option.test.tsx         |    24 +-
 .../controls/DndColumnSelectControl/Option.tsx     |    10 +-
 .../DndColumnSelectControl/OptionWrapper.test.tsx  |    12 +-
 .../DndColumnSelectControl/OptionWrapper.tsx       |     6 +-
 .../controls/DndColumnSelectControl/types.ts       |     2 +
 .../FilterControl/AdhocFilter/AdhocFilter.test.js  |     1 +
 .../controls/FilterControl/AdhocFilter/index.js    |     5 +-
 .../FilterControl/AdhocFilterControl/index.jsx     |    22 +-
 .../AdhocFilterEditPopover.test.jsx                |     3 +-
 .../FilterControl/AdhocFilterEditPopover/index.jsx |    39 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |   264 +-
 .../index.tsx                                      |   300 +-
 .../useAdvancedDataTypes.ts                        |   103 +
 .../AdhocFilterOption/AdhocFilterOption.test.tsx   |    20 +-
 .../FilterControl/AdhocFilterOption/index.jsx      |    86 -
 .../FilterControl/AdhocFilterOption/index.tsx      |    80 +
 .../controls/FilterControl/utils/index.ts          |    20 +
 .../utils/useDatePickerInAdhocFilter.tsx           |    52 +
 .../utils/useDatePickerInAdhocfilter.test.ts       |    64 +
 .../utils/useGetTimeRangeLabel.test.ts             |   103 +
 .../FilterControl/utils/useGetTimeRangeLabel.tsx   |    75 +
 .../FixedOrMetricControl.test.tsx                  |     7 +
 .../controls/FixedOrMetricControl/index.jsx        |     2 +-
 .../controls/MetricControl/AdhocMetric.js          |    22 +-
 .../controls/MetricControl/AdhocMetric.test.js     |    37 +
 .../AdhocMetricEditPopover.test.jsx                |     6 +-
 .../AdhocMetricEditPopover.test.tsx                |    54 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |    64 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.jsx  |   115 -
 .../AdhocMetricEditPopoverTitle.test.jsx           |    70 -
 .../AdhocMetricEditPopoverTitle.test.tsx           |   141 +
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |   127 +
 .../controls/MetricControl/AdhocMetricOption.jsx   |     3 +
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |    55 +-
 .../MetricControl/MetricDefinitionValue.jsx        |     3 +
 .../controls/MetricControl/savedMetricType.js      |     4 +-
 .../components/controls/OptionControls/index.tsx   |    21 +-
 .../controls/SelectAsyncControl/index.tsx          |     6 +-
 .../explore/components/controls/SelectControl.jsx  |     7 +-
 .../explore/components/controls/SliderControl.tsx  |    41 +-
 .../explore/components/controls/SpatialControl.jsx |     6 +-
 .../components/controls/TextAreaControl.jsx        |    35 +-
 .../components/controls/TextAreaControl.test.jsx   |     8 +-
 .../controls/TimeSeriesColumnControl/index.jsx     |    92 +-
 .../src/explore/components/controls/ViewQuery.tsx  |    76 +
 .../explore/components/controls/ViewQueryModal.tsx |    53 +-
 .../components/controls/ViewQueryModalFooter.tsx   |    83 +
 .../components/controls/ViewportControl.jsx        |     3 +-
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |   254 +
 .../VizTypeControl/VizTypeControl.test.jsx         |     1 +
 .../VizTypeControl/VizTypeControl.test.tsx         |   227 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |    24 +-
 .../components/controls/VizTypeControl/index.tsx   |   102 +-
 .../components/controls/XAxisSortControl.tsx       |    36 +
 .../src/explore/components/controls/index.js       |     2 +
 .../controls/withAsyncVerification.test.tsx        |     2 +-
 .../DashboardsSubMenu.test.tsx                     |    78 +
 .../DashboardsSubMenu.tsx                          |   146 +
 .../useExploreAdditionalActionsMenu/index.jsx      |   395 +
 .../explore/components/useTimeFormattedColumns.ts  |    27 -
 superset-frontend/src/explore/constants.ts         |    63 +-
 .../src/explore/controlPanels/Separator.js         |     2 +-
 .../src/explore/controlPanels/sections.tsx         |    91 +-
 .../src/explore/controlUtils/controlUtils.test.tsx |    17 +-
 .../src/explore/controlUtils/getControlConfig.ts   |    14 +-
 .../src/explore/controlUtils/getControlState.ts    |    28 +-
 ...etControlValuesCompatibleWithDatasource.test.ts |   287 +
 .../getControlValuesCompatibleWithDatasource.ts    |    26 +-
 .../controlUtils/getFormDataFromControls.ts        |     7 +-
 .../getFormDataFromDashboardContext.test.ts        |   288 +
 .../getFormDataWithDashboardContext.ts             |   212 +
 .../explore/controlUtils/getSectionsToRender.ts    |    14 +-
 .../src/explore/controlUtils/index.ts              |     1 +
 .../controlUtils/standardizedFormData.test.ts      |   488 +
 .../explore/controlUtils/standardizedFormData.ts   |   251 +
 superset-frontend/src/explore/controls.jsx         |    66 +-
 .../src/explore/exploreUtils/exploreUtils.test.jsx |    21 +-
 .../src/explore/exploreUtils/formData.ts           |    29 +-
 .../src/explore/exploreUtils/getExploreUrl.test.ts |     2 +-
 .../exploreUtils/getParsedExploreURLParams.test.ts |    62 +
 .../exploreUtils/getParsedExploreURLParams.ts      |   125 +
 .../explore/exploreUtils/getURIDirectory.test.ts   |     4 +-
 .../src/explore/exploreUtils/index.js              |    47 +-
 superset-frontend/src/explore/fixtures.tsx         |   137 +-
 superset-frontend/src/explore/index.jsx            |    42 -
 superset-frontend/src/explore/main.less            |    13 +-
 .../src/explore/reducers/datasourcesReducer.ts     |    42 +
 .../src/explore/reducers/exploreReducer.js         |   206 +-
 .../src/explore/reducers/getInitialState.ts        |   133 -
 superset-frontend/src/explore/reducers/index.js    |    38 -
 .../src/explore/reducers/saveModalReducer.js       |     7 +
 superset-frontend/src/explore/store.js             |    12 +-
 superset-frontend/src/explore/types.ts             |    60 +-
 superset-frontend/src/featureFlags.ts              |    12 +-
 .../components/GroupBy/GroupByFilterPlugin.tsx     |     6 +-
 .../src/filters/components/GroupBy/controlPanel.ts |     2 +-
 .../filters/components/GroupBy/transformProps.ts   |     4 +
 .../components/Range/RangeFilterPlugin.test.tsx    |    26 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |    43 +-
 .../src/filters/components/Range/buildQuery.ts     |     6 +-
 .../src/filters/components/Range/controlPanel.ts   |     2 +-
 .../src/filters/components/Range/transformProps.ts |     7 +
 .../src/filters/components/Range/types.ts          |     3 +
 .../components/Select/SelectFilterPlugin.test.tsx  |    32 +-
 .../components/Select/SelectFilterPlugin.tsx       |    31 +-
 .../filters/components/Select/buildQuery.test.ts   |    10 +-
 .../src/filters/components/Select/buildQuery.ts    |     2 +-
 .../src/filters/components/Select/controlPanel.ts  |     2 +-
 .../filters/components/Select/transformProps.ts    |     7 +
 .../src/filters/components/Select/types.ts         |     3 +
 .../filters/components/Time/TimeFilterPlugin.tsx   |    50 +-
 .../src/filters/components/Time/controlPanel.ts    |     2 +-
 .../src/filters/components/Time/transformProps.ts  |     7 +
 .../src/filters/components/Time/types.ts           |     1 +
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |     8 +-
 .../filters/components/TimeColumn/buildQuery.ts    |     2 +-
 .../components/TimeColumn/transformProps.ts        |     4 +
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |     8 +-
 .../filters/components/TimeGrain/transformProps.ts |     4 +
 superset-frontend/src/filters/components/types.ts  |     5 +
 .../src/hooks/apiResources/dashboards.ts           |     1 +
 superset-frontend/src/hooks/apiResources/index.ts  |     1 +
 .../src/hooks/apiResources/tables.test.ts          |   194 +
 superset-frontend/src/hooks/apiResources/tables.ts |    94 +
 superset-frontend/src/hooks/useTabId.ts            |    15 +
 superset-frontend/src/hooks/useTruncation/index.ts |    23 +
 .../hooks/useTruncation/useCSSTextTruncation.ts    |    61 +
 .../useTruncation/useChildElementTruncation.ts     |   118 +
 superset-frontend/src/logger/LogUtils.ts           |    21 +
 superset-frontend/src/middleware/asyncEvent.ts     |   141 +-
 superset-frontend/src/middleware/logger.test.js    |    35 +
 .../src/middleware/loggerMiddleware.js             |     8 +-
 superset-frontend/src/modules/AnnotationTypes.js   |    10 +-
 superset-frontend/src/modules/dates.test.js        |    80 -
 superset-frontend/src/modules/utils.js             |    43 -
 superset-frontend/src/modules/utils.test.jsx       |    40 -
 .../src/pages/ChartCreation/ChartCreation.test.tsx |   153 +
 .../src/pages/ChartCreation/index.tsx              |   431 +
 .../src/pages/ChartList/ChartCard.tsx              |   186 +
 .../src/pages/ChartList/ChartList.test.jsx         |   259 +
 superset-frontend/src/pages/ChartList/index.tsx    |   867 +
 superset-frontend/src/preamble.ts                  |    34 +-
 superset-frontend/src/profile/App.tsx              |    11 +-
 superset-frontend/src/profile/components/App.tsx   |     4 +-
 .../src/profile/components/CreatedContent.tsx      |    64 +-
 .../src/profile/components/Favorites.tsx           |    32 +-
 .../src/profile/components/RecentActivity.tsx      |     6 +-
 .../src/profile/components/Security.tsx            |    13 +-
 .../src/profile/components/UserInfo.tsx            |    21 +-
 superset-frontend/src/profile/main.less            |    32 -
 superset-frontend/src/reduxUtils.ts                |    25 +-
 superset-frontend/src/reports/actions/reports.js   |    73 +-
 superset-frontend/src/reports/reducers/reports.js  |    57 +-
 superset-frontend/src/reports/types.ts             |    60 +
 superset-frontend/src/setup/setupApp.ts            |     2 +-
 superset-frontend/src/setup/setupClient.ts         |     2 +-
 superset-frontend/src/setup/setupExtensions.ts     |    21 +
 superset-frontend/src/showSavedQuery/index.jsx     |    30 +-
 superset-frontend/src/showSavedQuery/index.less    |    25 -
 superset-frontend/src/types/Chart.ts               |     1 +
 superset-frontend/src/types/ChartSource.ts         |    23 +
 superset-frontend/src/types/Dashboard.ts           |     2 -
 .../src/types/DashboardContextForExplore.ts        |    43 +
 superset-frontend/src/types/Database.ts            |     3 +-
 superset-frontend/src/types/Owner.ts               |     1 +
 superset-frontend/src/types/bootstrapTypes.ts      |   134 +-
 superset-frontend/src/types/dom-to-image-more.d.ts |    37 +
 superset-frontend/src/types/files.d.ts             |     1 +
 .../src/utils/DebouncedMessageQueue.js             |     4 +-
 superset-frontend/src/utils/common.js              |    25 +-
 superset-frontend/src/utils/common.test.jsx        |    19 +-
 superset-frontend/src/utils/copy.ts                |   105 +-
 superset-frontend/src/utils/datasourceUtils.js     |    25 +
 superset-frontend/src/{modules => utils}/dates.js  |     0
 superset-frontend/src/utils/dates.test.js          |    80 +
 superset-frontend/src/utils/downloadAsImage.ts     |    14 +-
 superset-frontend/src/utils/findPermission.test.ts |    63 +
 superset-frontend/src/utils/findPermission.ts      |    28 +
 superset-frontend/src/utils/getBootstrapData.ts    |    27 +
 .../utils/getChartRequiredFieldsMissingMessage.ts  |    26 +
 .../src/utils/getClientErrorObject.ts              |   176 +-
 .../src/utils/getControlsForVizType.js             |    29 +-
 .../src/utils/getDatasourceUid.test.ts             |    49 +
 superset-frontend/src/utils/getDatasourceUid.ts    |    22 +
 superset-frontend/src/utils/hostNamesConfig.js     |     5 +-
 superset-frontend/src/utils/isBot.ts               |    21 +
 .../src/utils/isDashboardVirtualizationEnabled.ts  |    30 +
 superset-frontend/src/utils/localStorageHelpers.ts |    52 +-
 superset-frontend/src/utils/urlUtils.test.ts       |    54 +
 superset-frontend/src/utils/urlUtils.ts            |    86 +-
 superset-frontend/src/views/App.tsx                |    71 +-
 .../src/views/CRUD/alert/AlertList.test.jsx        |     4 +-
 .../src/views/CRUD/alert/AlertList.tsx             |   179 +-
 .../src/views/CRUD/alert/AlertReportModal.test.jsx |    20 +-
 .../src/views/CRUD/alert/AlertReportModal.test.tsx |    34 +
 .../src/views/CRUD/alert/AlertReportModal.tsx      |   303 +-
 .../src/views/CRUD/alert/ExecutionLog.tsx          |    14 +-
 .../components/AlertReportCronScheduler.test.tsx   |   164 +-
 .../alert/components/AlertReportCronScheduler.tsx  |    50 +-
 superset-frontend/src/views/CRUD/alert/types.ts    |     7 +-
 .../src/views/CRUD/annotation/AnnotationList.tsx   |    31 +-
 .../src/views/CRUD/annotation/AnnotationModal.tsx  |    13 +-
 .../CRUD/annotationlayers/AnnotationLayerModal.tsx |     4 +-
 .../CRUD/annotationlayers/AnnotationLayersList.tsx |    30 +-
 .../src/views/CRUD/chart/ChartCard.tsx             |   181 -
 .../src/views/CRUD/chart/ChartList.test.jsx        |   203 -
 .../src/views/CRUD/chart/ChartList.tsx             |   742 -
 superset-frontend/src/views/CRUD/chart/types.ts    |    28 -
 .../views/CRUD/csstemplates/CssTemplateModal.tsx   |    12 +-
 .../views/CRUD/csstemplates/CssTemplatesList.tsx   |     2 +
 .../src/views/CRUD/dashboard/DashboardCard.tsx     |    18 +-
 .../views/CRUD/dashboard/DashboardList.test.jsx    |    68 +-
 .../src/views/CRUD/dashboard/DashboardList.tsx     |   114 +-
 superset-frontend/src/views/CRUD/data/common.ts    |    14 +-
 .../components/SyntaxHighlighterCopy/index.tsx     |     2 +-
 .../views/CRUD/data/database/DatabaseList.test.jsx |   118 +-
 .../src/views/CRUD/data/database/DatabaseList.tsx  |   152 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |    55 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |     4 +-
 .../DatabaseConnectionForm/TableCatalog.tsx        |     1 -
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |    67 +-
 .../data/database/DatabaseModal/ExtraOptions.tsx   |   161 +-
 .../data/database/DatabaseModal/ModalHeader.tsx    |   114 +-
 .../data/database/DatabaseModal/SSHTunnelForm.tsx  |   265 +
 .../data/database/DatabaseModal/SqlAlchemyForm.tsx |     9 +-
 .../data/database/DatabaseModal/index.test.jsx     |  1052 -
 .../data/database/DatabaseModal/index.test.tsx     |  2017 +
 .../CRUD/data/database/DatabaseModal/index.tsx     |   987 +-
 .../CRUD/data/database/DatabaseModal/styles.ts     |    92 +-
 .../src/views/CRUD/data/database/types.ts          |   127 +-
 .../data/dataset/AddDataset/AddDataset.test.tsx    |    38 +
 .../DatasetPanel/DatasetPanel.stories.tsx          |    44 +
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |   160 +
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |   353 +
 .../AddDataset/DatasetPanel/MessageContent.tsx     |   107 +
 .../dataset/AddDataset/DatasetPanel/fixtures.ts    |    48 +
 .../data/dataset/AddDataset/DatasetPanel/index.tsx |   131 +
 .../data/dataset/AddDataset/DatasetPanel/types.ts  |    92 +
 .../data/dataset/AddDataset/Footer/Footer.test.tsx |    79 +
 .../CRUD/data/dataset/AddDataset/Footer/index.tsx  |   134 +
 .../data/dataset/AddDataset/Header/Header.test.tsx |    54 +
 .../CRUD/data/dataset/AddDataset/Header/index.tsx  |   109 +
 .../AddDataset/LeftPanel/LeftPanel.test.tsx        |   285 +
 .../data/dataset/AddDataset/LeftPanel/index.tsx    |   346 +
 .../AddDataset/RightPanel/RightPanel.test.tsx      |    29 +
 .../data/dataset/AddDataset/RightPanel/index.tsx   |    23 +
 .../views/CRUD/data/dataset/AddDataset/index.tsx   |   150 +
 .../views/CRUD/data/dataset/AddDataset/types.tsx   |    58 +
 .../views/CRUD/data/dataset/AddDatasetModal.tsx    |    48 +-
 .../dataset/DatasetLayout/DatasetLayout.test.tsx   |    80 +
 .../CRUD/data/dataset/DatasetLayout/index.tsx      |    78 +
 .../views/CRUD/data/dataset/DatasetList.test.jsx   |    66 +-
 .../src/views/CRUD/data/dataset/DatasetList.tsx    |   190 +-
 .../CRUD/data/dataset/DuplicateDatasetModal.tsx    |    80 +
 .../src/views/CRUD/data/dataset/styles.ts          |   145 +
 superset-frontend/src/views/CRUD/data/hooks.ts     |    10 +
 .../src/views/CRUD/data/query/QueryList.test.tsx   |    26 +-
 .../src/views/CRUD/data/query/QueryList.tsx        |    41 +-
 .../CRUD/data/query/QueryPreviewModal.test.tsx     |     3 +-
 .../views/CRUD/data/query/QueryPreviewModal.tsx    |    58 +-
 .../CRUD/data/savedquery/SavedQueryList.test.jsx   |    18 +
 .../views/CRUD/data/savedquery/SavedQueryList.tsx  |    15 +-
 .../data/savedquery/SavedQueryPreviewModal.tsx     |    58 +-
 superset-frontend/src/views/CRUD/hooks.ts          |    86 +-
 .../rowlevelsecurity/RowLevelSecurityList.test.tsx |   259 +
 .../CRUD/rowlevelsecurity/RowLevelSecurityList.tsx |   351 +
 .../RowLevelSecurityModal.test.tsx                 |   295 +
 .../rowlevelsecurity/RowLevelSecurityModal.tsx     |   480 +
 .../src/views/CRUD/rowlevelsecurity/constants.ts   |    31 +
 .../src/views/CRUD/rowlevelsecurity/types.ts       |    51 +
 superset-frontend/src/views/CRUD/types.ts          |    29 +-
 superset-frontend/src/views/CRUD/utils.test.tsx    |   201 +-
 superset-frontend/src/views/CRUD/utils.tsx         |   151 +-
 .../src/views/CRUD/welcome/ActivityTable.test.tsx  |    17 +-
 .../src/views/CRUD/welcome/ActivityTable.tsx       |    81 +-
 .../src/views/CRUD/welcome/ChartTable.test.tsx     |    31 +-
 .../src/views/CRUD/welcome/ChartTable.tsx          |   124 +-
 .../src/views/CRUD/welcome/DashboardTable.test.tsx |     4 +-
 .../src/views/CRUD/welcome/DashboardTable.tsx      |   130 +-
 .../src/views/CRUD/welcome/EmptyState.test.tsx     |    33 +-
 .../src/views/CRUD/welcome/EmptyState.tsx          |    43 +-
 .../src/views/CRUD/welcome/SavedQueries.test.tsx   |     4 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |    63 +-
 .../src/views/CRUD/welcome/Welcome.test.tsx        |    78 +-
 .../src/views/CRUD/welcome/Welcome.tsx             |   348 +-
 superset-frontend/src/views/CRUD/welcome/types.ts  |     4 +
 superset-frontend/src/views/QueryProvider.tsx      |    43 +
 .../src/views/RootContextProviders.tsx             |    62 +-
 superset-frontend/src/views/ScrollToTop.tsx        |    31 +
 .../src/views/components/LanguagePicker.test.tsx   |     7 +-
 .../src/views/components/Menu.test.tsx             |   202 +-
 superset-frontend/src/views/components/Menu.tsx    |   264 +-
 .../src/views/components/MenuRight.tsx             |   349 -
 .../src/views/components/RightMenu.test.tsx        |   357 +
 .../src/views/components/RightMenu.tsx             |   625 +
 .../src/views/components/SubMenu.test.tsx          |    28 +-
 superset-frontend/src/views/components/SubMenu.tsx |    59 +-
 superset-frontend/src/views/components/types.ts    |     7 +-
 superset-frontend/src/views/menu.tsx               |    12 +-
 superset-frontend/src/views/routes.test.tsx        |     5 +-
 superset-frontend/src/views/routes.tsx             |    54 +-
 superset-frontend/src/views/store.ts               |   108 +-
 .../src/visualizations/FilterBox/FilterBox.jsx     |   113 +-
 .../src/visualizations/FilterBox/FilterBox.less    |    78 -
 .../visualizations/FilterBox/FilterBox.test.jsx    |     5 +-
 .../FilterBox/FilterBoxChartPlugin.js              |     3 +
 .../src/visualizations/FilterBox/controlPanel.jsx  |    45 +-
 .../visualizations/FilterBox/images/example1.jpg   |   Bin 0 -> 10921 bytes
 .../visualizations/FilterBox/images/example2.jpg   |   Bin 0 -> 16969 bytes
 .../src/visualizations/TimeTable/TimeTable.jsx     |    19 +-
 .../src/visualizations/TimeTable/TimeTable.less    |    21 -
 .../src/visualizations/TimeTable/controlPanel.js   |     7 +-
 .../src/visualizations/presets/MainPreset.js       |     4 +-
 .../tools/eslint-plugin-theme-colors/index.js      |     9 +-
 .../tools/eslint-plugin-theme-colors/package.json  |     6 +-
 .../tools/eslint-plugin-translation-vars/index.js  |    56 +
 .../no-template-vars.test.js                       |    68 +
 .../eslint-plugin-translation-vars/package.json    |    16 +
 superset-frontend/tsconfig.json                    |     3 +-
 superset-frontend/webpack.config.js                |    41 +-
 superset-websocket/.nvmrc                          |     2 +-
 superset-websocket/Dockerfile                      |    25 +-
 superset-websocket/README.md                       |     2 +-
 superset-websocket/package-lock.json               |  2466 +-
 superset-websocket/package.json                    |    36 +-
 .../utils/client-ws-app/package-lock.json          |   965 +-
 .../utils/client-ws-app/package.json               |    10 +-
 superset/__init__.py                               |     1 -
 .../druid => advanced_data_type}/__init__.py       |     0
 superset/advanced_data_type/api.py                 |   148 +
 .../advanced_data_type/plugins}/__init__.py        |     0
 .../advanced_data_type/plugins/internet_address.py |   138 +
 .../advanced_data_type/plugins/internet_port.py    |   141 +
 superset/advanced_data_type/schemas.py             |    46 +
 superset/advanced_data_type/types.py               |    59 +
 superset/annotation_layers/annotations/api.py      |    10 +-
 .../annotations/commands/bulk_delete.py            |     5 +-
 .../annotations/commands/create.py                 |     6 +-
 .../annotations/commands/delete.py                 |     4 +-
 .../annotations/commands/update.py                 |     4 +-
 superset/annotation_layers/annotations/dao.py      |     3 +-
 superset/annotation_layers/api.py                  |    10 +-
 superset/annotation_layers/commands/bulk_delete.py |     5 +-
 superset/annotation_layers/commands/create.py      |     4 +-
 superset/annotation_layers/commands/delete.py      |     4 +-
 superset/annotation_layers/commands/update.py      |     4 +-
 superset/annotation_layers/dao.py                  |     3 +-
 .../available_domains}/__init__.py                 |     0
 superset/available_domains/api.py                  |    75 +
 superset/available_domains/schemas.py              |    21 +
 superset/cachekeys/api.py                          |     6 +-
 superset/cachekeys/schemas.py                      |     3 +-
 superset/charts/api.py                             |    89 +-
 superset/charts/commands/bulk_delete.py            |     8 +-
 superset/charts/commands/create.py                 |     9 +-
 superset/charts/commands/delete.py                 |     8 +-
 superset/charts/commands/export.py                 |     8 +-
 superset/charts/commands/importers/v1/__init__.py  |     4 +-
 superset/charts/commands/update.py                 |    13 +-
 superset/charts/dao.py                             |     8 +-
 superset/charts/data/api.py                        |    17 +-
 .../data/commands/create_async_job_command.py      |     2 +-
 superset/charts/data/commands/get_data_command.py  |     6 +-
 superset/charts/filters.py                         |    49 +-
 superset/charts/post_processing.py                 |    15 +-
 superset/charts/schemas.py                         |    60 +-
 superset/cli/examples.py                           |     8 +-
 superset/cli/importexport.py                       |    20 +-
 superset/cli/update.py                             |    62 +-
 superset/columns/models.py                         |    76 +-
 superset/commands/base.py                          |    14 +-
 superset/commands/exceptions.py                    |    18 +-
 superset/commands/importers/v1/assets.py           |    36 +-
 superset/commands/importers/v1/examples.py         |     3 +-
 superset/commands/importers/v1/utils.py            |     6 +-
 superset/commands/utils.py                         |    26 +-
 superset/common/chart_data.py                      |     1 +
 superset/common/query_actions.py                   |    56 +-
 superset/common/query_context.py                   |     6 +
 superset/common/query_context_factory.py           |    28 +-
 superset/common/query_context_processor.py         |   174 +-
 superset/common/query_object.py                    |    34 +-
 superset/common/query_object_factory.py            |    42 +-
 superset/common/request_contexed_based.py          |    25 -
 superset/common/tags.py                            |   343 +-
 superset/common/utils/dataframe_utils.py           |    15 +-
 superset/common/utils/query_cache_manager.py       |    15 +
 superset/common/utils/time_range_utils.py          |    77 +
 superset/config.py                                 |   388 +-
 superset/connectors/base/models.py                 |    52 +-
 superset/connectors/connector_registry.py          |   164 -
 superset/connectors/druid/models.py                |  1722 -
 superset/connectors/druid/views.py                 |   445 -
 superset/connectors/sqla/models.py                 |  1055 +-
 superset/connectors/sqla/utils.py                  |   170 +-
 superset/connectors/sqla/views.py                  |   126 +-
 superset/constants.py                              |    14 +-
 superset/css_templates/api.py                      |     4 +-
 superset/css_templates/commands/bulk_delete.py     |     5 +-
 superset/dao/base.py                               |    20 +-
 superset/dao/exceptions.py                         |    14 +
 superset/dashboards/api.py                         |   105 +-
 superset/dashboards/commands/bulk_delete.py        |     8 +-
 superset/dashboards/commands/create.py             |     6 +-
 superset/dashboards/commands/delete.py             |     8 +-
 superset/dashboards/commands/export.py             |     8 +-
 superset/dashboards/commands/importers/v0.py       |    32 +-
 .../dashboards/commands/importers/v1/__init__.py   |     1 -
 superset/dashboards/commands/update.py             |    10 +-
 superset/dashboards/dao.py                         |    36 +-
 superset/dashboards/filter_sets/api.py             |     8 +-
 superset/dashboards/filter_sets/commands/base.py   |    17 +-
 superset/dashboards/filter_sets/commands/create.py |    11 +-
 superset/dashboards/filter_sets/commands/delete.py |     5 +-
 superset/dashboards/filter_sets/commands/update.py |     7 +-
 superset/dashboards/filter_sets/filters.py         |    12 +-
 .../dashboards/filter_state/commands/create.py     |    17 +-
 .../dashboards/filter_state/commands/delete.py     |    23 +-
 superset/dashboards/filter_state/commands/get.py   |     4 +-
 .../dashboards/filter_state/commands/update.py     |    45 +-
 superset/dashboards/filter_state/commands/utils.py |    35 +
 superset/dashboards/filters.py                     |    50 +-
 superset/dashboards/permalink/api.py               |     5 +-
 superset/dashboards/permalink/commands/create.py   |    23 +-
 superset/dashboards/permalink/commands/get.py      |     4 +-
 superset/dashboards/permalink/schemas.py           |    16 +-
 superset/dashboards/permalink/types.py             |     5 +-
 superset/dashboards/schemas.py                     |     5 +-
 superset/databases/api.py                          |   322 +-
 superset/databases/commands/create.py              |    51 +-
 superset/databases/commands/delete.py              |     4 +-
 superset/databases/commands/exceptions.py          |    25 +
 superset/databases/commands/export.py              |    16 +-
 superset/databases/commands/test_connection.py     |   119 +-
 superset/databases/commands/update.py              |   103 +-
 superset/databases/commands/validate.py            |    90 +-
 superset/databases/commands/validate_sql.py        |   121 +
 superset/databases/dao.py                          |    39 +-
 superset/databases/filters.py                      |    62 +-
 superset/databases/schemas.py                      |   156 +-
 .../druid => databases/ssh_tunnel}/__init__.py     |     0
 .../ssh_tunnel/commands}/__init__.py               |     0
 superset/databases/ssh_tunnel/commands/create.py   |    92 +
 superset/databases/ssh_tunnel/commands/delete.py   |    51 +
 .../databases/ssh_tunnel/commands/exceptions.py    |    54 +
 superset/databases/ssh_tunnel/commands/update.py   |    63 +
 superset/databases/ssh_tunnel/dao.py               |    49 +
 superset/databases/ssh_tunnel/models.py            |    85 +
 superset/databases/utils.py                        |    35 +-
 superset/datasets/api.py                           |   153 +-
 superset/datasets/columns/api.py                   |     4 +-
 superset/datasets/columns/commands/delete.py       |     8 +-
 superset/datasets/commands/bulk_delete.py          |    11 +-
 superset/datasets/commands/create.py               |    27 +-
 superset/datasets/commands/delete.py               |    34 +-
 superset/datasets/commands/duplicate.py            |   131 +
 superset/datasets/commands/exceptions.py           |     8 +
 superset/datasets/commands/export.py               |    16 +-
 superset/datasets/commands/importers/v0.py         |    64 +-
 superset/datasets/commands/importers/v1/utils.py   |    33 +-
 superset/datasets/commands/refresh.py              |     8 +-
 superset/datasets/commands/update.py               |    12 +-
 superset/datasets/dao.py                           |   151 +-
 superset/datasets/filters.py                       |    18 +
 superset/datasets/metrics/api.py                   |     4 +-
 superset/datasets/metrics/commands/delete.py       |     8 +-
 superset/datasets/models.py                        |    80 +-
 superset/datasets/schemas.py                       |    14 +-
 superset/datasource/__init__.py                    |    16 +
 superset/datasource/dao.py                         |    70 +
 superset/db_engine_specs/__init__.py               |    66 +-
 superset/db_engine_specs/athena.py                 |     6 +-
 superset/db_engine_specs/base.py                   |   418 +-
 superset/db_engine_specs/bigquery.py               |   207 +-
 superset/db_engine_specs/clickhouse.py             |     2 +
 superset/db_engine_specs/databricks.py             |   311 +-
 superset/db_engine_specs/drill.py                  |    19 +-
 superset/db_engine_specs/druid.py                  |    23 +-
 superset/db_engine_specs/duckdb.py                 |     9 +-
 superset/db_engine_specs/dynamodb.py               |    62 +
 superset/db_engine_specs/exceptions.py             |     2 +-
 superset/db_engine_specs/gsheets.py                |    99 +-
 superset/db_engine_specs/hive.py                   |    98 +-
 superset/db_engine_specs/impala.py                 |    90 +
 superset/db_engine_specs/kusto.py                  |     2 +-
 superset/db_engine_specs/mysql.py                  |     6 +-
 superset/db_engine_specs/pinot.py                  |     9 +-
 superset/db_engine_specs/postgres.py               |    22 +-
 superset/db_engine_specs/presto.py                 |  1003 +-
 superset/db_engine_specs/redshift.py               |    42 +-
 superset/db_engine_specs/risingwave.py             |    23 +
 superset/db_engine_specs/shillelagh.py             |     6 +-
 superset/db_engine_specs/snowflake.py              |    84 +-
 superset/db_engine_specs/spark.py                  |    41 +
 superset/db_engine_specs/sqlite.py                 |    66 +-
 superset/db_engine_specs/teradata.py               |     2 +-
 superset/db_engine_specs/trino.py                  |   252 +-
 superset/embedded/api.py                           |   107 +
 superset/embedded/view.py                          |    23 +-
 .../druid => embedded_dashboard}/__init__.py       |     0
 .../commands}/__init__.py                          |     0
 superset/embedded_dashboard/commands/exceptions.py |    34 +
 superset/errors.py                                 |     5 +-
 superset/examples/bart_lines.py                    |    48 +-
 superset/examples/big_data.py                      |     4 +-
 superset/examples/birth_names.py                   |   155 +-
 .../configs/dashboards/Slack_Dashboard.yaml        |   187 +-
 superset/examples/country_map.py                   |    70 +-
 superset/examples/data_loading.py                  |     1 +
 superset/examples/deck.py                          |    38 +-
 superset/examples/energy.py                        |    44 +-
 superset/examples/flights.py                       |    56 +-
 superset/examples/helpers.py                       |    45 +-
 superset/examples/long_lat.py                      |    91 +-
 superset/examples/misc_dashboard.py                |     9 +-
 superset/examples/multi_line.py                    |     3 +-
 superset/examples/multiformat_time_series.py       |    71 +-
 superset/examples/paris.py                         |    44 +-
 superset/examples/random_time_series.py            |    45 +-
 superset/examples/sf_population_polygons.py        |    44 +-
 superset/examples/supported_charts_dashboard.py    |  1288 +
 superset/examples/tabbed_dashboard.py              |   783 +-
 superset/examples/world_bank.py                    |    95 +-
 superset/exceptions.py                             |    18 +
 superset/explore/api.py                            |   137 +
 .../druid => explore/commands}/__init__.py         |     0
 superset/explore/commands/get.py                   |   191 +
 superset/explore/commands/parameters.py            |    30 +
 superset/explore/exceptions.py                     |    49 +
 superset/explore/form_data/api.py                  |    68 +-
 superset/explore/form_data/commands/create.py      |    18 +-
 superset/explore/form_data/commands/delete.py      |    16 +-
 superset/explore/form_data/commands/get.py         |    10 +-
 superset/explore/form_data/commands/parameters.py  |     6 +-
 superset/explore/form_data/commands/state.py       |     7 +-
 superset/explore/form_data/commands/update.py      |    20 +-
 superset/explore/form_data/commands/utils.py       |    45 +
 superset/explore/form_data/schemas.py              |    24 +-
 superset/explore/permalink/api.py                  |     6 +-
 superset/explore/permalink/commands/create.py      |    17 +-
 superset/explore/permalink/commands/get.py         |    17 +-
 superset/explore/permalink/types.py                |     7 +-
 superset/explore/schemas.py                        |   114 +
 superset/explore/utils.py                          |    58 +-
 superset/extensions/__init__.py                    |     2 +
 superset/extensions/ssh.py                         |    88 +
 superset/importexport/api.py                       |     5 +-
 superset/initialization/__init__.py                |   216 +-
 superset/jinja_context.py                          |    85 +-
 superset/key_value/commands/create.py              |    12 +-
 superset/key_value/commands/delete.py              |     1 -
 superset/key_value/commands/delete_expired.py      |     1 -
 superset/key_value/commands/get.py                 |     1 -
 superset/key_value/commands/update.py              |    12 +-
 superset/key_value/commands/upsert.py              |    27 +-
 superset/key_value/exceptions.py                   |     4 +
 superset/key_value/models.py                       |     4 +-
 superset/key_value/shared_entries.py               |     2 -
 superset/key_value/utils.py                        |    11 +-
 superset/migrations/alembic.ini                    |     2 +-
 superset/migrations/shared/migrate_viz/__init__.py |    17 +
 superset/migrations/shared/migrate_viz/base.py     |   145 +
 .../migrations/shared/migrate_viz/processors.py    |    55 +
 superset/migrations/shared/utils.py                |   149 +-
 ...4fbb_add_type_to_native_filter_configuration.py |   122 -
 ...13dd52_change_fetch_values_predicate_to_text.py |    84 -
 ...1091c0ef16_add_extra_column_to_columns_model.py |    43 -
 ...e1b9c3_add_report_format_to_report_schedule_.py |    44 -
 ...it.py => 2015-09-21_17-30_4e6a06bad7a8_init.py} |     0
 ...6f2a7_.py => 2015-10-05_10-32_5a7bad26f2a7_.py} |     0
 ...1a4128_.py => 2015-10-05_22-11_1e2841a4128_.py} |     0
 ...-54_2929af7925ed_tz_offsets_in_data_sources.py} |     0
 ...18_289ce07647b_add_encrypted_password_field.py} |     0
 ...2-04_09-42_1a48a5411020_adding_slug_to_dash.py} |     0
 ...5-12-04_11-16_315b3f4da9b0_adding_log_model.py} |     0
 ...=> 2015-12-13_08-38_55179c7f25c7_sqla_descr.py} |     0
 ...> 2015-12-14_13-37_12d55656cbca_is_featured.py} |     0
 ...py => 2015-12-15_17-02_2591d77e9831_user_id.py} |     0
 ...a31db_.py => 2016-01-13_20-24_8e80a26a31db_.py} |     0
 ...-01-17_22-00_7dbf98566af7_slice_description.py} |     0
 ... => 2016-01-18_23-43_43df8de3a5f4_dash_json.py} |     0
 ...2016-02-03_17-41_d827694c7555_css_templates.py} |     0
 ...y => 2016-02-10_08-47_430039611635_log_more.py} |     0
 ...-13_09-56_a2d606a761d9_adding_favstar_model.py} |     0
 ...13_21-30_18e88e1cc004_making_audit_nullable.py} |     0
 ...016-03-17_08-40_836c0bf75904_cache_timeouts.py} |     0
 ...48d63_.py => 2016-03-22_23-25_d2424a248d63_.py} |     0
 ...16-03-24_14-13_763d4b211ec9_fixing_audit_fk.py} |     0
 ....py => 2016-03-25_14-35_1d2ddd543133_log_dt.py} |     0
 ...8c130_.py => 2016-03-26_15-09_fee7b758c130_.py} |     0
 ...f117f9_adding_extra_field_to_database_model.py} |     0
 ...2-41_bb51420eaf83_add_schema_to_table_model.py} |     0
 ...b4456560d4f3_change_table_unique_constraint.py} |     0
 ...4-15_17-58_4fa88fe24e94_owners_many_to_many.py} |     0
 ...08-54_c3a8f8611885_materializing_permission.py} |     0
 ...f6129e13_adding_verbose_name_to_tablecolumn.py} |     0
 ...-11_17-28_956a063c52b3_adjusting_key_length.py} |     0
 ...ee0e3_fix_wrong_constraint_on_table_columns.py} |     0
 ...8bc074f7aad_add_new_field_is_restricted_to_.py} |     0
 ...b1f5b_.py => 2016-06-16_14-15_960c69cb1f5b_.py} |     0
 ...06-27_08-43_27ae655e4247_make_creator_owners.py |   112 +
 ...07-06_22-04_f162a1dea4c4_d3format_by_metric.py} |     0
 ...16-07-25_17-48_ad82a75afd82_add_query_model.py} |     0
 ..._14-06_3c3ffe173e4f_add_sql_string_to_table.py} |     0
 ...6_41f6a59a61f2_database_options_for_sql_lab.py} |     0
 ...09-07_23-50_33d996bcc382_update_slice_model.py} |     0
 ...17-39_5e4a03ef0bf0_add_request_access_model.py} |     0
 ...-12_23-33_4500485bde7d_allow_run_sync_async.py} |     0
 ... => 2016-09-15_08-48_65903709c321_allow_dml.py} |     0
 ...2819b_.py => 2016-09-19_17-22_b347b202819b_.py} |     0
 ...9-22_10-21_3b626e2a6783_sync_db_with_models.py} |     0
 ..._11-31_eca4694defa7_sqllab_setting_defaults.py} |     0
 ...66c4246e_add_cache_timeout_to_druid_cluster.py} |     0
 ...41dac_.py => 2016-10-02_10-35_ef8843b41dac_.py} |     0
 ...-05_11-30_b46fa1b0b39e_add_params_to_tables.py} |     0
 ...-14_11-17_7e3ddad2a00b_results_key_to_query.py} |     0
 ...016-10-25_10-16_ad4d656d92bc_add_avg_metric.py} |     0
 ...y => 2016-11-02_17-36_c611f2b591b8_dim_spec.py} |     0
 ...-11-14_15-23_e46f2d27a08e_materialize_perms.py} |     0
 ...f5b90_.py => 2016-11-23_10-27_f1f2d4af5b90_.py} |     0
 ...2016-12-06_17-40_1296d28ec131_druid_exports.py} |     0
 ...2016-12-13_16-19_525c854f0005_log_this_plus.py} |     0
 ...d82b7_.py => 2016-12-19_09-57_6414e83d82b7_.py} |     0
 ... 2017-01-10_11-47_bcf3126872fc_add_keyvalue.py} |     0
 ..._12-31_db0c65b146bd_update_slice_model_json.py} |     0
 ...-40_f18570e03440_add_query_result_key_index.py} |     0
 ...c195a_rewriting_url_from_shortner_with_new_.py} |     0
 ...cdb5d_.py => 2017-02-10_17-58_d6db5a5cdb5d_.py} |     0
 ...-15_732f1c06bcbf_add_fetch_values_predicate.py} |     0
 ...fe5fb6c_adding_verbose_name_to_druid_column.py} |     0
 ...6294a_.py => 2017-03-16_14-55_ea033256294a_.py} |     0
 ...3-16_18-10_db527d8c4c78_add_db_verbose_name.py} |     0
 ...f3341_.py => 2017-03-21_15-41_979c03af3341_.py} |     0
 ...11-28_a6c18f869a4e_query_start_running_time.py} |     0
 ...2017-03-29_15-04_2fcdcb35e487_saved_queries.py} |     0
 ...65458420354_add_result_backend_time_logging.py} |     0
 ... 2017-07-26_20-09_ca69c70ec99b_tracking_url.py} |     0
 ...35_a9c47e2c1547_add_impersonate_user_to_dbs.py} |     0
 ...> 2017-09-13_16-36_ddd6ebdd853b_annotations.py} |     0
 ...-09_19a814813610_adding_metric_warning_text.py} |     0
 ...7131d_.py => 2017-09-19_15-09_d39b1e37131d_.py} |     0
 ...3dfd4_.py => 2017-09-21_18-37_472d2f73dfd4_.py} |     0
 ...52acd_.py => 2017-09-24_20-18_f959a6652acd_.py} |     0
 ...6ce19_.py => 2017-10-03_14-37_4736ec66ce19_.py} |     0
 ...08_08-19_67a6ac9b727b_update_spatial_params.py} |     0
 ...-17_11-06_21e88bc06c02_annotation_migration.py} |     0
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |    90 +
 ...c4473c581_allow_multi_schema_metadata_fetch.py} |     0
 ...b9b26_.py => 2018-03-20_19-47_f231d82b9b26_.py} |     0
 ...df31bdd4_add_published_column_to_dashboards.py} |     0
 ...04-03_08-19_130915240929_is_sqllab_viz_flow.py} |     0
 ...0dc76_.py => 2018-04-08_07-34_30bb17c0dc76_.py} |     0
 ..._bf706ae5eb46_cal_heatmap_metric_to_metrics.py} |     0
 ...1e314_.py => 2018-04-10_20-46_c9495751e314_.py} |     0
 ...336a0_.py => 2018-04-12_16-00_5ccf602336a0_.py} |     0
 ..._e502db2af7be_add_template_params_to_tables.py} |     0
 ...20-28_6c7537a6004a_models_for_email_reports.py} |     0
 ...18-06-04_11-12_c5756bec8b47_time_grain_sqla.py} |     0
 ...-07_09-52_afb7730f6a9c_remove_empty_filters.py} |     0
 ...3_10-20_4451805bbaa1_remove_double_percents.py} |     0
 ...2018-06-13_14-54_bddc498dd179_adhoc_filters.py} |     0
 ..._14-31_80a67c5192fa_single_pie_chart_metric.py} |     0
 ...c4c6_migrate_num_period_compare_and_period_.py} |     0
 ...a84f9_.py => 2018-07-16_18-04_1d9e835a84f9_.py} |     0
 ...2018-07-19_23-41_c617da68de7d_form_nullable.py} |     0
 ...7-20_15-31_7f2635b51f5d_update_base_columns.py} |     0
 ...7-20_15-57_e9df189e5c7e_update_base_metrics.py} |     0
 ...07-20_16-08_937d04c16b64_update_datasources.py} |     0
 ...b37d0_.py => 2018-07-22_08-49_c829ff0b37d0_.py} |     0
 ...> 2018-07-22_08-50_7467e77870e4_remove_aggs.py} |     0
 ...9f38e_.py => 2018-07-22_09-32_e3970889f38e_.py} |     0
 ...7706c_.py => 2018-07-22_11-50_fc480c87706c_.py} |     0
 ...bebcf3fed1fe_convert_dashboard_v1_positions.py} |     0
 ...70154_.py => 2018-07-22_21-51_705732c70154_.py} |     0
 ...35cc6_.py => 2018-07-23_11-18_ec1f88a35cc6_.py} |     0
 ...aac97_.py => 2018-07-23_11-20_46ba6aaaac97_.py} |     0
 ...86f15_.py => 2018-07-24_14-29_c18bd4186f15_.py} |     0
 ...8-07-26_11-10_c82ee8a39623_add_implicit_tags.py |   107 +
 ...0761c_.py => 2018-08-01_11-47_7fcdcde0761c_.py} |     0
 ...4-38_0c5070e96b57_add_user_attributes_table.py} |     0
 ...2018-08-13_11-30_1a1d627ebd8e_position_json.py} |     0
 ...26_add_metadata_column_to_annotation_model_.py} |     0
 ...8-42_0b1f1ab473c0_add_extra_column_to_query.py} |     0
 ...8545_migrate_time_range_for_default_filters.py} |     0
 ...b9b7_remove_coordinator_from_druid_cluster_.py} |     0
 ...27_11-53_a61b40f9f57f_remove_allow_run_sync.py} |     0
 ...018-12-11_22-03_fb13d49b72f9_better_filters.py} |     0
 ...38_increase_size_of_name_column_in_ab_view_.py} |     0
 ...1b21cd94a4_change_owner_to_m2m_relation_on_.py} |     0
 ...ca60d_.py => 2018-12-18_22-45_de021a1ca60d_.py} |     0
 ...f83eb_.py => 2018-12-22_17-26_fbd55e0f83eb_.py} |     0
 ...a33a03f16c4a_add_extra_column_to_savedquery.py} |     0
 ...d0f87_.py => 2019-01-17_08-31_8b70aa3d0f87_.py} |     0
 ...17ad2_.py => 2019-01-18_14-56_18dc26817ad2_.py} |     0
 ...-01_16-07_e553e78e90c5_add_druid_auth_py_py.py} |     0
 ...cfeba_.py => 2019-02-16_17-44_45e7da7cfeba_.py} |     0
 ...=> 2019-03-21_10-22_d94d33dbe938_form_strip.py} |     0
 ...3f04bc82_add_parent_ids_in_dashboard_layout.py} |     0
 ...r_sql_column_data_type_in_query_mysql_table.py} |     0
 ...a0d6f2da_remove_limit_used_from_query_model.py} |     0
 ..._b4a38aa87893_deprecate_database_expression.py} |     0
 ...y => 2019-06-28_13-17_ab8c66efdd01_resample.py} |     0
 ...-02_def97f26fdfb_add_index_to_tagged_object.py} |     0
 ...g_unique_constraint_on_dashboard_slices_tbl.py} |     0
 ...0_11c737c17cc6_deprecate_restricted_metrics.py} |     0
 ...afa9079866a_serialize_schema_permissions_py.py} |     0
 ..._form_strip_leading_and_trailing_whitespace.py} |     0
 ..._00-29_b6fa807eac07_make_names_non_nullable.py} |     0
 ...-05_cca2f5d568c8_add_encrypted_extra_to_dbs.py} |     0
 ...=> 2019-10-10_13-52_1495eb914ad3_time_range.py} |     0
 ...cd2cf3df2_alter_type_of_dbs_encrypted_extra.py} |     0
 ...27d0d1d_reconvert_legacy_filters_into_adhoc.py} |     0
 ...5_db4b49eb0782_add_tables_for_sql_lab_state.py} |     0
 ...1c9b09d0_add_not_null_to_dbs_sqlalchemy_url.py} |     0
 ...ea_change_table_schema_description_to_long_.py} |     0
 ..._17-07_0a6f12f60c73_add_role_level_security.py} |     0
 ...08_01-17_e96dbf2cfef0_datasource_cluster_fk.py} |     0
 ...14-13_3325d4caccc8_dashboard_scoped_filters.py} |     0
 ...401_add_tmp_schema_name_to_the_query_object.py} |     0
 ...0-42_f9a30386bd74_cleanup_time_grainularity.py} |     0
 ...5_10-49_b5998378c225_add_certificate_to_dbs.py} |     0
 ...7699a813e_add_tables_relation_to_row_level_.py} |     0
 ...29_09-24_620241d1153f_update_time_grain_sqla.py |   107 +
 ...-12_12-59_ea396d202291_ctas_method_in_query.py} |     0
 ...1-01_743a117f0d98_add_slack_to_the_schedule.py} |     0
 ...=> 2020-05-26_23-21_2f1d15e8a6af_add_alerts.py} |     0
 ...9-50_a72cb0ebeb22_deprecate_dbs_perm_column.py} |     0
 ...09_17-12_73fd22e742ab_add_dynamic_plugins_py.py |    59 +
 ...8-08_18-10_f2672aa8350a_add_slack_to_alerts.py} |     0
 ...78245563a02_migrate_iframe_to_dash_markdown.py} |     0
 ...cb39_add_extra_column_to_tables_and_metrics.py} |     0
 ...8324b_.py => 2020-08-12_15-47_f80a3b88324b_.py} |     0
 ... 2020-08-28_17-16_175ea3592453_cache_lookup.py} |     0
 ...08-31_20-30_2e5a0ee25ed4_refractor_alerting.py} |     0
 ...e3692_.py => 2020-09-01_16-23_ae19b4ee3692_.py} |     0
 ...28ac4e_add_rls_filter_type_and_grouping_key.py} |     0
 ...54_fix_data_access_permissions_for_virtual_.py} |     0
 ...70ab98_fix_table_unique_constraint_in_mysql.py} |     0
 ...b56500de1855_add_uuid_column_to_import_mixin.py |   166 +
 ...08f_collapse_alerting_models_into_a_single_.py} |     0
 ...585b0b1a7b18_add_exec_info_to_saved_queries.py} |     0
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |    94 +
 ...-04_11-06_49b5a32daba5_add_report_schedules.py} |     0
 ...0-11-15_16-08_a8173232b786_add_path_to_logs.py} |     0
 ...38177dbf641_security_converge_saved_queries.py} |     0
 ...5-25_40f16acf1ba7_security_converge_reports.py} |     0
 ...ee129739cf9_security_converge_css_templates.py} |     0
 ...ed1f0e76_reports_add_working_timeout_column.py} |     0
 ...03_16-21_811494c0cc23_remove_path_from_logs.py} |     0
 ...14-13_ccb74baaa89b_security_converge_charts.py} |     0
 ...-05_45731db65d9c_security_converge_datasets.py} |     0
 ...5_1f6dca87d1a2_security_converge_dashboards.py} |     0
 ..._c25cb2c78727_security_converge_annotations.py} |     0
 ...49_42b4c9e01447_security_converge_databases.py} |     0
 ...4_13-40_4b84f97828aa_security_converge_logs.py} |     0
 ...-07_ab104a954a8f_reports_alter_crontab_size.py} |     0
 ...2-15_e37912a26567_security_converge_queries.py} |     0
 ...878781977c6_alert_reports_shared_uniqueness.py} |     0
 ...dd12658_add_roles_relationship_to_dashboard.py} |     0
 ...0bf0649a77_migrate_x_dateunit_in_time_range.py} |     0
 ...fdb_add_granularity_to_charts_where_missing.py} |     0
 ...10_12-32_41ce8799acc3_rename_pie_label_type.py} |     0
 ...412ec1e5a7b_legacy_force_directed_to_echart.py} |     0
 ...8_09-13_c501b7c653a3_add_missing_uuid_column.py |   102 +
 ..._67da9ef1ef9c_add_hide_left_bar_to_tabstate.py} |     0
 ...11006_add_execution_id_to_report_execution_.py} |     0
 ...89bbe479899_rename_filter_configuration_in_.py} |     0
 ...21-03-29_11-15_3ebe0993c770_filterset_table.py} |     0
 ...e1b9c3_add_report_format_to_report_schedule_.py |    43 +
 ...a61c5e7_remove_dataset_health_check_message.py} |     0
 ...8938_country_map_use_lowercase_country_name.py} |     0
 ...a3a8ff221_migrate_filter_sets_to_new_format.py} |     0
 ...d715cc_add_limiting_factor_column_to_query_.py} |     0
 ...ed7ec95_migrate_native_filters_to_new_schema.py |   163 +
 ...30256cea_add_save_option_column_to_db_model.py} |     0
 ...bea_add_advanced_data_types_to_column_models.py |    66 +
 ...e1ed299413b_add_timezone_to_report_schedule.py} |     0
 ...248280_add_creation_method_to_reports_model.py} |     0
 ...09_030c840e3a1c_add_query_context_to_slices.py} |     0
 ...7_08-25_31b2a1039d4a_drop_tables_constraint.py} |     0
 ...605f370a_fix_schemas_allowed_for_csv_upload.py} |     0
 ...d20ba9ecb33_add_last_saved_at_to_slice_model.py |    65 +
 ...5da_migrate_pivot_table_v2_heatmaps_to_new_.py} |     0
 ...17-16_f6196627326f_update_chart_permissions.py} |     0
 ...13dd52_change_fetch_values_predicate_to_text.py |    82 +
 ...1091c0ef16_add_extra_column_to_columns_model.py |    40 +
 ...4fbb_add_type_to_native_filter_configuration.py |   122 +
 ...-09-19_14-42_b92d69a6643c_rename_csv_to_file.py |    69 +
 ...53f4e2e_migrate_timeseries_limit_metric_to_.py} |     0
 ...2_11-15_32646df09c64_update_time_grain_sqla.py} |     0
 ...cbaac5_change_datatype_of_type_in_basecolumn.py |    45 +
 ...7149153d_add_certifications_columns_to_slice.py |    44 +
 ...53b_add_certifications_columns_to_dashboard.py} |     0
 ...5f1dacd_rename_to_schemas_allowed_for_file_.py} |     0
 ...-11-11_16-41_b8d3a24d9131_new_dataset_models.py |    45 +
 ...e27eaf93db_add_extra_config_column_to_alerts.py |    55 +
 ...a3ff_add_force_screenshot_to_alerts_reports.py} |     0
 ...b9441_rename_big_viz_total_form_data_fields.py} |     0
 ...8dd_add_saved_query_foreign_key_to_tab_state.py |    43 +
 ...1d2_move_pivot_table_v2_legacy_order_by_to_.py} |     0
 ...410a97a_add_columns_for_external_management.py} |     0
 ...3_5afbb1a5849b_add_embedded_dahshoard_table.py} |     0
 ..._ab9a9d86e695_deprecate_time_range_endpoints.py |    34 +
 ...8e252_fix_query_and_saved_query_null_schema.py} |     0
 ...0ca7944_change_adhoc_filter_b_from_none_to_.py} |     0
 ...03-04_09-59_6766938c6065_add_key_value_store.py |    61 +
 ...3_sql_lab_models_database_constraint_updates.py |   138 +
 ...617f14_add_on_saved_query_delete_tab_state_.py} |     0
 ...2ed890b36b94_rm_time_range_endpoints_from_qc.py |    35 +
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |   921 +
 ...d0249074e4_deprecate_time_range_endpoints_v2.py |    59 +
 .../versions/2022-04-06_14-10_9d8a8d575284_.py     |    38 +
 ...17-21_cecc6bf46990_rm_time_range_endpoints_2.py |    35 +
 ...07e4fdbaba_rm_time_range_endpoints_from_qc_3.py |    84 +
 ...-39_cbe71abde154_fix_report_schedule_and_log.py |    84 +
 ...8_16-07_e786798587de_delete_none_permissions.py |   145 +
 ...-14_15-28_e09b4ae78457_resize_key_value_blob.py |    50 +
 ..._16-17_f3afaf1f11f0_add_unique_name_desc_rls.py |    78 +
 ...59_7fb8bca906d2_permalink_rename_filterstate.py |    88 +
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py |   135 +
 ...cf3d64daf4_add_user_id_dttm_idx_to_log_model.py |    40 +
 ..._13-00_c747c78868b6_migrating_legacy_treemap.py |    47 +
 ...-07_14-00_06e1e70058c7_migrating_legacy_area.py |    36 +
 ...61a56_rename_report_schedule_extra_to_extra_.py |    53 +
 ...-16_a39867932713_query_context_to_mediumtext.py |    43 +
 ...665d_fix_table_chart_conditional_formatting_.py |    82 +
 ...rop_column_allow_multi_schema_metadata_fetch.py |    48 +
 ...-34_deb4c9d4a4ef_parameters_in_saved_queries.py |    46 +
 ...c2d8ec8595_create_ssh_tunnel_credentials_tbl.py |    89 +
 ...1_4ce1d9b25135_remove_filter_bar_orientation.py |    65 +
 .../versions/27ae655e4247_make_creator_owners.py   |   118 -
 ...2ed890b36b94_rm_time_range_endpoints_from_qc.py |    66 -
 ...cbaac5_change_datatype_of_type_in_basecolumn.py |    46 -
 .../620241d1153f_update_time_grain_sqla.py         |   107 -
 .../versions/6766938c6065_add_key_value_store.py   |    61 -
 ...d20ba9ecb33_add_last_saved_at_to_slice_model.py |    66 -
 .../73fd22e742ab_add_dynamic_plugins_py.py         |    60 -
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |    96 -
 .../ab9a9d86e695_deprecate_time_range_endpoints.py |    59 -
 ...e27eaf93db_add_extra_config_column_to_alerts.py |    55 -
 ...b56500de1855_add_uuid_column_to_import_mixin.py |   209 -
 .../versions/b8d3a24d9131_new_dataset_models.py    |   633 -
 .../versions/b92d69a6643c_rename_csv_to_file.py    |    69 -
 .../c501b7c653a3_add_missing_uuid_column.py        |    99 -
 ...8dd_add_saved_query_foreign_key_to_tab_state.py |    42 -
 .../versions/c82ee8a39623_add_implicit_tags.py     |   106 -
 .../versions/e866bd2d4976_smaller_grid.py          |    89 -
 ...ed7ec95_migrate_native_filters_to_new_schema.py |   163 -
 ...7149153d_add_certifications_columns_to_slice.py |    44 -
 superset/models/core.py                            |   464 +-
 superset/models/dashboard.py                       |    77 +-
 superset/models/datasource_access_request.py       |     6 +-
 superset/models/filter_set.py                      |     5 +-
 superset/models/helpers.py                         |  1458 +-
 superset/models/reports.py                         |   220 -
 superset/models/slice.py                           |    42 +-
 superset/models/sql_lab.py                         |   197 +-
 superset/models/sql_types/base.py                  |    65 -
 superset/models/sql_types/presto_sql_types.py      |    38 +-
 superset/models/tags.py                            |   267 -
 superset/queries/api.py                            |    12 +-
 superset/queries/dao.py                            |     8 +
 superset/queries/filters.py                        |     4 +-
 superset/queries/saved_queries/api.py              |    24 +-
 .../queries/saved_queries/commands/bulk_delete.py  |     5 +-
 superset/queries/saved_queries/dao.py              |     3 +-
 superset/queries/schemas.py                        |    42 +
 superset/reports/api.py                            |    71 +-
 superset/reports/commands/alert.py                 |    49 +-
 superset/reports/commands/base.py                  |    14 +-
 superset/reports/commands/bulk_delete.py           |    11 +-
 superset/reports/commands/create.py                |    50 +-
 superset/reports/commands/delete.py                |    10 +-
 superset/reports/commands/exceptions.py            |    63 +-
 superset/reports/commands/execute.py               |   341 +-
 superset/reports/commands/log_prune.py             |     2 +-
 superset/reports/commands/update.py                |    20 +-
 superset/reports/dao.py                            |    37 +-
 superset/reports/filters.py                        |    18 +-
 superset/reports/logs/api.py                       |     2 +-
 superset/reports/models.py                         |   216 +
 superset/reports/notifications/__init__.py         |     2 +-
 superset/reports/notifications/base.py             |     4 +-
 superset/reports/notifications/email.py            |    66 +-
 superset/reports/notifications/exceptions.py       |    30 +-
 superset/reports/notifications/slack.py            |    38 +-
 superset/reports/schemas.py                        |     9 +-
 superset/reports/types.py                          |    23 +
 superset/result_set.py                             |    47 +-
 superset/row_level_security/api.py                 |   349 +
 .../commands}/__init__.py                          |     0
 .../row_level_security/commands/bulk_delete.py     |    52 +
 superset/row_level_security/commands/create.py     |    57 +
 superset/row_level_security/commands/exceptions.py |    29 +
 superset/row_level_security/commands/update.py     |    63 +
 superset/row_level_security/dao.py                 |    23 +
 superset/row_level_security/schemas.py             |   154 +
 superset/security/api.py                           |    10 +-
 superset/security/manager.py                       |  1132 +-
 superset/sql_lab.py                                |   151 +-
 superset/sql_parse.py                              |    86 +-
 superset/sql_validators/presto_db.py               |    45 +-
 superset/sqllab/command.py                         |    38 +-
 superset/sqllab/exceptions.py                      |     2 +-
 superset/sqllab/execution_context_convertor.py     |    47 +-
 superset/sqllab/query_render.py                    |     2 +-
 superset/sqllab/sql_json_executer.py               |    10 +-
 superset/sqllab/sqllab_execution_context.py        |    12 +-
 superset/superset_typing.py                        |    24 +-
 superset/tables/models.py                          |   136 +-
 superset/{connectors/druid => tags}/__init__.py    |     0
 superset/tags/core.py                              |    89 +
 superset/tags/models.py                            |   287 +
 superset/tasks/async_queries.py                    |   175 +-
 superset/tasks/cache.py                            |   100 +-
 superset/tasks/exceptions.py                       |    24 +
 superset/tasks/scheduler.py                        |    38 +-
 superset/tasks/slack_util.py                       |     6 +-
 superset/tasks/thumbnails.py                       |    52 +-
 superset/tasks/types.py                            |    44 +
 superset/tasks/utils.py                            |    94 +
 superset/templates/appbuilder/navbar_right.html    |   127 -
 superset/templates/email/role_extended.txt         |     2 +-
 superset/templates/email/role_granted.txt          |     2 +-
 superset/templates/superset/add_slice.html         |    35 -
 superset/templates/superset/base.html              |    10 +-
 superset/templates/superset/basic.html             |     2 +-
 .../form_view/columnar_to_database_view/edit.html  |    43 +-
 .../templates/superset/form_view/csv_macros.html   |    75 +
 .../templates/superset/form_view/csv_scripts.html  |    37 +
 .../form_view/csv_to_database_view/edit.html       |   159 +-
 .../form_view/database_schemas_selector.html       |    70 +
 .../form_view/excel_to_database_view/edit.html     |    43 +-
 .../templates/superset/models/database/macros.html |     2 +-
 superset/temporary_cache/api.py                    |    62 +-
 superset/temporary_cache/commands/entry.py         |     4 +-
 superset/temporary_cache/commands/exceptions.py    |     4 +
 superset/temporary_cache/commands/parameters.py    |     3 -
 .../{connectors/druid => thumbnails}/__init__.py   |     0
 superset/thumbnails/digest.py                      |    83 +
 superset/translations/de/LC_MESSAGES/messages.json |    13 +-
 superset/translations/de/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/en/LC_MESSAGES/messages.json |     9 +-
 superset/translations/en/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/es/LC_MESSAGES/messages.json |     9 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   123 +-
 superset/translations/fr/LC_MESSAGES/messages.json |   214 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   396 +-
 superset/translations/it/LC_MESSAGES/messages.json |     9 +-
 superset/translations/it/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/ja/LC_MESSAGES/messages.json |     9 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/ko/LC_MESSAGES/messages.json |     9 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/messages.pot                 |    52 +-
 superset/translations/nl/LC_MESSAGES/messages.json |    17 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/pt/LC_MESSAGES/message.json  |     9 +-
 superset/translations/pt/LC_MESSAGES/message.po    |    38 +-
 .../translations/pt_BR/LC_MESSAGES/messages.json   |     9 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |    42 +-
 superset/translations/ru/LC_MESSAGES/messages.json |     9 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/sk/LC_MESSAGES/messages.json |     9 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |    42 +-
 superset/translations/sl/LC_MESSAGES/messages.json |  6578 +-
 superset/translations/sl/LC_MESSAGES/messages.po   | 26138 +++---
 superset/translations/zh/LC_MESSAGES/messages.json |    15 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |    72 +-
 superset/utils/async_query_manager.py              |    22 +-
 superset/utils/cache.py                            |    36 +-
 superset/utils/cache_manager.py                    |    29 +-
 superset/utils/core.py                             |   439 +-
 superset/utils/csv.py                              |    34 +-
 .../utils/dashboard_filter_scopes_converter.py     |     4 -
 superset/utils/database.py                         |    10 +-
 superset/utils/date_parser.py                      |     6 +-
 superset/utils/dates.py                            |     1 +
 superset/utils/decorators.py                       |    23 +-
 superset/utils/dict_import_export.py               |    19 -
 superset/utils/encrypt.py                          |     6 +-
 superset/utils/file.py                             |    23 +
 superset/utils/log.py                              |    30 +-
 superset/utils/machine_auth.py                     |     8 +-
 superset/utils/mock_data.py                        |    48 +-
 superset/utils/network.py                          |    25 +-
 superset/utils/pandas_postprocessing/__init__.py   |    10 +-
 superset/utils/pandas_postprocessing/boxplot.py    |     9 +-
 superset/utils/pandas_postprocessing/compare.py    |    11 +-
 superset/utils/pandas_postprocessing/flatten.py    |    24 +-
 superset/utils/pandas_postprocessing/pivot.py      |    15 +-
 superset/utils/pandas_postprocessing/rename.py     |    58 +
 superset/utils/pandas_postprocessing/sort.py       |    24 +-
 superset/utils/pandas_postprocessing/utils.py      |    56 +-
 superset/utils/screenshots.py                      |    16 +-
 superset/utils/ssh_tunnel.py                       |    43 +
 superset/utils/url_map_converters.py               |     2 +-
 superset/utils/urls.py                             |    19 +-
 superset/utils/webdriver.py                        |    83 +-
 superset/views/__init__.py                         |     1 -
 superset/views/access_requests.py                  |     5 +-
 superset/views/alerts.py                           |     5 +
 superset/views/annotations.py                      |   107 +-
 superset/views/base.py                             |   178 +-
 superset/views/base_api.py                         |    61 +-
 superset/views/base_schemas.py                     |     7 +-
 superset/views/chart/views.py                      |    24 +-
 superset/views/core.py                             |   558 +-
 superset/views/css_templates.py                    |     5 +-
 superset/views/dashboard/mixin.py                  |     6 +-
 superset/views/dashboard/views.py                  |    13 +-
 superset/views/database/forms.py                   |   192 +-
 superset/views/database/mixins.py                  |    11 +-
 superset/views/database/validators.py              |     8 +-
 superset/views/database/views.py                   |   115 +-
 superset/views/datasource/schemas.py               |    43 +-
 superset/views/datasource/utils.py                 |   128 +
 superset/views/datasource/views.py                 |   125 +-
 superset/views/explore.py                          |    49 +
 superset/views/filters.py                          |    58 +-
 superset/views/log/views.py                        |     5 +-
 superset/views/redirects.py                        |    39 +-
 superset/views/sql_lab.py                          |   321 -
 .../druid => views/sql_lab}/__init__.py            |     0
 superset/views/sql_lab/schemas.py                  |    35 +
 superset/views/sql_lab/views.py                    |   338 +
 superset/views/tags.py                             |    30 +-
 superset/views/users/api.py                        |    32 +
 superset/views/utils.py                            |    45 +-
 superset/viz.py                                    |    21 +-
 tests/common/query_context_generator.py            |     6 +-
 tests/conftest.py                                  |     8 +-
 tests/integration_tests/access_tests.py            |   233 +-
 .../advanced_data_type}/__init__.py                |     0
 .../advanced_data_type/api_tests.py                |   135 +
 .../available_domains}/__init__.py                 |     0
 .../available_domains/api_tests.py                 |    30 +
 tests/integration_tests/base_api_tests.py          |   120 +-
 tests/integration_tests/base_tests.py              |    67 +-
 tests/integration_tests/cachekeys/api_tests.py     |    28 +-
 tests/integration_tests/celery_tests.py            |   125 +-
 tests/integration_tests/charts/api_tests.py        |   179 +-
 tests/integration_tests/charts/commands_tests.py   |    38 +-
 tests/integration_tests/charts/data/api_tests.py   |   296 +-
 tests/integration_tests/commands_test.py           |    20 +-
 tests/integration_tests/config_tests.py            |   173 -
 tests/integration_tests/conftest.py                |   299 +-
 tests/integration_tests/core_tests.py              |   241 +-
 tests/integration_tests/csv_upload_tests.py        |    46 +-
 tests/integration_tests/dashboard_tests.py         |    37 +-
 tests/integration_tests/dashboard_utils.py         |    12 +-
 tests/integration_tests/dashboards/api_tests.py    |   267 +-
 .../integration_tests/dashboards/commands_tests.py |    20 +-
 tests/integration_tests/dashboards/dao_tests.py    |    80 +-
 .../dashboards/filter_sets/create_api_tests.py     |     9 +-
 .../dashboards/filter_sets/delete_api_tests.py     |     2 +-
 .../dashboards/filter_sets/get_api_tests.py        |     2 +-
 .../dashboards/filter_sets/update_api_tests.py     |     2 +-
 .../dashboards/filter_state/api_tests.py           |   242 +-
 .../dashboards/permalink/api_tests.py              |    51 +-
 tests/integration_tests/databases/api_tests.py     |  1080 +-
 .../integration_tests/databases/commands_tests.py  |    84 +-
 tests/integration_tests/databases/schema_tests.py  |   153 -
 .../databases/ssh_tunnel}/__init__.py              |     0
 .../databases/ssh_tunnel/commands}/__init__.py     |     0
 .../ssh_tunnel/commands/commands_tests.py          |    76 +
 tests/integration_tests/datasets/api_tests.py      |   522 +-
 tests/integration_tests/datasets/commands_tests.py |     3 +
 tests/integration_tests/datasource_tests.py        |   342 +-
 .../db_engine_specs/base_engine_spec_tests.py      |    88 +-
 .../db_engine_specs/bigquery_tests.py              |    22 +-
 .../db_engine_specs/clickhouse_tests.py            |    47 -
 .../db_engine_specs/databricks_tests.py            |    68 +
 .../db_engine_specs/hive_tests.py                  |    12 +-
 .../db_engine_specs/pinot_tests.py                 |    13 +
 .../db_engine_specs/postgres_tests.py              |    22 +-
 .../db_engine_specs/presto_tests.py                |   307 +-
 .../db_engine_specs/trino_tests.py                 |   112 +-
 .../integration_tests/dict_import_export_tests.py  |   154 +-
 tests/integration_tests/druid_func_tests.py        |  1152 -
 tests/integration_tests/druid_func_tests_sip38.py  |  1157 -
 tests/integration_tests/druid_tests.py             |   668 -
 tests/integration_tests/email_tests.py             |    60 +-
 tests/integration_tests/embedded/api_tests.py      |    53 +
 tests/integration_tests/embedded/test_view.py      |    72 +
 tests/integration_tests/event_logger_tests.py      |    10 +-
 tests/integration_tests/explore/api_tests.py       |   240 +
 .../explore/form_data/api_tests.py                 |   256 +-
 .../explore/form_data/commands_tests.py            |   348 +
 .../explore/permalink/api_tests.py                 |    51 +-
 .../explore/permalink/commands_tests.py            |   172 +
 .../fixtures/birth_names_dashboard.py              |    37 +-
 tests/integration_tests/fixtures/datasource.py     |    52 +-
 .../fixtures/deck_geojson_form_data.json           |     2 +-
 .../fixtures/deck_path_form_data.json              |     2 +-
 .../integration_tests/fixtures/energy_dashboard.py |    42 +-
 .../integration_tests/fixtures/tabbed_dashboard.py |   102 +-
 tests/integration_tests/fixtures/tags.py           |    33 +
 .../fixtures/unicode_dashboard.py                  |    25 +-
 .../fixtures/world_bank_dashboard.py               |    34 +-
 tests/integration_tests/import_export_tests.py     |   155 +-
 tests/integration_tests/insert_chart_mixin.py      |     7 +-
 tests/integration_tests/jinja_context_tests.py     |   422 -
 .../key_value/commands/create_test.py              |    19 +-
 .../key_value/commands/update_test.py              |    37 +-
 .../key_value/commands/upsert_test.py              |    37 +-
 tests/integration_tests/migration_tests.py         |    40 -
 .../06e1e70058c7_migrate_legacy_area__tests.py     |    99 +
 ...baba_rm_time_range_endpoints_from_qc_3__test.py |   138 +
 ...c747c78868b6_migrating_legacy_treemap__tests.py |    91 +
 ..._migrate_native_filters_to_new_schema__tests.py |    98 +
 .../migrations/f1410ed7ec95_tests.py               |    95 -
 .../fb13d49b72f9_better_filters__tests.py          |    39 +
 ...221_migrate_filter_sets_to_new_format__tests.py |   367 +
 .../migrations/fc3a3a8ff221_tests.py               |   364 -
 tests/integration_tests/model_tests.py             |   249 +-
 tests/integration_tests/queries/api_tests.py       |     4 +-
 .../queries/saved_queries/api_tests.py             |    16 +-
 tests/integration_tests/query_context_tests.py     |   441 +-
 tests/integration_tests/reports/alert_tests.py     |   200 +
 tests/integration_tests/reports/api_tests.py       |   355 +-
 .../commands/create_dashboard_report_tests.py      |    91 +
 .../commands/execute_dashboard_report_tests.py     |   113 +
 tests/integration_tests/reports/commands_tests.py  |   549 +-
 tests/integration_tests/reports/scheduler_tests.py |    90 +-
 tests/integration_tests/reports/utils.py           |   148 +-
 tests/integration_tests/result_set_tests.py        |    20 +-
 tests/integration_tests/security/api_tests.py      |    29 +-
 .../security/row_level_security_tests.py           |   432 +-
 tests/integration_tests/security_tests.py          |  1066 +-
 .../integration_tests/sql_lab}/__init__.py         |     0
 tests/integration_tests/sql_lab/conftest.py        |    71 +
 .../sql_lab/test_execute_sql_statements.py         |    56 +
 tests/integration_tests/sql_validator_tests.py     |    24 +-
 tests/integration_tests/sqla_models_tests.py       |   236 +-
 tests/integration_tests/sqllab_tests.py            |   138 +-
 tests/integration_tests/strategy_tests.py          |   143 +-
 tests/integration_tests/superset_test_config.py    |    13 +
 tests/integration_tests/tagging_tests.py           |   276 +
 .../integration_tests/tasks/async_queries_tests.py |    85 +-
 tests/integration_tests/test_app.py                |    20 +-
 tests/integration_tests/test_jinja_context.py      |   207 +
 tests/integration_tests/thumbnails_tests.py        |   253 +-
 tests/integration_tests/users/api_tests.py         |    15 +
 .../integration_tests/utils/cache_manager_tests.py |    49 +
 tests/integration_tests/utils/csv_tests.py         |     4 +
 tests/integration_tests/utils/decorators_tests.py  |    20 +-
 tests/integration_tests/utils_tests.py             |    82 +-
 tests/integration_tests/viz_tests.py               |    28 +-
 .../unit_tests/advanced_data_type}/__init__.py     |     0
 tests/unit_tests/advanced_data_type/types_tests.py |   515 +
 .../charts/commands/importers/v1/import_test.py    |     4 +-
 .../unit_tests/charts/dao}/__init__.py             |     0
 tests/unit_tests/charts/dao/dao_tests.py           |    67 +
 tests/unit_tests/charts/test_post_processing.py    |   667 +-
 tests/unit_tests/columns/test_models.py            |     2 +-
 tests/unit_tests/commands/export_test.py           |     2 +-
 .../unit_tests/commands/importers}/__init__.py     |     0
 .../unit_tests/commands/importers/v1}/__init__.py  |     0
 .../commands/importers/v1/assets_test.py           |   131 +
 tests/unit_tests/common/test_dataframe_utils.py    |    50 +
 tests/unit_tests/common/test_time_range_utils.py   |    94 +
 tests/unit_tests/config_test.py                    |   330 +
 tests/unit_tests/conftest.py                       |   102 +-
 tests/unit_tests/core_tests.py                     |    13 +-
 tests/unit_tests/dao/queries_test.py               |    55 +
 .../commands/importers/v1/import_test.py           |     6 +-
 .../dashboards/commands/importers/v1/utils_test.py |     2 +-
 tests/unit_tests/databases/api_test.py             |   337 +
 .../databases/commands/importers/v1/import_test.py |     6 +-
 .../databases/commands/test_connection_test.py     |    32 +
 .../unit_tests/databases/dao}/__init__.py          |     0
 tests/unit_tests/databases/dao/dao_tests.py        |    69 +
 tests/unit_tests/databases/schema_tests.py         |   227 +
 .../unit_tests/databases/ssh_tunnel}/__init__.py   |     0
 .../databases/ssh_tunnel/commands}/__init__.py     |     0
 .../databases/ssh_tunnel/commands/create_test.py   |    68 +
 .../databases/ssh_tunnel/commands/delete_test.py   |    68 +
 .../databases/ssh_tunnel/commands/update_test.py   |    93 +
 tests/unit_tests/databases/ssh_tunnel/dao_tests.py |    43 +
 tests/unit_tests/databases/utils_test.py           |    40 +
 tests/unit_tests/dataframe_test.py                 |    74 +-
 tests/unit_tests/datasets/commands/export_test.py  |     7 +-
 .../datasets/commands/importers/v1/import_test.py  |   137 +-
 tests/unit_tests/datasets/conftest.py              |   124 +
 .../unit_tests/datasets/dao}/__init__.py           |     0
 tests/unit_tests/datasets/dao/dao_tests.py         |    73 +
 tests/unit_tests/datasets/test_models.py           |  1331 -
 tests/unit_tests/datasource/dao_tests.py           |   212 +
 tests/unit_tests/db_engine_specs/test_athena.py    |    17 +-
 tests/unit_tests/db_engine_specs/test_base.py      |    11 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |   150 +-
 .../unit_tests/db_engine_specs/test_clickhouse.py  |    46 +
 .../unit_tests/db_engine_specs/test_databricks.py  |   199 +
 tests/unit_tests/db_engine_specs/test_drill.py     |    25 +-
 tests/unit_tests/db_engine_specs/test_dynamodb.py  |    37 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   168 +-
 tests/unit_tests/db_engine_specs/test_init.py      |    80 +
 tests/unit_tests/db_engine_specs/test_kusto.py     |    15 +-
 tests/unit_tests/db_engine_specs/test_mssql.py     |    25 +-
 tests/unit_tests/db_engine_specs/test_presto.py    |    10 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |    40 +-
 tests/unit_tests/db_engine_specs/test_sqlite.py    |   113 +-
 tests/unit_tests/db_engine_specs/test_teradata.py  |     2 -
 tests/unit_tests/db_engine_specs/test_trino.py     |    99 +-
 tests/unit_tests/explore/api_test.py               |    30 +
 tests/unit_tests/explore/utils_test.py             |   228 +-
 .../unit_tests/fixtures}/__init__.py               |     0
 tests/unit_tests/fixtures/assets_configs.py        |   259 +
 tests/unit_tests/importexport/api_test.py          |    73 +-
 tests/unit_tests/jinja_context_test.py             |   126 +
 tests/unit_tests/migrations/shared/utils_test.py   |    56 -
 .../druid => tests/unit_tests/models}/__init__.py  |     0
 tests/unit_tests/models/core_test.py               |   147 +
 tests/unit_tests/notifications/email_tests.py      |    54 +
 .../pandas_postprocessing/test_boxplot.py          |    25 +
 .../pandas_postprocessing/test_compare.py          |    42 +-
 tests/unit_tests/pandas_postprocessing/test_cum.py |     4 -
 .../pandas_postprocessing/test_flatten.py          |   102 +
 .../unit_tests/pandas_postprocessing/test_pivot.py |   129 +-
 .../pandas_postprocessing/test_prophet.py          |    61 +
 .../pandas_postprocessing/test_rename.py           |   175 +
 .../pandas_postprocessing/test_resample.py         |     2 -
 .../pandas_postprocessing/test_rolling.py          |     6 -
 .../unit_tests/pandas_postprocessing/test_sort.py  |    29 +-
 .../unit_tests/pandas_postprocessing/test_utils.py |    30 +
 tests/unit_tests/result_set_test.py                |   142 +
 tests/unit_tests/sql_lab_test.py                   |   218 +
 tests/unit_tests/sql_parse_tests.py                |    74 +-
 tests/unit_tests/tables/test_models.py             |     2 +-
 .../druid => tests/unit_tests/tasks}/__init__.py   |     0
 tests/unit_tests/tasks/test_cron_util.py           |    11 +-
 tests/unit_tests/tasks/test_utils.py               |   323 +
 tests/unit_tests/test_jinja_context.py             |   267 +
 .../unit_tests/thumbnails}/__init__.py             |     0
 tests/unit_tests/thumbnails/test_digest.py         |   258 +
 tests/unit_tests/utils/cache_test.py               |    52 +
 tests/unit_tests/utils/db.py                       |    30 +
 tests/unit_tests/utils/log_tests.py                |    37 +
 tests/unit_tests/utils/test_core.py                |    86 +
 tests/unit_tests/utils/test_file.py                |    44 +
 tests/unit_tests/utils/urls_tests.py               |    30 +-
 2749 files changed, 221522 insertions(+), 120602 deletions(-)

diff --cc superset-frontend/cypress-base/cypress/integration/explore/visualizations/line.test.ts
index ffc129f350,7f55529a68..c3d41752eb
--- a/superset-frontend/cypress-base/cypress/integration/explore/visualizations/line.test.ts
+++ b/superset-frontend/cypress-base/cypress/integration/explore/visualizations/line.test.ts
@@@ -19,20 -19,16 +19,20 @@@
  import { FORM_DATA_DEFAULTS, NUM_METRIC, SIMPLE_FILTER } from './shared.helper';
  
  describe('Visualization > Line', () => {
+   beforeEach(() => {
 -    cy.preserveLogin();
++    cy.login();
+     cy.intercept('POST', '/superset/explore_json/**').as('getJson');
+   });
+ 
 -  const LINE_CHART_DEFAULTS = { ...FORM_DATA_DEFAULTS, viz_type: 'line' };
 +  const LINE_CHART_DEFAULTS = {
 +    ...FORM_DATA_DEFAULTS,
 +    viz_type: 'line',
 +    show_legend: true,
 +  };
  
-   beforeEach(() => {
-     cy.login();
-     cy.intercept('POST', '/superset/explore_json/**').as('getJson');
-   });
- 
    it('should show validator error when no metric', () => {
      const formData = { ...LINE_CHART_DEFAULTS, metrics: [] };
-     cy.visitChartByParams(JSON.stringify(formData));
+     cy.visitChartByParams(formData);
      cy.get('.panel-body').contains(
        `Add required control values to preview chart`,
      );