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 2022/04/12 11:48:19 UTC

[superset] 01/03: Merge branch 'master' into jb/feat-plugin-handlebars

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

villebro pushed a commit to branch jb/feat-plugin-handlebars
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 51e132658256ba2da204ef0eb85d03cdaf8b6467
Merge: 6fc45cb670 0de03c4b34
Author: Ville Brofeldt <vi...@gmail.com>
AuthorDate: Tue Apr 5 10:09:23 2022 +0300

    Merge branch 'master' into jb/feat-plugin-handlebars

 .github/CODEOWNERS                                 |     3 +
 .github/workflows/bashlib.sh                       |    14 +-
 .github/workflows/embedded-sdk-release.yml         |    23 +
 .github/workflows/embedded-sdk-test.yml            |    24 +
 .github/workflows/superset-docs.yml                |    19 +-
 .github/workflows/superset-e2e.yml                 |     1 -
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     2 +-
 .gitignore                                         |     5 +
 .pre-commit-config.yaml                            |     4 +-
 .rat-excludes                                      |     3 +-
 CHANGELOG.md                                       |  8844 +-
 CODE_OF_CONDUCT.md                                 |     2 +-
 CONTRIBUTING.md                                    |    29 +-
 Dockerfile                                         |     3 +-
 Makefile                                           |     8 +-
 README.md                                          |    13 +-
 RELEASING/Dockerfile.from_local_tarball            |     2 +-
 RELEASING/Dockerfile.from_svn_tarball              |     2 +-
 RELEASING/README.md                                |     3 +
 RELEASING/changelog.py                             |    12 +-
 RELEASING/release-notes-1-0/README.md              |     1 -
 RELEASING/release-notes-1-4/README.md              |    78 +
 RELEASING/release-notes-1-4/media/calc.png         |   Bin 0 -> 272413 bytes
 RELEASING/release-notes-1-4/media/pyinstrument.png |   Bin 0 -> 163177 bytes
 RELEASING/release-notes-1-4/media/tab_column.jpg   |   Bin 0 -> 275138 bytes
 RELEASING/send_email.py                            |     7 +-
 RESOURCES/FEATURE_FLAGS.md                         |     4 +-
 RESOURCES/INTHEWILD.md                             |     1 +
 UPDATING.md                                        |    59 +-
 docker-compose-non-dev.yml                         |     2 +-
 docker-compose.yml                                 |     2 +-
 docker/docker-bootstrap.sh                         |     1 -
 docker/docker-init.sh                              |     3 +-
 docker/pythonpath_dev/superset_config.py           |     2 +-
 docs/.eslintrc.js                                  |    48 -
 docs/.gitignore                                    |    23 +-
 docs/.nvmrc                                        |     1 -
 docs/README.md                                     |    57 +-
 docs/babel.config.js                               |    22 +
 docs/docs/api.mdx                                  |    37 +
 docs/docs/contributing/_category_.json             |     4 +
 docs/docs/contributing/contributing-page.mdx       |    20 +
 docs/docs/contributing/conventions-and-typing.mdx  |    57 +
 docs/docs/contributing/creating-viz-plugins.mdx    |   134 +
 docs/docs/contributing/hooks-and-linting.mdx       |    61 +
 docs/docs/contributing/local-backend.mdx           |   106 +
 docs/docs/contributing/pull-request-guidelines.mdx |    96 +
 docs/docs/contributing/style-guide.mdx             |    54 +
 docs/docs/contributing/testing-locally.mdx         |   274 +
 docs/docs/contributing/translations.mdx            |   148 +
 docs/docs/contributing/types-of-contributions.mdx  |    60 +
 .../creating-charts-dashboards/_category_.json     |     4 +
 .../creating-your-first-dashboard.mdx              |   211 +
 .../creating-charts-dashboards/exploring-data.mdx  |   354 +
 docs/docs/databases/_category_.json                |     4 +
 docs/docs/databases/ascend.mdx                     |    16 +
 docs/docs/databases/athena.mdx                     |    34 +
 docs/docs/databases/bigquery.mdx                   |    89 +
 docs/docs/databases/clickhouse.mdx                 |    44 +
 docs/docs/databases/cockroachdb.mdx                |    17 +
 docs/docs/databases/cratedb.mdx                    |    24 +
 docs/docs/databases/databricks.mdx                 |    67 +
 docs/docs/databases/db-connection-ui.mdx           |    76 +
 docs/docs/databases/docker-add-drivers.mdx         |    93 +
 docs/docs/databases/dremio.mdx                     |    26 +
 docs/docs/databases/drill.mdx                      |    47 +
 docs/docs/databases/druid.mdx                      |    65 +
 docs/docs/databases/elasticsearch.mdx              |    68 +
 docs/docs/databases/exasol.mdx                     |    17 +
 docs/docs/databases/extra-settings.mdx             |    69 +
 docs/docs/databases/firebird.mdx                   |    23 +
 docs/docs/databases/firebolt.mdx                   |    27 +
 docs/docs/databases/google-sheets.mdx              |    16 +
 docs/docs/databases/hana.mdx                       |    16 +
 docs/docs/databases/hive.mdx                       |    16 +
 docs/docs/databases/hologres.mdx                   |    24 +
 docs/docs/databases/ibm-db2.mdx                    |    23 +
 docs/docs/databases/impala.mdx                     |    16 +
 .../docs/databases/installing-database-drivers.mdx |    73 +
 docs/docs/databases/kylin.mdx                      |    17 +
 docs/docs/databases/mysql.mdx                      |    29 +
 docs/docs/databases/netezza.mdx                    |    17 +
 docs/docs/databases/oracle.mdx                     |    17 +
 docs/docs/databases/pinot.mdx                      |    16 +
 docs/docs/databases/postgres.mdx                   |    42 +
 docs/docs/databases/presto.mdx                     |    37 +
 docs/docs/databases/redshift.mdx                   |    25 +
 docs/docs/databases/rockset.mdx                    |    16 +
 docs/docs/databases/snowflake.mdx                  |    31 +
 docs/docs/databases/solr.mdx                       |    17 +
 docs/docs/databases/spark-sql.mdx                  |    16 +
 docs/docs/databases/sql-server.mdx                 |    16 +
 docs/docs/databases/teradata.mdx                   |    36 +
 docs/docs/databases/trino.mdx                      |    27 +
 docs/docs/databases/vertica.mdx                    |    31 +
 docs/docs/databases/yugabytedb.mdx                 |    20 +
 docs/docs/frequently-asked-questions.mdx           |   295 +
 docs/docs/installation/_category_.json             |     4 +
 docs/docs/installation/alerts-reports.mdx          |   486 +
 docs/docs/installation/async-queries-celery.mdx    |   117 +
 docs/docs/installation/cache.mdx                   |   126 +
 docs/docs/installation/configuring-superset.mdx    |   260 +
 docs/docs/installation/event-logging.mdx           |    58 +
 .../installing-superset-from-scratch.mdx           |   161 +
 .../installing-superset-using-docker-compose.mdx   |   119 +
 docs/docs/installation/networking-settings.mdx     |    44 +
 docs/docs/installation/running-on-kubernetes.mdx   |   398 +
 docs/docs/installation/sql-templating.mdx          |   273 +
 docs/docs/installation/upgrading-superset.mdx      |    43 +
 docs/docs/intro.mdx                                |    60 +
 docs/docs/miscellaneous/_category_.json            |     4 +
 docs/docs/miscellaneous/chart-params.mdx           |   147 +
 docs/docs/miscellaneous/country-map-tools.mdx      |    61 +
 .../importing-exporting-datasources.mdx            |   116 +
 docs/docs/miscellaneous/issue-codes.mdx            |   334 +
 docs/docs/security.mdx                             |   149 +
 docs/docusaurus.config.js                          |   245 +
 docs/doczrc.js                                     |    36 -
 docs/gatsby-config.js                              |    85 -
 docs/gatsby-node.js                                |   677 -
 docs/installation.rst                              |  1660 -
 docs/package-lock.json                             | 59354 -------------
 docs/package.json                                  |   117 +-
 docs/prettier.config.js                            |    21 -
 docs/sidebars.js                                   |    50 +
 docs/sqllab.rst                                    |   180 -
 docs/src/components/AnchorNavigator.tsx            |    62 -
 docs/src/components/DbImage.tsx                    |    49 -
 docs/src/components/DoczMenu.tsx                   |    58 -
 docs/src/components/MainMenu.tsx                   |   156 -
 docs/src/components/footer.tsx                     |   180 -
 docs/src/components/image.tsx                      |    82 -
 docs/src/components/layout.scss                    |   160 -
 docs/src/components/layout.tsx                     |   201 -
 docs/src/components/next.tsx                       |    42 -
 docs/src/components/select.tsx                     |    47 -
 docs/src/components/seo.js                         |   104 -
 docs/src/css/custom.css                            |    95 +
 docs/src/gatsby-theme-docz/index.tsx               |    69 -
 docs/src/images/apacheSupersetHoriz.png            |   Bin 121779 -> 0 bytes
 docs/src/images/dashboard.png                      |   Bin 453151 -> 0 bytes
 docs/src/images/docker.png                         |   Bin 24928 -> 0 bytes
 docs/src/images/explorer.png                       |   Bin 641441 -> 0 bytes
 docs/src/images/gallery/bubble.png                 |   Bin 238904 -> 0 bytes
 docs/src/images/gallery/chord_diagram.png          |   Bin 762878 -> 0 bytes
 docs/src/images/gallery/community.png              |   Bin 609567 -> 0 bytes
 docs/src/images/gallery/dashboard_editor.png       |   Bin 2255813 -> 0 bytes
 docs/src/images/gallery/dashboard_list.png         |   Bin 197656 -> 0 bytes
 docs/src/images/gallery/dashboard_properties.png   |   Bin 213069 -> 0 bytes
 docs/src/images/gallery/deck_arc.png               |   Bin 1351973 -> 0 bytes
 docs/src/images/gallery/deck_hex.png               |   Bin 1761791 -> 0 bytes
 docs/src/images/gallery/deck_path.png              |   Bin 1229563 -> 0 bytes
 docs/src/images/gallery/deck_polygon.png           |   Bin 1588761 -> 0 bytes
 docs/src/images/gallery/deck_scatter.png           |   Bin 1815849 -> 0 bytes
 docs/src/images/gallery/deckgl_dash.png            |   Bin 6777438 -> 0 bytes
 docs/src/images/gallery/explore.png                |   Bin 530390 -> 0 bytes
 docs/src/images/gallery/force_layout.png           |   Bin 432443 -> 0 bytes
 docs/src/images/gallery/france.png                 |   Bin 431636 -> 0 bytes
 docs/src/images/gallery/girl_names.png             |   Bin 276784 -> 0 bytes
 docs/src/images/gallery/heatmap.png                |   Bin 629165 -> 0 bytes
 docs/src/images/gallery/pino_geo.png               |   Bin 3385639 -> 0 bytes
 docs/src/images/gallery/sankey.png                 |   Bin 529762 -> 0 bytes
 docs/src/images/gallery/slack.png                  |   Bin 471736 -> 0 bytes
 docs/src/images/gallery/sqllab.png                 |   Bin 375108 -> 0 bytes
 docs/src/images/gallery/storm.png                  |   Bin 2287707 -> 0 bytes
 docs/src/images/gallery/stream.png                 |   Bin 557506 -> 0 bytes
 docs/src/images/gallery/table.png                  |   Bin 447295 -> 0 bytes
 docs/src/images/gallery/treemap.png                |   Bin 456361 -> 0 bytes
 docs/src/images/gallery/visualizations.png         |   Bin 2016718 -> 0 bytes
 docs/src/images/gallery/worldbank_dashboard.png    |   Bin 780010 -> 0 bytes
 docs/src/images/preset.png                         |   Bin 39030 -> 0 bytes
 docs/src/images/preset.svg                         |    33 -
 docs/src/images/s.png                              |   Bin 11477 -> 0 bytes
 docs/src/images/stack_overflow.png                 |   Bin 30065 -> 0 bytes
 docs/src/images/superset-logo-horiz.svg            |    45 -
 docs/src/pages/404.jsx                             |    32 -
 docs/src/pages/community.tsx                       |    80 +-
 .../pages/docs/Connecting to Databases/ascend.mdx  |    17 -
 .../pages/docs/Connecting to Databases/athena.mdx  |    35 -
 .../docs/Connecting to Databases/clickhouse.mdx    |    45 -
 .../docs/Connecting to Databases/cockroachdb.mdx   |    18 -
 .../pages/docs/Connecting to Databases/crate.mdx   |    25 -
 .../docs/Connecting to Databases/databricks.mdx    |    68 -
 .../Connecting to Databases/docker-add-drivers.mdx |    92 -
 .../pages/docs/Connecting to Databases/dremio.mdx  |    26 -
 .../pages/docs/Connecting to Databases/drill.mdx   |    48 -
 .../pages/docs/Connecting to Databases/druid.mdx   |    64 -
 .../docs/Connecting to Databases/elasticsearch.mdx |    70 -
 .../pages/docs/Connecting to Databases/exasol.mdx  |    18 -
 .../Connecting to Databases/extra-settings.mdx     |    70 -
 .../docs/Connecting to Databases/firebird.mdx      |    24 -
 .../docs/Connecting to Databases/firebolt.mdx      |    28 -
 .../Connecting to Databases/google-bigquery.mdx    |    85 -
 .../docs/Connecting to Databases/google-sheets.mdx |    17 -
 .../pages/docs/Connecting to Databases/hana.mdx    |    17 -
 .../pages/docs/Connecting to Databases/hive.mdx    |    17 -
 .../docs/Connecting to Databases/hologres.mdx      |    25 -
 .../pages/docs/Connecting to Databases/ibm-db2.mdx |    24 -
 .../pages/docs/Connecting to Databases/impala.mdx  |    17 -
 .../pages/docs/Connecting to Databases/index.mdx   |    74 -
 .../pages/docs/Connecting to Databases/kylin.mdx   |    18 -
 .../pages/docs/Connecting to Databases/mysql.mdx   |    29 -
 .../pages/docs/Connecting to Databases/netezza.mdx |    18 -
 .../pages/docs/Connecting to Databases/oracle.mdx  |    18 -
 .../pages/docs/Connecting to Databases/pinot.mdx   |    17 -
 .../docs/Connecting to Databases/postgres.mdx      |    43 -
 .../pages/docs/Connecting to Databases/presto.mdx  |    39 -
 .../docs/Connecting to Databases/redshift.mdx      |    26 -
 .../pages/docs/Connecting to Databases/rockset.mdx |    17 -
 .../docs/Connecting to Databases/snowflake.mdx     |    32 -
 .../pages/docs/Connecting to Databases/solr.mdx    |    18 -
 .../docs/Connecting to Databases/spark-sql.mdx     |    17 -
 .../docs/Connecting to Databases/sql-server.mdx    |    17 -
 .../docs/Connecting to Databases/teradata.mdx      |    29 -
 .../pages/docs/Connecting to Databases/trino.mdx   |    27 -
 docs/src/pages/docs/Connecting to Databases/ui.mdx |    77 -
 .../pages/docs/Connecting to Databases/vertica.mdx |    32 -
 .../exploring-data.mdx                             |   395 -
 .../docs/Creating Charts and Dashboards/index.mdx  |   190 -
 .../docs/Miscellaneous/importing-exporting.mdx     |   117 -
 docs/src/pages/docs/Miscellaneous/index.mdx        |    62 -
 docs/src/pages/docs/Miscellaneous/issue_codes.mdx  |   337 -
 docs/src/pages/docs/api.mdx                        |    34 -
 docs/src/pages/docs/contributing-page.mdx          |    24 -
 .../pages/docs/frequently-asked-questions-page.mdx |   296 -
 .../src/pages/docs/installation/alerts_reports.mdx |   459 -
 .../docs/installation/async_queries_celery.mdx     |   118 -
 .../docs/installation/building-viz-plugins.mdx     |   217 -
 docs/src/pages/docs/installation/caching.mdx       |   124 -
 docs/src/pages/docs/installation/configuring.mdx   |   305 -
 .../pages/docs/installation/event-logging-page.mdx |    59 -
 docs/src/pages/docs/installation/index.mdx         |   112 -
 .../pages/docs/installation/installing_scratch.mdx |   162 -
 docs/src/pages/docs/installation/kubernetes.mdx    |   371 -
 .../docs/installation/networking_settings.mdx      |    45 -
 .../src/pages/docs/installation/sql_templating.mdx |   272 -
 .../pages/docs/installation/upgrading_superset.mdx |    44 -
 docs/src/pages/docs/introduction.mdx               |    59 -
 docs/src/pages/docs/roadmap-page.mdx               |    18 -
 docs/src/pages/docs/security-page.mdx              |   152 -
 docs/src/pages/docs/version-one-page.mdx           |   103 -
 docs/src/pages/gallery.tsx                         |   110 -
 docs/src/pages/index.tsx                           |   119 +-
 docs/src/pages/markdown-page.md                    |    26 +
 docs/src/pages/resources.tsx                       |   217 -
 docs/src/resources/data.js                         |   117 +-
 docs/src/resources/openapi.json                    | 14176 ----
 docs/src/utils.js                                  |    83 -
 docs/{ => static}/.asf.yaml                        |     0
 docs/{ => static}/.htaccess                        |     0
 .../CHANGELOG.md => docs/static/.nojekyll          |     0
 docs/static/images/add-data-upload.png             |   Bin 85781 -> 0 bytes
 docs/static/images/add_new_chart.png               |   Bin 42447 -> 0 bytes
 docs/static/images/chose_a_datasource.png          |   Bin 21013 -> 0 bytes
 docs/static/images/count_column.png                |   Bin 146056 -> 0 bytes
 docs/static/images/create_pivot_v2.png             |   Bin 367450 -> 0 bytes
 docs/static/images/dashboard2.png                  |   Bin 704237 -> 0 bytes
 docs/static/images/db-modal-advanced.png           |   Bin 126450 -> 0 bytes
 docs/static/images/explorer.png                    |   Bin 641441 -> 0 bytes
 docs/static/images/explorer2.png                   |   Bin 938335 -> 0 bytes
 docs/static/images/explorer3.png                   |   Bin 5015944 -> 0 bytes
 docs/static/images/explorer4.png                   |   Bin 2672689 -> 0 bytes
 docs/static/images/google-analytics.png            |   Bin 689661 -> 0 bytes
 docs/static/images/native_filters_empty_panel.png  |   Bin 19674 -> 0 bytes
 docs/static/images/native_filters_menu_open.png    |   Bin 17968 -> 0 bytes
 docs/static/images/native_filters_modal.png        |   Bin 196153 -> 0 bytes
 docs/static/images/native_filters_num_range.png    |   Bin 22073 -> 0 bytes
 .../images/native_filters_origin_country.png       |   Bin 196016 -> 0 bytes
 .../native_filters_origin_country_dropdown.png     |   Bin 71696 -> 0 bytes
 docs/static/images/pie-chart.png                   |   Bin 1320888 -> 0 bytes
 docs/static/images/select_dates_pivot_table_v2.png |   Bin 162201 -> 0 bytes
 .../images/select_table_visualization_type.png     |   Bin 47283 -> 0 bytes
 docs/static/images/so-icon.svg                     |    19 -
 docs/static/images/sqllab.png                      |   Bin 393766 -> 0 bytes
 docs/static/images/sqllab0.png                     |   Bin 641865 -> 0 bytes
 docs/static/images/sqllab1.png                     |   Bin 556582 -> 0 bytes
 docs/static/images/sqllab3.png                     |   Bin 529043 -> 0 bytes
 docs/static/images/sum_cost_column.png             |   Bin 134523 -> 0 bytes
 .../tutorial_04_sqlalchemy_connection_string.png   |   Bin 52808 -> 0 bytes
 .../static/images/tutorial_05_connection_popup.png |   Bin 84173 -> 0 bytes
 docs/static/images/tutorial_06_list_of_tables.png  |   Bin 23859 -> 0 bytes
 docs/static/images/tutorial_07_save_button (1).png |   Bin 8210 -> 0 bytes
 docs/static/images/tutorial_07_save_button.png     |   Bin 8210 -> 0 bytes
 docs/static/images/tutorial_10_table_name.png      |   Bin 26728 -> 0 bytes
 docs/static/images/tutorial_11_choose_db.png       |   Bin 22024 -> 0 bytes
 .../tutorial_12_table_creation_success_msg.png     |   Bin 33013 -> 0 bytes
 .../images/tutorial_13_edit_table_config.png       |   Bin 32220 -> 0 bytes
 docs/static/images/tutorial_14_field_config.png    |   Bin 61811 -> 0 bytes
 .../static/images/tutorial_15_click_table_name.png |   Bin 7863 -> 0 bytes
 .../images/tutorial_16_datasource_chart_type.png   |   Bin 13822 -> 0 bytes
 .../images/tutorial_17_choose_time_range.png       |   Bin 11627 -> 0 bytes
 docs/static/images/tutorial_18_choose_metric.png   |   Bin 12536 -> 0 bytes
 docs/static/images/tutorial_19_click_query (1).png |   Bin 5734 -> 0 bytes
 docs/static/images/tutorial_19_click_query.png     |   Bin 5734 -> 0 bytes
 .../images/tutorial_20_count_star_result.png       |   Bin 5333 -> 0 bytes
 docs/static/images/tutorial_21_group_by.png        |   Bin 6840 -> 0 bytes
 docs/static/images/tutorial_22_group_by_result.png |   Bin 22576 -> 0 bytes
 .../tutorial_23_group_by_more_dimensions.png       |   Bin 8191 -> 0 bytes
 docs/static/images/tutorial_24_max_metric.png      |   Bin 6731 -> 0 bytes
 docs/static/images/tutorial_25_max_temp_filter.png |   Bin 11654 -> 0 bytes
 docs/static/images/tutorial_26_row_limit.png       |   Bin 4927 -> 0 bytes
 .../static/images/tutorial_27_top_10_max_temps.png |   Bin 49871 -> 0 bytes
 docs/static/images/tutorial_28_bar_chart.png       |   Bin 14757 -> 0 bytes
 .../tutorial_29_bar_chart_series_metrics.png       |   Bin 20374 -> 0 bytes
 .../images/tutorial_30_bar_chart_results.png       |   Bin 75926 -> 0 bytes
 .../images/tutorial_31_save_slice_to_dashboard.png |   Bin 33789 -> 0 bytes
 .../images/tutorial_32_save_slice_confirmation.png |   Bin 24041 -> 0 bytes
 docs/static/images/tutorial_33_dashboard.png       |   Bin 5232 -> 0 bytes
 .../images/tutorial_34_weather_dashboard.png       |   Bin 6703 -> 0 bytes
 .../images/tutorial_35_slice_on_dashboard.png      |   Bin 66781 -> 0 bytes
 .../images/tutorial_36_adjust_dimensions.gif       |   Bin 126264 -> 0 bytes
 docs/static/images/tutorial_pivot_table_v2.png     |   Bin 446463 -> 0 bytes
 docs/static/images/youtube.png                     |   Bin 20462 -> 0 bytes
 .../custom-plugins}/plugin-1-yeoman-select.png     |   Bin
 .../custom-plugins}/plugin-10-hello-thumbnail.png  |   Bin
 .../custom-plugins}/plugin-11-explore-view.png     |   Bin
 .../custom-plugins}/plugin-12-console-logs.png     |   Bin
 .../plugin-2-yeoman-package-name.png               |   Bin
 .../plugin-3-yeoman-description.png                |   Bin
 .../plugin-4-yeoman-component-type.png             |   Bin
 .../custom-plugins}/plugin-5-yeoman-timeseries.png |   Bin
 .../custom-plugins}/plugin-6-yeoman-badges.png     |   Bin
 .../custom-plugins}/plugin-7-yeoman-files.png      |   Bin
 .../custom-plugins}/plugin-8-package-json.png      |   Bin
 .../custom-plugins}/plugin-9-mainpreset-import.png |   Bin
 .../plugin-9-mainpreset-register.png               |   Bin
 docs/static/{images => img}/dashboard3.png         |   Bin
 .../static/{images => img}/dashboard_card_view.jpg |   Bin
 docs/static/{images => img}/data-point.jpg         |   Bin
 .../img}/databases/apache-drill.png                |   Bin
 .../img}/databases/apache-druid.jpeg               |   Bin
 .../img}/databases/apache-druid.png                |   Bin
 .../img}/databases/apache-hive.svg                 |     0
 .../img}/databases/apache-impala.png               |   Bin
 .../img}/databases/apache-kylin.png                |   Bin
 .../img}/databases/aws-redshift.png                |   Bin
 .../images => static/img}/databases/clickhouse.png |   Bin
 .../images => static/img}/databases/dremio.png     |   Bin
 .../{src/images => static/img}/databases/druid.png |   Bin
 .../images => static/img}/databases/exasol.png     |   Bin
 .../images => static/img}/databases/firebird.png   |   Bin
 .../images => static/img}/databases/googleBQ.png   |   Bin
 .../images => static/img}/databases/greenplum.jpeg |   Bin
 .../images => static/img}/databases/greenplum.png  |   Bin
 .../images => static/img}/databases/hologres.png   |   Bin
 .../images => static/img}/databases/ibmdb2.png     |   Bin
 .../{src/images => static/img}/databases/monet.png |   Bin
 docs/{src/images => static/img}/databases/msql.png |   Bin
 .../{src/images => static/img}/databases/mysql.png |   Bin
 .../images => static/img}/databases/netezza.png    |   Bin
 .../img}/databases/oracle-logo.png                 |   Bin
 .../images => static/img}/databases/oracle.png     |   Bin
 .../images => static/img}/databases/oraclelogo.png |   Bin
 .../images => static/img}/databases/postgresql.jpg |   Bin
 .../images => static/img}/databases/postsql.png    |   Bin
 .../images => static/img}/databases/presto-og.png  |   Bin
 .../images => static/img}/databases/rockset.png    |   Bin
 .../images => static/img}/databases/snowflake.png  |   Bin
 .../images => static/img}/databases/sqllite.jpg    |   Bin
 .../images => static/img}/databases/sqllite.png    |   Bin
 docs/static/img/databases/teradata.png             |   Bin 0 -> 93361 bytes
 .../{src/images => static/img}/databases/trino.png |   Bin
 .../images => static/img}/databases/trino2.jpg     |   Bin
 .../images => static/img}/databases/vertica.png    |   Bin
 docs/static/img/databases/yugabyte.png             |   Bin 0 -> 6460 bytes
 docs/static/{images => img}/explore_ui.jpg         |   Bin
 docs/static/{images => img}/explorer5.jpg          |   Bin
 .../images/favicon.png => static/img/favicon.ico}  |   Bin
 docs/static/img/logo.svg                           |    19 +
 docs/static/{images => img}/roadmap.png            |   Bin
 docs/static/{images => img}/root-cert-example.png  |   Bin
 docs/static/{images => img}/sqllab5.jpg            |   Bin
 .../img}/superset-logo-horiz-apache.svg            |     0
 docs/static/img/superset-logo-horiz-dark.svg       |    43 +
 docs/static/img/superset-logo-horiz.svg            |    43 +
 docs/static/img/tutorial/add-data-upload.png       |   Bin 0 -> 92207 bytes
 .../tutorial}/advanced_analytics_base.png          |   Bin
 .../static/{images => img/tutorial}/annotation.png |   Bin
 .../tutorial}/annotation_settings.png              |   Bin
 .../tutorial}/average_aggregate_for_cost.png       |   Bin
 .../tutorial}/blue_bar_insert_component.png        |   Bin
 docs/static/img/tutorial/create_pivot.png          |   Bin 0 -> 80625 bytes
 .../tutorial}/csv_to_database_configuration.png    |   Bin
 docs/static/{images => img/tutorial}/dashboard.png |   Bin
 .../{images => img/tutorial}/edit-record.png       |   Bin
 .../{images => img/tutorial}/edit_annotation.png   |   Bin
 .../tutorial}/filter_on_origin_country.png         |   Bin
 docs/static/{images => img/tutorial}/markdown.png  |   Bin
 .../img/tutorial/no_filter_on_time_filter.png      |   Bin 0 -> 143531 bytes
 .../tutorial}/parse_dates_column.png               |   Bin
 .../{images => img/tutorial}/publish_dashboard.png |   Bin
 docs/static/{images => img/tutorial}/resample.png  |   Bin
 .../resize_tutorial_table_on_dashboard.png         |   Bin
 .../{images => img/tutorial}/rolling_mean.png      |   Bin
 .../tutorial}/save_tutorial_table.png              |   Bin
 .../img/tutorial/select_dates_pivot_table.png      |   Bin 0 -> 165788 bytes
 docs/static/img/tutorial/sum_cost_column.png       |   Bin 0 -> 149040 bytes
 .../time_comparison_absolute_difference.png        |   Bin
 .../tutorial}/time_comparison_two_series.png       |   Bin
 .../tutorial}/tutorial_01_sources_database.png     |   Bin
 .../tutorial}/tutorial_02_add_database.png         |   Bin
 .../tutorial}/tutorial_03_database_name.png        |   Bin
 .../tutorial}/tutorial_04_add_button.png           |   Bin
 .../tutorial}/tutorial_08_sources_tables.png       |   Bin
 .../tutorial}/tutorial_09_add_new_table.png        |   Bin
 .../tutorial}/tutorial_calculated_column.png       |   Bin
 .../tutorial}/tutorial_chart_resize.png            |   Bin
 .../tutorial}/tutorial_column_properties.png       |   Bin
 .../tutorial}/tutorial_dashboard_access.png        |   Bin
 .../tutorial}/tutorial_explore_run.jpg             |   Bin
 .../tutorial}/tutorial_explore_settings.jpg        |   Bin
 .../tutorial}/tutorial_first_dashboard.png         |   Bin
 .../tutorial}/tutorial_launch_explore.png          |   Bin
 .../tutorial}/tutorial_line_chart.png              |   Bin
 .../tutorial}/tutorial_pencil_edit.png             |   Bin
 docs/static/img/tutorial/tutorial_pivot_table.png  |   Bin 0 -> 317996 bytes
 .../tutorial}/tutorial_save_slice.png              |   Bin
 .../tutorial}/tutorial_sql_metric.png              |   Bin
 .../{images => img/tutorial}/tutorial_table.png    |   Bin
 .../{images => img/tutorial}/upload_a_csv.png      |   Bin
 docs/static/img/undraw_docusaurus_mountain.svg     |   188 +
 docs/static/img/undraw_docusaurus_react.svg        |   187 +
 docs/static/img/undraw_docusaurus_tree.svg         |    19 +
 docs/static/resources/openapi.json                 | 17722 ++++
 docs/tsconfig.json                                 |     7 +
 docs/yarn.lock                                     | 11093 +++
 helm/superset/Chart.yaml                           |     4 +-
 helm/superset/templates/_helpers.tpl               |    23 +-
 helm/superset/templates/deployment-beat.yaml       |     3 +
 helm/superset/templates/deployment-worker.yaml     |     7 +-
 helm/superset/templates/deployment.yaml            |     7 +-
 helm/superset/templates/init-job.yaml              |     3 +
 helm/superset/templates/secret-env.yaml            |     3 +
 helm/superset/templates/service-account.yaml       |    31 +
 helm/superset/values.schema.json                   |   608 +
 helm/superset/values.yaml                          |    83 +-
 requirements/base.in                               |     1 +
 requirements/base.txt                              |    65 +-
 requirements/development.in                        |     2 +-
 requirements/development.txt                       |     4 +-
 requirements/integration.in                        |     3 +-
 requirements/integration.txt                       |    12 +-
 requirements/testing.in                            |     2 +-
 requirements/testing.txt                           |    12 +-
 scripts/benchmark_migration.py                     |     5 +-
 scripts/cancel_github_workflows.py                 |     9 +-
 scripts/generate_frontend_ts_tasklist.js           |     1 +
 scripts/python_tests.sh                            |     3 +-
 scripts/tests/run.sh                               |     2 +-
 setup.cfg                                          |     2 +-
 setup.py                                           |    35 +-
 superset-embedded-sdk/.gitignore                   |     3 +
 superset-embedded-sdk/CONTRIBUTING.md              |    77 +
 superset-embedded-sdk/README.md                    |    91 +
 superset-embedded-sdk/babel.config.js              |    26 +
 superset-embedded-sdk/package-lock.json            | 14244 ++++
 superset-embedded-sdk/package.json                 |    61 +
 superset-embedded-sdk/release-if-necessary.js      |    62 +
 superset-embedded-sdk/src/const.ts                 |    20 +
 .../src/guestTokenRefresh.test.ts                  |    96 +
 superset-embedded-sdk/src/guestTokenRefresh.ts     |    32 +
 superset-embedded-sdk/src/index.ts                 |   167 +
 superset-embedded-sdk/tsconfig.json                |    29 +
 superset-embedded-sdk/webpack.config.js            |    49 +
 superset-frontend/.eslintignore                    |     1 -
 superset-frontend/.eslintrc.js                     |   102 +-
 superset-frontend/.prettierignore                  |     2 +-
 superset-frontend/.storybook/main.js               |     5 +-
 superset-frontend/cypress-base/cypress.json        |     4 +-
 .../integration/dashboard/dashboard.helper.ts      |   120 +
 .../integration/dashboard/key_value.test.ts        |    16 +-
 .../integration/dashboard/nativeFilters.test.ts    |   403 +-
 .../integration/explore/AdhocMetrics.test.ts       |     2 +-
 .../integration/explore/advanced_analytics.test.ts |     5 +-
 .../cypress/integration/explore/chart.test.js      |     4 +-
 .../cypress/integration/explore/control.test.ts    |    15 +-
 .../cypress/integration/explore/link.test.ts       |    21 +-
 .../explore/visualizations/line.test.ts            |    10 +-
 .../cypress/integration/sqllab/query.test.ts       |     4 +-
 .../cypress/integration/sqllab/tabs.test.js        |    65 -
 .../cypress/integration/sqllab/tabs.test.ts        |    60 +
 .../cypress-base/cypress/plugins/index.js          |     1 +
 .../cypress-base/cypress/support/directories.ts    |    15 +-
 .../cypress-base/cypress/support/index.d.ts        |    14 +
 .../cypress-base/cypress/support/index.ts          |    86 +
 superset-frontend/cypress-base/package-lock.json   |  7668 +-
 superset-frontend/jest.config.js                   |    33 +-
 superset-frontend/lerna.json                       |    12 +-
 superset-frontend/package-lock.json                | 31690 ++++---
 superset-frontend/package.json                     |   110 +-
 .../packages/generator-superset/README.md          |     7 +-
 .../generators/plugin-chart/index.js               |    35 +-
 .../generators/plugin-chart/templates/README.erb   |    70 +-
 .../plugin-chart/templates/gitignore.erb           |   111 +
 .../plugin-chart/templates/package-lock.erb        | 28390 +++++++
 .../generators/plugin-chart/templates/package.erb  |    27 +-
 .../plugin-chart/templates/src/MyChart.erb         |    15 +-
 .../plugin-chart/templates/src/index.erb           |     2 +-
 .../plugin-chart/templates/src/plugin/index.erb    |     2 +-
 .../plugin-chart/templates/test/index.erb          |     6 +-
 .../generator-superset/test/plugin-chart.test.js   |     1 +
 .../superset-ui-chart-controls/package.json        |    46 +-
 .../src/components/CertifiedIconWithTooltip.tsx    |     4 +-
 .../src/components/ColumnOption.tsx                |    69 +-
 .../src/components/ColumnTypeLabel.tsx             |    58 -
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |    71 +
 .../ColumnTypeLabel/type-icons/field_abc.svg       |    21 +
 .../ColumnTypeLabel/type-icons/field_boolean.svg   |    21 +
 .../ColumnTypeLabel/type-icons/field_date.svg      |    21 +
 .../ColumnTypeLabel/type-icons/field_derived.svg   |    21 +
 .../ColumnTypeLabel/type-icons/field_num.svg       |    21 +
 .../ColumnTypeLabel/type-icons/svgType.d.ts        |    22 +
 .../src/components/InfoTooltipWithTrigger.tsx      |     6 +-
 .../src/components/MetricOption.tsx                |    71 +-
 .../src/components/SQLPopover.tsx                  |    70 +
 .../src/components/Tooltip.tsx                     |     8 +
 .../src/components/labelUtils.tsx                  |   120 +
 .../superset-ui-chart-controls/src/index.ts        |     2 +-
 .../src/operators/boxplotOperator.ts               |    10 +-
 .../src/operators/contributionOperator.ts          |    25 +-
 .../src/operators/flattenOperator.ts               |    26 +
 .../src/operators/index.ts                         |     1 +
 .../src/operators/pivotOperator.ts                 |    21 +-
 .../src/operators/prophetOperator.ts               |    10 +-
 .../src/operators/resampleOperator.ts              |     9 +-
 .../src/operators/rollingWindowOperator.ts         |    34 +-
 .../src/operators/sortOperator.ts                  |    16 +-
 .../src/operators/timeCompareOperator.ts           |    41 +-
 .../src/operators/timeComparePivotOperator.ts      |    71 +-
 .../src/operators/utils/constants.ts               |     1 -
 .../src/operators/utils/index.ts                   |     2 +-
 .../src/sections/advancedAnalytics.tsx             |     3 +
 .../src/sections/forecastInterval.tsx              |     4 +
 .../src/sections/sections.tsx                      |     9 -
 .../ColumnConfigControl/ColumnConfigItem.tsx       |     2 +-
 .../src/shared-controls/dndControls.tsx            |     3 +-
 .../src/shared-controls/index.tsx                  |    80 +-
 .../superset-ui-chart-controls/src/types.ts        |     9 +
 .../src/utils/D3Formatting.ts                      |     6 +-
 .../test/components/ColumnOption.test.tsx          |    17 +-
 .../test/components/ColumnTypeLabel.test.tsx       |    47 +-
 .../test/components/MetricOption.test.tsx          |    14 +-
 .../test/components/labelUtils.test.tsx            |   216 +
 .../shared-controls/emitFilterControl.test.tsx     |     2 +-
 .../superset-ui-chart-controls/test/types.test.ts  |     1 +
 .../test/utils/operators/flattenOperator.test.ts   |    59 +
 .../test/utils/operators/pivotOperator.test.ts     |    28 +-
 .../test/utils/operators/prophetOperator.test.ts   |    34 +-
 .../test/utils/operators/resampleOperator.test.ts  |    27 +-
 .../utils/operators/rollingWindowOperator.test.ts  |    45 +-
 .../test/utils/operators/sortOperator.test.ts      |    16 +
 .../utils/operators/timeCompareOperator.test.ts    |   103 +-
 .../operators/timeComparePivotOperator.test.ts     |   137 +
 .../packages/superset-ui-core/package.json         |     7 +-
 .../src/chart/components/NoResultsComponent.tsx    |    65 +-
 .../src/chart/components/SuperChart.tsx            |    10 +-
 .../src/chart/models/ChartMetadata.ts              |    24 +-
 .../src/chart/models/ChartProps.ts                 |    10 +
 .../superset-ui-core/src/chart/types/Base.ts       |    21 +
 .../src/color/CategoricalColorScale.ts             |    33 +-
 .../src/color/SharedLabelColorSingleton.ts         |   119 +
 .../packages/superset-ui-core/src/color/index.ts   |     8 +
 .../packages/superset-ui-core/src/color/utils.ts   |    22 +
 .../src/connection/SupersetClient.ts               |     4 +-
 .../src/connection/SupersetClientClass.ts          |    30 +-
 .../superset-ui-core/src/connection/types.ts       |     7 +-
 .../superset-ui-core/src/dashboard/index.ts        |    20 +
 .../superset-ui-core/src/dashboard/types/Base.ts   |   129 +
 .../packages/superset-ui-core/src/index.ts         |     2 +
 .../src/query/api/v1/handleError.ts                |     2 +-
 .../superset-ui-core/src/query/buildQueryObject.ts |    12 +-
 .../superset-ui-core/src/query/constants.ts        |     8 +-
 .../superset-ui-core/src/query/extractExtras.ts    |     4 -
 .../superset-ui-core/src/query/processFilters.ts   |    12 +-
 .../src/query/types/AnnotationLayer.ts             |     7 +-
 .../superset-ui-core/src/query/types/Column.ts     |     6 +-
 .../src/query/types/PostProcessing.ts              |    78 +-
 .../superset-ui-core/src/query/types/Query.ts      |     3 +-
 .../src/query/types/QueryFormData.ts               |    15 +-
 .../superset-ui-core/src/query/types/Time.ts       |     3 -
 .../packages/superset-ui-core/src/style/index.tsx  |     3 +-
 .../time-format/TimeFormatterRegistrySingleton.ts  |     4 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     6 +-
 .../packages/superset-ui-core/src/utils/index.ts   |     1 +
 .../src/utils/isEqualArray.test.ts                 |    31 +
 .../superset-ui-core/src/utils/isEqualArray.ts     |    33 +
 .../test/chart-composition/ChartFrame.test.tsx     |     2 +-
 .../chart-composition/legend/WithLegend.test.tsx   |     3 +-
 .../tooltip/TooltipFrame.test.tsx                  |     2 +-
 .../tooltip/TooltipTable.test.tsx                  |     2 +-
 .../test/chart/clients/ChartClient.test.ts         |     8 +-
 .../chart/components/ChartDataProvider.test.tsx    |    38 +-
 .../chart/components/FallbackComponent.test.tsx    |     2 +-
 .../test/chart/components/MockChartPlugins.tsx     |     3 +-
 .../chart/components/NoResultsComponent.test.tsx   |     4 +-
 .../test/chart/components/SuperChart.test.tsx      |    26 +-
 .../test/chart/components/SuperChartCore.test.tsx  |     5 +-
 .../components/createLoadableRenderer.test.tsx     |    10 +-
 .../test/chart/components/reactify.test.tsx        |     9 +-
 .../superset-ui-core/test/chart/index.test.ts      |     2 +-
 .../test/chart/models/ChartMetadata.test.ts        |     2 +-
 .../test/chart/models/ChartPlugin.test.tsx         |     5 +-
 .../test/chart/models/ChartProps.test.ts           |     2 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |    11 +-
 .../test/color/CategoricalColorScale.test.ts       |    31 +-
 .../CategoricalSchemeRegistrySingleton.test.ts     |     2 +-
 .../test/color/ColorScheme.test.ts                 |     2 +-
 .../test/color/ColorSchemeRegistry.test.ts         |     2 +-
 .../test/color/SequentialScheme.test.ts            |     2 +-
 .../SequentialSchemeRegistrySingleton.test.ts      |     2 +-
 .../test/color/SharedLabelColorSingleton.test.ts   |   110 +
 .../test/color/colorSchemes.test.ts                |    41 +-
 .../superset-ui-core/test/color/index.test.ts      |     2 +-
 .../superset-ui-core/test/color/utils.test.ts      |     2 +-
 .../test/connection/SupersetClient.test.ts         |     5 +-
 .../test/connection/SupersetClientClass.test.ts    |   131 +-
 .../test/connection/callApi/callApi.test.ts        |    47 +-
 .../callApi/callApiAndParseWithTimeout.test.ts     |     8 +-
 .../test/connection/callApi/parseResponse.test.ts  |     4 +-
 .../connection/callApi/rejectAfterTimeout.test.ts  |     2 +-
 .../test/dimension/computeMaxFontSize.test.ts      |     2 +-
 .../dimension/getMultipleTextDimensions.test.ts    |     5 +-
 .../test/dimension/getTextDimension.test.ts        |     2 +-
 .../test/dimension/mergeMargin.test.ts             |     2 +-
 .../test/dimension/parseLength.test.ts             |     2 +-
 .../test/dimension/svg/LazyFactory.test.ts         |     2 +-
 .../test/dimension/svg/getBBoxCeil.test.ts         |     4 +-
 .../test/dimension/svg/updateTextNode.test.ts      |    13 +-
 .../packages/superset-ui-core/test/fixtures.ts     |     2 +-
 .../packages/superset-ui-core/test/index.test.ts   |     2 +-
 .../test/math-expression/index.test.ts             |     5 +-
 .../test/models/ExtensibleFunction.test.ts         |     2 +-
 .../superset-ui-core/test/models/Plugin.test.ts    |     2 +-
 .../superset-ui-core/test/models/Preset.test.ts    |     2 +-
 .../superset-ui-core/test/models/Registry.test.ts  |     2 +-
 .../test/models/RegistryWithDefaultKey.test.ts     |     2 +-
 .../test/number-format/NumberFormatter.test.ts     |     2 +-
 .../number-format/NumberFormatterRegistry.test.ts  |     2 +-
 .../NumberFormatterRegistrySingleton.test.ts       |     2 +-
 .../factories/createD3NumberFormatter.test.ts      |     2 +-
 .../factories/createDurationFormatter.test.ts      |     5 +-
 .../createSiAtMostNDigitFormatter.test.ts          |     2 +-
 .../factories/createSmartNumberFormatter.test.ts   |     5 +-
 .../test/number-format/index.test.ts               |     2 +-
 .../test/query/DatasourceKey.test.ts               |     2 +-
 .../test/query/api/legacy/fetchExploreJson.test.ts |     2 +-
 .../query/api/legacy/getDatasourceMetadata.test.ts |     2 +-
 .../test/query/api/legacy/getFormData.test.ts      |     2 +-
 .../test/query/api/setupClientForTest.ts           |     2 +-
 .../test/query/api/v1/getChartData.test.ts         |     2 +-
 .../test/query/api/v1/handleError.test.ts          |    10 +-
 .../test/query/api/v1/makeApi.test.ts              |     9 +-
 .../test/query/buildQueryContext.test.ts           |     2 +-
 .../test/query/buildQueryObject.test.ts            |    29 +-
 .../test/query/convertFilter.test.ts               |     2 +-
 .../test/query/extractExtras.test.ts               |     6 +-
 .../test/query/extractQueryFields.test.ts          |     5 +-
 .../test/query/extractTimegrain.test.ts            |     3 +-
 .../test/query/getColumnLabel.test.ts              |     4 +-
 .../test/query/getMetricLabel.test.ts              |     2 +-
 .../test/query/normalizeOrderBy.test.ts            |     3 +-
 .../test/query/processExtraFormData.test.ts        |     6 +-
 .../test/query/processFilters.test.ts              |    12 +-
 .../test/query/types/AnnotationLayer.test.ts       |     2 +-
 .../test/query/types/Filter.test.ts                |     2 +-
 .../test/query/types/PostProcessing.test.ts        |     5 +-
 .../test/time-format/TimeFormatter.test.ts         |     4 +-
 .../test/time-format/TimeFormatterRegistry.test.ts |     8 +-
 .../TimeFormatterRegistrySingleton.test.ts         |    15 +-
 .../factories/createD3TimeFormatter.test.ts        |     8 +-
 .../factories/createMultiFormatter.test.ts         |     2 +-
 .../test/time-format/formatters/smartDate.test.ts  |     3 +-
 .../formatters/smartDateDetailed.test.ts           |     3 +-
 .../formatters/smartDateVerbose.test.ts            |     3 +-
 .../test/time-format/index.test.ts                 |     2 +-
 .../test/time-format/utils/createTime.test.ts      |     2 +-
 .../utils/createTimeRangeFromGranularity.test.ts   |     4 +-
 .../test/time-format/utils/d3Time.test.ts          |     2 +-
 .../packages/superset-ui-core/test/tsconfig.json   |     6 +-
 .../test/utils/convertKeysToCamelCase.test.ts      |     2 +-
 .../test/utils/ensureIsArray.test.ts               |     2 +-
 .../test/utils/ensureIsInt.test.ts                 |     2 +-
 .../test/utils/featureFlag.test.ts                 |     2 +-
 .../superset-ui-core/test/utils/isDefined.test.ts  |     2 +-
 .../superset-ui-core/test/utils/isRequired.test.ts |     2 +-
 .../test/utils/makeSingleton.test.ts               |     2 +-
 .../test/utils/promiseTimeout.test.ts              |     2 +-
 .../superset-ui-core/test/utils/random.test.ts     |     2 +-
 .../test/utils/removeDuplicates.test.ts            |     2 +-
 .../test/validator/legacyValidateInteger.test.ts   |     2 +-
 .../test/validator/legacyValidateNumber.test.ts    |     2 +-
 .../superset-ui-core/test/validator/setup.ts       |     2 +-
 .../test/validator/validateInteger.test.ts         |     2 +-
 .../test/validator/validateNonEmpty.test.ts        |     2 +-
 .../test/validator/validateNumber.test.ts          |     2 +-
 .../packages/superset-ui-demo/.storybook/main.js   |    79 +-
 .../packages/superset-ui-demo/package.json         |    58 +-
 .../Polygon/geojsonPayload.js                      |     1 -
 .../plugin-chart-echarts/Timeseries/Stories.tsx    |     3 +
 .../stories/plugins/plugin-chart-table/testData.ts |     7 +-
 .../superset-ui-chart/ChartDataProviderStories.tsx |     2 +-
 .../superset-ui-chart/SuperChartStories.tsx        |     2 +-
 ...lettesStories.jsx => ColorPallettesStories.tsx} |     0
 .../{RenderPalettes.jsx => RenderPalettes.tsx}     |     0
 .../superset-ui-connection/ConnectionStories.tsx   |     2 +-
 .../superset-ui-number-format/BigNumberStories.jsx |   142 -
 .../superset-ui-number-format/BigNumberStories.tsx |   138 +
 .../{ThemeStories.jsx => ThemeStories.tsx}         |     0
 .../superset-ui-time-format/TimeFormatStories.jsx  |   132 -
 .../superset-ui-time-format/TimeFormatStories.tsx  |   130 +
 .../packages/superset-ui-demo/tsconfig.json        |     1 +
 .../superset-ui-switchboard/package-lock.json      |    13 +
 .../packages/superset-ui-switchboard/package.json  |    33 +
 .../packages/superset-ui-switchboard/src/index.ts  |    20 +
 .../src/switchboard.test.ts                        |   310 +
 .../superset-ui-switchboard/src/switchboard.ts     |   244 +
 .../packages/superset-ui-switchboard/tsconfig.json |    18 +
 .../legacy-plugin-chart-calendar/package.json      |    38 +-
 .../legacy-plugin-chart-calendar/src/Calendar.js   |     1 -
 .../src/ReactCalendar.jsx                          |   207 +-
 .../src/vendor/cal-heatmap.css                     |   129 -
 .../src/vendor/cal-heatmap.js                      |     1 -
 .../src/vendor/d3tip.css                           |    74 -
 .../plugins/legacy-plugin-chart-chord/package.json |     6 +-
 .../plugins/legacy-plugin-chart-chord/src/Chord.js |     6 +-
 .../src/transformProps.js                          |     3 +-
 .../legacy-plugin-chart-country-map/package.json   |     6 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   928 +-
 .../src/CountryMap.js                              |    21 +-
 .../src/countries.ts                               |   127 +-
 .../src/countries/australia.geojson                |   136 +-
 .../src/countries/belgium.geojson                  |     8 +-
 .../src/countries/bulgaria.geojson                 |    12 +-
 .../src/countries/burundi.geojson                  |    23 +
 .../src/countries/canada.geojson                   |     2 +-
 .../src/countries/china.geojson                    |    69 +-
 .../src/countries/cyprus.geojson                   |    11 +
 .../src/countries/egypt.geojson                    |     8 +-
 .../src/countries/estonia.geojson                  |    22 +-
 .../src/countries/ethiopia.geojson                 |    17 +
 .../src/countries/finland.geojson                  |    31 +-
 .../src/countries/france.geojson                   |     8 +-
 .../src/countries/germany.geojson                  |    18 +-
 .../src/countries/india.geojson                    |    71 +-
 .../src/countries/indonesia.geojson                |    66 +-
 .../src/countries/iran.geojson                     |     6 +-
 .../src/countries/italy.geojson                    |    12 +-
 .../src/countries/japan.geojson                    |    22 +-
 .../src/countries/jordan.geojson                   |    18 +
 .../src/countries/kenya.geojson                    |    14 +
 .../src/countries/korea.geojson                    |     8 +-
 .../src/countries/kuwait.geojson                   |    12 +
 .../src/countries/lithuania.geojson                |    16 +
 .../src/countries/malaysia.geojson                 |    12 +-
 .../src/countries/mexico.geojson                   |    39 +
 .../src/countries/morocco.geojson                  |    10 +-
 .../src/countries/myanmar.geojson                  |    10 +-
 .../src/countries/netherlands.geojson              |    10 +-
 .../src/countries/nigeria.geojson                  |    43 +
 .../src/countries/oman.geojson                     |    17 +
 .../src/countries/pakistan.geojson                 |    14 +
 .../src/countries/philippines.geojson              |   124 +
 .../src/countries/poland.geojson                   |     4 +-
 .../src/countries/portugal.geojson                 |    22 +-
 .../src/countries/qatar.geojson                    |    13 +
 .../src/countries/russia.geojson                   |   171 +-
 .../src/countries/rwanda.geojson                   |    11 +
 .../src/countries/slovenia.geojson                 |    56 +-
 .../src/countries/spain.geojson                    |    22 +-
 .../src/countries/sweden.geojson                   |     6 +-
 .../src/countries/switzerland.geojson              |    14 +-
 .../src/countries/syria.geojson                    |    16 +-
 .../src/countries/tanzania.geojson                 |    36 +
 .../src/countries/thailand.geojson                 |     6 +-
 .../src/countries/uganda.geojson                   |   118 +
 .../src/countries/uk.geojson                       |    28 +-
 .../src/countries/ukraine.geojson                  |     8 +-
 .../src/countries/united_arab_emirates.geojson     |    15 +
 .../src/countries/uruguay.geojson                  |    10 +-
 .../src/countries/zambia.geojson                   |     6 +-
 .../src/geojson.d.ts                               |     2 +-
 .../src/transformProps.js                          |    10 +-
 .../legacy-plugin-chart-event-flow/package.json    |     6 +-
 .../package.json                                   |     4 +-
 .../legacy-plugin-chart-heatmap/package.json       |    41 +-
 .../legacy-plugin-chart-heatmap/src/Heatmap.css    |    72 -
 .../legacy-plugin-chart-heatmap/src/Heatmap.js     |     3 -
 .../src/ReactHeatmap.js                            |    22 -
 .../src/ReactHeatmap.jsx                           |   148 +
 .../src/vendor/d3tip.css                           |    74 -
 .../legacy-plugin-chart-histogram/package.json     |     4 +-
 .../src/Histogram.jsx                              |     8 +-
 .../src/transformProps.js                          |     2 +
 .../legacy-plugin-chart-horizon/package.json       |     4 +-
 .../src/controlPanel.ts                            |    12 +-
 .../legacy-plugin-chart-map-box/package.json       |     7 +-
 .../legacy-plugin-chart-paired-t-test/package.json |     4 +-
 .../src/controlPanel.ts                            |    12 +-
 .../package.json                                   |     4 +-
 .../src/controlPanel.ts                            |    14 +-
 .../legacy-plugin-chart-partition/package.json     |     7 +-
 .../legacy-plugin-chart-partition/src/Partition.js |     3 +-
 .../src/controlPanel.tsx                           |    14 +-
 .../src/transformProps.js                          |     2 +
 .../legacy-plugin-chart-pivot-table/package.json   |     6 +-
 .../src/controlPanel.ts                            |    14 +-
 .../plugins/legacy-plugin-chart-rose/package.json  |    40 +-
 .../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   |    13 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |    14 +-
 .../legacy-plugin-chart-rose/src/transformProps.js |     2 +
 .../legacy-plugin-chart-sankey-loop/package.json   |     6 +-
 .../src/SankeyLoop.js                              |     4 +-
 .../src/transformProps.js                          |     3 +-
 .../legacy-plugin-chart-sankey/package.json        |     4 +-
 .../legacy-plugin-chart-sankey/src/ReactSankey.jsx |     1 -
 .../legacy-plugin-chart-sankey/src/Sankey.js       |     4 +-
 .../src/transformProps.js                          |     3 +-
 .../legacy-plugin-chart-sunburst/package.json      |     6 +-
 .../legacy-plugin-chart-sunburst/src/Sunburst.js   |     9 +-
 .../src/transformProps.js                          |     4 +-
 .../legacy-plugin-chart-treemap/package.json       |     6 +-
 .../legacy-plugin-chart-treemap/src/Treemap.js     |     3 +-
 .../src/controlPanel.ts                            |    14 +-
 .../src/transformProps.js                          |     3 +-
 .../legacy-plugin-chart-world-map/package.json     |     4 +-
 .../src/ReactWorldMap.jsx                          |     2 +-
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |    24 +-
 .../src/controlPanel.ts                            |     4 +
 .../src/transformProps.js                          |    12 +-
 .../legacy-preset-chart-deckgl/package.json        |    11 +-
 .../src/CategoricalDeckGLContainer.jsx             |     4 +-
 .../src/DeckGLContainer.jsx                        |     8 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.jsx |     4 +-
 .../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 +-
 .../legacy-preset-chart-deckgl/src/css/deckgl.css  |    22 -
 .../src/utilities/Shared_DeckGL.jsx                |    29 +-
 .../src/utilities/controls.jsx                     |    17 -
 .../plugins/legacy-preset-chart-nvd3/package.json  |     6 +-
 .../src/Bar/controlPanel.ts                        |    38 +-
 .../legacy-preset-chart-nvd3/src/Bar/index.js      |     2 +
 .../src/DistBar/controlPanel.ts                    |    14 +-
 .../legacy-preset-chart-nvd3/src/DistBar/index.js  |     1 +
 .../legacy-preset-chart-nvd3/src/DualLine/index.js |     2 +-
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |    16 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |     5 +-
 .../legacy-preset-chart-nvd3/src/ReactNVD3.jsx     |    17 +-
 .../legacy-preset-chart-nvd3/src/transformProps.js |     2 +
 .../plugins/plugin-chart-echarts/package.json      |     9 +-
 .../src/BigNumber/BigNumberViz.tsx                 |     3 -
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |    27 +-
 .../BigNumberWithTrendline/transformProps.ts       |     6 +-
 .../src/BoxPlot/transformProps.ts                  |    16 +-
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |     3 +-
 .../src/Funnel/transformProps.ts                   |     3 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |     3 +-
 .../src/Gauge/transformProps.ts                    |     5 +-
 .../plugin-chart-echarts/src/Gauge/types.ts        |     5 +-
 .../src/Graph/transformProps.ts                    |     3 +-
 .../plugin-chart-echarts/src/Graph/types.ts        |    43 +-
 .../src/MixedTimeseries/buildQuery.ts              |     4 +-
 .../src/MixedTimeseries/controlPanel.tsx           |     1 +
 .../src/MixedTimeseries/transformProps.ts          |    65 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |     3 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |     2 +-
 .../src/Radar/controlPanel.tsx                     |     5 +-
 .../src/Radar/transformProps.ts                    |     3 +-
 .../src/Timeseries/Area/controlPanel.tsx           |    22 +-
 .../src/Timeseries/Area/index.ts                   |    26 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    22 +-
 .../src/Timeseries/Regular/Bar/index.ts            |    20 +-
 .../src/Timeseries/Regular/Line/index.ts           |    22 +-
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |    18 +-
 .../src/Timeseries/Regular/Scatter/index.ts        |    22 +-
 .../src/Timeseries/Regular/SmoothLine/index.ts     |    22 +-
 .../src/Timeseries/Regular/controlPanel.tsx        |    26 +-
 .../src/Timeseries/Step/controlPanel.tsx           |    22 +-
 .../src/Timeseries/Step/index.ts                   |    22 +-
 .../src/Timeseries/buildQuery.ts                   |    70 +-
 .../src/Timeseries/controlPanel.tsx                |    22 +-
 .../plugin-chart-echarts/src/Timeseries/index.ts   |    32 +-
 .../src/Timeseries/transformProps.ts               |   102 +-
 .../src/Timeseries/transformers.ts                 |    44 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |     5 +-
 .../src/Treemap/transformProps.ts                  |     5 +-
 .../plugin-chart-echarts/src/Treemap/types.ts      |     3 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    64 +-
 .../plugins/plugin-chart-echarts/src/types.ts      |     2 +-
 .../plugin-chart-echarts/src/utils/annotation.ts   |     4 +-
 .../src/utils/convertInteger.ts                    |    22 +
 .../plugin-chart-echarts/src/utils/forecast.ts     |   144 +
 .../plugin-chart-echarts/src/utils/prophet.ts      |   140 -
 .../plugin-chart-echarts/src/utils/series.ts       |    62 +-
 .../test/BigNumber/transformProps.test.ts          |     2 +-
 .../test/BoxPlot/buildQuery.test.ts                |    11 +-
 .../test/BoxPlot/transformProps.test.ts            |     7 +-
 .../test/Funnel/transformProps.test.ts             |     7 +-
 .../test/Gauge/buildQuery.test.ts                  |     2 +-
 .../test/Gauge/transformProps.test.ts              |    32 +-
 .../test/Pie/transformProps.test.ts                |     4 +-
 .../test/Timeseries/transformProps.test.ts         |   263 +-
 .../test/Treemap/transformProps.test.ts            |     3 +-
 .../test/utils/annotation.test.ts                  |    18 +-
 .../test/utils/forecast.test.ts                    |   256 +
 .../test/utils/prophet.test.ts                     |   194 -
 .../plugin-chart-echarts/test/utils/series.test.ts |    75 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    10 +-
 .../src/plugin/controlPanel.tsx                    |     1 +
 .../src/react-pivottable/Styles.js                 |   235 +-
 .../test/plugin/buildQuery.test.ts                 |     4 +-
 .../plugins/plugin-chart-table/package.json        |     7 +-
 .../src/DataTable/components/Pagination.tsx        |     4 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |   142 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    11 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     2 +
 .../plugin-chart-table/src/controlPanel.tsx        |    14 +-
 .../plugins/plugin-chart-table/src/types.ts        |     2 +-
 .../plugin-chart-table/src/utils/formatValue.ts    |     8 +-
 .../plugin-chart-table/src/utils/isEqualArray.ts   |    31 -
 .../plugin-chart-table/src/utils/isEqualColumns.ts |     2 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |     3 +-
 .../plugins/plugin-chart-table/test/testData.ts    |     9 +
 .../plugins/plugin-chart-table/tsconfig.json       |    11 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     4 +-
 .../src/chart/WordCloud.tsx                        |    15 +-
 .../src/legacyPlugin/transformProps.ts             |     2 +
 .../src/plugin/transformProps.ts                   |     3 +-
 .../plugins/preset-chart-xy/package.json           |     4 +-
 superset-frontend/spec/__mocks__/svgrMock.tsx      |     4 +-
 .../spec/fixtures/mockDashboardInfo.js             |     2 +-
 .../spec/fixtures/mockNativeFilters.ts             |    16 +-
 superset-frontend/spec/fixtures/mockState.js       |     2 +-
 .../spec/fixtures/mockStateWithoutUser.tsx         |     2 +-
 superset-frontend/spec/helpers/ResizeObserver.ts   |    33 +
 superset-frontend/spec/helpers/reducerIndex.ts     |     2 +-
 superset-frontend/spec/helpers/shim.ts             |     9 +
 .../dashboard/actions/dashboardState_spec.js       |   121 -
 .../dashboard/components/FiltersBadge_spec.tsx     |   225 -
 .../components/RefreshIntervalModal_spec.tsx       |   237 -
 .../components/gridComponents/ChartHolder_spec.jsx |   143 -
 .../components/gridComponents/Chart_spec.jsx       |   135 -
 .../components/gridComponents/Tabs_spec.jsx        |   205 -
 .../nativeFilters/NativeFiltersModal_spec.tsx      |   140 -
 .../dashboard/fixtures/mockNativeFilters.ts        |    74 -
 .../dashboard/reducers/dashboardState_spec.js      |   200 -
 .../dashboard/util/getDashboardUrl_spec.js         |    93 -
 .../util/getFormDataWithExtraFilters_spec.ts       |   104 -
 .../components/AdhocMetricEditPopover_spec.jsx     |   126 -
 .../explore/components/AdhocMetricOption_spec.jsx  |    85 -
 .../components/ControlPanelsContainer_spec.tsx     |   104 -
 .../explore/components/DatasourceControl_spec.jsx  |   130 -
 .../explore/components/EmbedCodeButton_spec.jsx    |   116 -
 .../components/ExploreActionButtons_spec.jsx       |   117 -
 .../components/ExploreAdditionalActionsMenu.jsx    |    57 -
 .../components/ExploreViewContainer_spec.jsx       |    92 -
 .../components/FilterBoxItemControl_spec.jsx       |   108 -
 .../components/FilterDefinitionOption_spec.jsx     |    59 -
 .../components/RunQueryActionButton_spec.jsx       |    50 -
 .../explore/components/SaveModal_spec.jsx          |   323 -
 .../explore/components/SelectControl_spec.jsx      |   212 -
 .../explore/components/TextArea_spec.jsx           |    57 -
 .../spec/javascripts/explore/controlUtils_spec.tsx |   220 -
 .../spec/javascripts/explore/utils_spec.jsx        |   299 -
 .../src/CRUD/CollectionTable.test.jsx              |    48 -
 superset-frontend/src/CRUD/crud.less               |    54 -
 superset-frontend/src/GlobalStyles.tsx             |    38 +
 superset-frontend/src/SqlLab/App.jsx               |     2 +
 superset-frontend/src/SqlLab/actions/sqlLab.js     |   114 +-
 .../src/SqlLab/actions/sqlLab.test.js              |    78 +-
 .../SqlLab/components/AceEditorWrapper/index.tsx   |    14 +-
 .../src/SqlLab/components/App/index.jsx            |    33 +-
 .../src/SqlLab/components/ColumnElement/index.tsx  |    22 +-
 .../components/ExploreCtasResultsButton/index.jsx  |   122 -
 .../components/ExploreCtasResultsButton/index.tsx  |    95 +
 .../ExploreResultsButton.test.jsx                  |   138 +-
 .../components/ExploreResultsButton/index.jsx      |   193 -
 .../components/ExploreResultsButton/index.tsx      |    53 +
 .../components/QueryHistory/QueryHistory.test.tsx  |    51 +
 .../src/SqlLab/components/QueryHistory/index.tsx   |    39 +-
 .../src/SqlLab/components/QuerySearch/index.tsx    |     5 +
 .../components/QueryTable/QueryTable.test.jsx      |     3 +
 .../src/SqlLab/components/QueryTable/index.jsx     |   309 -
 .../src/SqlLab/components/QueryTable/index.tsx     |   334 +
 .../SqlLab/components/ResultSet/ResultSet.test.jsx |    18 +
 .../src/SqlLab/components/ResultSet/index.tsx      |    46 +-
 .../RunQueryActionButton.test.jsx                  |    53 +
 .../components/RunQueryActionButton/index.tsx      |    10 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |     3 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |     4 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |    10 +-
 .../components/ScheduleQueryButton/index.tsx       |     3 +-
 .../SqlLab/components/SouthPane/SouthPane.test.jsx |    50 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    32 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.jsx |     4 +-
 .../src/SqlLab/components/SqlEditor/index.jsx      |    60 +-
 .../SqlLab/components/SqlEditorLeftBar/index.jsx   |   240 -
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |   211 +
 .../TabbedSqlEditors/TabbedSqlEditors.test.jsx     |    16 +
 .../SqlLab/components/TabbedSqlEditors/index.jsx   |    68 +-
 .../src/SqlLab/components/TableElement/index.tsx   |     8 +-
 .../TemplateParamsEditor.test.tsx                  |     3 -
 .../components/TemplateParamsEditor/index.tsx      |     3 +-
 superset-frontend/src/SqlLab/fixtures.ts           |    40 +-
 .../src/SqlLab/reducers/getInitialState.js         |     1 +
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |     6 +-
 superset-frontend/src/SqlLab/types.ts              |    45 +
 .../src/addSlice/AddSliceContainer.tsx             |     8 +-
 superset-frontend/src/addSlice/App.tsx             |     2 +
 superset-frontend/src/assets/images/chart.svg      |    22 +
 superset-frontend/src/assets/images/dashboard.svg  |    33 +
 superset-frontend/src/assets/images/document.svg   |    22 +
 .../src/assets/images/empty_sql_chart.svg          |    22 +
 superset-frontend/src/assets/images/filter.svg     |    32 +
 superset-frontend/src/assets/images/icons/drag.svg |     6 +-
 superset-frontend/src/assets/images/pinot.png      |   Bin 0 -> 68618 bytes
 superset-frontend/src/assets/images/teradata.png   |   Bin 0 -> 93361 bytes
 superset-frontend/src/assets/images/yugabyte.png   |   Bin 0 -> 6460 bytes
 .../assets/stylesheets/less/cosmo/variables.less   |     6 +-
 .../src/assets/stylesheets/less/fonts.less         |     9 +-
 .../src/assets/stylesheets/less/variables.less     |     2 +-
 .../src/assets/stylesheets/superset.less           |     1 +
 superset-frontend/src/chart/Chart.jsx              |   297 -
 superset-frontend/src/chart/ChartContainer.jsx     |    40 -
 superset-frontend/src/chart/ChartErrorMessage.tsx  |    47 -
 superset-frontend/src/chart/ChartRenderer.jsx      |   242 -
 superset-frontend/src/chart/ChartRenderer.test.jsx |    46 -
 superset-frontend/src/chart/chartAction.js         |   597 -
 superset-frontend/src/chart/chartActions.test.js   |   198 -
 superset-frontend/src/chart/chartReducer.ts        |   226 -
 superset-frontend/src/chart/chartReducers.test.js  |    62 -
 superset-frontend/src/common/components/.eslintrc  |    34 -
 superset-frontend/src/common/components/index.tsx  |   261 -
 .../src/common/hooks/apiResources/dashboards.ts    |    44 -
 .../src/common/hooks/useUrlShortener.ts            |    39 -
 superset-frontend/src/components/.eslintrc         |    34 -
 superset-frontend/src/components/Alert/index.tsx   |     5 +-
 .../AlteredSliceTag/AlteredSliceTag.test.jsx       |    12 +
 .../AlteredSliceTag/AlteredSliceTagMocks.js        |     8 +
 .../src/components/AlteredSliceTag/index.jsx       |     7 +
 .../src/components/AnchorLink/AnchorLink.test.jsx  |     8 +-
 .../src/components/AnchorLink/index.jsx            |    11 +-
 .../src/components/AsyncAceEditor/index.tsx        |    14 +-
 .../src/components/AsyncEsmComponent/index.tsx     |    60 +-
 superset-frontend/src/components/Button/index.tsx  |    52 +-
 .../src/components/CertifiedBadge/index.tsx        |     9 +-
 superset-frontend/src/components/Chart/Chart.jsx   |   332 +
 .../src/components/Chart/ChartContainer.jsx        |    40 +
 .../src/components/Chart/ChartErrorMessage.tsx     |    47 +
 .../src/components/Chart/ChartRenderer.jsx         |   276 +
 .../src/components/Chart/ChartRenderer.test.jsx    |    46 +
 .../src/components/Chart/chartAction.js            |   597 +
 .../src/components/Chart/chartActions.test.js      |   198 +
 .../src/components/Chart/chartReducer.ts           |   227 +
 .../src/components/Chart/chartReducers.test.js     |    62 +
 .../src/components/Checkbox/Checkbox.stories.jsx   |    63 -
 .../src/components/Checkbox/Checkbox.stories.tsx   |    62 +
 .../src/components/Checkbox/Checkbox.tsx           |     2 +-
 .../src/components/Checkbox/index.tsx              |     2 +-
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |     1 +
 .../CopyToClipboard/CopyToClipboard.test.tsx       |    10 +
 .../src/components/CopyToClipboard/index.jsx       |    41 +-
 .../components/CronPicker/CronPicker.stories.tsx   |     3 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |    16 +-
 .../src/components/DatabaseSelector/index.tsx      |     4 +-
 .../Datasource/ChangeDatasourceModal.tsx           |     3 +-
 .../components/Datasource/CollectionTable.test.jsx |    48 +
 .../Datasource}/CollectionTable.tsx                |     0
 .../src/components/Datasource/DatasourceEditor.jsx |    88 +-
 .../Datasource/DatasourceEditor.test.jsx           |     2 +-
 .../components/Datasource/DatasourceModal.test.jsx |    30 +-
 .../src/components/Datasource/DatasourceModal.tsx  |    19 +-
 .../{CRUD => components/Datasource}/Field.test.tsx |     0
 .../src/{CRUD => components/Datasource}/Field.tsx  |     0
 .../{CRUD => components/Datasource}/Fieldset.tsx   |     0
 .../src/components/Datasource/crud.less            |    54 +
 .../src/{CRUD => components/Datasource}/utils.js   |     0
 .../src/components/DeleteModal/index.tsx           |     4 +-
 .../src/components/Dropdown/Dropdown.stories.tsx   |     2 +-
 .../src/components/Dropdown/index.tsx              |    21 +-
 .../DropdownButton/DropdownButton.stories.tsx      |     2 +-
 .../src/components/DropdownButton/index.tsx        |     6 +-
 .../src/components/EditableTitle/index.tsx         |     1 +
 .../components/EmptyState/EmptyState.stories.tsx   |    73 +
 .../src/components/EmptyState/index.tsx            |   215 +
 .../src/components/FacePile/FacePile.test.tsx      |     2 +-
 .../src/components/FacePile/index.tsx              |     2 +-
 .../src/components/FaveStar/index.tsx              |     2 +-
 .../FilterableTable/FilterableTable.test.tsx       |    97 +-
 .../components/FilterableTable/FilterableTable.tsx |    85 +-
 .../FilterableTable/FilterableTableStyles.less     |     1 +
 .../src/components/FlashProvider/index.tsx         |     2 +-
 superset-frontend/src/components/Form/Form.tsx     |     4 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |     2 +-
 .../src/components/FormRow/FormRow.test.jsx        |     2 +-
 superset-frontend/src/components/FormRow/index.jsx |     2 +-
 superset-frontend/src/components/Icons/Icon.tsx    |     2 +-
 superset-frontend/src/components/Icons/IconType.ts |     2 +-
 .../components/ImportModal/ImportModal.test.tsx    |     2 +-
 .../src/components/ImportModal/index.tsx           |     4 +-
 .../src/components/IndeterminateCheckbox/index.tsx |     8 +-
 superset-frontend/src/components/Input/index.tsx   |    35 +
 superset-frontend/src/components/Label/index.tsx   |     2 +-
 .../src/components/ListView/Filters/Search.tsx     |     7 +-
 .../src/components/ListView/ListView.test.jsx      |     2 +-
 .../src/components/ListView/ListView.tsx           |     3 +-
 superset-frontend/src/components/ListView/utils.ts |    11 +-
 .../src/components/ListViewCard/ImageLoader.tsx    |     4 +-
 .../ListViewCard/ListViewCard.stories.tsx          |     7 +-
 .../src/components/ListViewCard/index.tsx          |    14 +-
 .../src/components/Menu/LanguagePicker.test.tsx    |    68 -
 .../src/components/Menu/LanguagePicker.tsx         |    85 -
 .../src/components/Menu/Menu.test.tsx              |   394 -
 superset-frontend/src/components/Menu/Menu.tsx     |   360 -
 .../src/components/Menu/MenuRight.tsx              |   240 -
 .../src/components/Menu/SubMenu.test.tsx           |   100 -
 superset-frontend/src/components/Menu/SubMenu.tsx  |   251 -
 superset-frontend/src/components/Menu/index.tsx    |   168 +
 .../components/MessageToasts/ToastContainer.jsx    |    28 -
 .../components/MessageToasts/ToastContainer.tsx    |    30 +
 .../components/MessageToasts/ToastPresenter.tsx    |    29 +-
 .../src/components/MessageToasts/withToasts.tsx    |     3 +-
 superset-frontend/src/components/Modal/Modal.tsx   |     5 +-
 .../ModalTrigger/ModalTrigger.stories.tsx          |     2 +-
 .../src/components/ModalTrigger/index.jsx          |     2 +
 .../OmniContainer/OmniContainer.test.tsx           |   150 -
 .../src/components/OmniContainer/Omnibar.test.tsx  |    38 -
 .../src/components/OmniContainer/Omnibar.tsx       |    45 -
 .../src/components/OmniContainer/getDashboards.ts  |    54 -
 .../src/components/OmniContainer/index.tsx         |   108 -
 superset-frontend/src/components/Popover/index.tsx |     3 +
 .../src/components/PopoverDropdown/index.tsx       |     7 +-
 .../src/components/RefreshLabel/index.tsx          |     4 +-
 .../HeaderReportActionsDropdown/index.tsx          |     3 +-
 .../src/components/ReportModal/index.tsx           |   115 +-
 .../src/components/ReportModal/styles.tsx          |    26 +-
 .../src/components/Select/DeprecatedSelect.tsx     |     4 +-
 .../src/components/Select/Select.stories.tsx       |    48 +-
 .../src/components/Select/Select.test.tsx          |   277 +-
 superset-frontend/src/components/Select/Select.tsx |   531 +-
 .../components/Select/WindowedSelect/windowed.tsx  |     9 +-
 superset-frontend/src/components/Select/styles.tsx |    10 +-
 superset-frontend/src/components/Select/utils.ts   |    44 +-
 superset-frontend/src/components/Slider/index.tsx  |     4 +-
 .../src/components/TableCollection/index.tsx       |    27 +-
 .../TableSelector/TableSelector.test.tsx           |    86 +-
 .../src/components/TableSelector/index.tsx         |    10 +-
 .../src/components/TableView/TableView.stories.tsx |    28 +-
 .../src/components/TableView/TableView.test.tsx    |    18 +
 .../src/components/TableView/TableView.tsx         |     5 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |     8 +-
 .../TimezoneSelector/TimezoneSelector.stories.tsx  |     4 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |   180 +-
 .../src/components/TimezoneSelector/index.tsx      |    71 +-
 .../URLShortLinkButton/URLShortLinkButton.test.tsx |    52 +-
 .../src/components/URLShortLinkButton/index.jsx    |    27 +-
 .../src/components/UiConfigContext/index.tsx       |    57 +
 superset-frontend/src/components/index.ts          |    56 +
 superset-frontend/src/constants.ts                 |    45 +
 superset-frontend/src/dashboard/.eslintrc          |    31 -
 .../src/dashboard/actions/dashboardInfo.ts         |    27 +-
 .../src/dashboard/actions/dashboardLayout.js       |     6 +-
 .../dashboard/actions/dashboardLayout.test.js}     |     0
 .../src/dashboard/actions/dashboardState.js        |    82 +-
 .../src/dashboard/actions/dashboardState.test.js   |   125 +
 superset-frontend/src/dashboard/actions/hydrate.js |    32 +-
 .../src/dashboard/actions/nativeFilters.ts         |    35 +-
 .../src/dashboard/components/AddSliceCard.jsx      |     1 -
 .../dashboard/components/BuilderComponentPane.tsx  |    10 +
 .../CrossFilterScopingForm/index.tsx               |     6 +-
 .../CrossFilterScopingModal.tsx                    |     4 +-
 .../components/CrossFilterScopingModal/types.ts    |     4 +-
 .../CrossFilterScopingModal/utils/index.ts         |     2 +-
 .../src/dashboard/components/CssEditor/index.jsx   |     7 +-
 .../src/dashboard/components/Dashboard.jsx         |     2 -
 .../dashboard/components/Dashboard.test.jsx}       |     0
 .../DashboardBuilder/DashboardBuilder.test.jsx}    |     0
 .../DashboardBuilder/DashboardBuilder.tsx          |    83 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    69 +-
 .../dashboard/components/DashboardBuilder/state.ts |    21 +-
 .../components/DashboardEmbedControls.tsx          |   228 +
 .../src/dashboard/components/DashboardGrid.jsx     |   229 +-
 .../dashboard/components/DashboardGrid.test.jsx}   |     0
 .../dashboard/components/DeleteComponentButton.jsx |    40 -
 .../dashboard/components/DeleteComponentButton.tsx |    31 +
 .../components/FiltersBadge/DetailsPanel/index.tsx |     2 +-
 .../components/FiltersBadge/FiltersBadge.test.tsx  |   225 +
 .../dashboard/components/FiltersBadge/Styles.tsx   |   100 +-
 .../dashboard/components/FiltersBadge/index.tsx    |     5 +-
 .../dashboard/components/FiltersBadge/selectors.ts |    44 +-
 .../HeaderActionsDropdown.test.tsx                 |     8 +-
 .../Header/HeaderActionsDropdown/index.jsx         |    26 +-
 .../src/dashboard/components/Header/index.jsx      |    53 +-
 .../dashboard/components/MissingChart.test.tsx}    |     0
 .../PropertiesModal/PropertiesModal.test.jsx}      |     0
 .../PropertiesModal/PropertiesModal.test.tsx       |     1 +
 .../dashboard/components/PropertiesModal/index.tsx |    50 +-
 .../components/RefreshIntervalModal.test.tsx       |   239 +
 .../dashboard/components/RefreshIntervalModal.tsx  |     2 +
 .../src/dashboard/components/SaveModal.tsx         |     3 +-
 .../src/dashboard/components/SliceAdder.jsx        |     2 +-
 .../dashboard/components/SliceAdder.test.jsx}      |     0
 .../components/SliceHeader/SliceHeader.test.tsx    |     5 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    61 +-
 .../SliceHeaderControls.test.tsx                   |     9 +-
 .../components/SliceHeaderControls/index.tsx       |    32 +-
 .../components/UndoRedoKeyListeners/index.jsx      |     4 +-
 .../components/dnd/DragDroppable.test.jsx}         |     0
 .../src/dashboard/components/dnd/DragHandle.tsx    |    38 +-
 .../components/filterscope/FilterScopeSelector.jsx |     4 +-
 .../dashboard/components/gridComponents/Chart.jsx  |    66 +-
 .../components/gridComponents/Chart.test.jsx       |   143 +
 .../components/gridComponents/ChartHolder.jsx      |    15 +-
 .../components/gridComponents/ChartHolder.test.jsx |   138 +
 .../components/gridComponents/ChartHolder.test.tsx |    20 +-
 .../components/gridComponents/Column.test.jsx}     |     0
 .../components/gridComponents/Divider.test.jsx}    |     0
 .../components/gridComponents/DynamicComponent.tsx |   177 +
 .../components/gridComponents/Header.test.jsx}     |     0
 .../components/gridComponents/Markdown.test.jsx}   |     0
 .../components/gridComponents/Row.test.jsx}        |     0
 .../dashboard/components/gridComponents/Tab.jsx    |    69 +-
 .../components/gridComponents/Tab.test.jsx}        |     0
 .../components/gridComponents/Tab.test.tsx         |    77 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |     4 +-
 .../components/gridComponents/Tabs.test.jsx        |   205 +
 .../components/gridComponents/Tabs.test.tsx        |     2 +-
 .../dashboard/components/gridComponents/index.js   |     4 +
 .../gridComponents/new/DraggableNewComponent.jsx   |     4 +-
 .../new/DraggableNewComponent.test.jsx}            |     0
 .../gridComponents/new/NewColumn.test.jsx}         |     0
 .../gridComponents/new/NewDivider.test.jsx}        |     0
 .../gridComponents/new/NewDynamicComponent.tsx     |    43 +
 .../gridComponents/new/NewHeader.test.jsx}         |     0
 .../components/gridComponents/new/NewRow.test.jsx} |     0
 .../gridComponents/new/NewTabs.test.jsx}           |     0
 .../dashboard/components/menu/HoverMenu.test.tsx}  |     0
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |    20 +-
 .../components/menu/ShareMenuItems/index.tsx       |    68 +-
 .../components/menu/WithPopoverMenu.test.jsx}      |     0
 .../FilterBar/ActionButtons/ActionButtons.test.tsx |    79 +
 .../FilterBar/ActionButtons/index.tsx              |   125 +
 .../CascadeFilterControl.test.tsx                  |    95 -
 .../CascadeFilters/CascadeFilterControl/index.tsx  |    74 -
 .../CascadeFilters/CascadePopover/index.tsx        |   241 -
 .../FilterBar/CascadeFilters/types.ts              |    25 -
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |     4 +-
 .../FilterBar/FilterConfigurationLink/index.tsx    |     3 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |    43 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    85 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    74 +-
 .../FilterBar/FilterControls/state.ts              |    28 +-
 .../FilterBar/FilterControls/types.ts              |     5 +-
 .../FilterBar/FilterControls/utils.ts              |    26 -
 .../FilterBar/FilterSets/EditSection.tsx           |     9 +-
 .../FilterBar/FilterSets/FilterSetUnit.tsx         |    24 +-
 .../FilterBar/FilterSets/FiltersHeader.tsx         |    32 +-
 .../nativeFilters/FilterBar/FilterSets/index.tsx   |    17 +-
 .../FilterSets/utils/findExistingFilterSet.test.ts |     2 +-
 .../FilterBar/FilterSets/utils/index.ts            |     4 +-
 .../nativeFilters/FilterBar/Header/Header.test.tsx |    60 -
 .../nativeFilters/FilterBar/Header/index.tsx       |   105 +-
 .../components/nativeFilters/FilterBar/index.tsx   |   394 +-
 .../nativeFilters/FilterBar/keyValue.tsx           |    52 +-
 .../components/nativeFilters/FilterBar/state.ts    |    12 +-
 .../components/nativeFilters/FilterBar/utils.ts    |    21 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |   116 +
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |   306 +
 .../nativeFilters/FilterCard/FilterCardContent.tsx |    34 +
 .../nativeFilters/FilterCard/NameRow.tsx           |    50 +
 .../nativeFilters/FilterCard/ScopeRow.tsx          |    85 +
 .../components/nativeFilters/FilterCard/Styles.ts  |    94 +
 .../FilterCard/TooltipWithTruncation.tsx           |    37 +
 .../nativeFilters/FilterCard/TypeRow.tsx           |    35 +
 .../components/nativeFilters/FilterCard/index.tsx  |    55 +
 .../components/nativeFilters/FilterCard/types.ts   |    36 +
 .../FilterCard/useFilterDependencies.ts            |    34 +
 .../nativeFilters/FilterCard/useFilterScope.ts     |   152 +
 .../nativeFilters/FilterCard/useTruncation.ts      |    58 +
 .../FiltersConfigModal/DividerConfigForm.tsx       |     5 +-
 .../FiltersConfigModal/DraggableFilter.tsx         |    17 +-
 .../FiltersConfigModal/FilterConfigPane.test.tsx   |    55 +-
 .../FiltersConfigModal/FilterConfigurePane.tsx     |    19 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   237 +-
 .../FiltersConfigModal/FilterTitlePane.tsx         |    76 +-
 .../FiltersConfigForm/CollapsibleControl.tsx       |    12 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |     5 +-
 .../FiltersConfigForm/DefaultValue.tsx             |     2 +-
 .../FiltersConfigForm/DependencyList.tsx           |   213 +
 .../FilterScope/FilterScope.test.tsx               |    16 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |    13 +-
 .../FiltersConfigForm/FilterScope/ScopingTree.tsx  |     8 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |    14 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   673 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |     7 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |    15 +-
 .../FiltersConfigModal/FiltersConfigForm/state.ts  |    11 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |     2 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    46 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |   275 +-
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |   141 +
 .../nativeFilters/FiltersConfigModal/state.ts      |     6 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |    19 +-
 .../nativeFilters/FiltersConfigModal/utils.ts      |   180 +-
 .../dashboard/components/nativeFilters/state.ts    |    43 +-
 .../dashboard/components/nativeFilters/types.ts    |    80 -
 .../dashboard/components/nativeFilters/utils.ts    |    23 +-
 .../resizable/ResizableContainer.test.tsx}         |     0
 .../components/resizable/ResizableHandle.test.tsx} |     0
 superset-frontend/src/dashboard/constants.ts       |     9 +
 .../src/dashboard/containers/Chart.jsx             |     8 +-
 .../src/dashboard/containers/Dashboard.ts          |     2 +-
 .../dashboard/containers/DashboardComponent.jsx    |     2 +
 .../src/dashboard/containers/DashboardGrid.jsx     |     6 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    61 +-
 .../src/dashboard/containers/DashboardRoute.tsx    |    28 +
 .../src/dashboard/fixtures/mockNativeFilters.ts    |    76 +
 .../dashboard/reducers/dashboardFilters.test.js}   |     0
 .../dashboard/reducers/dashboardLayout.test.js}    |     0
 .../src/dashboard/reducers/dashboardState.js       |    30 +
 .../src/dashboard/reducers/dashboardState.test.js  |   207 +
 .../src/dashboard/reducers/nativeFilters.ts        |     7 +-
 .../dashboard/reducers/sliceEntities.test.js}      |     0
 superset-frontend/src/dashboard/reducers/types.ts  |    27 +-
 superset-frontend/src/dashboard/styles.ts          |    47 +
 .../src/dashboard/stylesheets/builder.less         |     1 +
 .../dashboard/stylesheets/components/header.less   |     2 +-
 .../dashboard/stylesheets/components/markdown.less |     6 +-
 .../src/dashboard/stylesheets/dnd.less             |    27 -
 superset-frontend/src/dashboard/types.ts           |    21 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |    13 +-
 .../src/dashboard/util/activeDashboardFilters.js   |     8 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |    16 +-
 .../dashboard/util/componentIsResizable.test.ts}   |     0
 .../src/dashboard/util/componentIsResizable.ts     |    13 +-
 .../src/dashboard/util/componentTypes.ts           |     3 +
 superset-frontend/src/dashboard/util/constants.ts  |     1 +
 .../dashboard/util/dnd-reorder.test.js}            |     0
 .../dashboard/util/dropOverflowsParent.test.js}    |     0
 .../util/filterboxMigrationHelper.test.ts          |     2 -
 .../src/dashboard/util/filterboxMigrationHelper.ts |    13 +-
 .../util/findFirstParentContainer.test.js}         |     0
 .../dashboard/util/findParentId.test.js}           |     0
 .../src/dashboard/util/findPermission.test.ts      |     1 +
 .../util/findTabIndexByComponentId.test.js}        |     0
 .../getChartAndLabelComponentIdFromPath.test.js}   |     0
 .../dashboard/util/getChartIdsFromLayout.test.js}  |     0
 .../src/dashboard/util/getChartIdsInFilterScope.ts |    44 +
 .../src/dashboard/util/getDashboardUrl.test.js     |    93 +
 .../dashboard/util/getDetailedComponentWidth.js    |     2 +
 .../util/getDetailedComponentWidth.test.js}        |     0
 .../src/dashboard/util/getDropPosition.js          |     9 -
 .../dashboard/util/getDropPosition.test.js}        |     0
 .../util/getEffectiveExtraFilters.test.js}         |     0
 .../util/getFilterConfigsFromFormdata.test.js}     |     0
 .../util/getFilterScopeFromNodesTree.test.js}      |     0
 .../util/getFormDataWithExtraFilters.test.ts       |   104 +
 .../util/getLeafComponentIdFromPath.test.js}       |     0
 .../dashboard/util/isDashboardEmpty.test.ts}       |     0
 .../src/dashboard/util/isDashboardEmpty.ts         |     8 +-
 .../dashboard/util/isValidChild.test.ts}           |     0
 .../src/dashboard/util/isValidChild.ts             |     5 +
 .../src/dashboard/util/newComponentFactory.js      |     6 +
 .../dashboard/util/newComponentFactory.test.js}    |     0
 .../dashboard/util/newEntitiesFromDrop.test.js}    |     0
 .../util/updateComponentParentsList.test.js}       |     0
 superset-frontend/src/dataMask/actions.ts          |     4 +-
 superset-frontend/src/dataMask/reducer.ts          |    20 +-
 superset-frontend/src/dataMask/types.ts            |    29 -
 superset-frontend/src/embedded/index.tsx           |   170 +
 superset-frontend/src/explore/App.jsx              |     2 +
 .../explore/actions/exploreActions.test.js}        |     0
 .../src/explore/actions/exploreActions.ts          |    26 +
 .../src/explore/components/ControlHeader.jsx       |   174 -
 .../explore/components/ControlHeader.stories.tsx   |    77 +
 .../src/explore/components/ControlHeader.tsx       |   158 +
 .../src/explore/components/ControlPanelAlert.tsx   |    98 +
 .../components/ControlPanelsContainer.test.tsx     |   102 +
 .../explore/components/ControlPanelsContainer.tsx  |   365 +-
 .../explore/components/ControlRow.test.tsx}        |     0
 .../explore/components/DataTableControl/index.tsx  |   214 +-
 .../DataTableControl/useTableColumns.test.ts       |    29 +-
 .../DataTablesPane/DataTablesPane.test.tsx         |    17 +-
 .../explore/components/DataTablesPane/index.tsx    |   116 +-
 .../DatasourcePanelDragOption/index.tsx            |    34 +-
 .../explore/components/DatasourcePanel/index.tsx   |   116 +-
 .../src/explore/components/EmbedCodeButton.jsx     |   174 -
 .../src/explore/components/EmbedCodeContent.jsx    |   153 +
 .../explore/components/EmbedCodeContent.test.jsx   |    48 +
 .../explore/components/ExploreActionButtons.tsx    |   228 -
 .../ExploreAdditionalActionsMenu.test.tsx          |   202 +-
 .../ExploreAdditionalActionsMenu/ExploreReport.tsx |    92 +
 .../ExploreAdditionalActionsMenu/index.jsx         |   479 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |    12 +-
 .../components/ExploreChartHeader/index.jsx        |   103 +-
 .../src/explore/components/ExploreChartPanel.jsx   |     4 +-
 .../explore/components/ExploreChartPanel.test.jsx} |     0
 .../explore/components/ExploreViewContainer.jsx    |   671 -
 .../ExploreViewContainer.test.tsx                  |   123 +
 .../components/ExploreViewContainer/index.jsx      |   724 +
 .../components/ExportToCSVDropdown/index.tsx       |     7 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   153 +-
 .../explore/components/PropertiesModal/index.tsx   |    42 +-
 .../src/explore/components/QueryAndSaveBtns.jsx    |   132 -
 .../components/QueryAndSaveBtns.stories.tsx        |    48 +
 .../explore/components/QueryAndSaveBtns.test.jsx}  |     0
 .../src/explore/components/QueryAndSaveBtns.tsx    |   124 +
 .../src/explore/components/RowCountLabel.jsx       |    59 -
 .../explore/components/RowCountLabel.stories.tsx   |    59 +
 .../explore/components/RowCountLabel.test.jsx}     |     0
 .../src/explore/components/RowCountLabel.tsx       |    53 +
 .../src/explore/components/SaveModal.test.jsx      |   323 +
 .../src/explore/components/SaveModal.tsx           |    16 +-
 .../controls/AnnotationLayerControl/index.jsx      |    26 +-
 .../explore/components/controls/BoundsControl.jsx  |   129 -
 .../components/controls/BoundsControl.stories.tsx  |    54 +
 .../components/controls/BoundsControl.test.jsx}    |     0
 .../explore/components/controls/BoundsControl.tsx  |   105 +
 .../components/controls/CheckboxControl.test.tsx}  |     0
 .../controls/CollectionControl/index.jsx           |     2 +-
 .../controls/ColorPickerControl.test.tsx}          |     0
 .../ColorSchemeControl/ColorScheme.test.jsx}       |     0
 .../ConditionalFormattingControl.tsx               |     2 +-
 .../FormattingPopoverContent.tsx                   |    33 +-
 .../ControlPopover/ControlPopover.test.tsx         |   126 +
 .../controls/ControlPopover/ControlPopover.tsx     |   118 +
 .../components/controls/CustomListItem/index.tsx   |     2 +-
 .../DatasourceControl/DatasourceControl.test.jsx   |   133 +
 .../DatasourceControl/DatasourceControl.test.tsx   |     1 +
 .../controls/DatasourceControl/index.jsx           |    45 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |   160 +-
 .../DateFilterControl/components/AdvancedFrame.tsx |     2 +-
 .../DateFilterControl/components/CustomFrame.tsx   |    11 +-
 .../components/controls/DateFilterControl/types.ts |     1 -
 .../controls/DateFilterControl/utils/constants.ts  |    39 +-
 .../DateFilterControl/utils/dateFilterUtils.ts     |    18 +-
 .../controls/DateFilterControl/utils/utils.test.ts |    19 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |   156 +-
 .../ColumnSelectPopoverTrigger.tsx                 |    23 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |     7 +-
 .../DndColumnSelectPopoverTitle.jsx                |     2 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |     2 +-
 .../DndColumnSelectControl/OptionWrapper.tsx       |     1 -
 .../FilterBoxItemControl.test.jsx                  |   108 +
 .../FilterBoxItemControl.test.tsx                  |     4 +-
 .../controls/FilterBoxItemControl/index.jsx        |     7 +-
 .../index.tsx                                      |    46 +-
 .../AdhocFilterPopoverTrigger.test.tsx             |     3 +-
 .../AdhocFilterPopoverTrigger/index.tsx            |     7 +-
 .../explore/components/controls/HiddenControl.tsx  |     2 +-
 .../controls/MetricControl/AdhocMetric.test.js}    |     0
 .../AdhocMetricEditPopover.test.jsx                |   127 +
 .../MetricControl/AdhocMetricEditPopover/index.jsx |    41 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.jsx  |     2 +-
 .../AdhocMetricEditPopoverTitle.test.jsx}          |     0
 .../MetricControl/AdhocMetricOption.test.jsx       |    85 +
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |     6 +-
 .../MetricControl/AggregateOption.test.tsx}        |     0
 .../MetricControl/FilterDefinitionOption.test.jsx  |    53 +
 .../MetricControl/MetricDefinitionOption.test.jsx} |     0
 .../MetricControl/MetricDefinitionValue.test.jsx}  |     0
 .../controls/MetricControl/MetricsControl.jsx      |     2 +-
 .../MetricControl/MetricsControl.test.jsx}         |     0
 .../components/controls/OptionControls/index.tsx   |    11 +-
 .../explore/components/controls/SelectControl.jsx  |    16 +-
 .../components/controls/SelectControl.test.jsx     |   170 +
 .../explore/components/controls/SliderControl.jsx  |    43 -
 .../components/controls/SliderControl.stories.tsx  |    45 +
 .../explore/components/controls/SliderControl.tsx  |    37 +
 .../explore/components/controls/SpatialControl.jsx |     2 +-
 .../components/controls/TextAreaControl.jsx        |     8 +-
 .../components/controls/TextAreaControl.test.jsx   |    65 +
 .../components/controls/TextControl/index.tsx      |     2 +-
 .../controls/TimeSeriesColumnControl/index.jsx     |    11 +-
 .../explore/components/controls/ViewQueryModal.tsx |     2 +-
 .../components/controls/ViewportControl.test.jsx}  |     0
 .../VizTypeControl/VizTypeControl.test.jsx}        |     0
 .../VizTypeControl/VizTypeControl.test.tsx         |     2 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |    88 +-
 .../controls/withAsyncVerification.test.tsx}       |     0
 .../explore/components/useTimeFormattedColumns.ts  |    27 +
 superset-frontend/src/explore/constants.ts         |     1 +
 .../src/explore/controlPanels/sections.tsx         |    23 +-
 .../src/explore/controlUtils/controlUtils.test.tsx |   220 +
 .../getControlValuesCompatibleWithDatasource.ts    |    99 +
 .../src/explore/controlUtils/index.ts              |     1 +
 superset-frontend/src/explore/controls.jsx         |     8 +-
 .../src/explore/exploreUtils/exploreUtils.test.jsx |   278 +
 .../src/explore/exploreUtils/formData.test.ts      |    28 +
 .../src/explore/exploreUtils/formData.ts           |    80 +
 .../explore/exploreUtils/getExploreLongUrl.test.ts |   134 -
 .../exploreUtils/getSimpleSQLExpression.test.ts    |     8 +
 .../src/explore/exploreUtils/index.js              |    72 +-
 .../{spec/javascripts => src}/explore/fixtures.tsx |     0
 .../src/explore/reducers/exploreReducer.js         |    64 +-
 .../src/explore/reducers/getInitialState.ts        |    10 +-
 superset-frontend/src/explore/reducers/index.js    |     2 +-
 .../store_spec.jsx => src/explore/store.test.jsx}  |     0
 .../components/GroupBy/GroupByFilterPlugin.tsx     |     5 +-
 .../src/filters/components/GroupBy/controlPanel.ts |     9 +-
 .../filters/components/GroupBy/transformProps.ts   |    11 +-
 .../src/filters/components/GroupBy/types.ts        |     1 +
 .../filters/components/Range/RangeFilterPlugin.tsx |    16 +-
 .../src/filters/components/Range/controlPanel.ts   |     6 +-
 .../src/filters/components/Range/transformProps.ts |    11 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    27 +-
 .../components/Select/SelectFilterPlugin.tsx       |    21 +-
 .../src/filters/components/Select/controlPanel.ts  |    11 +-
 .../filters/components/Select/transformProps.ts    |    11 +-
 .../src/filters/components/Select/types.ts         |     6 +-
 .../filters/components/Time/TimeFilterPlugin.tsx   |    13 +-
 .../src/filters/components/Time/controlPanel.ts    |     6 +-
 .../src/filters/components/Time/transformProps.ts  |    11 +-
 .../src/filters/components/Time/types.ts           |     2 +
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |     5 +-
 .../filters/components/TimeColumn/controlPanel.ts  |     6 +-
 .../components/TimeColumn/transformProps.ts        |    11 +-
 .../src/filters/components/TimeColumn/types.ts     |     1 +
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |     5 +-
 .../filters/components/TimeGrain/controlPanel.ts   |     6 +-
 .../filters/components/TimeGrain/transformProps.ts |    12 +-
 .../src/filters/components/TimeGrain/types.ts      |     1 +
 superset-frontend/src/filters/components/types.ts  |     1 +
 .../hooks/apiResources/apiResources.test.ts        |     0
 .../hooks/apiResources/apiResources.ts             |     0
 .../src/{common => }/hooks/apiResources/charts.ts  |     0
 .../src/hooks/apiResources/dashboards.ts           |    47 +
 .../src/{common => }/hooks/apiResources/index.ts   |     0
 .../{common => }/hooks/useChangeEffect/index.ts    |     0
 .../hooks/useChangeEffect/useChangeEffect.test.ts  |     0
 .../hooks/useChangeEffect/useChangeEffect.ts       |     0
 .../hooks/useComponentDidMount/index.ts            |     0
 .../useComponentDidMount.test.ts                   |     0
 .../useComponentDidMount/useComponentDidMount.ts   |     0
 .../hooks/useComponentDidUpdate/index.ts           |     0
 .../useComponentDidUpdate.test.ts                  |     0
 .../useComponentDidUpdate/useComponentDidUpdate.ts |     0
 .../{common => }/hooks/useElementOnScreen/index.ts |     0
 .../src/{common => }/hooks/usePrevious/index.ts    |     0
 .../hooks/usePrevious/usePrevious.test.ts          |     0
 .../{common => }/hooks/usePrevious/usePrevious.ts  |     0
 superset-frontend/src/hooks/useTabId.ts            |    73 +
 superset-frontend/src/logger/LogUtils.ts           |     2 -
 superset-frontend/src/middleware/asyncEvent.ts     |    25 +-
 superset-frontend/src/preamble.ts                  |    38 +-
 superset-frontend/src/profile/App.tsx              |     2 +
 .../src/profile/components/App.test.tsx            |     2 +-
 superset-frontend/src/profile/components/App.tsx   |     2 +-
 .../src/profile/components/fixtures.tsx            |     1 +
 superset-frontend/src/reports/actions/reports.js   |    21 +-
 superset-frontend/src/setup/setupClient.ts         |    13 +-
 superset-frontend/src/setup/setupColors.ts         |    25 +-
 .../src/setup/setupDasboardComponents.ts           |    31 +
 superset-frontend/src/setup/setupPlugins.ts        |     5 +-
 superset-frontend/src/showSavedQuery/index.jsx     |    25 +-
 superset-frontend/src/showSavedQuery/index.less    |    25 -
 superset-frontend/src/types/Chart.ts               |     2 +
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/types/brace.d.ts             |     1 +
 superset-frontend/src/utils/common.js              |    26 +-
 superset-frontend/src/utils/common.test.jsx        |    67 +-
 superset-frontend/src/utils/functionalRegistry.ts  |    83 +
 superset-frontend/src/utils/localStorageHelpers.ts |     2 +
 .../src/utils/rankedSearchCompare.test.ts          |    48 +
 superset-frontend/src/utils/rankedSearchCompare.ts |    38 +
 .../src/utils/sortNumericValues.test.ts            |    61 +
 superset-frontend/src/utils/sortNumericValues.ts   |    52 +
 superset-frontend/src/utils/urlUtils.ts            |   107 +-
 superset-frontend/src/views/App.tsx                |    49 +-
 .../src/views/CRUD/alert/AlertList.test.jsx        |     2 +-
 .../src/views/CRUD/alert/AlertList.tsx             |     2 +-
 .../src/views/CRUD/alert/AlertReportModal.test.jsx |    18 +
 .../src/views/CRUD/alert/AlertReportModal.tsx      |    47 +-
 .../src/views/CRUD/alert/ExecutionLog.tsx          |    24 +-
 .../components/AlertReportCronScheduler.test.tsx   |     3 +-
 .../alert/components/AlertReportCronScheduler.tsx  |     3 +-
 .../CRUD/alert/components/AlertStatusIcon.tsx      |     4 +-
 .../views/CRUD/annotation/AnnotationList.test.jsx  |     2 +-
 .../src/views/CRUD/annotation/AnnotationList.tsx   |    32 +-
 .../CRUD/annotationlayers/AnnotationLayerModal.tsx |     4 +
 .../annotationlayers/AnnotationLayersList.test.jsx |     2 +-
 .../CRUD/annotationlayers/AnnotationLayersList.tsx |     2 +-
 .../src/views/CRUD/chart/ChartCard.tsx             |     7 +-
 .../src/views/CRUD/chart/ChartList.tsx             |    48 +-
 superset-frontend/src/views/CRUD/chart/types.ts    |     1 +
 .../CRUD/csstemplates/CssTemplatesList.test.jsx    |     2 +-
 .../views/CRUD/csstemplates/CssTemplatesList.tsx   |     2 +-
 .../src/views/CRUD/dashboard/DashboardCard.tsx     |    21 +-
 .../views/CRUD/dashboard/DashboardList.test.jsx    |    68 +-
 .../src/views/CRUD/dashboard/DashboardList.tsx     |    85 +-
 .../views/CRUD/data/database/DatabaseList.test.jsx |    25 +-
 .../src/views/CRUD/data/database/DatabaseList.tsx  |    64 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |     4 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |    30 +-
 .../data/database/DatabaseModal/ExtraOptions.tsx   |    20 +-
 .../data/database/DatabaseModal/SqlAlchemyForm.tsx |   140 +-
 .../data/database/DatabaseModal/index.test.jsx     |    37 +-
 .../CRUD/data/database/DatabaseModal/index.tsx     |    60 +-
 .../CRUD/data/database/DatabaseModal/styles.ts     |   161 +-
 .../src/views/CRUD/data/database/types.ts          |     4 +
 .../src/views/CRUD/data/dataset/DatasetList.tsx    |     3 +-
 .../src/views/CRUD/data/dataset/types.ts           |     1 +
 .../src/views/CRUD/data/query/QueryList.tsx        |     2 +-
 .../CRUD/data/savedquery/SavedQueryList.test.jsx   |     2 +-
 .../views/CRUD/data/savedquery/SavedQueryList.tsx  |     3 +-
 superset-frontend/src/views/CRUD/hooks.ts          |    16 +-
 superset-frontend/src/views/CRUD/utils.test.tsx    |    32 +
 superset-frontend/src/views/CRUD/utils.tsx         |    86 +-
 .../src/views/CRUD/welcome/ActivityTable.tsx       |     2 +-
 .../src/views/CRUD/welcome/ChartTable.tsx          |     6 +-
 .../src/views/CRUD/welcome/DashboardTable.tsx      |     6 +-
 .../src/views/CRUD/welcome/EmptyState.tsx          |     2 +-
 .../src/views/CRUD/welcome/SavedQueries.test.tsx   |     2 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |     9 +-
 .../src/views/CRUD/welcome/Welcome.tsx             |    27 +-
 .../src/views/RootContextProviders.tsx             |    55 +
 .../src/views/components/LanguagePicker.test.tsx   |    68 +
 .../src/views/components/LanguagePicker.tsx        |    85 +
 .../src/views/components/Menu.test.tsx             |   469 +
 superset-frontend/src/views/components/Menu.tsx    |   381 +
 .../src/views/components/MenuRight.tsx             |   349 +
 .../src/views/components/SubMenu.test.tsx          |   120 +
 superset-frontend/src/views/components/SubMenu.tsx |   302 +
 superset-frontend/src/views/components/types.ts    |    39 +
 superset-frontend/src/views/menu.tsx               |     2 +-
 superset-frontend/src/views/routes.tsx             |     8 +-
 superset-frontend/src/views/store.ts               |     2 +-
 .../src/visualizations/FilterBox/FilterBox.jsx     |     1 +
 .../visualizations/FilterBox/FilterBox.test.jsx}   |     0
 .../src/visualizations/TimeTable/TimeTable.jsx     |    33 +-
 .../TimeTable/TimeTableChartPlugin.ts              |    50 -
 .../TimeTable/controlPanel.js}                     |     0
 .../src/visualizations/TimeTable/index.ts          |    52 +
 .../DashboardComponentsRegistry.ts                 |    62 +
 .../ExampleComponent/ExampleComponent.tsx          |    33 +
 .../dashboardComponents/ExampleComponent/index.ts  |    28 +
 .../src/visualizations/presets/MainPreset.js       |     2 +-
 .../visualizations/presets/dashboardComponents.ts  |    30 +
 .../superset-ui-plugins-deckgl/.github/CODEOWNERS  |    12 -
 .../.github/ISSUE_TEMPLATE/bug_report.md           |    29 -
 .../.github/ISSUE_TEMPLATE/feature_request.md      |    17 -
 .../.github/ISSUE_TEMPLATE/question.md             |     8 -
 .../.github/PULL_REQUEST_TEMPLATE.md               |     9 -
 .../.github/issue_label_bot.yaml                   |     4 -
 .../.github/semantic.yml                           |     2 -
 .../superset-ui-plugins-deckgl/.gitignore          |    57 -
 .../superset-ui-plugins-deckgl/.npmrc              |     1 -
 .../superset-ui-plugins-deckgl/.nvmrc              |     1 -
 .../superset-ui-plugins-deckgl/.travis.yml         |    24 -
 .../superset-ui-plugins-deckgl/LICENSE             |   201 -
 .../superset-ui-plugins-deckgl/README.md           |    42 -
 .../commitlint.config.js                           |     1 -
 .../superset-ui-plugins-deckgl/lerna.json          |     9 -
 .../superset-ui-plugins-deckgl/package.json        |   158 -
 .../README.md                                      |    40 -
 .../package.json                                   |    44 -
 .../src/Kepler.css                                 |    20 -
 .../src/Kepler.jsx                                 |   146 -
 .../src/KeplerChartPlugin.js                       |    38 -
 .../src/images/thumbnail.png                       |   Bin 18421 -> 0 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 58662 -> 0 bytes
 .../src/index.js                                   |     2 -
 .../src/preset.js                                  |    29 -
 .../src/store.js                                   |    81 -
 .../src/transformProps.js                          |    34 -
 .../superset-ui-plugins-demo/.storybook/addons.js  |     5 -
 .../superset-ui-plugins-demo/.storybook/config.js  |    26 -
 .../.storybook/storybook.css                       |     8 -
 .../.storybook/webpack.config.js                   |    76 -
 .../packages/superset-ui-plugins-demo/README.md    |    53 -
 .../packages/superset-ui-plugins-demo/package.json |    55 -
 .../storybook/shared/dummyDatasource.ts            |     1 -
 .../storybook/stories/index.js                     |    75 -
 .../scripts/buildAssets.js                         |    23 -
 .../superset-ui-plugins-deckgl/yarn.lock           | 18825 -----
 .../superset-ui/.eslintignore                      |     9 -
 .../temporary_superset_ui/superset-ui/.eslintrc.js |   296 -
 .../superset-ui/.github/CODEOWNERS                 |    12 -
 .../.github/ISSUE_TEMPLATE/bug_report.md           |    35 -
 .../.github/ISSUE_TEMPLATE/feature_request.md      |    18 -
 .../superset-ui/.github/ISSUE_TEMPLATE/question.md |     8 -
 .../superset-ui/.github/PULL_REQUEST_TEMPLATE.md   |     9 -
 .../superset-ui/.github/config.yml                 |    14 -
 .../superset-ui/.github/dependabot.yml             |    53 -
 .../superset-ui/.github/issue_label_bot.yaml       |     4 -
 .../superset-ui/.github/semantic.yml               |     2 -
 .../superset-ui/.github/workflows/chromatic.yml    |    44 -
 .../superset-ui/.github/workflows/ci.yml           |    69 -
 .../superset-ui/.github/workflows/codecov.sh       |  1903 -
 .../temporary_superset_ui/superset-ui/.gitignore   |    49 -
 .../temporary_superset_ui/superset-ui/.nvmrc       |     1 -
 .../superset-ui/.prettierignore                    |    17 -
 .../superset-ui/.rat-excludes                      |    66 -
 .../temporary_superset_ui/superset-ui/CHANGELOG.md |  1313 -
 .../superset-ui/CONTRIBUTING.md                    |    71 -
 .../temporary_superset_ui/superset-ui/LICENSE      |   201 -
 .../temporary_superset_ui/superset-ui/README.md    |    80 -
 .../superset-ui/babel.config.js                    |    49 -
 .../temporary_superset_ui/superset-ui/codecov.yml  |    22 -
 .../superset-ui/commitlint.config.js               |    25 -
 .../superset-ui/docs/debugging.md                  |    27 -
 .../superset-ui/docs/storybook.md                  |    13 -
 .../superset-ui/jest.config.js                     |    77 -
 .../temporary_superset_ui/superset-ui/lerna.json   |    26 -
 .../superset-ui/package-lock.json                  | 83384 -------------------
 .../temporary_superset_ui/superset-ui/package.json |   167 -
 .../superset-ui/prettier.config.js                 |    23 -
 .../superset-ui/temporary-plugins/README.md        |     5 -
 .../README.md                                      |    33 -
 .../package.json                                   |    37 -
 .../src/ReactWordCloud.js                          |    22 -
 .../src/WordCloud.js                               |   100 -
 .../src/images/thumbnail.png                       |   Bin 24048 -> 0 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 117846 -> 0 bytes
 .../src/index.js                                   |    39 -
 .../src/transformProps.js                          |    42 -
 .../superset-ui-plugin-chart-table/README.md       |    33 -
 .../superset-ui-plugin-chart-table/package.json    |    40 -
 .../superset-ui-plugin-chart-table/src/Table.tsx   |   360 -
 .../src/TableFormData.ts                           |    31 -
 .../src/buildQuery.ts                              |    54 -
 .../src/components/HTMLRenderer.tsx                |    40 -
 .../src/createMetadata.ts                          |    31 -
 .../src/getRenderer.tsx                            |   171 -
 .../src/images/thumbnail.png                       |   Bin 31342 -> 0 bytes
 .../superset-ui-plugin-chart-table/src/index.ts    |    40 -
 .../src/legacy/index.ts                            |    38 -
 .../src/legacy/transformProps.ts                   |    93 -
 .../src/processColumns.ts                          |   137 -
 .../src/processData.ts                             |    76 -
 .../src/processMetrics.ts                          |    57 -
 .../src/transformProps.ts                          |   162 -
 .../superset-ui-plugin-chart-table/src/types.ts    |    22 -
 .../test/buildQuery.test.ts                        |    40 -
 .../test/processData.test.ts                       |    78 -
 .../test/processMetrics.test.ts                    |    53 -
 .../types/external.d.ts                            |    20 -
 .../plugin-chart-choropleth-map/README.md          |    33 -
 .../plugin-chart-choropleth-map/package.json       |    51 -
 .../src/chart/ChoroplethMap.tsx                    |   342 -
 .../src/chart/Encoder.ts                           |    69 -
 .../src/chart/MapMetadata.ts                       |    57 -
 .../src/chart/MapTooltip.tsx                       |    85 -
 .../src/chart/Projection.ts                        |    36 -
 .../src/chart/components.ts                        |    67 -
 .../src/chart/loadMap.ts                           |    30 -
 .../src/configureEncodable.ts                      |    83 -
 .../src/images/thumbnail.png                       |   Bin 1165 -> 0 bytes
 .../plugin-chart-choropleth-map/src/index.ts       |    22 -
 .../src/maps/belgium-topo.json                     |  3131 -
 .../src/maps/brazil-topo.json                      |  3930 -
 .../src/maps/bulgaria-topo.json                    | 16396 ----
 .../src/maps/canada-topo.json                      |  8227 --
 .../src/maps/china-topo.json                       |  4597 -
 .../src/maps/france-topo.json                      |  8740 --
 .../src/maps/germany-topo.json                     |  1850 -
 .../plugin-chart-choropleth-map/src/maps/index.ts  |   235 -
 .../src/maps/india-topo.json                       | 15073 ----
 .../src/maps/iran-topo.json                        |  2390 -
 .../src/maps/italy-topo.json                       |  5584 --
 .../src/maps/japan-topo.json                       |  7724 --
 .../src/maps/korea-topo.json                       |  2471 -
 .../src/maps/liechtenstein-topo.json               |  1605 -
 .../src/maps/morocco-topo.json                     |  3077 -
 .../src/maps/myanmar-topo.json                     |  5148 --
 .../src/maps/netherlands-topo.json                 |  1332 -
 .../src/maps/portugal-topo.json                    |  1911 -
 .../src/maps/russia-topo.json                      |  8430 --
 .../src/maps/singapore-topo.json                   |  7518 --
 .../src/maps/spain-topo.json                       |  3329 -
 .../src/maps/switzerland-topo.json                 | 11333 ---
 .../src/maps/thailand-topo.json                    |  9644 ---
 .../src/maps/timorleste-topo.json                  |  1585 -
 .../src/maps/uk-topo.json                          | 12370 ---
 .../src/maps/ukraine-topo.json                     |  2877 -
 .../src/maps/usa-topo.json                         | 22866 -----
 .../src/maps/world-topo.json                       | 27322 ------
 .../src/maps/zambia-topo.json                      |  3951 -
 .../src/plugin/index.ts                            |    37 -
 .../src/plugin/transformProps.ts                   |    33 -
 .../plugin-chart-choropleth-map/src/types.ts       |    43 -
 .../stories/ChoroplethMap.stories.tsx              |   126 -
 .../stories/generateFakeMapData.ts                 |    45 -
 .../stories/useFakeMapData.ts                      |    33 -
 .../plugin-chart-choropleth-map/test/index.test.ts |    26 -
 .../plugin-chart-choropleth-map/test/tsconfig.json |    19 -
 .../plugin-chart-choropleth-map/tsconfig.json      |    25 -
 .../types/external.d.ts                            |    20 -
 .../superset-ui/temporary-plugins/setupJest.js     |    25 -
 .../superset-ui-plugins-demo/.storybook/addons.js  |     5 -
 .../superset-ui-plugins-demo/.storybook/config.js  |    26 -
 .../.storybook/storybook.css                       |    20 -
 .../superset-ui-plugins-demo/README.md             |    53 -
 .../superset-ui-plugins-demo/package.json          |    55 -
 .../legacy-plugin-chart-word-cloud/Stories.tsx     |    46 -
 .../stories/legacy-plugin-chart-word-cloud/data.js |   422 -
 .../legacy-plugin-chart-word-cloud/index.js        |    27 -
 .../superset-ui/test/__mocks__/mockExportObject.js |    19 -
 .../superset-ui/test/__mocks__/mockExportString.js |    19 -
 .../superset-ui/test/__mocks__/svgrMock.tsx        |    29 -
 .../superset-ui/test/setup.ts                      |    26 -
 .../superset-ui/tsconfig.eslint.json               |    12 -
 .../superset-ui/tsconfig.json                      |   151 -
 .../tools/eslint-plugin-theme-colors/colors.js     |   172 +
 .../tools/eslint-plugin-theme-colors/index.js      |   114 +
 .../tools/eslint-plugin-theme-colors/package.json  |    17 +
 superset-frontend/tsconfig.json                    |     8 +-
 superset-frontend/webpack.config.js                |    56 +-
 superset/annotation_layers/annotations/api.py      |    12 +-
 .../annotations/commands/update.py                 |     4 +-
 superset/annotation_layers/annotations/schemas.py  |     8 +-
 superset/annotation_layers/api.py                  |    12 +-
 superset/cachekeys/api.py                          |     6 +-
 superset/cachekeys/schemas.py                      |    15 +-
 superset/charts/api.py                             |    20 +-
 superset/charts/commands/exceptions.py             |     4 +
 superset/charts/commands/export.py                 |     8 +-
 superset/charts/data/api.py                        |    43 +-
 superset/charts/post_processing.py                 |    41 +-
 superset/charts/schemas.py                         |   165 +-
 superset/cli.py                                    |   872 -
 docs/requirements.txt => superset/cli/__init__.py  |     0
 superset/cli/examples.py                           |   114 +
 superset/cli/importexport.py                       |   406 +
 superset/cli/lib.py                                |    48 +
 superset/cli/main.py                               |    80 +
 superset/cli/test.py                               |    88 +
 superset/cli/thumbnails.py                         |   110 +
 superset/cli/update.py                             |   182 +
 .../columns/__init__.py                            |     0
 superset/columns/models.py                         |   102 +
 superset/columns/schemas.py                        |    40 +
 superset/commands/base.py                          |     2 +-
 superset/commands/exceptions.py                    |     7 +-
 superset/commands/export.py                        |    69 -
 .../commands/export/__init__.py                    |     0
 superset/commands/export/assets.py                 |    64 +
 superset/commands/export/models.py                 |    68 +
 superset/commands/importers/exceptions.py          |     5 +
 superset/commands/importers/v1/__init__.py         |    63 +-
 superset/commands/importers/v1/assets.py           |   164 +
 superset/commands/importers/v1/examples.py         |     3 +-
 superset/commands/importers/v1/utils.py            |    58 +-
 superset/commands/utils.py                         |     4 +-
 superset/common/query_actions.py                   |    36 +-
 superset/common/query_context.py                   |    19 +-
 superset/common/query_context_factory.py           |     2 +-
 superset/common/query_context_processor.py         |    53 +-
 superset/common/query_object.py                    |    32 +-
 superset/common/query_object_factory.py            |    28 +-
 superset/common/request_contexed_based.py          |    16 +-
 superset/common/utils/dataframe_utils.py           |     4 +-
 superset/config.py                                 |   243 +-
 superset/connectors/base/models.py                 |    25 +-
 superset/connectors/druid/models.py                |     7 +-
 superset/connectors/druid/views.py                 |    20 +-
 superset/connectors/sqla/models.py                 |   753 +-
 superset/connectors/sqla/utils.py                  |   136 +-
 superset/connectors/sqla/views.py                  |   164 +-
 superset/constants.py                              |     3 +-
 superset/css_templates/api.py                      |     4 +-
 superset/dao/base.py                               |    28 +-
 superset/dashboards/api.py                         |   238 +-
 superset/dashboards/commands/export.py             |    18 +-
 superset/dashboards/commands/importers/v0.py       |     3 +-
 superset/dashboards/commands/importers/v1/utils.py |     6 +
 superset/dashboards/dao.py                         |     1 +
 superset/dashboards/filter_sets/api.py             |    12 +-
 superset/dashboards/filter_sets/commands/base.py   |     3 +-
 superset/dashboards/filter_sets/schemas.py         |     6 +-
 superset/dashboards/filter_state/api.py            |    32 +-
 .../dashboards/filter_state/commands/create.py     |    35 +-
 .../dashboards/filter_state/commands/delete.py     |    33 +-
 superset/dashboards/filter_state/commands/get.py   |    33 +-
 .../dashboards/filter_state/commands/update.py     |    40 +-
 superset/dashboards/filters.py                     |    62 +-
 .../dashboards/permalink/__init__.py               |     0
 superset/dashboards/permalink/api.py               |   172 +
 .../dashboards/permalink/commands/__init__.py      |     0
 superset/dashboards/permalink/commands/base.py     |    29 +
 superset/dashboards/permalink/commands/create.py   |    64 +
 superset/dashboards/permalink/commands/get.py      |    61 +
 superset/dashboards/permalink/exceptions.py        |    31 +
 superset/dashboards/permalink/schemas.py           |    42 +
 superset/dashboards/permalink/types.py             |    28 +
 superset/dashboards/schemas.py                     |    24 +-
 superset/databases/api.py                          |    39 +-
 superset/databases/commands/create.py              |     5 +-
 superset/databases/commands/exceptions.py          |     6 +-
 superset/databases/commands/export.py              |    37 +-
 superset/databases/commands/test_connection.py     |    36 +-
 superset/databases/commands/validate.py            |     6 +-
 superset/databases/dao.py                          |     6 +-
 superset/databases/filters.py                      |    20 +-
 superset/databases/schemas.py                      |    36 +-
 superset/dataframe.py                              |    10 +-
 superset/datasets/api.py                           |    22 +-
 superset/datasets/commands/exceptions.py           |     4 +
 superset/datasets/commands/export.py               |    43 +-
 superset/datasets/commands/importers/v0.py         |     5 +-
 superset/datasets/commands/update.py               |     3 +-
 superset/datasets/models.py                        |    92 +
 superset/datasets/schemas.py                       |    20 +
 superset/db_engine_specs/base.py                   |   344 +-
 superset/db_engine_specs/bigquery.py               |     3 +-
 superset/db_engine_specs/databricks.py             |    25 +-
 superset/db_engine_specs/drill.py                  |     7 +-
 superset/db_engine_specs/duckdb.py                 |    80 +
 superset/db_engine_specs/gsheets.py                |    17 +-
 superset/db_engine_specs/hive.py                   |     9 +-
 superset/db_engine_specs/kusto.py                  |   164 +
 superset/db_engine_specs/mssql.py                  |     2 +
 superset/db_engine_specs/mysql.py                  |    77 +-
 superset/db_engine_specs/postgres.py               |    46 +-
 superset/db_engine_specs/presto.py                 |   122 +-
 superset/db_engine_specs/teradata.py               |     8 +-
 superset/db_engine_specs/trino.py                  |    71 +-
 .../embedded/__init__.py                           |     0
 superset/embedded/dao.py                           |    53 +
 superset/embedded/view.py                          |    80 +
 superset/errors.py                                 |     5 +
 superset/examples/__init__.py                      |    18 -
 superset/examples/bart_lines.py                    |     2 +-
 superset/examples/birth_names.py                   |    22 +-
 .../charts/Age_distribution_of_respondents.yaml    |     3 -
 .../Are_you_an_ethnic_minority_in_your_city.yaml   |     3 -
 .../charts/Breakdown_of_Developer_Type.yaml        |     3 -
 superset/examples/configs/charts/Commute_Time.yaml |     3 -
 .../configs/charts/Country_of_Citizenship.yaml     |     3 -
 .../configs/charts/Cross_Channel_Relationship.yaml |     3 -
 .../Cross_Channel_Relationship_heatmap_2786.yaml   |     3 -
 ...elopers_Is_this_your_first_development_job.yaml |     3 -
 .../examples/configs/charts/Degrees_vs_Income.yaml |     3 -
 .../configs/charts/Ethnic_Minority__Gender.yaml    |     3 -
 .../examples/configs/charts/Filter_Segments.yaml   |     3 -
 .../configs/charts/Filtering_Vaccines.yaml         |     3 -
 .../configs/charts/First_Time_Developer.yaml       |     3 -
 .../charts/First_Time_Developer__Commute_Time.yaml |     3 -
 superset/examples/configs/charts/Games.yaml        |     3 -
 .../examples/configs/charts/Games_per_Genre.yaml   |     3 -
 .../configs/charts/Games_per_Genre_over_time.yaml  |     3 -
 superset/examples/configs/charts/Gender.yaml       |     3 -
 .../configs/charts/Highest_degree_held.yaml        |     3 -
 .../configs/charts/How_do_you_prefer_to_work.yaml  |     3 -
 .../How_much_do_you_expect_to_earn_0_-_100k.yaml   |     3 -
 .../charts/Last_Year_Income_Distribution.yaml      |     3 -
 .../charts/Location_of_Current_Developers.yaml     |     3 -
 .../configs/charts/Members_per_Channel.yaml        |     3 -
 .../configs/charts/Messages_per_Channel.yaml       |     3 -
 .../configs/charts/Most_Dominant_Platforms.yaml    |     3 -
 .../configs/charts/New_Members_per_Month.yaml      |     3 -
 .../charts/Number_of_Aspiring_Developers.yaml      |     3 -
 .../Number_of_Deals_for_each_Combination.yaml      |     3 -
 ...mes_That_Hit_100k_in_Sales_By_Release_Year.yaml |     3 -
 .../examples/configs/charts/Number_of_Members.yaml |     3 -
 .../charts/Overall_Sales_By_Product_Line.yaml      |     3 -
 .../charts/Popular_Genres_Across_Platforms.yaml    |     3 -
 .../configs/charts/Preferred_Employment_Style.yaml |     3 -
 .../Proportion_of_Revenue_by_Product_Line.yaml     |     3 -
 .../charts/Publishers_With_Most_Titles.yaml        |     3 -
 .../examples/configs/charts/Quarterly_Sales.yaml   |     3 -
 .../charts/Quarterly_Sales_By_Product_Line.yaml    |     3 -
 .../configs/charts/Relocation_ability.yaml         |     3 -
 .../configs/charts/Revenue_by_Deal_Size.yaml       |     3 -
 .../charts/Rise__Fall_of_Video_Game_Consoles.yaml  |     3 -
 .../Seasonality_of_Revenue_per_Product_Line.yaml   |     3 -
 ...op_10_Games_Proportion_of_Sales_in_Markets.yaml |     3 -
 .../charts/Top_15_Languages_Spoken_at_Home.yaml    |     3 -
 .../examples/configs/charts/Top_Timezones.yaml     |     3 -
 .../examples/configs/charts/Total_Items_Sold.yaml  |     3 -
 .../charts/Total_Items_Sold_By_Product_Line.yaml   |     3 -
 .../examples/configs/charts/Total_Revenue.yaml     |     3 -
 .../Total_Sales_per_Market_Grouped_by_Genre.yaml   |     3 -
 .../Vaccine_Candidates_per_Approach__Stage.yaml    |     3 -
 .../charts/Vaccine_Candidates_per_Country.yaml     |     3 -
 .../charts/Vaccine_Candidates_per_Country_261.yaml |     3 -
 .../Vaccine_Candidates_per_Country__Stage.yaml     |     3 -
 .../Vaccine_Candidates_per_Country__Stage_749.yaml |     3 -
 .../charts/Vaccine_Candidates_per_Phase.yaml       |     3 -
 .../charts/Vaccine_Candidates_per_Phase_587.yaml   |     3 -
 .../configs/charts/Vehicle_Sales_Filter.yaml       |     3 -
 .../configs/charts/Video_Game_Sales_Filter.yaml    |     3 -
 .../examples/configs/charts/Weekly_Messages.yaml   |     3 -
 .../examples/configs/charts/Weekly_Threads.yaml    |     3 -
 .../configs/charts/Work_Location_Preference.yaml   |     3 -
 superset/examples/country_map.py                   |     4 +-
 superset/examples/data_loading.py                  |    35 +
 superset/examples/deck.py                          |     1 -
 superset/examples/energy.py                        |     4 +-
 superset/examples/flights.py                       |     4 +-
 superset/examples/long_lat.py                      |     4 +-
 superset/examples/multiformat_time_series.py       |     2 +-
 superset/examples/paris.py                         |     4 +-
 superset/examples/random_time_series.py            |     4 +-
 superset/examples/sf_population_polygons.py        |     4 +-
 superset/examples/world_bank.py                    |     8 +-
 superset/exceptions.py                             |    14 +-
 .../explore/__init__.py                            |     0
 .../explore/form_data/__init__.py                  |     0
 superset/explore/form_data/api.py                  |   316 +
 .../explore/form_data/commands/__init__.py         |     0
 superset/explore/form_data/commands/create.py      |    68 +
 superset/explore/form_data/commands/delete.py      |    66 +
 superset/explore/form_data/commands/get.py         |    58 +
 superset/explore/form_data/commands/parameters.py  |    30 +
 superset/explore/form_data/commands/state.py       |    26 +
 superset/explore/form_data/commands/update.py      |    88 +
 superset/explore/form_data/schemas.py              |    37 +
 .../explore/permalink/__init__.py                  |     0
 superset/explore/permalink/api.py                  |   171 +
 .../explore/permalink/commands/__init__.py         |     0
 superset/explore/permalink/commands/base.py        |    29 +
 superset/explore/permalink/commands/create.py      |    64 +
 superset/explore/permalink/commands/get.py         |    65 +
 superset/explore/permalink/exceptions.py           |    31 +
 superset/explore/permalink/schemas.py              |    39 +
 superset/explore/permalink/types.py                |    29 +
 superset/explore/utils.py                          |    63 +
 superset/extensions.py                             |   124 -
 superset/extensions/__init__.py                    |   129 +
 superset/extensions/metastore_cache.py             |   107 +
 .../importexport/__init__.py                       |     0
 superset/importexport/api.py                       |   163 +
 superset/initialization/__init__.py                |   145 +-
 superset/jinja_context.py                          |     5 +-
 superset/key_value/api.py                          |   125 -
 superset/key_value/commands/create.py              |    80 +-
 superset/key_value/commands/delete.py              |    52 +-
 superset/key_value/commands/delete_expired.py      |    66 +
 superset/key_value/commands/exceptions.py          |    45 -
 superset/key_value/commands/get.py                 |    55 +-
 superset/key_value/commands/update.py              |    79 +-
 superset/key_value/commands/upsert.py              |   106 +
 superset/key_value/exceptions.py                   |    50 +
 superset/key_value/models.py                       |    38 +
 superset/key_value/schemas.py                      |    29 -
 superset/key_value/shared_entries.py               |    51 +
 superset/key_value/types.py                        |    44 +
 superset/key_value/utils.py                        |    50 +-
 superset/migrations/shared/security_converge.py    |     4 +-
 superset/migrations/shared/utils.py                |    66 +
 ...4fbb_add_type_to_native_filter_configuration.py |     3 +-
 .../1f6dca87d1a2_security_converge_dashboards.py   |    69 +-
 .../versions/2e5a0ee25ed4_refractor_alerting.py    |    45 +-
 ...2ed890b36b94_rm_time_range_endpoints_from_qc.py |    66 +
 .../migrations/versions/2f1d15e8a6af_add_alerts.py |    25 +-
 ...9248280_add_creation_method_to_reports_model.py |     4 +-
 .../40f16acf1ba7_security_converge_reports.py      |    22 +-
 .../42b4c9e01447_security_converge_databases.py    |    42 +-
 .../45731db65d9c_security_converge_datasets.py     |    37 +-
 .../versions/49b5a32daba5_add_report_schedules.py  |    10 +-
 .../4b84f97828aa_security_converge_logs.py         |    12 +-
 ...d617f14_add_on_saved_query_delete_tab_state_.py |    69 +
 .../5afbb1a5849b_add_embedded_dahshoard_table.py   |    52 +
 ...9410a97a_add_columns_for_external_management.py |   105 +
 .../versions/6766938c6065_add_key_value_store.py   |    61 +
 ...b0ca7944_change_adhoc_filter_b_from_none_to_.py |    84 +
 .../73fd22e742ab_add_dynamic_plugins_py.py         |    10 +-
 ...8ee129739cf9_security_converge_css_templates.py |    37 +-
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |     5 +-
 ...978245563a02_migrate_iframe_to_dash_markdown.py |     5 +-
 .../ab9a9d86e695_deprecate_time_range_endpoints.py |    59 +
 ...e27eaf93db_add_extra_config_column_to_alerts.py |     7 +-
 ...208f_collapse_alerting_models_into_a_single_.py |    34 +-
 .../b4456560d4f3_change_table_unique_constraint.py |     2 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |     5 +-
 .../b5998378c225_add_certificate_to_dbs.py         |     3 +-
 ...d8e252_fix_query_and_saved_query_null_schema.py |    66 +
 .../versions/b8d3a24d9131_new_dataset_models.py    |   633 +
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |     1 +
 .../c25cb2c78727_security_converge_annotations.py  |    52 +-
 .../c501b7c653a3_add_missing_uuid_column.py        |     5 +-
 ...8dd_add_saved_query_foreign_key_to_tab_state.py |    43 +
 .../versions/c82ee8a39623_add_implicit_tags.py     |     5 +-
 ...c878781977c6_alert_reports_shared_uniqueness.py |     3 +-
 .../ccb74baaa89b_security_converge_charts.py       |    67 +-
 ...0d715cc_add_limiting_factor_column_to_query_.py |     6 +-
 ...e38177dbf641_security_converge_saved_queries.py |    57 +-
 ...828ac4e_add_rls_filter_type_and_grouping_key.py |     4 +-
 .../versions/e866bd2d4976_smaller_grid.py          |     1 +
 superset/models/__init__.py                        |    10 +-
 superset/models/alerts.py                          |   176 -
 superset/models/core.py                            |    49 +-
 superset/models/dashboard.py                       |    12 +-
 superset/models/embedded_dashboard.py              |    57 +
 superset/models/helpers.py                         |    24 +-
 superset/models/reports.py                         |    11 +-
 superset/models/schedules.py                       |   104 -
 superset/models/slice.py                           |    15 +-
 superset/models/sql_lab.py                         |    12 +
 superset/queries/saved_queries/api.py              |    14 +-
 superset/queries/saved_queries/commands/export.py  |    41 +-
 superset/queries/saved_queries/schemas.py          |     6 +-
 superset/reports/api.py                            |     9 +-
 superset/reports/commands/alert.py                 |     3 +-
 superset/reports/commands/base.py                  |     2 +-
 superset/reports/commands/create.py                |    20 +
 superset/reports/commands/execute.py               |    90 +-
 superset/reports/dao.py                            |     9 +-
 superset/reports/notifications/base.py             |     4 +-
 superset/reports/notifications/email.py            |    35 +-
 superset/reports/notifications/slack.py            |    39 +-
 superset/reports/schemas.py                        |     4 +
 superset/result_set.py                             |     8 +-
 superset/security/api.py                           |    94 +-
 superset/security/guest_token.py                   |    87 +
 superset/security/manager.py                       |   275 +-
 superset/sql_lab.py                                |     7 +-
 superset/sql_parse.py                              |   347 +-
 superset/sql_validators/presto_db.py               |     7 +-
 superset/sqllab/command.py                         |     7 +-
 superset/sqllab/query_render.py                    |     7 +-
 superset/stats_logger.py                           |     1 -
 superset/superset_typing.py                        |    97 +
 .../tables/__init__.py                             |     0
 superset/tables/models.py                          |    92 +
 superset/tables/schemas.py                         |    40 +
 superset/tasks/alerts/observer.py                  |    96 -
 superset/tasks/alerts/validator.py                 |   111 -
 superset/tasks/async_queries.py                    |    21 +-
 superset/tasks/celery_app.py                       |     2 +-
 superset/tasks/scheduler.py                        |    12 +-
 superset/tasks/schedules.py                        |   855 -
 superset/tasks/slack_util.py                       |     3 +-
 superset/tasks/thumbnails.py                       |     5 +-
 superset/templates/superset/base.html              |     2 +-
 superset/templates/superset/basic.html             |     8 +-
 .../fab_overrides/list_with_checkboxes.html        |     2 +-
 superset/templates/superset/spa.html               |     2 +-
 superset/templates/superset/theme.html             |     2 +-
 .../temporary_cache/__init__.py                    |     0
 superset/temporary_cache/api.py                    |   173 +
 .../temporary_cache/commands/__init__.py           |     0
 superset/temporary_cache/commands/create.py        |    45 +
 superset/temporary_cache/commands/delete.py        |    45 +
 .../commands/entry.py                              |     0
 superset/temporary_cache/commands/exceptions.py    |    45 +
 superset/temporary_cache/commands/get.py           |    46 +
 superset/temporary_cache/commands/parameters.py    |    29 +
 superset/temporary_cache/commands/update.py        |    49 +
 superset/temporary_cache/schemas.py                |    37 +
 superset/{key_value => temporary_cache}/utils.py   |     0
 superset/translations/messages.pot                 |     2 +-
 superset/translations/nl/LC_MESSAGES/messages.json |  4837 ++
 superset/translations/nl/LC_MESSAGES/messages.po   | 16043 ++++
 superset/translations/requirements.txt             |     2 +-
 superset/typing.py                                 |    99 -
 superset/utils/async_query_manager.py              |    16 +-
 superset/utils/cache.py                            |     9 +-
 superset/utils/cache_manager.py                    |    72 +-
 superset/utils/core.py                             |   167 +-
 superset/utils/database.py                         |    88 +
 superset/utils/date_parser.py                      |     9 +-
 superset/utils/encrypt.py                          |   122 +-
 superset/utils/log.py                              |     5 +-
 superset/utils/machine_auth.py                     |    10 +-
 superset/utils/mock_data.py                        |     9 +-
 superset/utils/pandas_postprocessing.py            |   984 -
 superset/utils/pandas_postprocessing/__init__.py   |    55 +
 superset/utils/pandas_postprocessing/aggregate.py  |    46 +
 superset/utils/pandas_postprocessing/boxplot.py    |   125 +
 superset/utils/pandas_postprocessing/compare.py    |    86 +
 .../utils/pandas_postprocessing/contribution.py    |    76 +
 superset/utils/pandas_postprocessing/cum.py        |    58 +
 superset/utils/pandas_postprocessing/diff.py       |    51 +
 superset/utils/pandas_postprocessing/flatten.py    |    84 +
 superset/utils/pandas_postprocessing/geography.py  |   118 +
 superset/utils/pandas_postprocessing/pivot.py      |   125 +
 superset/utils/pandas_postprocessing/prophet.py    |   160 +
 superset/utils/pandas_postprocessing/resample.py   |    55 +
 superset/utils/pandas_postprocessing/rolling.py    |   101 +
 superset/utils/pandas_postprocessing/select.py     |    54 +
 superset/utils/pandas_postprocessing/sort.py       |    35 +
 superset/utils/pandas_postprocessing/utils.py      |   224 +
 superset/utils/profiler.py                         |     4 +-
 superset/utils/urls.py                             |    15 +
 superset/views/__init__.py                         |     1 -
 superset/views/alerts.py                           |   216 +-
 superset/views/annotations.py                      |     9 +-
 superset/views/api.py                              |     2 +-
 superset/views/base.py                             |    32 +-
 superset/views/base_api.py                         |    64 +-
 superset/views/chart/views.py                      |     6 +-
 superset/views/core.py                             |   344 +-
 superset/views/css_templates.py                    |     6 +-
 superset/views/dashboard/views.py                  |    51 +-
 superset/views/database/forms.py                   |    17 +-
 superset/views/database/mixins.py                  |     5 +-
 superset/views/database/views.py                   |    58 +-
 superset/views/datasource/schemas.py               |     4 +-
 superset/views/datasource/views.py                 |     8 +-
 superset/views/health.py                           |     2 +-
 superset/views/key_value.py                        |     2 +-
 superset/views/redirects.py                        |    23 +-
 superset/views/schedules.py                        |   349 -
 superset/views/sql_lab.py                          |    31 +-
 superset/views/tags.py                             |     2 +-
 superset/{tasks/alerts => views/users}/__init__.py |     0
 superset/views/users/api.py                        |    61 +
 superset/views/users/schemas.py                    |    28 +
 superset/views/utils.py                            |    79 +-
 superset/viz.py                                    |    58 +-
 tests/common/logger_utils.py                       |   174 +
 tests/common/query_context_generator.py            |    46 +-
 tests/conftest.py                                  |   105 +
 tests/consts/__init__.py                           |    16 +
 tests/consts/birth_names.py                        |    26 +
 tests/consts/us_states.py                          |    86 +
 tests/example_data/__init__.py                     |    16 +
 tests/example_data/data_generator/__init__.py      |    25 +
 .../example_data/data_generator/base_generator.py  |    24 +
 .../data_generator/birth_names/__init__.py         |    16 +
 .../birth_names/birth_names_generator.py           |    81 +
 .../birth_names/birth_names_generator_factory.py   |    65 +
 tests/example_data/data_generator/consts.py        |    69 +
 .../data_generator/string_generator.py             |    33 +
 .../data_generator/string_generator_factory.py     |    46 +
 .../example_data/data_generator/tests/__init__.py  |    25 +
 .../data_generator/tests/test_string_generator.py  |    35 +
 tests/example_data/data_loading/__init__.py        |    16 +
 .../example_data/data_loading/base_data_loader.py  |    33 +
 .../data_loading/data_definitions/__init__.py      |    16 +
 .../data_loading/data_definitions/birth_names.py   |    64 +
 .../data_loading/data_definitions/types.py         |    53 +
 tests/example_data/data_loading/pandas/__init__.py |    16 +
 .../data_loading/pandas/pandas_data_loader.py      |    84 +
 .../data_loading/pandas/pands_data_loading_conf.py |    64 +
 .../data_loading/pandas/table_df_convertor.py      |    48 +
 tests/fixtures/__init__.py                         |    18 +
 tests/fixtures/birth_names.py                      |    52 +
 tests/integration_tests/access_tests.py            |     2 +-
 tests/integration_tests/alerts_tests.py            |   413 -
 .../annotation_layers/fixtures.py                  |     5 +-
 tests/integration_tests/base_api_tests.py          |    15 +-
 tests/integration_tests/base_tests.py              |     3 +-
 tests/integration_tests/cache_tests.py             |     5 +-
 tests/integration_tests/celery_tests.py            |    13 +-
 tests/integration_tests/charts/api_tests.py        |    40 +-
 tests/integration_tests/charts/commands_tests.py   |    52 +-
 tests/integration_tests/charts/data/api_tests.py   |   100 +-
 tests/integration_tests/cli_tests.py               |   222 +-
 tests/integration_tests/commands_test.py           |   167 +
 tests/integration_tests/config_tests.py            |     2 +-
 tests/integration_tests/conftest.py                |    50 +-
 tests/integration_tests/core_tests.py              |   189 +-
 tests/integration_tests/css_templates/api_tests.py |    27 +-
 tests/integration_tests/csv_upload_tests.py        |   313 +-
 tests/integration_tests/dashboard_utils.py         |     5 +-
 tests/integration_tests/dashboards/api_tests.py    |   125 +-
 .../integration_tests/dashboards/commands_tests.py |    22 +
 .../dashboards/filter_sets/conftest.py             |   195 +-
 .../dashboards/filter_sets/create_api_tests.py     |     4 +-
 .../dashboards/filter_sets/delete_api_tests.py     |     8 +-
 .../dashboards/filter_sets/get_api_tests.py        |     6 +-
 .../dashboards/filter_sets/update_api_tests.py     |     8 +-
 .../dashboards/filter_state/api_tests.py           |   191 +-
 .../dashboards/permalink/__init__.py               |     0
 .../dashboards/permalink/api_tests.py              |   111 +
 .../dashboards/security/base_case.py               |    26 +-
 .../dashboards/security/security_dataset_tests.py  |     7 +-
 .../dashboards/security/security_rbac_tests.py     |   122 +-
 .../dashboards/superset_factory_util.py            |    34 +-
 tests/integration_tests/databases/api_tests.py     |    18 +-
 .../integration_tests/databases/commands_tests.py  |    91 +-
 tests/integration_tests/datasets/api_tests.py      |    56 +-
 tests/integration_tests/datasets/commands_tests.py |    23 +-
 tests/integration_tests/datasource_tests.py        |    15 +-
 .../db_engine_specs/base_engine_spec_tests.py      |    12 +-
 .../db_engine_specs/bigquery_tests.py              |    17 +-
 .../db_engine_specs/hive_tests.py                  |     5 +-
 .../db_engine_specs/mssql_tests.py                 |   310 -
 .../db_engine_specs/pinot_tests.py                 |     5 +-
 .../db_engine_specs/postgres_tests.py              |    26 +-
 .../db_engine_specs/presto_tests.py                |   129 +-
 .../db_engine_specs/snowflake_tests.py             |   106 -
 .../db_engine_specs/sqlite_tests.py                |    78 -
 .../db_engine_specs/trino_tests.py                 |    93 +
 .../integration_tests/dict_import_export_tests.py  |     2 +-
 tests/integration_tests/druid_func_tests.py        |     2 +-
 tests/integration_tests/druid_func_tests_sip38.py  |     2 +-
 .../integration_tests/embedded/__init__.py         |     0
 tests/integration_tests/embedded/dao_tests.py      |    51 +
 .../integration_tests/explore/__init__.py          |     0
 .../explore/form_data/__init__.py                  |     0
 .../explore/form_data/api_tests.py                 |   379 +
 .../explore/permalink/__init__.py                  |     0
 .../explore/permalink/api_tests.py                 |   135 +
 .../integration_tests/extensions/__init__.py       |     0
 .../extensions/metastore_cache_test.py             |    77 +
 .../fixtures/birth_names_dashboard.py              |   143 +-
 tests/integration_tests/fixtures/client.py         |    26 +
 tests/integration_tests/fixtures/dataframes.py     |   183 -
 tests/integration_tests/fixtures/datasource.py     |     3 +-
 .../integration_tests/fixtures/energy_dashboard.py |     3 +-
 tests/integration_tests/fixtures/importexport.py   |     8 +-
 tests/integration_tests/fixtures/query_context.py  |     2 -
 .../integration_tests/fixtures/tabbed_dashboard.py |    77 +
 .../fixtures/unicode_dashboard.py                  |     3 +-
 .../fixtures/world_bank_dashboard.py               |     3 +-
 tests/integration_tests/form_tests.py              |     6 +-
 tests/integration_tests/import_export_tests.py     |     9 +-
 .../importexport/commands_tests.py                 |     2 +-
 tests/integration_tests/jinja_context_tests.py     |    27 +-
 .../integration_tests/key_value/__init__.py        |     0
 .../key_value/commands/__init__.py                 |     0
 .../key_value/commands/create_test.py              |    58 +
 .../key_value/commands/delete_test.py              |    82 +
 .../key_value/commands/fixtures.py                 |    63 +
 .../key_value/commands/get_test.py                 |   101 +
 .../key_value/commands/update_test.py              |    95 +
 .../key_value/commands/upsert_test.py              |   101 +
 tests/integration_tests/log_api_tests.py           |    10 +-
 .../migrations/f1410ed7ec95_tests.py               |    10 +-
 tests/integration_tests/model_tests.py             |    75 +-
 .../pandas_postprocessing_tests.py                 |  1031 -
 tests/integration_tests/queries/api_tests.py       |     2 +-
 .../queries/saved_queries/api_tests.py             |     2 +-
 .../queries/saved_queries/commands_tests.py        |    20 +-
 tests/integration_tests/query_context_tests.py     |    45 +-
 tests/integration_tests/reports/api_tests.py       |    83 +-
 tests/integration_tests/reports/commands_tests.py  |   191 +-
 tests/integration_tests/reports/utils.py           |     4 +-
 tests/integration_tests/result_set_tests.py        |    20 +-
 tests/integration_tests/schedules_test.py          |   596 -
 tests/integration_tests/security/api_tests.py      |    55 +-
 .../security/guest_token_security_tests.py         |   206 +
 .../security/migrate_roles_tests.py                |    61 +-
 .../security/row_level_security_tests.py           |   317 +
 tests/integration_tests/security_tests.py          |   411 +-
 tests/integration_tests/sql_validator_tests.py     |     7 +-
 tests/integration_tests/sqla_models_tests.py       |   277 +-
 tests/integration_tests/sqla_views_tests.py        |    40 -
 tests/integration_tests/sqllab_tests.py            |    42 +-
 tests/integration_tests/strategy_tests.py          |     2 +-
 tests/integration_tests/superset_test_config.py    |    17 +-
 .../superset_test_config_sqllab_backend_persist.py |    24 -
 ...erset_test_config_sqllab_backend_persist_off.py |    24 +
 .../superset_test_config_thumbnails.py             |     4 +-
 .../integration_tests/tasks/async_queries_tests.py |     7 +-
 .../integration_tests/users}/__init__.py           |     0
 tests/integration_tests/users/api_tests.py         |    49 +
 tests/integration_tests/utils/date_parser_tests.py |   362 -
 tests/integration_tests/utils_tests.py             |   135 +-
 tests/integration_tests/viz_tests.py               |    45 +-
 .../unit_tests/charts/commands/__init__.py         |     0
 .../charts/commands/importers/__init__.py          |     0
 .../charts/commands/importers/v1/__init__.py       |     0
 .../charts/commands/importers/v1/import_test.py    |    69 +
 tests/unit_tests/charts/test_post_processing.py    |     1 -
 .../unit_tests/columns/__init__.py                 |     0
 tests/unit_tests/columns/test_models.py            |    57 +
 .../unit_tests/commands/__init__.py                |     0
 tests/unit_tests/commands/export_test.py           |    94 +
 .../unit_tests/common/test_query_object_factory.py |     2 -
 tests/unit_tests/conftest.py                       |    46 +-
 tests/unit_tests/core_tests.py                     |    54 +
 .../commands/importers/v1/import_test.py           |    67 +
 .../dashboards/commands/importers/v1/utils_test.py |    59 +-
 .../unit_tests/databases/__init__.py               |     0
 .../unit_tests/databases/commands/__init__.py      |     0
 .../databases/commands/importers/__init__.py       |     0
 .../databases/commands/importers/v1/__init__.py    |     0
 .../databases/commands/importers/v1/import_test.py |    70 +
 tests/unit_tests/dataframe_test.py                 |     2 +-
 tests/unit_tests/datasets/commands/export_test.py  |     6 +-
 .../datasets/commands/importers/v1/import_test.py  |    56 +-
 tests/unit_tests/datasets/test_models.py           |  1331 +
 tests/unit_tests/db_engine_specs/test_base.py      |    73 +-
 tests/unit_tests/db_engine_specs/test_drill.py     |    24 +-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    32 +-
 tests/unit_tests/db_engine_specs/test_kusto.py     |   159 +
 tests/unit_tests/db_engine_specs/test_mssql.py     |   439 +
 tests/unit_tests/db_engine_specs/test_presto.py    |    56 +
 tests/unit_tests/db_engine_specs/test_snowflake.py |   127 +
 tests/unit_tests/db_engine_specs/test_sqlite.py    |    90 +
 tests/unit_tests/db_engine_specs/test_teradata.py  |    45 +
 tests/unit_tests/db_engine_specs/test_trino.py     |    56 +
 .../unit_tests/explore/__init__.py                 |     0
 tests/unit_tests/explore/utils_test.py             |   157 +
 tests/unit_tests/extension_tests.py                |    51 +
 tests/unit_tests/fixtures/dataframes.py            |   197 +
 .../fixtures/static/assets/manifest.json           |    20 +
 .../unit_tests/importexport/__init__.py            |     0
 tests/unit_tests/importexport/api_test.py          |   254 +
 .../unit_tests/key_value/__init__.py               |     0
 tests/unit_tests/key_value/utils_test.py           |    60 +
 .../unit_tests/migrations/__init__.py              |     0
 .../unit_tests/migrations/shared/__init__.py       |     0
 tests/unit_tests/migrations/shared/utils_test.py   |    56 +
 .../unit_tests/pandas_postprocessing/__init__.py   |     0
 .../pandas_postprocessing/test_aggregate.py        |    40 +
 .../pandas_postprocessing/test_boxplot.py          |   126 +
 .../pandas_postprocessing/test_compare.py          |   233 +
 .../pandas_postprocessing/test_contribution.py     |    80 +
 tests/unit_tests/pandas_postprocessing/test_cum.py |   168 +
 .../unit_tests/pandas_postprocessing/test_diff.py  |    51 +
 .../pandas_postprocessing/test_flatten.py          |    75 +
 .../pandas_postprocessing/test_geography.py        |    90 +
 .../unit_tests/pandas_postprocessing/test_pivot.py |   286 +
 .../pandas_postprocessing/test_prophet.py          |   129 +
 .../pandas_postprocessing/test_resample.py         |   210 +
 .../pandas_postprocessing/test_rolling.py          |   228 +
 .../pandas_postprocessing/test_select.py           |    55 +
 .../unit_tests/pandas_postprocessing/test_sort.py  |    30 +
 tests/unit_tests/pandas_postprocessing/utils.py    |    55 +
 tests/unit_tests/sql_parse_tests.py                |   369 +-
 .../unit_tests/tables/__init__.py                  |     0
 tests/unit_tests/tables/test_models.py             |    56 +
 tests/unit_tests/utils/date_parser_tests.py        |   358 +
 tests/unit_tests/utils/urls_tests.py               |    35 +
 .../unit_tests/views/__init__.py                   |     0
 tox.ini                                            |     5 -
 yarn.lock                                          |     2 +
 2420 files changed, 176235 insertions(+), 462803 deletions(-)

diff --cc superset-frontend/package-lock.json
index 591d41f6c7,2e845ffab4..145c679bca
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@@ -20,37 -20,38 +20,39 @@@
          "@emotion/cache": "^11.4.0",
          "@emotion/react": "^11.4.1",
          "@emotion/styled": "^11.3.0",
-         "@superset-ui/chart-controls": "file://./packages/superset-ui-chart-controls",
-         "@superset-ui/core": "file://./packages/superset-ui-core",
-         "@superset-ui/legacy-plugin-chart-calendar": "file://./plugins/legacy-plugin-chart-calendar",
-         "@superset-ui/legacy-plugin-chart-chord": "file://./plugins/legacy-plugin-chart-chord",
-         "@superset-ui/legacy-plugin-chart-country-map": "file://./plugins/legacy-plugin-chart-country-map",
-         "@superset-ui/legacy-plugin-chart-event-flow": "file://./plugins/legacy-plugin-chart-event-flow",
-         "@superset-ui/legacy-plugin-chart-force-directed": "file://./plugins/legacy-plugin-chart-force-directed",
-         "@superset-ui/legacy-plugin-chart-heatmap": "file://./plugins/legacy-plugin-chart-heatmap",
-         "@superset-ui/legacy-plugin-chart-histogram": "file://./plugins/legacy-plugin-chart-histogram",
-         "@superset-ui/legacy-plugin-chart-horizon": "file://./plugins/legacy-plugin-chart-horizon",
-         "@superset-ui/legacy-plugin-chart-map-box": "file://./plugins/legacy-plugin-chart-map-box",
-         "@superset-ui/legacy-plugin-chart-paired-t-test": "file://./plugins/legacy-plugin-chart-paired-t-test",
-         "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file://./plugins/legacy-plugin-chart-parallel-coordinates",
-         "@superset-ui/legacy-plugin-chart-partition": "file://./plugins/legacy-plugin-chart-partition",
-         "@superset-ui/legacy-plugin-chart-pivot-table": "file://./plugins/legacy-plugin-chart-pivot-table",
-         "@superset-ui/legacy-plugin-chart-rose": "file://./plugins/legacy-plugin-chart-rose",
-         "@superset-ui/legacy-plugin-chart-sankey": "file://./plugins/legacy-plugin-chart-sankey",
-         "@superset-ui/legacy-plugin-chart-sankey-loop": "file://./plugins/legacy-plugin-chart-sankey-loop",
-         "@superset-ui/legacy-plugin-chart-sunburst": "file://./plugins/legacy-plugin-chart-sunburst",
-         "@superset-ui/legacy-plugin-chart-treemap": "file://./plugins/legacy-plugin-chart-treemap",
-         "@superset-ui/legacy-plugin-chart-world-map": "file://./plugins/legacy-plugin-chart-world-map",
-         "@superset-ui/legacy-preset-chart-deckgl": "file://./plugins/legacy-preset-chart-deckgl",
-         "@superset-ui/legacy-preset-chart-nvd3": "file://./plugins/legacy-preset-chart-nvd3",
-         "@superset-ui/plugin-chart-echarts": "file://./plugins/plugin-chart-echarts",
-         "@superset-ui/plugin-chart-handlebars": "file://./plugins/plugin-chart-handlebars",
-         "@superset-ui/plugin-chart-pivot-table": "file://./plugins/plugin-chart-pivot-table",
-         "@superset-ui/plugin-chart-table": "file://./plugins/plugin-chart-table",
-         "@superset-ui/plugin-chart-word-cloud": "file://./plugins/plugin-chart-word-cloud",
-         "@superset-ui/preset-chart-xy": "file://./plugins/preset-chart-xy",
+         "@superset-ui/chart-controls": "file:./packages/superset-ui-chart-controls",
+         "@superset-ui/core": "file:./packages/superset-ui-core",
+         "@superset-ui/legacy-plugin-chart-calendar": "file:./plugins/legacy-plugin-chart-calendar",
+         "@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
+         "@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
+         "@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
+         "@superset-ui/legacy-plugin-chart-force-directed": "file:./plugins/legacy-plugin-chart-force-directed",
+         "@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
+         "@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
+         "@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
+         "@superset-ui/legacy-plugin-chart-map-box": "file:./plugins/legacy-plugin-chart-map-box",
+         "@superset-ui/legacy-plugin-chart-paired-t-test": "file:./plugins/legacy-plugin-chart-paired-t-test",
+         "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file:./plugins/legacy-plugin-chart-parallel-coordinates",
+         "@superset-ui/legacy-plugin-chart-partition": "file:./plugins/legacy-plugin-chart-partition",
+         "@superset-ui/legacy-plugin-chart-pivot-table": "file:./plugins/legacy-plugin-chart-pivot-table",
+         "@superset-ui/legacy-plugin-chart-rose": "file:./plugins/legacy-plugin-chart-rose",
+         "@superset-ui/legacy-plugin-chart-sankey": "file:./plugins/legacy-plugin-chart-sankey",
+         "@superset-ui/legacy-plugin-chart-sankey-loop": "file:./plugins/legacy-plugin-chart-sankey-loop",
+         "@superset-ui/legacy-plugin-chart-sunburst": "file:./plugins/legacy-plugin-chart-sunburst",
+         "@superset-ui/legacy-plugin-chart-treemap": "file:./plugins/legacy-plugin-chart-treemap",
+         "@superset-ui/legacy-plugin-chart-world-map": "file:./plugins/legacy-plugin-chart-world-map",
+         "@superset-ui/legacy-preset-chart-deckgl": "file:./plugins/legacy-preset-chart-deckgl",
+         "@superset-ui/legacy-preset-chart-nvd3": "file:./plugins/legacy-preset-chart-nvd3",
+         "@superset-ui/plugin-chart-echarts": "file:./plugins/plugin-chart-echarts",
++        "@superset-ui/plugin-chart-handlebars": "file:./plugins/plugin-chart-handlebars",
+         "@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
+         "@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
+         "@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
+         "@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
+         "@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
          "@vx/responsive": "^0.0.195",
          "abortcontroller-polyfill": "^1.1.9",
+         "ace-builds": "^1.4.14",
          "antd": "^4.9.4",
          "array-move": "^2.2.1",
          "babel-plugin-typescript-to-proptypes": "^2.0.0",
@@@ -60791,27 -59554,6 +59564,27 @@@
          "react": "^16.13.1"
        }
      },
 +    "plugins/plugin-chart-handlebars": {
-       "name": "@superset-ui/plugin-chart-handlebars",
 +      "version": "0.0.0",
 +      "license": "Apache-2.0",
 +      "dependencies": {
 +        "@superset-ui/chart-controls": "0.18.25",
 +        "@superset-ui/core": "0.18.25",
 +        "ace-builds": "^1.4.13",
 +        "emotion": "^11.0.0",
 +        "handlebars": "^4.7.7",
 +        "react-ace": "^9.4.4"
 +      },
 +      "devDependencies": {
 +        "@types/jest": "^26.0.0",
 +        "jest": "^26.0.1"
 +      },
 +      "peerDependencies": {
++        "moment": "^2.26.0",
 +        "react": "^16.13.1",
 +        "react-dom": "^16.13.1"
 +      }
 +    },
      "plugins/plugin-chart-pivot-table": {
        "name": "@superset-ui/plugin-chart-pivot-table",
        "version": "0.18.25",
@@@ -77653,26 -76937,12 +76968,25 @@@
      "@superset-ui/plugin-chart-echarts": {
        "version": "file:plugins/plugin-chart-echarts",
        "requires": {
-         "@superset-ui/chart-controls": "0.18.25",
-         "@superset-ui/core": "0.18.25",
          "d3-array": "^1.2.0",
-         "echarts": "^5.2.2",
-         "lodash": "^4.17.15"
+         "echarts": "^5.3.2",
+         "lodash": "^4.17.15",
+         "moment": "^2.26.0"
        }
      },
 +    "@superset-ui/plugin-chart-handlebars": {
 +      "version": "file:plugins/plugin-chart-handlebars",
 +      "requires": {
 +        "@superset-ui/chart-controls": "0.18.25",
 +        "@superset-ui/core": "0.18.25",
 +        "@types/jest": "^26.0.0",
 +        "ace-builds": "^1.4.13",
 +        "emotion": "^11.0.0",
 +        "handlebars": "^4.7.7",
 +        "jest": "^26.0.1",
 +        "react-ace": "^9.4.4"
 +      }
 +    },
      "@superset-ui/plugin-chart-pivot-table": {
        "version": "file:plugins/plugin-chart-pivot-table",
        "requires": {
diff --cc superset-frontend/package.json
index 9dc9abc1bf,edf122a249..5f5be2ebc4
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@@ -80,37 -80,38 +80,39 @@@
      "@emotion/cache": "^11.4.0",
      "@emotion/react": "^11.4.1",
      "@emotion/styled": "^11.3.0",
-     "@superset-ui/chart-controls": "file://./packages/superset-ui-chart-controls",
-     "@superset-ui/core": "file://./packages/superset-ui-core",
-     "@superset-ui/legacy-plugin-chart-calendar": "file://./plugins/legacy-plugin-chart-calendar",
-     "@superset-ui/legacy-plugin-chart-chord": "file://./plugins/legacy-plugin-chart-chord",
-     "@superset-ui/legacy-plugin-chart-country-map": "file://./plugins/legacy-plugin-chart-country-map",
-     "@superset-ui/legacy-plugin-chart-event-flow": "file://./plugins/legacy-plugin-chart-event-flow",
-     "@superset-ui/legacy-plugin-chart-force-directed": "file://./plugins/legacy-plugin-chart-force-directed",
-     "@superset-ui/legacy-plugin-chart-heatmap": "file://./plugins/legacy-plugin-chart-heatmap",
-     "@superset-ui/legacy-plugin-chart-histogram": "file://./plugins/legacy-plugin-chart-histogram",
-     "@superset-ui/legacy-plugin-chart-horizon": "file://./plugins/legacy-plugin-chart-horizon",
-     "@superset-ui/legacy-plugin-chart-map-box": "file://./plugins/legacy-plugin-chart-map-box",
-     "@superset-ui/legacy-plugin-chart-paired-t-test": "file://./plugins/legacy-plugin-chart-paired-t-test",
-     "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file://./plugins/legacy-plugin-chart-parallel-coordinates",
-     "@superset-ui/legacy-plugin-chart-partition": "file://./plugins/legacy-plugin-chart-partition",
-     "@superset-ui/legacy-plugin-chart-pivot-table": "file://./plugins/legacy-plugin-chart-pivot-table",
-     "@superset-ui/legacy-plugin-chart-rose": "file://./plugins/legacy-plugin-chart-rose",
-     "@superset-ui/legacy-plugin-chart-sankey": "file://./plugins/legacy-plugin-chart-sankey",
-     "@superset-ui/legacy-plugin-chart-sankey-loop": "file://./plugins/legacy-plugin-chart-sankey-loop",
-     "@superset-ui/legacy-plugin-chart-sunburst": "file://./plugins/legacy-plugin-chart-sunburst",
-     "@superset-ui/legacy-plugin-chart-treemap": "file://./plugins/legacy-plugin-chart-treemap",
-     "@superset-ui/legacy-plugin-chart-world-map": "file://./plugins/legacy-plugin-chart-world-map",
-     "@superset-ui/legacy-preset-chart-deckgl": "file://./plugins/legacy-preset-chart-deckgl",
-     "@superset-ui/legacy-preset-chart-nvd3": "file://./plugins/legacy-preset-chart-nvd3",
-     "@superset-ui/plugin-chart-echarts": "file://./plugins/plugin-chart-echarts",
-     "@superset-ui/plugin-chart-handlebars": "file://./plugins/plugin-chart-handlebars",
-     "@superset-ui/plugin-chart-pivot-table": "file://./plugins/plugin-chart-pivot-table",
-     "@superset-ui/plugin-chart-table": "file://./plugins/plugin-chart-table",
-     "@superset-ui/plugin-chart-word-cloud": "file://./plugins/plugin-chart-word-cloud",
-     "@superset-ui/preset-chart-xy": "file://./plugins/preset-chart-xy",
+     "@superset-ui/chart-controls": "file:./packages/superset-ui-chart-controls",
+     "@superset-ui/core": "file:./packages/superset-ui-core",
+     "@superset-ui/legacy-plugin-chart-calendar": "file:./plugins/legacy-plugin-chart-calendar",
+     "@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
+     "@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
+     "@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
+     "@superset-ui/legacy-plugin-chart-force-directed": "file:./plugins/legacy-plugin-chart-force-directed",
+     "@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
+     "@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
+     "@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
+     "@superset-ui/legacy-plugin-chart-map-box": "file:./plugins/legacy-plugin-chart-map-box",
+     "@superset-ui/legacy-plugin-chart-paired-t-test": "file:./plugins/legacy-plugin-chart-paired-t-test",
+     "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file:./plugins/legacy-plugin-chart-parallel-coordinates",
+     "@superset-ui/legacy-plugin-chart-partition": "file:./plugins/legacy-plugin-chart-partition",
+     "@superset-ui/legacy-plugin-chart-pivot-table": "file:./plugins/legacy-plugin-chart-pivot-table",
+     "@superset-ui/legacy-plugin-chart-rose": "file:./plugins/legacy-plugin-chart-rose",
+     "@superset-ui/legacy-plugin-chart-sankey": "file:./plugins/legacy-plugin-chart-sankey",
+     "@superset-ui/legacy-plugin-chart-sankey-loop": "file:./plugins/legacy-plugin-chart-sankey-loop",
+     "@superset-ui/legacy-plugin-chart-sunburst": "file:./plugins/legacy-plugin-chart-sunburst",
+     "@superset-ui/legacy-plugin-chart-treemap": "file:./plugins/legacy-plugin-chart-treemap",
+     "@superset-ui/legacy-plugin-chart-world-map": "file:./plugins/legacy-plugin-chart-world-map",
+     "@superset-ui/legacy-preset-chart-deckgl": "file:./plugins/legacy-preset-chart-deckgl",
+     "@superset-ui/legacy-preset-chart-nvd3": "file:./plugins/legacy-preset-chart-nvd3",
+     "@superset-ui/plugin-chart-echarts": "file:./plugins/plugin-chart-echarts",
++    "@superset-ui/plugin-chart-handlebars": "file:./plugins/plugin-chart-handlebars",
+     "@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
+     "@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
+     "@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
+     "@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
+     "@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
      "@vx/responsive": "^0.0.195",
      "abortcontroller-polyfill": "^1.1.9",
+     "ace-builds": "^1.4.14",
      "antd": "^4.9.4",
      "array-move": "^2.2.1",
      "babel-plugin-typescript-to-proptypes": "^2.0.0",
diff --cc superset-frontend/src/visualizations/presets/MainPreset.js
index 7feaa39cef,dc3736ff17..837cd98a7a
--- a/superset-frontend/src/visualizations/presets/MainPreset.js
+++ b/superset-frontend/src/visualizations/presets/MainPreset.js
@@@ -78,9 -78,8 +78,9 @@@ import 
    GroupByFilterPlugin,
  } from 'src/filters/components/';
  import { PivotTableChartPlugin as PivotTableChartPluginV2 } from '@superset-ui/plugin-chart-pivot-table';
 +import { HandlebarsChartPlugin } from '@superset-ui/plugin-chart-handlebars';
  import FilterBoxChartPlugin from '../FilterBox/FilterBoxChartPlugin';
- import TimeTableChartPlugin from '../TimeTable/TimeTableChartPlugin';
+ import TimeTableChartPlugin from '../TimeTable';
  
  export default class MainPreset extends Preset {
    constructor() {