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

rusackas pushed a change to branch issue28931
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 848525c9749 fix(calendar): update test to verify date formatting 
correctly
 discard 4c1eda29c66 Merge branch 'master' into issue28931
 discard 46b56357226 fix(calendar): Fix day offset in Calendar Heatmap 
visualization
     add cd447ca1fdb chore(deps): update @luma.gl/webgl requirement from ~9.2.2 
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37469)
     add b71654877f6 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in 
/superset-websocket (#37719)
     add 1c35c3f6d04 chore(deps): bump markdown-to-jsx from 9.7.2 to 9.7.3 in 
/superset-frontend (#37730)
     add 9b861b2848d chore(deps): bump caniuse-lite from 1.0.30001768 to 
1.0.30001769 in /docs (#37726)
     add 246dbd7f5c0 chore(deps): upgrade react-resize-detector to v9.1.1 
(#37741)
     add 1e50422a666 chore: remove deprecated react-hot-loader (#36433)
     add ddba88ffada chore(deps): bump googleapis from 171.2.0 to 171.4.0 in 
/superset-frontend (#37736)
     add 7d9a8a0c5a4 chore(deps-dev): bump @babel/node from 7.28.6 to 7.29.0 in 
/superset-frontend (#37734)
     add 87d15d32c46 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in 
/superset-frontend (#37732)
     add ec6eaf48982 fix(deps): bump elasticsearch-dbapi to 0.2.12 for urllib3 
2.x compatibility (#37758)
     add 935bbe6061d docs: Updates extensions docs (#37704)
     add 0415118544f chore: Bump @apache-superset/core (0.0.1-rc10) (#37759)
     add fc26dbfebf8 chore(deps): upgrade deck.gl and luma.gl packages to 
~9.2.6 (#37718)
     add a04571fa20f fix(world-map): reset hover highlight on mouse out (#37716)
     add 46bca32677c docs(seo): add structured data, OpenGraph tags, and 
sitemap improvements (#37404)
     add e9ae212c1cc fix(alerts): show screenshot width field for PDF reports 
(#37037)
     add fc5506e4669 chore(frontend): comprehensive TypeScript quality 
improvements (#37625)
     add 9086ae8e6c6 feat(ci): only bump patch version for Storybook-related 
deps until React 18 (#37749)
     add 9ea5ded9880 fix(dashboard): Prevent fatal error when database 
connection is unavailable (#37576)
     add 174e3c26d31 chore(deps): update @luma.gl/webgl requirement from ~9.2.5 
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37764)
     add 76a27d5360e chore(deps): bump d3-format from 1.4.5 to 3.1.2 in 
/superset-frontend/packages/superset-ui-core (#37442)
     add 5cea4fb7feb chore(deps): update @luma.gl/shadertools requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37763)
     add df253f6aa47 chore(deps-dev): bump @babel/plugin-transform-runtime from 
7.28.5 to 7.29.0 in /superset-frontend (#37631)
     add b9ab03994ad chore(deps-dev): bump jsdom from 27.4.0 to 28.0.0 in 
/superset-frontend (#37688)
     add f4708a56484 fix(db): prevent long database error messages from 
overflowing UI (#37709)
     add 3521f191b24 chore(deps): bump webpack from 5.96.1 to 5.105.0 in 
/superset-frontend/cypress-base (#37775)
     add c4e7c3b03b7 refactor: consolidating ColorSchemeEnum settings into one 
place (#37591)
     add 7580bd14015 chore(deps-dev): bump timezone-mock from 1.3.6 to 1.4.0 in 
/superset-frontend (#37333)
     add c4d2d42b3b0 build(dev-deps): move Webpack-dedicated `js-yaml-loader` 
to dev deps section (#37788)
     add 563d9f1a3fd chore(lint): migrate Jest lint rules from eslint to oxlint 
(#37787)
     add 3b75af9ac3b docs(dev_portal/test): remove refs of testing tools not 
used in project (#37786)
     add 82d6076804b refactor(charts): filter saved metrics by key and label 
(#37136)
     add ebee9bb3f91 refactor(types): consolidate shared table types and fix 
Funnel enum typo (#37768)
     add 29aa69b7792 chore(deps): update @luma.gl/engine requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37762)
     add ce872ddaf01 chore(deps-dev): bump @swc/core from 1.14.0 to 1.15.11 in 
/superset-frontend (#37511)
     add cebdb9e0b7a fix(ListView): add tooltip for layout toggle buttons 
(#37581)
     add 2b411b32ba0 fix(scatter): Fix ad-hoc metric for pointsize (#37669)
     add 15b3c96f8e9 fix(security): Add table blocklist and fix MCP SQL 
validation bypass (#37411)
     add a1d65c7529c feat(deps): significant `npm audit fix` to trim off 
inadvertently runtime dep from upstream libraries  (#37220)
     add 059b57d784e chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-frontend (#37801)
     add 5125a670025 build(dev-deps): remove `npm` from @apache-superset/core 
(#37774)
     add f25d95be410 fix: Vertical lines in the middle of Treemap categories 
(#37808)
     add 6984e93171e fix: SQL Lab improvements and bug fixes (#37760)
     add 59dd2fa3857 feat: add global task framework (#36368)
     add f6f96ecc49c test(chart-list): migrate Chart List tests from Cypress to 
RTL (#37813)
     add 76351ff12c4 fix(i18n): ensure language pack loads before React renders 
(#36893)
     add 6ca028dee90 chore(deps): bump axios from 1.12.2 to 1.13.5 in /docs 
(#37814)
     add d078f18ff88 chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-websocket (#37796)
     add 2df60f9caf0 chore(deps): bump immer from 11.1.3 to 11.1.4 in 
/superset-frontend (#37830)
     add f370da5a87a chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /docs (#37827)
     add 4d8ff845875 chore(deps-dev): bump @playwright/test from 1.58.1 to 
1.58.2 in /superset-frontend (#37826)
     add 8c6bc3eaea3 chore(deps): bump antd from 6.2.3 to 6.3.0 in /docs 
(#37824)
     add 1cba53a043d chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /superset-websocket (#37823)
     add 3af795af364 chore(deps-dev): bump @typescript-eslint/eslint-plugin 
from 8.54.0 to 8.55.0 in /superset-websocket (#37822)
     add 948b1d613b2 chore(deps-dev): bump typescript-eslint from 8.54.0 to 
8.55.0 in /docs (#37825)
     add 0f1278fa614 fix(gtf): set dedup_key on atomic sql (#37820)
     add c59d0a73d47 fix: Prevent table rows from overlapping pagination in 
table view (#37174)
     add ae8d671fea3 fix(sql): fix sql suggestions (#37699)
     add c41942a38ad chore(deps): Upgrade sqlglot from 27.15.2 to 28.10.0 
(#37841)
     add 76aa91f5ea2 fix(deps): pin `react-error-boundary` to 6.0.0 for React 
17 peer dep constraint (#37706)
     add 7ec5f1d7ecf fix(native-filters): Filters with select first value not 
restored correctly from url (#37855)
     add b98b34a60f5 refactor: Make extensions contribution schema consistent 
(#37856)
     add 6a6b9b53864 chore: Bump core packages (0.0.1rc11, 0.0.1rc4) (#37860)
     add 1388a628230 fix(filters): fix filter / customization name not updating 
in sidebar in real time (#37358)
     add 39ac96817a8 fix(helm): Add default initContainer resources (#37637)
     add 4eb8fc814a9 chore(deps-dev): bump @types/node from 25.2.2 to 25.2.3 in 
/superset-websocket (#37846)
     add 7d4a7f113c4 chore(deps-dev): bump webpack from 5.105.0 to 5.105.1 in 
/docs (#37849)
     add 7e5ca83220e chore(deps-dev): bump @types/node from 25.2.2 to 25.2.3 in 
/superset-frontend (#37851)
     add 9a79dbf4457 fix(docs): make page size selector work in database table 
(#37863)
     add 69c679be20a fix(explore): Don't show unsaved changes modal on new 
charts (#37714)
     add 74e1607010e fix(extensions): broken test (#37871)
     add 88a14f2ba0d fix(FiltersBadge): world map wont show filter icon after 
refresh page (#37260)
     add c28729f944f chore(lint): add jest/expect-expect rule for test 
assertions (#37887)
     add 534fa48f1ff chore(lint): enforce stricter eslint/oxlint rules (#37883)
     add d640fe42c9b chore: remove Applitools visual testing integration 
(#37873)
     add 98ca599eef9 perf: fix N+1 query in chart list API when thumbnail_url 
is requested (#37895)
     add 9089f300459 chore(lint): upgrade array creation, effect, and 
TypeScript rules (#37885)
     add 255a0ada814 fix(gtf): add missing user_id to task commands (#37867)
     add 5f0001affc9 feat(timeseries): remove stream style for bar charts 
(#37532)
     add 26a2e127793 perf: fix N+1 query in Slice.datasource property (#37899)
     add 00d02cb2ea1 perf(gtf): improve task base filter (#37900)
     add b0be47a4ac2 fix: Unreachable drop zones within tabs in dashbboard 
editor (#37904)
     add b012b63e5b8 fix(native-filters): align refresh icon with default value 
field (#37802)
     add 981b370fe9e chore(storybook): consolidate storybook and enhance plugin 
stories (#37771)
     add 77148277b96 feat(charts): improve negative stacked bar label 
positioning and accessibility (#37405)
     add 19ec7b48a0f fix: Conditional formatting painting empty cells (#37894)
     add 30ccbb2e050 chore(deps): update @types/geojson requirement from 
^7946.0.10 to ^7946.0.16 in 
/superset-frontend/plugins/plugin-chart-cartodiagram (#37908)
     add afacca350f0 chore(deps-dev): bump oxlint from 1.42.0 to 1.46.0 in 
/superset-frontend (#37917)
     add 3f64c257120 fix(mcp): Add database_name as valid filter column for 
list_datasets (#37865)
     add 4dfece9ee54 feat(mcp): add event_logger instrumentation to MCP tools 
(#37859)
     add 88ce1425e2c fix(roles): optimize user fetching and resolve N+1 query 
issue (#37235)
     add dbf5e1f1314 feat(theme): use IBM Plex Mono for code and numerical 
displays (#37366)
     add 58d245c6b03 chore(deps): Update sqlachemy-utils to 0.42.0 (#36240)
     add 0d5ddb36749 feat(themes): add enhanced validation and error handling 
with fallback mechanisms (#37378)
     add 6328e516206 test(examples): add tests for UUID threading and security 
bypass (#37557)
     add 142b2cc4254 test(e2e): add Playwright E2E tests for Chart List page 
(#37866)
     add bc297937e25 fix(calendar): Fix day offset in Calendar Heatmap 
visualization
     add b70cb56dec4 fix(calendar): update test to verify date formatting 
correctly

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (848525c9749)
            \
             N -- N -- N   refs/heads/issue28931 (b70cb56dec4)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |    79 +-
 .github/workflows/bashlib.sh                       |    23 -
 .github/workflows/dependency-review.yml            |     6 +-
 .github/workflows/prefer-typescript.yml            |    70 -
 .github/workflows/superset-applitool-cypress.yml   |    91 -
 .../workflows/superset-applitools-storybook.yml    |    52 -
 .github/workflows/superset-frontend.yml            |     5 -
 UPDATING.md                                        |    58 +
 docker-compose-light.yml                           |     4 +-
 docker-compose.yml                                 |     2 +-
 .../contributing/development-setup.md              |     2 +-
 docs/developer_portal/contributing/howtos.md       |     2 +-
 .../extensions/contribution-types.md               |    54 +-
 docs/developer_portal/extensions/development.md    |    30 +-
 .../extensions/extension-points/sqllab.md          |   136 +-
 docs/developer_portal/extensions/overview.md       |     1 +
 docs/developer_portal/extensions/quick-start.md    |    14 +-
 docs/developer_portal/extensions/registry.md       |     2 +-
 docs/developer_portal/extensions/tasks.md          |   440 +
 .../guidelines/frontend-style-guidelines.md        |     2 +-
 docs/developer_portal/sidebars.js                  |     1 +
 docs/developer_portal/testing/overview.md          |     2 -
 docs/docs/configuration/cache.mdx                  |    84 +
 docs/docs/faq.mdx                                  |    56 +
 docs/docusaurus.config.ts                          |   144 +-
 docs/i18n/en/docusaurus-theme-classic/footer.json  |     2 +-
 docs/package.json                                  |    13 +-
 docs/plugins/remark-tech-article-schema.mjs        |   153 +
 docs/plugins/robots-txt-plugin.js                  |    83 +
 docs/sidebarTutorials.js                           |     1 +
 docs/src/components/FAQSchema.tsx                  |    66 +
 docs/src/components/TechArticleSchema.tsx          |    91 +
 docs/src/components/databases/DatabaseIndex.tsx    |     2 +-
 docs/static/img/applitools.png                     |   Bin 37046 -> 0 bytes
 docs/static/img/superset-og-image.png              |   Bin 0 -> 89831 bytes
 docs/yarn.lock                                     |  4151 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |     2 +-
 helm/superset/values.yaml                          |    30 +
 pyproject.toml                                     |     6 +-
 requirements/base.txt                              |     4 +-
 requirements/development.txt                       |     4 +-
 superset-core/pyproject.toml                       |     6 +-
 superset-core/src/superset_core/api/daos.py        |    44 +
 superset-core/src/superset_core/api/models.py      |   129 +
 superset-core/src/superset_core/api/tasks.py       |   361 +
 .../src/superset_core/extensions/types.py          |    28 +-
 .../templates/frontend/package.json.j2             |     2 -
 superset-frontend/.eslintrc.js                     |    78 +-
 superset-frontend/.storybook/main.js               |    15 +-
 superset-frontend/.storybook/preview.jsx           |    21 +
 .../shared}/ErrorMessage.tsx                       |     0
 .../shared}/Expandable.tsx                         |     0
 .../shared}/ResizableChartDemo.tsx                 |    14 +-
 .../shared}/ResizablePanel.tsx                     |    20 +-
 .../shared}/VerifyCORS.tsx                         |     0
 .../shared/createQueryStory.tsx}                   |     4 +-
 .../shared/dummyDatasource.ts                      |     0
 .../app.test.js => .storybook/shared/index.ts}     |    30 +-
 superset-frontend/.swcrc                           |    64 -
 superset-frontend/applitools.config.js             |    27 -
 superset-frontend/babel.config.js                  |     3 -
 .../cypress-base/applitools.config.js              |    29 -
 superset-frontend/cypress-base/cypress.config.ts   |   120 +-
 .../cypress/applitools/chartlist.test.ts           |    45 -
 .../cypress/applitools/dashboard.test.ts           |    53 -
 .../cypress/applitools/dashboardlist.test.ts       |    45 -
 .../cypress/applitools/explore.test.ts             |    46 -
 .../cypress-base/cypress/applitools/sqllab.test.ts |    32 -
 .../cypress/e2e/chart_list/_skip.filter.test.ts    |    57 -
 .../cypress/e2e/chart_list/list.test.ts            |    57 -
 .../cypress-base/cypress/support/e2e.ts            |     1 -
 superset-frontend/cypress-base/package-lock.json   | 17323 ++---
 superset-frontend/cypress-base/package.json        |     1 -
 superset-frontend/cypress-base/tsconfig.json       |     4 +-
 .../{index.js => index.ts}                         |    90 +-
 ...plate-vars.test.js => no-template-vars.test.ts} |     8 +-
 .../eslint-plugin-i18n-strings/package.json        |     2 +-
 .../eslint-plugin-icons/{index.js => index.ts}     |    52 +-
 ...-fontawesome.test.js => no-fontawesome.test.ts} |    12 +-
 .../eslint-rules/eslint-plugin-icons/package.json  |     2 +-
 .../{colors.js => colors.ts}                       |     4 +-
 .../eslint-plugin-theme-colors/index.js            |   119 -
 .../eslint-plugin-theme-colors/index.ts            |   162 +
 .../eslint-plugin-theme-colors/package.json        |     2 +-
 superset-frontend/jest.config.js                   |    11 +-
 superset-frontend/oxlint.json                      |    45 +-
 superset-frontend/package-lock.json                | 73973 ++++++++-----------
 superset-frontend/package.json                     |    86 +-
 .../test/{app.test.js => app.test.ts}              |     1 +
 .../{plugin-chart.test.js => plugin-chart.test.ts} |     8 +-
 .../packages/superset-core/package.json            |     6 +-
 .../superset-core/src/api/contributions.ts         |    51 +-
 .../superset-core/src/spec/utils/logging.test.ts   |     4 +-
 .../superset-core/src/ui/theme/GlobalStyles.tsx    |     6 +-
 .../superset-core/src/ui/theme/Theme.test.tsx      |     2 +-
 .../superset-core/src/ui/theme/utils/utils.test.ts |     8 +-
 .../packages/superset-core/src/utils/index.ts      |     1 +
 .../superset-core/src/utils/isBlank.test.ts        |    59 +
 .../superset-core/src/utils/isBlank.ts}            |    23 +-
 .../superset-ui-chart-controls/src/types.ts        |    80 +
 .../src/utils/getColorFormatters.ts                |    13 +-
 .../src/utils/metricColumnFilter.test.ts           |    20 +-
 .../test/components/ColumnTypeLabel.test.tsx       |    16 +-
 .../superset-ui-chart-controls/test/index.test.ts  |     2 +-
 .../test/operators/aggregateOperator.test.ts       |    10 +-
 .../operators/utils/extractExtraMetrics.test.ts    |     2 +-
 .../test/utils/colorControls.test.ts               |    10 +-
 .../test/utils/columnChoices.test.tsx              |    10 +-
 .../test/utils/defineSavedMetrics.test.tsx         |     6 +-
 .../test/utils/expandControlConfig.test.tsx        |    14 +-
 .../test/utils/getColorFormatters.test.ts          |   113 +-
 .../test/utils/mainMetric.test.ts                  |     8 +-
 .../test/utils/selectOptions.test.ts               |     6 +-
 .../packages/superset-ui-core/package.json         |     8 +-
 .../src/chart/components/FallbackComponent.tsx     |     9 +-
 .../chart/stories}/ChartDataProvider.stories.tsx   |     4 +-
 .../src/chart/stories}/SuperChart.stories.tsx      |     2 +-
 .../src/color/stories}/ColorPalettes.stories.tsx   |     0
 .../src/color/stories}/RenderPalettes.tsx          |     0
 .../src/color/stories}/color-styles.css            |    11 +-
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |    15 +
 .../src/components/AsyncAceEditor/index.tsx        |     5 +-
 .../AsyncAceEditor/useJsonValidation.test.ts       |    12 +-
 .../src/components/AsyncEsmComponent/index.tsx     |     2 +-
 .../components/AutoComplete/AutoComplete.test.tsx  |     6 +-
 .../src/components/Breadcrumb/Breadcrumb.test.tsx  |     2 +-
 .../components/CachedLabel/CachedLabel.stories.tsx |   100 +
 .../components/CachedLabel/CachedLabel.test.tsx    |     4 +-
 .../src/components/Checkbox/Checkbox.test.tsx      |    20 +-
 .../CodeSyntaxHighlighter/index.test.tsx           |    18 +-
 .../components/CronPicker/CronPicker.stories.tsx   |    19 +-
 .../src/components/Dropdown/Dropdown.test.tsx      |    10 +-
 .../DynamicEditableTitle.test.tsx                  |     8 +-
 .../EditableTitle/EditableTitle.test.tsx           |    10 +-
 ...ut.test.jsx => LabeledErrorBoundInput.test.tsx} |    17 +-
 .../src/components/Grid/Grid.test.tsx              |     2 +-
 .../src/components/IconButton/IconButton.test.tsx  |    12 +-
 .../{IconTooltip.test.jsx => IconTooltip.test.tsx} |     0
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Label/Label.test.tsx            |     7 +-
 .../src/components/Layout/Layout.test.tsx          |    10 +-
 .../components/ListViewCard/ImageLoader.test.tsx   |     6 +-
 .../components/ListViewCard/ListViewCard.test.tsx  |     6 +-
 .../src/components/Modal/FormModal.test.tsx        |    10 +-
 .../components/ModalTrigger/ModalTrigger.test.tsx  |     2 +-
 .../src/components/Radio/Radio.test.tsx            |     2 +-
 .../SafeMarkdown/SafeMarkdown.stories.tsx          |   249 +
 .../src/components/Select/AsyncSelect.tsx          |     6 +-
 .../src/components/Select/Select.test.tsx          |    14 +-
 .../src/components/Select/Select.tsx               |     2 +-
 .../src/components/Skeleton/Skeleton.test.tsx      |     6 +-
 .../src/components/Table/sorters.test.ts           |    40 +-
 .../src/components/Table/utils/utils.test.ts       |     8 +-
 .../TableCollection/TableCollection.stories.tsx    |   530 +
 .../TableCollection/TableCollection.test.tsx       |     2 +-
 .../src/components/Tabs/Tabs.test.tsx              |    46 +-
 .../src/components/TelemetryPixel/index.tsx        |     1 -
 .../src/components/Timer/Timer.test.tsx            |     2 +-
 .../TimezoneSelector/TimezoneOptionsCache.test.tsx |     2 +-
 .../src/components/Tree/Tree.test.tsx              |     2 +-
 .../src/components/TreeSelect/TreeSelect.test.tsx  |     2 +-
 .../src/components/Typography/Typography.test.tsx  |    14 +-
 .../src/components/Upload/Upload.test.tsx          |     2 +-
 .../src/connection/stories}/Connection.stories.tsx |    12 +-
 .../superset-ui-core/src/math-expression/index.ts  |     2 +-
 .../src/models/ExtensibleFunction.ts               |     3 +-
 .../src/number-format/D3FormatConfig.ts            |     1 +
 .../factories/createD3NumberFormatter.ts           |    12 +-
 .../factories/createSiAtMostNDigitFormatter.ts     |     6 +-
 .../factories/createSmartNumberFormatter.ts        |    10 +-
 .../stories}/NumberFormat.stories.tsx              |     0
 .../superset-ui-core/src/query/normalizeOrderBy.ts |     1 -
 .../src/query/processExtraFormData.ts              |     2 +-
 .../src/style/stories}/Theme.stories.tsx           |     0
 .../time-format/stories}/TimeFormat.stories.tsx    |     0
 .../superset-ui-core/src/utils/dates.test.ts       |    24 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../superset-ui-core/src/utils/html.test.tsx       |    75 +-
 .../packages/superset-ui-core/src/utils/html.tsx   |     2 +
 .../superset-ui-core/src/utils/merge.test.ts       |     6 +-
 .../chart-composition/legend/WithLegend.test.tsx   |    19 +-
 .../tooltip/TooltipFrame.test.tsx                  |     4 +-
 .../tooltip/TooltipTable.test.tsx                  |     6 +-
 .../test/chart/clients/ChartClient.test.ts         |    32 +-
 .../chart/components/ChartDataProvider.test.tsx    |    38 +-
 .../test/chart/components/SuperChart.test.tsx      |    34 +-
 .../test/chart/components/SuperChartCore.test.tsx  |    30 +-
 .../components/createLoadableRenderer.test.tsx     |    12 +-
 .../test/chart/components/reactify.test.tsx        |    20 +-
 .../superset-ui-core/test/chart/index.test.ts      |     2 +-
 .../test/chart/models/ChartMetadata.test.ts        |    12 +-
 .../test/chart/models/ChartPlugin.test.tsx         |    40 +-
 .../test/chart/models/ChartProps.test.ts           |    14 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |    48 +-
 .../test/color/CategoricalColorScale.test.ts       |    68 +-
 .../CategoricalSchemeRegistrySingleton.test.ts     |     2 +-
 .../test/color/ColorScheme.test.ts                 |     2 +-
 .../test/color/ColorSchemeRegistry.test.ts         |     8 +-
 .../test/color/LabelsColorMapSingleton.test.ts     |    42 +-
 .../test/color/SequentialScheme.test.ts            |    20 +-
 .../SequentialSchemeRegistrySingleton.test.ts      |     2 +-
 .../test/color/colorSchemes.test.ts                |     4 +-
 .../superset-ui-core/test/color/index.test.ts      |     2 +-
 .../superset-ui-core/test/color/utils.test.ts      |    34 +-
 .../Icons/AsyncIcon.integration.test.tsx           |     8 +-
 .../test/components/SafeMarkdown.test.tsx          |    12 +-
 .../test/connection/SupersetClient.test.ts         |     6 +-
 .../test/connection/SupersetClientClass.test.ts    |    82 +-
 .../test/connection/callApi/callApi.test.ts        |    58 +-
 .../callApi/callApiAndParseWithTimeout.test.ts     |    12 +-
 .../test/connection/callApi/parseResponse.test.ts  |    16 +-
 .../connection/callApi/rejectAfterTimeout.test.ts  |     2 +-
 .../test/currency-format/CurrencyFormatter.test.ts |    10 +-
 .../test/dimension/computeMaxFontSize.test.ts      |    10 +-
 .../test/dimension/getBBoxDummyFill.ts             |     6 +-
 .../dimension/getMultipleTextDimensions.test.ts    |    22 +-
 .../test/dimension/getTextDimension.test.ts        |    24 +-
 .../test/dimension/mergeMargin.test.ts             |    20 +-
 .../test/dimension/parseLength.test.ts             |    10 +-
 .../test/dimension/svg/LazyFactory.test.ts         |    10 +-
 .../test/dimension/svg/getBBoxCeil.test.ts         |     8 +-
 .../test/dimension/svg/updateTextNode.test.ts      |    10 +-
 .../test/dynamic-plugins/shared-modules.test.ts    |    10 +-
 .../packages/superset-ui-core/test/index.test.ts   |     2 +-
 .../test/models/ExtensibleFunction.test.ts         |    12 +-
 .../superset-ui-core/test/models/Plugin.test.ts    |    18 +-
 .../superset-ui-core/test/models/Preset.test.ts    |     8 +-
 .../superset-ui-core/test/models/Registry.test.ts  |    96 +-
 .../test/models/RegistryWithDefaultKey.test.ts     |    52 +-
 .../test/models/TypedRegistry.test.ts              |     4 +-
 .../test/number-format/NumberFormatter.test.ts     |    26 +-
 .../number-format/NumberFormatterRegistry.test.ts  |    22 +-
 .../NumberFormatterRegistrySingleton.test.ts       |    16 +-
 .../factories/createD3NumberFormatter.test.ts      |    32 +-
 .../createSiAtMostNDigitFormatter.test.ts          |    12 +-
 .../factories/createSmartNumberFormatter.test.ts   |    47 +-
 .../test/number-format/index.test.ts               |     2 +-
 .../test/query/DatasourceKey.test.ts               |     4 +-
 .../query/api/legacy/getDatasourceMetadata.test.ts |     2 +-
 .../test/query/api/legacy/getFormData.test.ts      |     4 +-
 .../test/query/api/v1/getChartData.test.ts         |     2 +-
 .../test/query/api/v1/handleError.test.ts          |    26 +-
 .../test/query/api/v1/makeApi.test.ts              |    28 +-
 .../test/query/buildQueryContext.test.ts           |    10 +-
 .../test/query/buildQueryObject.test.ts            |    34 +-
 .../test/query/convertFilter.test.ts               |     6 +-
 .../test/query/extractExtras.test.ts               |     6 +-
 .../test/query/extractQueryFields.test.ts          |    26 +-
 .../test/query/extractTimegrain.test.ts            |    10 +-
 .../test/query/getClientErrorObject.test.ts        |     8 +-
 .../test/query/getColumnLabel.test.ts              |     6 +-
 .../test/query/getMetricLabel.test.ts              |    10 +-
 .../test/query/normalizeOrderBy.test.ts            |    22 +-
 .../test/query/processExtraFormData.test.ts        |    10 +-
 .../test/query/processFilters.test.ts              |     8 +-
 .../test/query/types/AnnotationLayer.test.ts       |    20 +-
 .../test/query/types/Filter.test.ts                |    16 +-
 .../time-comparison/customTimeRangeDecode.test.ts  |    22 +-
 .../time-comparison/getComparisonFilters.test.ts   |     8 +-
 .../test/time-comparison/getComparisonInfo.test.ts |    12 +-
 .../test/time-comparison/getTimeOffset.test.ts     |    46 +-
 .../test/time-comparison/index.test.ts             |     2 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |   114 +-
 .../test/time-format/TimeFormatter.test.ts         |    24 +-
 .../test/time-format/TimeFormatterRegistry.test.ts |    34 +-
 .../TimeFormatterRegistrySingleton.test.ts         |    24 +-
 .../factories/createD3TimeFormatter.test.ts        |    14 +-
 .../factories/createMultiFormatter.test.ts         |    64 +-
 .../test/time-format/formatters/smartDate.test.ts  |    20 +-
 .../formatters/smartDateDetailed.test.ts           |    24 +-
 .../formatters/smartDateVerbose.test.ts            |    16 +-
 .../test/time-format/index.test.ts                 |     2 +-
 .../test/time-format/utils/createTime.test.ts      |     8 +-
 .../utils/createTimeRangeFromGranularity.test.ts   |     4 +-
 .../test/time-format/utils/d3Time.test.ts          |    28 +-
 .../test/utils/convertKeysToCamelCase.test.ts      |     8 +-
 .../test/utils/ensureIsArray.test.ts               |     2 +-
 .../test/utils/ensureIsInt.test.ts                 |     2 +-
 .../test/utils/getSelectedText.test.ts             |     2 +-
 .../superset-ui-core/test/utils/isDefined.test.ts  |     4 +-
 .../superset-ui-core/test/utils/isRequired.test.ts |     2 +-
 .../test/utils/makeSingleton.test.ts               |     8 +-
 .../test/utils/promiseTimeout.test.ts              |     4 +-
 .../superset-ui-core/test/utils/random.test.ts     |     4 +-
 .../test/utils/removeDuplicates.test.ts            |     4 +-
 .../test/validator/legacyValidateInteger.test.ts   |     4 +-
 .../test/validator/legacyValidateNumber.test.ts    |     4 +-
 .../test/validator/validateInteger.test.ts         |     4 +-
 .../test/validator/validateMapboxStylesUrl.test.ts |     4 +-
 .../test/validator/validateNonEmpty.test.ts        |     4 +-
 .../test/validator/validateNumber.test.ts          |     4 +-
 .../validateTimeComparisonRangeValues.test.ts      |     4 +-
 .../packages/superset-ui-demo/.babelrc.json        |    18 -
 .../packages/superset-ui-demo/.storybook/main.js   |    55 -
 .../superset-ui-demo/.storybook/preview.js         |    77 -
 .../superset-ui-demo/.storybook/storybook.css      |    19 -
 .../superset-ui-demo/.storybook/themeDecorator.jsx |    10 -
 .../packages/superset-ui-demo/CHANGELOG.md         |    89 -
 .../packages/superset-ui-demo/README.md            |    28 -
 .../packages/superset-ui-demo/package.json         |    84 -
 .../storybook/stories/ExampleApp.stories.jsx       |    90 -
 .../LegacyPluginChartCalendar.stories.tsx          |    53 -
 .../legacy-plugin-chart-map-box/MapBox.stories.tsx |    58 -
 .../Partition.stories.tsx                          |    52 -
 .../legacy-plugin-chart-rose/Rose.stories.tsx      |    45 -
 .../legacy-preset-chart-deckgl/Arc/payload.js      |   269 -
 .../legacy-preset-chart-deckgl/Grid/payload.js     |   113 -
 .../legacy-preset-chart-deckgl/Hex/payload.js      |   113 -
 .../legacy-preset-chart-deckgl/Path/payload.js     |   227 -
 .../Polygon/geojsonPayload.js                      |   130 -
 .../legacy-preset-chart-deckgl/Polygon/payload.js  |   382 -
 .../legacy-preset-chart-deckgl/Scatter/payload.js  |   228 -
 .../Screengrid/payload.js                          |   135 -
 .../BoxPlot/NVD3BoxPlot.stories.tsx                |    28 -
 .../legacy-preset-chart-nvd3/BoxPlot/data.ts       |    77 -
 .../BoxPlot/stories/basic.tsx                      |    37 -
 .../Bubble/NVD3Bubble.stories.tsx                  |    29 -
 .../Bubble/stories/basic.tsx                       |    55 -
 .../Bullet/NVD3Bullet.stories.tsx                  |    29 -
 .../Bullet/stories/basic.tsx                       |    41 -
 .../Compare/NVD3Compare.stories.tsx                |    30 -
 .../Compare/stories/basic.tsx                      |    48 -
 .../Compare/stories/timeFormat.tsx                 |   249 -
 .../plugin-chart-echarts/Gauge/Gauge.stories.tsx   |    52 -
 .../plugin-chart-echarts/Graph/Graph.stories.tsx   |    54 -
 .../PivotTable.stories.tsx                         |    74 -
 .../plugins/plugin-chart-table/birthNames.json     | 13354 ----
 .../plugin-chart-word-cloud/WordCloud.stories.tsx  |   188 -
 .../packages/superset-ui-demo/tsconfig.json        |    22 -
 .../src/switchboard.test.ts                        |    26 +-
 .../components/modals/ChartPropertiesModal.ts      |    52 +
 .../playwright/helpers/api/assertions.ts           |    58 +
 superset-frontend/playwright/helpers/api/chart.ts  |   104 +
 .../playwright/helpers/fixtures/testAssets.ts      |    57 +-
 .../playwright/pages/ChartListPage.ts              |   132 +
 .../tests/experimental/chart/chart-list.spec.ts    |   307 +
 .../tests/experimental/chart/chart-test-helpers.ts |    88 +
 .../experimental/dataset/dataset-list.spec.ts      |    55 +-
 .../src/{Calendar.js => Calendar.ts}               |    93 +-
 .../src/{ReactCalendar.jsx => ReactCalendar.tsx}   |    29 +-
 .../src/{index.js => index.ts}                     |     0
 .../stories/LegacyPluginChartCalendar.stories.tsx  |   123 +
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |     7 +-
 .../src/vendor/{cal-heatmap.js => cal-heatmap.ts}  |     1 +
 .../test/utils.test.ts                             |    14 +-
 .../legacy-plugin-chart-calendar/tsconfig.json     |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{Chord.js => Chord.ts}                     |    46 +-
 .../src/{ReactChord.jsx => ReactChord.tsx}         |    27 +-
 .../src/{index.js => index.ts}                     |     0
 .../stories}/LegacyPluginChartChord.stories.tsx    |    45 +-
 .../legacy-plugin-chart-chord/src/stories}/data.ts |    10 +-
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../legacy-plugin-chart-chord/tsconfig.json        |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{CountryMap.js => CountryMap.ts}           |   121 +-
 .../{ReactCountryMap.jsx => ReactCountryMap.tsx}   |    20 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories}/CountryMap.stories.tsx            |    29 +-
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../test/CountryMap.test.tsx                       |    25 +-
 .../legacy-plugin-chart-country-map/tsconfig.json  |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{HorizonChart.jsx => HorizonChart.tsx}     |    66 +-
 .../src/{HorizonRow.jsx => HorizonRow.tsx}         |    72 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories}/Horizon.stories.tsx               |    36 +-
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |    16 +-
 .../legacy-plugin-chart-horizon/tsconfig.json      |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{MapBox.jsx => MapBox.tsx}                 |   116 +-
 ...tGlowOverlay.jsx => ScatterPlotGlowOverlay.tsx} |   184 +-
 .../src/{index.js => index.ts}                     |     4 +-
 .../src/stories/MapBox.stories.tsx                 |   107 +
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |    34 +-
 .../src/utils/{geo.js => geo.ts}                   |     6 +-
 .../{luminanceFromRGB.js => luminanceFromRGB.ts}   |     6 +-
 .../test/utils/roundDecimal.test.ts                |     2 +-
 .../legacy-plugin-chart-map-box/tsconfig.json      |     3 +-
 .../types/external.d.ts                            |   101 +
 .../src/{PairedTTest.jsx => PairedTTest.tsx}       |    30 +-
 .../src/{TTestTable.jsx => TTestTable.tsx}         |    86 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories}/TTest.stories.tsx                 |    45 +-
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |     9 +-
 .../tsconfig.json                                  |     3 +-
 .../types/external.d.ts                            |    83 +
 ...rallelCoordinates.js => ParallelCoordinates.ts} |    69 +-
 ...oordinates.jsx => ReactParallelCoordinates.tsx} |    21 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories}/ParallelCoordinates.stories.tsx   |    53 +-
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |     8 +-
 .../parcoords/{d3.parcoords.js => d3.parcoords.ts} |     3 +-
 .../vendor/parcoords/{divgrid.js => divgrid.ts}    |     3 +-
 .../tsconfig.json                                  |     3 +-
 .../types/d3-parcoords.d.ts                        |    28 +-
 .../types/d3.d.ts                                  |     2 +-
 .../types/{d3.d.ts => external.d.ts}               |    15 +-
 .../src/{Partition.js => Partition.ts}             |    82 +-
 .../src/{ReactPartition.jsx => ReactPartition.tsx} |    19 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories/Partition.stories.tsx              |   101 +
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |     8 +-
 ...ription.test.jsx => OptionDescription.test.tsx} |     7 +-
 .../legacy-plugin-chart-partition/tsconfig.json    |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{ReactRose.jsx => ReactRose.tsx}           |    17 +-
 .../src/{Rose.js => Rose.ts}                       |    85 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories/Rose.stories.tsx                   |    95 +
 .../legacy-plugin-chart-rose/src/stories}/data.ts  |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../plugins/legacy-plugin-chart-rose/tsconfig.json |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{ReactWorldMap.jsx => ReactWorldMap.tsx}   |    25 +-
 .../src/{WorldMap.js => WorldMap.ts}               |    90 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/stories}/WorldMap.stories.tsx              |    35 +-
 .../src/stories}/data.ts                           |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../test/WorldMap.test.ts                          |   389 +
 .../test/tsconfig.json                             |     8 +
 .../legacy-plugin-chart-world-map/tsconfig.json    |     3 +-
 .../types/external.d.ts}                           |    12 +-
 .../legacy-preset-chart-deckgl/package.json        |     8 +-
 .../src/Multi/Multi.test.tsx                       |    36 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx |     2 +-
 .../src/layers/Arc/stories}/Arc.stories.tsx        |    48 +-
 .../src/layers/Arc/stories/payload.ts              |    80 +
 .../src/layers/Contour/getSafeCellSize.test.ts     |    12 +-
 .../src/layers/Grid/Grid.tsx                       |     6 +-
 .../src/layers/Grid/stories}/Grid.stories.tsx      |    45 +-
 .../src/layers/Grid/stories/payload.ts             |    41 +
 .../src/layers/Hex/Hex.tsx                         |     6 +-
 .../src/layers/Hex/stories}/Hex.stories.tsx        |    45 +-
 .../src/layers/Hex/stories/payload.ts              |    46 +
 .../src/layers/Path/Path.test.tsx                  |     3 +-
 .../src/layers/Path/stories}/Path.stories.tsx      |    38 +-
 .../src/layers/Path/stories/payload.ts}            |    24 +-
 .../src/layers/Polygon/Polygon.test.tsx            |    22 +-
 .../layers/Polygon/stories}/Polygon.stories.tsx    |   174 +-
 .../src/layers/Polygon/stories/geojsonPayload.ts   |    77 +
 .../src/layers/Polygon/stories/payload.ts}         |    79 +-
 .../src/layers/Scatter/buildQuery.test.ts          |   245 +-
 .../src/layers/Scatter/buildQuery.ts               |    44 +-
 .../layers/Scatter/stories}/Scatter.stories.tsx    |    54 +-
 .../src/layers/Scatter/stories/payload.ts          |    41 +
 .../Screengrid/stories/Screengrid.stories.tsx}     |    36 +-
 .../src/layers/Screengrid/stories/payload.ts       |    44 +
 .../src/layers/buildQueryUtils.ts                  |     4 -
 .../src/layers/common.test.ts                      |    42 +-
 .../src/layers/spatialUtils.test.ts                |    54 +-
 .../legacy-preset-chart-deckgl/src/utils.test.ts   |    48 +-
 .../legacy-preset-chart-deckgl/src/utils.ts        |     2 +-
 .../src/utils/crossFiltersDataMask.test.ts         |    14 +-
 .../test/utils/colors.test.ts                      |     2 +-
 .../test/utils/getPointsFromPolygon.test.ts        |     4 +-
 .../src/BoxPlot/stories/NVD3BoxPlot.stories.tsx    |    81 +
 .../src/BoxPlot/stories/data.ts                    |    78 +
 .../src/Bubble/{index.js => index.ts}              |     0
 .../src/Bubble/stories/NVD3Bubble.stories.tsx      |   103 +
 .../src/Bubble/stories}/data.ts                    |     0
 .../src/Bullet/{index.js => index.ts}              |     0
 .../src/Bullet/stories/NVD3Bullet.stories.tsx      |    87 +
 .../src/Bullet/stories}/data.ts                    |     0
 .../src/Compare/{index.js => index.ts}             |     0
 .../src/Compare/stories/NVD3Compare.stories.tsx    |   208 +
 .../src/Compare/stories}/data.ts                   |     0
 .../src/{NVD3Vis.js => NVD3Vis.ts}                 |     1 +
 .../src/{PropTypes.js => PropTypes.ts}             |     0
 .../src/{ReactNVD3.jsx => ReactNVD3.tsx}           |     1 +
 .../src/TimePivot/{index.js => index.ts}           |     0
 .../src/{index.js => index.ts}                     |     0
 .../src/{preset.js => preset.ts}                   |     0
 .../src/{transformProps.js => transformProps.ts}   |    22 +-
 .../src/{utils.js => utils.ts}                     |     1 +
 .../src/utils/{isTruthy.js => isTruthy.ts}         |     2 +-
 .../{AnnotationTypes.js => AnnotationTypes.ts}     |     1 +
 .../superset/{exploreUtils.js => exploreUtils.ts}  |     1 +
 .../test/{utils.test.js => utils.test.ts}          |    21 +-
 .../utils/{isTruthy.test.js => isTruthy.test.ts}   |    12 +-
 .../utils/{tokenize.test.js => tokenize.test.ts}   |    14 +-
 .../types/external.d.ts}                           |    31 +-
 .../src/controlPanel.tsx                           |     2 +-
 .../src/renderers/TextCellRenderer.tsx             |     2 +
 .../src/stories/AgGridTable.stories.tsx            |   100 +
 .../plugin-chart-ag-grid-table/src/stories/data.ts |    58 +
 .../src/transformProps.ts                          |     2 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |    86 +-
 .../src/utils/formatValue.ts                       |     2 +-
 .../test/buildQuery.test.ts                        |   120 +-
 .../test/controlPanel.test.tsx                     |     2 +-
 .../test/utils/agGridFilterConverter.test.ts       |    90 +-
 .../test/utils/filterStateManager.test.ts          |    40 +-
 .../test/utils/getInitialFilterModel.test.ts       |    42 +-
 .../plugin-chart-ag-grid-table/tsconfig.json       |     3 +-
 .../plugins/plugin-chart-cartodiagram/package.json |     2 +-
 .../src/stories/Cartodiagram.stories.tsx           |   208 +
 .../plugin-chart-cartodiagram/src/stories/data.ts  |   206 +
 .../src/util/layerUtil.tsx                         |     1 -
 .../test/components/chartLayer.test.ts             |     4 +-
 .../plugin-chart-cartodiagram/test/index.test.ts   |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     4 +-
 .../test/plugin/index.test.ts                      |     2 +-
 .../test/plugin/transformProps.test.ts             |     4 +-
 .../test/util/chartUtil.test.ts                    |     6 +-
 .../test/util/controlPanelUtil.test.tsx            |    12 +-
 .../test/util/geometryUtil.test.ts                 |     6 +-
 .../test/util/layerUtil.test.ts                    |    12 +-
 .../test/util/mapUtil.test.ts                      |     2 +-
 .../test/util/serviceUtil.test.ts                  |     8 +-
 .../test/util/transformPropsUtil.test.ts           |    34 +-
 .../plugin-chart-cartodiagram/tsconfig.json        |     3 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     6 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |     5 -
 .../BigNumber/BigNumberTotal/controlPanel.test.ts  |     6 +-
 .../stories}/BigNumberTotal.stories.tsx            |    56 +-
 .../src/BigNumber/BigNumberTotal/stories}/data.ts  |     0
 .../BigNumberTotal/transformProps.test.ts          |    14 +-
 .../src/BigNumber/BigNumberViz.tsx                 |    15 +-
 .../BigNumberWithTrendline/buildQuery.test.ts      |     8 +-
 .../stories}/BigNumber.stories.tsx                 |    76 +-
 .../BigNumberWithTrendline/stories}/data.ts        |     0
 .../BigNumberWithTrendline/transformProps.test.ts  |    12 +-
 .../BigNumberWithTrendline/transformProps.ts       |    13 +-
 .../src/BoxPlot/stories}/BoxPlot.stories.tsx       |    19 +-
 .../src/BoxPlot/stories}/data.ts                   |     0
 .../src/BoxPlot/transformProps.ts                  |     4 +-
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |     2 +-
 .../src/Bubble/stories}/BubbleChart.stories.tsx    |    43 +-
 .../src/Bubble/stories}/data.ts                    |     0
 .../src/Funnel/controlPanel.tsx                    |    28 +-
 .../src/Funnel/stories}/Funnel.stories.tsx         |    43 +-
 .../src/Funnel/stories}/constants.ts               |     0
 .../src/Funnel/transformProps.ts                   |    19 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |    12 +-
 .../src/Gauge/stories/Gauge.stories.tsx            |   118 +
 .../src/Gauge/stories}/data.ts                     |     0
 .../src/Gauge/transformProps.ts                    |     1 -
 .../src/Graph/stories/Graph.stories.tsx            |   138 +
 .../src/Graph/stories}/data.ts                     |     0
 .../plugin-chart-echarts/src/Graph/types.ts        |     2 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |     1 -
 .../src/MixedTimeseries/index.ts                   |     1 -
 .../stories}/MixedSeries.stories.tsx               |   149 +-
 .../src/MixedTimeseries/stories}/negativeData.ts   |     0
 .../src/MixedTimeseries/transformProps.ts          |     1 -
 .../src/MixedTimeseries/types.ts                   |     2 +-
 .../src/Pie/stories}/Pie.stories.tsx               |   141 +-
 .../plugin-chart-echarts/src/Pie/stories}/data.ts  |     0
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |     2 +-
 .../src/Radar/stories}/Radar.stories.tsx           |    63 +-
 .../src/Radar/stories}/data.ts                     |     0
 .../plugin-chart-echarts/src/Radar/types.ts        |     2 +-
 .../src/Sunburst/stories}/Sunburst.stories.tsx     |    23 +-
 .../src/Sunburst/stories}/data.ts                  |     0
 .../src/Timeseries/EchartsTimeseries.test.tsx      |     7 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |     2 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    21 +-
 .../src/Timeseries/constants.ts                    |     2 +-
 .../stories}/AreaSeries/AreaSeries.stories.tsx     |    67 +-
 .../src/Timeseries/stories}/AreaSeries/data.ts     |     0
 .../src/Timeseries/stories}/Timeseries.stories.tsx |    96 +-
 .../src/Timeseries/stories}/confbandData.ts        |     0
 .../src/Timeseries/stories}/data.ts                |     0
 .../src/Timeseries/stories}/negativeNumData.ts     |     0
 .../src/Timeseries/stories}/stackWithNulls.ts      |     0
 .../src/Timeseries/transformers.ts                 |    66 +-
 .../src/Tree/stories}/Tree.stories.tsx             |   163 +-
 .../plugin-chart-echarts/src/Tree/stories}/data.ts |     0
 .../src/Treemap/stories}/Treemap.stories.tsx       |    27 +-
 .../src/Treemap/stories}/data.ts                   |     0
 .../src/Treemap/transformProps.ts                  |     2 -
 .../src/Waterfall/stories}/Waterfall.stories.tsx   |    38 +-
 .../src/Waterfall/stories}/data.ts                 |     0
 .../plugins/plugin-chart-echarts/src/constants.ts  |     8 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    21 +-
 .../src/utils/themeOverrides.test.ts               |    14 +-
 .../test/BigNumber/transformProps.test.ts          |    40 +-
 .../test/BoxPlot/buildQuery.test.ts                |     4 +-
 .../test/BoxPlot/transformProps.test.ts            |     2 +-
 .../test/Bubble/buildQuery.test.ts                 |     4 +-
 .../test/Bubble/transformProps.test.ts             |    14 +-
 .../test/Funnel/buildQuery.test.ts                 |     2 +-
 .../test/Funnel/transformProps.test.ts             |    10 +-
 .../test/Gantt/buildQuery.test.ts                  |     2 +-
 .../test/Gantt/transformProps.test.ts              |     8 +-
 .../test/Gauge/buildQuery.test.ts                  |     6 +-
 .../test/Gauge/transformProps.test.ts              |    36 +-
 .../test/Graph/buildQuery.test.ts                  |     8 +-
 .../test/Graph/transformProps.test.ts              |    10 +-
 .../test/MixedTimeseries/transformProps.test.ts    |     6 +-
 .../test/Pie/buildQuery.test.ts                    |     2 +-
 .../test/Pie/transformProps.test.ts                |    32 +-
 .../test/Radar/transformProps.test.ts              |     8 +-
 .../test/Timeseries/Bar/controlPanel.test.ts       |   344 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |    24 +-
 .../test/Timeseries/Scatter/controlPanel.test.ts   |     2 +-
 .../test/Timeseries/Scatter/transformProps.test.ts |     4 -
 .../test/Timeseries/buildQuery.test.ts             |    10 +-
 .../test/Timeseries/constants.test.ts              |     8 +-
 .../test/Timeseries/transformProps.test.ts         |    28 +-
 .../test/Timeseries/transformers.test.ts           |   129 +-
 .../test/Tree/buildQuery.test.ts                   |     4 +-
 .../test/Tree/transformProps.test.ts               |    10 +-
 .../test/Treemap/buildQuery.test.ts                |     2 +-
 .../test/Treemap/transformProps.test.ts            |     2 +-
 .../test/Waterfall/buildQuery.test.ts              |     2 +-
 .../test/utils/annotation.test.ts                  |    16 +-
 .../test/utils/controls.test.ts                    |     4 +-
 .../test/utils/forecast.test.ts                    |    14 +-
 .../test/utils/formatters.test.ts                  |     6 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |    80 +-
 .../test/utils/transformers.test.ts                |    16 +-
 .../test/utils/treeBuilder.test.ts                 |     4 +-
 .../plugins/plugin-chart-echarts/tsconfig.json     |     3 +-
 .../src/stories/Handlebars.stories.tsx             |   268 +
 .../plugin-chart-handlebars/src/stories/data.ts    |   129 +
 .../plugin-chart-handlebars/test/index.test.ts     |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     2 +-
 .../test/plugin/transformProps.test.ts             |     2 +-
 .../plugins/plugin-chart-handlebars/tsconfig.json  |     3 +-
 .../src/PivotTableChart.tsx                        |    24 +-
 .../{PivotTable.jsx => PivotTable.tsx}             |     8 +-
 .../src/react-pivottable/{Styles.js => Styles.ts}  |     2 +-
 .../{TableRenderers.jsx => TableRenderers.tsx}     |   432 +-
 .../src/react-pivottable/{index.js => index.ts}    |     0
 .../{utilities.js => utilities.ts}                 |   527 +-
 .../src/stories/PivotTable.stories.tsx             |   119 +
 .../src/stories}/testData.ts                       |     0
 .../plugin-chart-pivot-table/test/index.test.ts    |     2 +-
 .../test/plugin/transformProps.test.ts             |    12 +-
 .../test/react-pivottable/tableRenders.test.tsx    |    16 +-
 .../src/DataTable/components/Pagination.tsx        |    10 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |     7 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     2 +-
 .../src/stories}/Table.stories.tsx                 |    43 +-
 .../plugin-chart-table/src/stories/birthNames.json |    25 +
 .../plugin-chart-table/src/stories}/testData.ts    |     2 +-
 .../plugin-chart-table/src/transformProps.ts       |     2 +-
 .../plugins/plugin-chart-table/src/types.ts        |    91 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |     8 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    26 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |     2 +-
 .../test/sortAlphanumericCaseInsensitive.test.ts   |     6 +-
 .../plugins/plugin-chart-table/tsconfig.json       |     3 +-
 .../src/stories/WordCloud.stories.tsx              |    90 +
 .../plugin-chart-word-cloud/src/stories}/data.ts   |     0
 .../test/buildQuery.test.ts                        |     2 +-
 .../plugins/plugin-chart-word-cloud/tsconfig.json  |     3 +-
 superset-frontend/scripts/check-custom-rules.js    |     2 -
 .../scripts/check-storybook-coverage.js            |   221 +
 .../spec/fixtures/mockNativeFilters.ts             |     2 +-
 superset-frontend/spec/fixtures/mockStore.js       |    11 +
 superset-frontend/spec/helpers/testing-library.tsx |     2 +-
 superset-frontend/src/.eslintrc.json               |    11 -
 .../actions/{sqlLab.test.js => sqlLab.test.ts}     |   443 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |   353 +-
 .../src/SqlLab/components/App/index.tsx            |     8 +-
 .../SqlLab/components/AppLayout/AppLayout.test.tsx |     5 +-
 .../src/SqlLab/components/AppLayout/index.tsx      |     6 +-
 .../components/EditorWrapper/useKeywords.test.ts   |     8 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |    23 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |     4 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |     1 -
 .../src/SqlLab/components/ResultSet/index.tsx      |    12 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |     9 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |     4 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |     6 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |     7 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     2 +
 .../SqlLab/components/SqlEditorTopBar/index.tsx    |     4 +-
 .../src/SqlLab/components/StatusBar/index.tsx      |     6 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |     2 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |    65 +-
 superset-frontend/src/SqlLab/contributions.ts      |    41 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     7 +-
 .../src/SqlLab/reducers/getInitialState.ts         |     2 +
 .../reducers/{sqlLab.test.js => sqlLab.test.ts}    |    70 +-
 .../src/SqlLab/utils/emptyQueryResults.test.ts     |     6 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |     2 +-
 .../src/components/AuditInfo/index.tsx             |    25 +-
 .../src/components/AuditInfo/types.ts              |     2 +-
 superset-frontend/src/components/Chart/Chart.tsx   |    21 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |     6 +-
 .../Chart/ChartContextMenu/useContextMenu.test.tsx |     2 +-
 ...artRenderer.test.jsx => ChartRenderer.test.tsx} |   177 +-
 .../Chart/{ChartRenderer.jsx => ChartRenderer.tsx} |   294 +-
 .../Chart/DrillBy/useResultsTableView.test.ts      |    48 +
 .../Chart/DrillBy/useResultsTableView.tsx          |     5 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |     5 +-
 .../src/components/Chart/chartAction.js            |   652 -
 .../src/components/Chart/chartAction.ts            |  1013 +
 .../{chartActions.test.js => chartActions.test.ts} |   441 +-
 ...chartReducers.test.js => chartReducers.test.ts} |    32 +-
 .../useDrillDetailMenuItems.test.tsx               |     1 +
 ...dal.test.jsx => ChangeDatasourceModal.test.tsx} |     3 +-
 ...urceModal.test.jsx => DatasourceModal.test.tsx} |    19 +-
 .../components/CollectionTable/index.tsx           |     2 +-
 .../{DatasourceEditor.jsx => DatasourceEditor.tsx} |   677 +-
 .../tests/DatasourceEditor.test.tsx                |     3 +
 .../Datasource/components/Field/index.tsx          |    10 +-
 .../Datasource/components/Fieldset/index.tsx       |    12 +-
 .../src/components/Datasource/types.ts             |    34 +-
 .../Datasource/utils/{index.js => index.ts}        |   134 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |     2 +-
 .../ErrorMessage/ErrorMessageWithStackTrace.tsx    |     2 +-
 .../ErrorMessage/OAuth2RedirectMessage.test.tsx    |     8 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |     2 +-
 .../src/components/FacePile/FacePile.stories.tsx   |     2 +-
 .../src/components/FacePile/FacePile.test.tsx      |     2 +-
 .../src/components/FacePile/utils.tsx              |     4 +-
 .../src/components/ListView/CardCollection.tsx     |     6 +-
 .../src/components/ListView/ListView.tsx           |    54 +-
 .../{Toast.test.jsx => Toast.test.tsx}             |     6 +-
 .../src/components/MessageToasts/Toast.tsx         |    18 +-
 ...tPresenter.test.jsx => ToastPresenter.test.tsx} |     5 +-
 .../components/MessageToasts/ToastPresenter.tsx    |    59 +-
 .../{reducers.test.js => reducers.test.ts}         |    41 +-
 .../src/components/PanelToolbar/index.tsx          |     2 +-
 .../src/components/RowCountLabel/index.tsx         |     2 +-
 .../ViewListExtension/ViewListExtension.test.tsx   |    32 +-
 superset-frontend/src/components/index.ts          |     2 +-
 .../src/core/editors/AceEditorProvider.test.tsx    |     3 +-
 .../src/core/editors/AceEditorProvider.tsx         |    20 +-
 .../src/core/editors/EditorHost.test.tsx           |    14 +-
 superset-frontend/src/core/sqlLab/index.ts         |     3 +-
 .../src/dashboard/actions/dashboardFilters.js      |    64 -
 .../src/dashboard/actions/dashboardFilters.ts      |   120 +
 ...boardLayout.test.js => dashboardLayout.test.ts} |   150 +-
 .../{dashboardLayout.js => dashboardLayout.ts}     |   212 +-
 .../src/dashboard/actions/dashboardState.js        |  1100 -
 ...shboardState.test.js => dashboardState.test.ts} |    86 +-
 .../src/dashboard/actions/dashboardState.ts        |  1519 +
 .../dashboard/actions/{hydrate.js => hydrate.ts}   |   156 +-
 .../src/dashboard/actions/sliceEntities.ts         |    12 +-
 .../{Dashboard.test.jsx => Dashboard.test.tsx}     |    83 +-
 .../components/{Dashboard.jsx => Dashboard.tsx}    |   158 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     7 -
 ...shboardGrid.test.jsx => DashboardGrid.test.tsx} |    12 +-
 .../{DashboardGrid.jsx => DashboardGrid.tsx}       |   104 +-
 .../components/FiltersBadge/FiltersBadge.test.tsx  |     4 +-
 .../components/Header/{index.jsx => index.tsx}     |   159 +-
 .../src/dashboard/components/Header/types.ts       |    59 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |    14 +-
 .../src/dashboard/components/SliceAdder.tsx        |     2 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |    32 -
 .../SliceHeaderControls.test.tsx                   |    15 +-
 ...agDroppable.test.jsx => DragDroppable.test.tsx} |    55 +-
 .../dnd/{DragDroppable.jsx => DragDroppable.tsx}   |   180 +-
 .../components/dnd/dragDroppableConfig.ts          |     4 +
 .../dnd/{handleDrop.js => handleDrop.ts}           |    22 +-
 .../components/filterscope/FilterScope.test.tsx    |     8 +-
 ...erScopeSelector.jsx => FilterScopeSelector.tsx} |   356 +-
 .../Chart/{Chart.test.jsx => Chart.test.tsx}       |    30 +-
 .../gridComponents/Chart/{Chart.jsx => Chart.tsx}  |   497 +-
 .../ChartHolder/ChartHolder.test.tsx               |     5 +-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |    14 +-
 .../Column/{Column.test.jsx => Column.test.tsx}    |    70 +-
 .../Column/{Column.jsx => Column.tsx}              |   132 +-
 .../gridComponents/Divider/Divider.test.tsx        |     6 +-
 .../DynamicComponent/DynamicComponent.tsx          |     2 -
 .../gridComponents/Header/Header.test.tsx          |    26 +-
 .../gridComponents/Markdown/Markdown.test.tsx      |     8 +
 .../Markdown/{Markdown.jsx => Markdown.tsx}        |   165 +-
 .../components/gridComponents/Row/Row.test.tsx     |    73 +-
 .../components/gridComponents/Row/Row.tsx          |     2 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |    25 +-
 .../gridComponents/Tab/{Tab.jsx => Tab.tsx}        |   161 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |     7 +-
 .../gridComponents/Tabs/{Tabs.jsx => Tabs.tsx}     |   201 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |     2 +-
 ...ent.test.jsx => DraggableNewComponent.test.tsx} |     2 +-
 .../new/{NewColumn.test.jsx => NewColumn.test.tsx} |     2 +-
 .../{NewDivider.test.jsx => NewDivider.test.tsx}   |     2 +-
 .../new/{NewHeader.test.jsx => NewHeader.test.tsx} |     2 +-
 .../new/{NewTabs.test.jsx => NewTabs.test.tsx}     |     2 +-
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |     3 +-
 ...poverMenu.test.jsx => WithPopoverMenu.test.tsx} |    16 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   183 +-
 .../FilterBarSettings/FilterBarSettings.test.tsx   |     3 +-
 .../FilterControls/FilterControls.test.tsx         |     2 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    14 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |     6 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    12 +-
 .../components/nativeFilters/FilterBar/state.ts    |     2 +-
 .../components/nativeFilters/FilterBar/utils.ts    |     5 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |     1 -
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |    13 +-
 .../FiltersConfigModal/FilterConfigPane.test.tsx   |    10 +-
 .../FiltersConfigForm/FilterScope/state.ts         |    12 +-
 .../FiltersConfigForm/FilterScope/utils.test.ts    |    79 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |     6 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    20 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |     5 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    41 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |    18 +-
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |     1 -
 .../components/nativeFilters/selectors.test.ts     |   425 +-
 .../components/nativeFilters/selectors.ts          |    60 +-
 .../dashboard/components/nativeFilters/state.ts    |     2 +-
 .../dashboard/components/nativeFilters/utils.ts    |     2 +-
 .../components/resizable/ResizableContainer.tsx    |     4 +-
 .../dashboard/containers/DashboardComponent.jsx    |   144 -
 .../dashboard/containers/DashboardComponent.tsx    |   187 +
 .../src/dashboard/containers/DashboardPage.tsx     |    23 +-
 ...ardFilters.test.js => dashboardFilters.test.ts} |    58 +-
 .../{dashboardFilters.js => dashboardFilters.ts}   |   110 +-
 .../{dashboardInfo.js => dashboardInfo.ts}         |   185 +-
 ...boardLayout.test.js => dashboardLayout.test.ts} |    46 +-
 .../{dashboardLayout.js => dashboardLayout.ts}     |   160 +-
 .../src/dashboard/reducers/dashboardState.test.js  |   296 -
 .../src/dashboard/reducers/dashboardState.test.ts  |   328 +-
 .../{dashboardState.js => dashboardState.ts}       |   235 +-
 ...sliceEntities.test.js => sliceEntities.test.ts} |    27 +-
 superset-frontend/src/dashboard/reducers/types.ts  |    81 -
 ...shboardLayout.js => undoableDashboardLayout.ts} |    23 +-
 superset-frontend/src/dashboard/types.ts           |    91 +-
 .../dashboard/util/buildFilterScopeTreeEntry.ts    |     6 +-
 .../src/dashboard/util/crossFilters.test.ts        |     3 +-
 .../{dnd-reorder.test.js => dnd-reorder.test.ts}   |     2 +-
 .../util/{dnd-reorder.js => dnd-reorder.ts}        |    30 +-
 .../src/dashboard/util/dropOverflowsParent.test.ts |    66 +-
 .../src/dashboard/util/dropOverflowsParent.ts      |    12 +-
 .../src/dashboard/util/extractUrlParams.test.ts    |     4 +-
 ...er.test.js => findFirstParentContainer.test.ts} |    17 +-
 .../src/dashboard/util/findParentId.test.ts        |     8 +-
 ...=> getChartAndLabelComponentIdFromPath.test.ts} |     0
 .../util/getChartIdsInFilterScope.test.ts          |    66 +-
 ...dthFromDrop.js => getComponentWidthFromDrop.ts} |    29 +-
 ...ashboardUrl.test.js => getDashboardUrl.test.ts} |    47 +-
 ...h.test.js => getDetailedComponentWidth.test.ts} |    11 +-
 ...ponentWidth.js => getDetailedComponentWidth.ts} |    37 +-
 ...ropPosition.test.js => getDropPosition.test.ts} |    17 +-
 .../{getDropPosition.js => getDropPosition.ts}     |    45 +-
 ...rs.test.js => getEffectiveExtraFilters.test.ts} |     3 +-
 ...est.js => getFilterConfigsFromFormdata.test.ts} |     3 +
 ...Formdata.js => getFilterConfigsFromFormdata.ts} |    41 +-
 ...test.js => getFilterScopeFromNodesTree.test.ts} |     5 +-
 ...NodesTree.js => getFilterScopeFromNodesTree.ts} |    75 +-
 ...copeNodesTree.js => getFilterScopeNodesTree.ts} |    77 +-
 ....test.js => getLeafComponentIdFromPath.test.ts} |     0
 .../src/dashboard/util/getRelatedCharts.ts         |     4 +-
 .../src/dashboard/util/getRevertedFilterScope.ts   |    27 +-
 ...Factory.test.js => newComponentFactory.test.ts} |     0
 ...wComponentFactory.js => newComponentFactory.ts} |    18 +-
 ...romDrop.test.js => newEntitiesFromDrop.test.ts} |    35 +-
 ...wEntitiesFromDrop.js => newEntitiesFromDrop.ts} |    15 +-
 .../src/dashboard/util/propShapes.jsx              |   129 -
 ....test.js => updateComponentParentsList.test.ts} |    24 +-
 .../src/embedded/EmbeddedContextProviders.tsx      |     2 +-
 superset-frontend/src/embedded/utils.test.ts       |    12 +-
 superset-frontend/src/embedded/utils.ts            |    10 +-
 .../src/explore/actions/datasourcesActions.test.ts |    15 +-
 ...ploreActions.test.js => exploreActions.test.ts} |    29 +-
 .../src/explore/actions/hydrateExplore.test.ts     |    12 +-
 .../src/explore/actions/saveModalActions.test.ts   |   105 +-
 .../src/explore/actions/saveModalActions.ts        |     4 +-
 .../explore/components/ControlPanelsContainer.tsx  |     3 +-
 .../CopyToClipboardButton.test.tsx                 |     8 +-
 .../explore/components/DataTableControl/index.tsx  |     7 +-
 .../components/DataTableControls.tsx               |     3 +-
 .../components/SingleQueryResultPane.tsx           |     5 +-
 .../DataTablesPane/components/useResultsPane.tsx   |     6 +-
 .../DataTablesPane/test/DataTablesPane.test.tsx    |     2 +-
 .../src/explore/components/DataTablesPane/types.ts |     1 +
 .../explore/components/DatasourcePanel/index.tsx   |     2 +-
 ...eContent.test.jsx => EmbedCodeContent.test.tsx} |     7 +-
 .../{EmbedCodeContent.jsx => EmbedCodeContent.tsx} |    31 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   440 +-
 .../ExploreChartHeader/{index.jsx => index.tsx}    |   117 +-
 ...rtPanel.test.jsx => ExploreChartPanel.test.tsx} |     9 +-
 .../explore/components/ExploreChartPanel/index.tsx |    11 +-
 .../ExploreViewContainer/{index.jsx => index.tsx}  |   398 +-
 .../{SaveModal.test.jsx => SaveModal.test.tsx}     |    79 +-
 .../src/explore/components/SaveModal.tsx           |     7 +-
 .../controls/AnnotationLayerControl/index.tsx      |    10 +-
 .../controls/CollectionControl/index.tsx           |    18 -
 .../ControlForm/ControlFormItem.tsx                |     2 +-
 .../FormattingPopoverContent.test.tsx              |     3 +-
 .../FormattingPopoverContent.tsx                   |     8 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    23 +-
 .../controls/DatasourceControl/index.tsx           |    22 -
 .../ColumnSelectPopover.test.tsx                   |   199 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    24 +-
 .../FilterControl/AdhocFilterControl/index.tsx     |    46 +-
 .../AdhocFilterEditPopover.test.tsx                |     1 +
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    26 -
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |   108 +-
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |     6 +-
 .../controls/FilterControl/adhocFilterType.test.ts |   104 -
 .../controls/FilterControl/adhocFilterType.ts      |    64 -
 .../components/controls/FilterControl/types.ts     |     7 -
 .../controls/FilterControl/utils/translateToSQL.ts |     7 +-
 .../controls/FixedOrMetricControl/index.tsx        |    16 +-
 .../AdhocMetricEditPopover.test.tsx                |   158 +
 .../MetricControl/AdhocMetricEditPopover/index.tsx |    28 +-
 .../controls/MetricControl/AdhocMetricOption.tsx   |    22 -
 .../MetricControl/FilterDefinitionOption.tsx       |    13 -
 .../MetricControl/MetricDefinitionValue.tsx        |    19 -
 .../controls/MetricControl/MetricsControl.tsx      |    20 -
 .../controls/MetricControl/adhocMetricType.ts      |    37 -
 .../controls/MetricControl/savedMetricType.test.ts |    45 -
 .../controls/MetricControl/savedMetricType.ts      |    31 -
 .../explore/components/controls/SelectControl.tsx  |    52 -
 .../components/controls/TextAreaControl.tsx        |    37 -
 .../controls/TimeSeriesColumnControl/index.tsx     |    21 -
 .../explore/components/controls/ViewQueryModal.tsx |     2 +-
 .../ZoomConfigControl/ZoomConfigControl.tsx        |     8 +-
 .../controls/ZoomConfigControl/zoomUtil.test.ts    |     2 +-
 .../{index.jsx => index.tsx}                       |   262 +-
 ...exploreUtils.test.jsx => exploreUtils.test.tsx} |    54 +-
 .../explore/exploreUtils/getChartDataUri.test.ts   |     8 +-
 .../src/explore/exploreUtils/getChartKey.test.ts   |     5 +-
 .../src/explore/exploreUtils/getExploreUrl.test.ts |     2 +-
 .../exploreUtils/getParsedExploreURLParams.test.ts |     2 +-
 .../exploreUtils/getSimpleSQLExpression.test.ts    |     6 -
 .../explore/exploreUtils/{index.js => index.ts}    |   203 +-
 .../src/explore/reducers/exploreReducer.js         |   375 -
 ...ploreReducer.test.js => exploreReducer.test.ts} |    27 +-
 .../src/explore/reducers/exploreReducer.ts         |   633 +
 superset-frontend/src/explore/types.ts             |     1 +
 .../src/extensions/ExtensionsManager.test.ts       |    36 +-
 .../src/extensions/ExtensionsManager.ts            |    35 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |    26 +-
 .../src/features/alerts/AlertReportModal.tsx       |     4 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |     3 +-
 .../UploadDataModel/UploadDataModal.test.tsx       |     6 +-
 .../src/features/home/RightMenu.test.tsx           |    24 +-
 .../ReportModal/HeaderReportDropdown/index.tsx     |    16 +-
 .../reports/ReportModal/ReportModal.test.tsx       |     5 +-
 .../src/features/reports/ReportModal/actions.js    |   162 -
 .../src/features/reports/ReportModal/actions.ts    |   257 +
 .../src/features/reports/ReportModal/index.tsx     |     3 +-
 .../src/features/reports/ReportModal/reducer.js    |    99 -
 .../src/features/reports/ReportModal/reducer.ts    |   159 +
 .../src/features/roles/RoleListEditModal.test.tsx  |    37 +
 .../src/features/roles/RoleListEditModal.tsx       |    12 +-
 .../src/features/tags/BulkTagModal.tsx             |     4 +-
 superset-frontend/src/features/tags/TagModal.tsx   |     6 +-
 .../src/features/tasks/TaskPayloadPopover.tsx      |    76 +
 .../src/features/tasks/TaskStackTracePopover.tsx   |   137 +
 .../src/features/tasks/TaskStatusIcon.tsx          |   145 +
 .../src/features/tasks/timeUtils.test.ts           |   145 +
 superset-frontend/src/features/tasks/timeUtils.ts  |   151 +
 superset-frontend/src/features/tasks/types.ts      |   115 +
 .../src/features/themes/ThemeModal.test.tsx        |   174 +-
 .../src/features/themes/ThemeModal.tsx             |    65 +-
 .../components/Range/RangeFilterPlugin.test.tsx    |     8 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |     2 +-
 .../src/filters/components/Range/buildQuery.ts     |     2 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |   166 +-
 .../components/Select/SelectFilterPlugin.tsx       |     7 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |    29 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |     2 +-
 superset-frontend/src/filters/utils.ts             |     1 -
 superset-frontend/src/middleware/logger.test.js    |   161 -
 superset-frontend/src/middleware/logger.test.ts    |   187 +
 .../{loggerMiddleware.js => loggerMiddleware.ts}   |    97 +-
 ...eportList.test.jsx => AlertReportList.test.tsx} |    16 +-
 ...rList.test.jsx => AnnotationLayerList.test.tsx} |    17 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |     4 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    45 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |   189 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |     2 +-
 .../src/pages/ChartList/ChartList.test.tsx         |   181 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |     2 +-
 ...plateList.test.jsx => CssTemplateList.test.tsx} |    16 +-
 ...shboardList.test.jsx => DashboardList.test.tsx} |    22 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |   116 +-
 .../DatasetList/DatasetList.integration.test.tsx   |     4 +-
 .../DatasetList/DatasetList.listview.test.tsx      |   429 +-
 .../DatasetList/DatasetList.permissions.test.tsx   |   105 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |   122 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |    88 +-
 .../ExecutionLogList/ExecutionLogList.test.tsx     |     2 +-
 .../src/pages/ExecutionLogList/index.tsx           |    12 +-
 .../src/pages/FileHandler/index.test.tsx           |     4 +-
 .../src/pages/GroupsList/GroupsList.test.tsx       |     2 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |     6 +-
 superset-frontend/src/pages/Home/index.tsx         |     2 +-
 .../src/pages/RolesList/RolesList.test.tsx         |     8 +-
 .../RowLevelSecurityList.test.tsx                  |     2 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |     4 +-
 .../src/pages/TaskList/TaskList.test.tsx           |   328 +
 superset-frontend/src/pages/TaskList/index.tsx     |   658 +
 .../src/pages/UserInfo/UserInfo.test.tsx           |     2 +-
 .../UserRegistrations/UserRegistrations.test.tsx   |     2 +-
 .../src/pages/UsersList/UsersList.test.tsx         |     6 +-
 superset-frontend/src/preamble.ts                  |   141 +-
 superset-frontend/src/setup/setupColors.ts         |     2 -
 superset-frontend/src/theme.ts                     |     6 +
 superset-frontend/src/theme/ThemeController.ts     |   147 +-
 .../src/theme/hooks/useThemeValidation.test.ts     |   133 +
 .../src/theme/hooks/useThemeValidation.ts          |   155 +
 .../src/theme/tests/ThemeController.test.ts        |   196 +
 .../src/theme/utils/antdTokenNames.test.ts         |   108 +
 .../src/theme/utils/antdTokenNames.ts              |   115 +
 .../theme/utils/themeStructureValidation.test.ts   |   346 +
 .../src/theme/utils/themeStructureValidation.ts    |   191 +
 superset-frontend/src/utils/assetUrl.test.ts       |     4 +-
 .../src/utils/{common.test.jsx => common.test.tsx} |    28 +-
 .../src/utils/{common.js => common.ts}             |    72 +-
 .../src/utils/getControlsForVizType.test.js        |   102 -
 superset-frontend/src/views/App.tsx                |     3 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     1 -
 .../src/views/RootContextProviders.tsx             |     2 +-
 superset-frontend/src/views/index.tsx              |    18 +-
 superset-frontend/src/views/menu.tsx               |     3 +-
 superset-frontend/src/views/routes.tsx             |     9 +
 .../presets/{MainPreset.js => MainPreset.ts}       |     0
 superset-frontend/tsconfig.json                    |     3 +
 superset-frontend/webpack.config.js                |    79 +-
 superset-frontend/webpack.proxy-config.js          |    24 +-
 superset-websocket/package-lock.json               |  1072 +-
 superset-websocket/package.json                    |     6 +-
 superset/async_events/cache_backend.py             |   144 +-
 superset/commands/distributed_lock/__init__.py     |    24 +
 superset/commands/distributed_lock/acquire.py      |   132 +
 superset/commands/distributed_lock/base.py         |    41 +-
 superset/commands/distributed_lock/create.py       |    64 -
 superset/commands/distributed_lock/delete.py       |    49 -
 superset/commands/distributed_lock/release.py      |    83 +
 .../base.py => tasks/__init__.py}                  |    35 +-
 superset/commands/tasks/cancel.py                  |   314 +
 superset/commands/tasks/exceptions.py              |   106 +
 superset/commands/tasks/internal_update.py         |   184 +
 superset/commands/tasks/prune.py                   |   134 +
 superset/commands/tasks/submit.py                  |   169 +
 superset/commands/tasks/update.py                  |   170 +
 superset/common/query_context_processor.py         |    12 +
 superset/config.py                                 |    95 +-
 superset/core/api/core_api_injection.py            |    37 +-
 superset/daos/chart.py                             |     5 +-
 superset/daos/dataset.py                           |    41 +-
 superset/daos/tasks.py                             |   474 +
 superset/distributed_lock/__init__.py              |    63 +-
 superset/exceptions.py                             |    21 +-
 superset/explorables/base.py                       |    12 +
 superset/extensions/local_extensions_watcher.py    |     5 +-
 superset/initialization/__init__.py                |    26 +
 superset/mcp_service/chart/tool/generate_chart.py  |   270 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    80 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    20 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   149 +-
 superset/mcp_service/chart/tool/list_charts.py     |    27 +-
 superset/mcp_service/chart/tool/update_chart.py    |    83 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    23 +-
 .../tool/add_chart_to_existing_dashboard.py        |   135 +-
 .../dashboard/tool/generate_dashboard.py           |    99 +-
 .../dashboard/tool/get_dashboard_info.py           |    20 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |    25 +-
 superset/mcp_service/dataset/schemas.py            |     1 +
 .../mcp_service/dataset/tool/get_dataset_info.py   |    20 +-
 superset/mcp_service/dataset/tool/list_datasets.py |    28 +-
 .../explore/tool/generate_explore_link.py          |    20 +-
 superset/mcp_service/middleware.py                 |   118 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    44 +-
 .../sql_lab/tool/open_sql_lab_with_context.py      |     6 +-
 .../mcp_service/system/tool/get_instance_info.py   |     4 +-
 superset/mcp_service/system/tool/get_schema.py     |     6 +-
 superset/mcp_service/system/tool/health_check.py   |     8 +-
 .../versions/2025_12_18_0220_create_tasks_table.py |   221 +
 superset/models/dashboard.py                       |    32 +-
 superset/models/slice.py                           |    25 +-
 superset/models/task_subscribers.py                |    62 +
 superset/models/tasks.py                           |   358 +
 superset/security/api.py                           |    10 +-
 superset/security/manager.py                       |     2 +-
 superset/sql/dialects/pinot.py                     |     2 +
 superset/sql/execution/celery_task.py              |     5 +-
 superset/sql/execution/executor.py                 |    41 +-
 superset/sql/parse.py                              |    50 +-
 superset/sql_lab.py                                |    15 +
 superset/sqllab/utils.py                           |     3 +
 superset/tasks/ambient_context.py                  |    87 +
 superset/tasks/api.py                              |   471 +
 superset/tasks/constants.py                        |    54 +
 superset/tasks/context.py                          |   673 +
 superset/tasks/decorators.py                       |   607 +
 superset/tasks/filters.py                          |    63 +
 superset/tasks/locks.py                            |    81 +
 superset/tasks/manager.py                          |   761 +
 superset/tasks/registry.py                         |   110 +
 superset/tasks/scheduler.py                        |   257 +
 superset/tasks/schemas.py                          |   204 +
 superset/tasks/types.py                            |     2 +
 superset/tasks/utils.py                            |   176 +-
 superset/thumbnails/digest.py                      |     2 +-
 superset/utils/cache_manager.py                    |    55 +-
 superset/utils/log.py                              |     5 +-
 superset/utils/oauth2.py                           |    10 +-
 superset/views/base.py                             |     7 +-
 .../distributed_lock/get.py => views/tasks.py}     |    37 +-
 tests/integration_tests/model_tests.py             |     2 +-
 tests/integration_tests/security/api_tests.py      |   111 +-
 tests/integration_tests/superset_test_config.py    |     1 +
 tests/integration_tests/tasks/api_tests.py         |   538 +
 .../integration_tests/tasks/commands}/__init__.py  |     0
 .../tasks/commands/test_cancel.py                  |   494 +
 .../tasks/commands/test_internal_update.py         |   419 +
 .../integration_tests/tasks/commands/test_prune.py |   258 +
 .../tasks/commands/test_submit.py                  |   235 +
 .../tasks/commands/test_update.py                  |   260 +
 .../integration_tests/tasks/test_event_handlers.py |   415 +
 .../tasks/test_subscription_visibility.py          |   224 +
 .../integration_tests/tasks/test_sync_join_wait.py |   142 +
 tests/integration_tests/tasks/test_throttling.py   |   172 +
 tests/integration_tests/tasks/test_timeout.py      |   226 +
 .../commands/importers/v1/examples_test.py         |   133 +-
 .../common/test_query_context_processor.py         |    68 +
 tests/unit_tests/daos/test_tasks.py                |   503 +
 .../databases/commands/importers/v1/import_test.py |    33 +
 .../distributed_lock/distributed_lock_tests.py     |   158 +-
 .../api => tests/unit_tests/examples}/__init__.py  |     0
 tests/unit_tests/examples/data_loading_test.py     |   204 +
 tests/unit_tests/examples/generic_loader_test.py   |   233 +
 tests/unit_tests/examples/utils_test.py            |   206 +
 tests/unit_tests/extensions/test_types.py          |    11 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |    46 +
 .../mcp_service/test_middleware_logging.py         |   207 +
 tests/unit_tests/security/manager_test.py          |    37 +
 tests/unit_tests/sql/execution/test_executor.py    |    73 +-
 tests/unit_tests/sql/parse_tests.py                |    50 +
 tests/unit_tests/tasks/test_decorators.py          |   477 +
 tests/unit_tests/tasks/test_handlers.py            |   677 +
 tests/unit_tests/tasks/test_manager.py             |   457 +
 tests/unit_tests/tasks/test_timeout.py             |   612 +
 tests/unit_tests/tasks/test_utils.py               |   249 +
 tests/unit_tests/thumbnails/test_digest.py         |     7 +-
 tests/unit_tests/utils/json_tests.py               |     2 +-
 tests/unit_tests/utils/oauth2_tests.py             |     6 +-
 1140 files changed, 86104 insertions(+), 88123 deletions(-)
 delete mode 100644 .github/workflows/prefer-typescript.yml
 delete mode 100644 .github/workflows/superset-applitool-cypress.yml
 delete mode 100644 .github/workflows/superset-applitools-storybook.yml
 create mode 100644 docs/developer_portal/extensions/tasks.md
 create mode 100644 docs/plugins/remark-tech-article-schema.mjs
 create mode 100644 docs/plugins/robots-txt-plugin.js
 create mode 100644 docs/src/components/FAQSchema.tsx
 create mode 100644 docs/src/components/TechArticleSchema.tsx
 delete mode 100644 docs/static/img/applitools.png
 create mode 100644 docs/static/img/superset-og-image.png
 create mode 100644 superset-core/src/superset_core/api/tasks.py
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ErrorMessage.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/Expandable.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ResizableChartDemo.tsx (91%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ResizablePanel.tsx (81%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/VerifyCORS.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components/createQuery.story.tsx
 => .storybook/shared/createQueryStory.tsx} (98%)
 rename superset-frontend/{packages/superset-ui-demo/storybook => 
.storybook}/shared/dummyDatasource.ts (100%)
 copy superset-frontend/{packages/generator-superset/test/app.test.js => 
.storybook/shared/index.ts} (60%)
 delete mode 100644 superset-frontend/.swcrc
 delete mode 100644 superset-frontend/applitools.config.js
 delete mode 100644 superset-frontend/cypress-base/applitools.config.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/chartlist.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/dashboard.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/dashboardlist.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/explore.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/sqllab.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
 rename superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{index.js => 
index.ts} (50%)
 rename 
superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{no-template-vars.test.js
 => no-template-vars.test.ts} (88%)
 rename superset-frontend/eslint-rules/eslint-plugin-icons/{index.js => 
index.ts} (55%)
 rename 
superset-frontend/eslint-rules/eslint-plugin-icons/{no-fontawesome.test.js => 
no-fontawesome.test.ts} (83%)
 rename superset-frontend/eslint-rules/eslint-plugin-theme-colors/{colors.js => 
colors.ts} (97%)
 delete mode 100644 
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.js
 create mode 100644 
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.ts
 rename superset-frontend/packages/generator-superset/test/{app.test.js => 
app.test.ts} (92%)
 rename 
superset-frontend/packages/generator-superset/test/{plugin-chart.test.js => 
plugin-chart.test.ts} (89%)
 create mode 100644 
superset-frontend/packages/superset-core/src/utils/isBlank.test.ts
 copy superset-frontend/{src/explore/components/controls/FilterControl/types.ts 
=> packages/superset-core/src/utils/isBlank.ts} (73%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-chart
 => superset-ui-core/src/chart/stories}/ChartDataProvider.stories.tsx (96%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-chart
 => superset-ui-core/src/chart/stories}/SuperChart.stories.tsx (98%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/ColorPalettes.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/RenderPalettes.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/color-styles.css (87%)
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/CachedLabel/CachedLabel.stories.tsx
 rename 
superset-frontend/packages/superset-ui-core/src/components/Form/{LabeledErrorBoundInput.test.jsx
 => LabeledErrorBoundInput.test.tsx} (83%)
 rename 
superset-frontend/packages/superset-ui-core/src/components/IconTooltip/{IconTooltip.test.jsx
 => IconTooltip.test.tsx} (100%)
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/SafeMarkdown/SafeMarkdown.stories.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TableCollection/TableCollection.stories.tsx
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-connection
 => superset-ui-core/src/connection/stories}/Connection.stories.tsx (92%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-number-format
 => superset-ui-core/src/number-format/stories}/NumberFormat.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-theme
 => superset-ui-core/src/style/stories}/Theme.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-time-format
 => superset-ui-core/src/time-format/stories}/TimeFormat.stories.tsx (100%)
 delete mode 100644 superset-frontend/packages/superset-ui-demo/.babelrc.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/main.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/preview.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/storybook.css
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.jsx
 delete mode 100644 superset-frontend/packages/superset-ui-demo/CHANGELOG.md
 delete mode 100644 superset-frontend/packages/superset-ui-demo/README.md
 delete mode 100644 superset-frontend/packages/superset-ui-demo/package.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/ExampleApp.stories.jsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar/LegacyPluginChartCalendar.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/MapBox.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition/Partition.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose/Rose.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/geojsonPayload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/NVD3BoxPlot.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/data.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/NVD3Bubble.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/NVD3Bullet.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/NVD3Compare.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/timeFormat.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Gauge.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Graph.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTable.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/birthNames.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/WordCloud.stories.tsx
 delete mode 100644 superset-frontend/packages/superset-ui-demo/tsconfig.json
 create mode 100644 
superset-frontend/playwright/components/modals/ChartPropertiesModal.ts
 create mode 100644 superset-frontend/playwright/helpers/api/chart.ts
 create mode 100644 superset-frontend/playwright/pages/ChartListPage.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/chart/chart-list.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/chart/chart-test-helpers.ts
 rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{Calendar.js 
=> Calendar.ts} (62%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{ReactCalendar.jsx 
=> ReactCalendar.tsx} (91%)
 rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{index.js => 
index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/stories/LegacyPluginChartCalendar.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar
 => plugins/legacy-plugin-chart-calendar/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{transformProps.js 
=> transformProps.ts} (87%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/{cal-heatmap.js
 => cal-heatmap.ts} (99%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-calendar/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{Chord.js => 
Chord.ts} (76%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{ReactChord.jsx 
=> ReactChord.tsx} (73%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord
 => 
plugins/legacy-plugin-chart-chord/src/stories}/LegacyPluginChartChord.stories.tsx
 (59%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord
 => plugins/legacy-plugin-chart-chord/src/stories}/data.ts (89%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-chord/src/{transformProps.js => 
transformProps.ts} (90%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-chord/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{CountryMap.js => 
CountryMap.ts} (69%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{ReactCountryMap.jsx
 => ReactCountryMap.tsx} (78%)
 rename superset-frontend/plugins/legacy-plugin-chart-country-map/src/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-country-map
 => plugins/legacy-plugin-chart-country-map/src/stories}/CountryMap.stories.tsx 
(88%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{transformProps.js
 => transformProps.ts} (91%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-country-map/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonChart.jsx => 
HorizonChart.tsx} (75%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonRow.jsx => 
HorizonRow.tsx} (83%)
 rename superset-frontend/plugins/legacy-plugin-chart-horizon/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon
 => plugins/legacy-plugin-chart-horizon/src/stories}/Horizon.stories.tsx (63%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon
 => plugins/legacy-plugin-chart-horizon/src/stories}/data.ts (100%)
 copy 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{transformProps.js => 
transformProps.ts} (67%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-horizon/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{MapBox.jsx 
=> MapBox.tsx} (61%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{ScatterPlotGlowOverlay.jsx
 => ScatterPlotGlowOverlay.tsx} (66%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{index.js => 
index.ts} (92%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/stories/MapBox.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box
 => plugins/legacy-plugin-chart-map-box/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{transformProps.js => 
transformProps.ts} (79%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{geo.js 
=> geo.ts} (92%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{luminanceFromRGB.js
 => luminanceFromRGB.ts} (92%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{PairedTTest.jsx
 => PairedTTest.tsx} (86%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{TTestTable.jsx 
=> TTestTable.tsx} (82%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test
 => plugins/legacy-plugin-chart-paired-t-test/src/stories}/TTest.stories.tsx 
(55%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test
 => plugins/legacy-plugin-chart-paired-t-test/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{transformProps.js
 => transformProps.ts} (80%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/types/external.d.ts
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ParallelCoordinates.js
 => ParallelCoordinates.ts} (64%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ReactParallelCoordinates.jsx
 => ReactParallelCoordinates.tsx} (88%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{index.js
 => index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates
 => 
plugins/legacy-plugin-chart-parallel-coordinates/src/stories}/ParallelCoordinates.stories.tsx
 (56%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates
 => plugins/legacy-plugin-chart-parallel-coordinates/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{transformProps.js
 => transformProps.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{d3.parcoords.js
 => d3.parcoords.ts} (99%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{divgrid.js
 => divgrid.ts} (96%)
 copy 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/types/{d3.d.ts
 => external.d.ts} (79%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{Partition.js => 
Partition.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{ReactPartition.jsx 
=> ReactPartition.tsx} (78%)
 rename superset-frontend/plugins/legacy-plugin-chart-partition/src/{index.js 
=> index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-partition/src/stories/Partition.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition
 => plugins/legacy-plugin-chart-partition/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{transformProps.js 
=> transformProps.ts} (87%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/test/{OptionDescription.test.jsx
 => OptionDescription.test.tsx} (91%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-partition/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{ReactRose.jsx 
=> ReactRose.tsx} (79%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{Rose.js => 
Rose.ts} (89%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{index.js => 
index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-rose/src/stories/Rose.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose
 => plugins/legacy-plugin-chart-rose/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-rose/src/{transformProps.js => 
transformProps.ts} (91%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-rose/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{ReactWorldMap.jsx 
=> ReactWorldMap.tsx} (71%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{WorldMap.js => 
WorldMap.ts} (75%)
 rename superset-frontend/plugins/legacy-plugin-chart-world-map/src/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map
 => plugins/legacy-plugin-chart-world-map/src/stories}/WorldMap.stories.tsx 
(65%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map
 => plugins/legacy-plugin-chart-world-map/src/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{transformProps.js 
=> transformProps.ts} (94%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-world-map/test/WorldMap.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-world-map/test/tsconfig.json
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3-parcoords.d.ts
 => legacy-plugin-chart-world-map/types/external.d.ts} (84%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc
 => plugins/legacy-preset-chart-deckgl/src/layers/Arc/stories}/Arc.stories.tsx 
(72%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Grid/stories}/Grid.stories.tsx 
(70%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex
 => plugins/legacy-preset-chart-deckgl/src/layers/Hex/stories}/Hex.stories.tsx 
(70%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Path/stories}/Path.stories.tsx 
(76%)
 rename 
superset-frontend/plugins/{legacy-plugin-chart-horizon/src/transformProps.js => 
legacy-preset-chart-deckgl/src/layers/Path/stories/payload.ts} (70%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories}/Polygon.stories.tsx
 (65%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories/geojsonPayload.ts
 copy superset-frontend/{src/components/FacePile/FacePile.stories.tsx => 
plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories/payload.ts} (50%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Scatter/stories}/Scatter.stories.tsx
 (67%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/stories/Screengrid.stories.tsx}
 (75%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/stories/payload.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/NVD3BoxPlot.stories.tsx
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/data.ts
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/{index.js 
=> index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/stories/NVD3Bubble.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble
 => plugins/legacy-preset-chart-nvd3/src/Bubble/stories}/data.ts (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/{index.js 
=> index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/stories/NVD3Bullet.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet
 => plugins/legacy-preset-chart-nvd3/src/Bullet/stories}/data.ts (100%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/{index.js => 
index.ts} (100%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/stories/NVD3Compare.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare
 => plugins/legacy-preset-chart-nvd3/src/Compare/stories}/data.ts (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{NVD3Vis.js => 
NVD3Vis.ts} (99%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{PropTypes.js => 
PropTypes.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{ReactNVD3.jsx 
=> ReactNVD3.tsx} (98%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/{index.js => 
index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{index.js => 
index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{preset.js => 
preset.ts} (100%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/{transformProps.js => 
transformProps.ts} (88%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{utils.js => 
utils.ts} (99%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/{isTruthy.js => 
isTruthy.ts} (94%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{AnnotationTypes.js
 => AnnotationTypes.ts} (97%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{exploreUtils.js
 => exploreUtils.ts} (97%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/test/{utils.test.js 
=> utils.test.ts} (86%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{isTruthy.test.js 
=> isTruthy.test.ts} (87%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{tokenize.test.js 
=> tokenize.test.ts} (86%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
 => legacy-preset-chart-nvd3/types/external.d.ts} (61%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/stories/AgGridTable.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/stories/data.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-cartodiagram/src/stories/Cartodiagram.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-cartodiagram/src/stories/data.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/stories}/BigNumberTotal.stories.tsx
 (57%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal
 => plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/stories}/data.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/stories}/BigNumber.stories.tsx
 (63%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/stories}/data.ts
 (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot
 => plugins/plugin-chart-echarts/src/BoxPlot/stories}/BoxPlot.stories.tsx (88%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot
 => plugins/plugin-chart-echarts/src/BoxPlot/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble
 => plugins/plugin-chart-echarts/src/Bubble/stories}/BubbleChart.stories.tsx 
(90%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble
 => plugins/plugin-chart-echarts/src/Bubble/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel
 => plugins/plugin-chart-echarts/src/Funnel/stories}/Funnel.stories.tsx (84%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel
 => plugins/plugin-chart-echarts/src/Funnel/stories}/constants.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Gauge/stories/Gauge.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge
 => plugins/plugin-chart-echarts/src/Gauge/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Graph/stories/Graph.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph
 => plugins/plugin-chart-echarts/src/Graph/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedSeries
 => 
plugins/plugin-chart-echarts/src/MixedTimeseries/stories}/MixedSeries.stories.tsx
 (77%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedSeries
 => plugins/plugin-chart-echarts/src/MixedTimeseries/stories}/negativeData.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie
 => plugins/plugin-chart-echarts/src/Pie/stories}/Pie.stories.tsx (77%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie
 => plugins/plugin-chart-echarts/src/Pie/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar
 => plugins/plugin-chart-echarts/src/Radar/stories}/Radar.stories.tsx (59%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar
 => plugins/plugin-chart-echarts/src/Radar/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst
 => plugins/plugin-chart-echarts/src/Sunburst/stories}/Sunburst.stories.tsx 
(86%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst
 => plugins/plugin-chart-echarts/src/Sunburst/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts
 => 
plugins/plugin-chart-echarts/src/Timeseries/stories}/AreaSeries/AreaSeries.stories.tsx
 (85%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/AreaSeries/data.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/Timeseries.stories.tsx 
(84%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/confbandData.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/negativeNumData.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/stackWithNulls.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree
 => plugins/plugin-chart-echarts/src/Tree/stories}/Tree.stories.tsx (50%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree
 => plugins/plugin-chart-echarts/src/Tree/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap
 => plugins/plugin-chart-echarts/src/Treemap/stories}/Treemap.stories.tsx (85%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap
 => plugins/plugin-chart-echarts/src/Treemap/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall
 => plugins/plugin-chart-echarts/src/Waterfall/stories}/Waterfall.stories.tsx 
(68%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall
 => plugins/plugin-chart-echarts/src/Waterfall/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-handlebars/src/stories/Handlebars.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-handlebars/src/stories/data.ts
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{PivotTable.jsx
 => PivotTable.tsx} (85%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{Styles.js
 => Styles.ts} (98%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{TableRenderers.jsx
 => TableRenderers.tsx} (74%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{index.js
 => index.ts} (100%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{utilities.js
 => utilities.ts} (61%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/src/stories/PivotTable.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table
 => plugins/plugin-chart-pivot-table/src/stories}/testData.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table
 => plugins/plugin-chart-table/src/stories}/Table.stories.tsx (90%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/src/stories/birthNames.json
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table
 => plugins/plugin-chart-table/src/stories}/testData.ts (95%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-word-cloud/src/stories/WordCloud.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud
 => plugins/plugin-chart-word-cloud/src/stories}/data.ts (100%)
 create mode 100644 superset-frontend/scripts/check-storybook-coverage.js
 delete mode 100644 superset-frontend/src/.eslintrc.json
 rename superset-frontend/src/SqlLab/actions/{sqlLab.test.js => sqlLab.test.ts} 
(81%)
 rename superset-frontend/src/SqlLab/reducers/{sqlLab.test.js => 
sqlLab.test.ts} (92%)
 rename superset-frontend/src/components/Chart/{ChartRenderer.test.jsx => 
ChartRenderer.test.tsx} (58%)
 rename superset-frontend/src/components/Chart/{ChartRenderer.jsx => 
ChartRenderer.tsx} (62%)
 delete mode 100644 superset-frontend/src/components/Chart/chartAction.js
 create mode 100644 superset-frontend/src/components/Chart/chartAction.ts
 rename superset-frontend/src/components/Chart/{chartActions.test.js => 
chartActions.test.ts} (52%)
 rename superset-frontend/src/components/Chart/{chartReducers.test.js => 
chartReducers.test.ts} (76%)
 rename 
superset-frontend/src/components/Datasource/ChangeDatasourceModal/{ChangeDatasourceModal.test.jsx
 => ChangeDatasourceModal.test.tsx} (98%)
 rename 
superset-frontend/src/components/Datasource/DatasourceModal/{DatasourceModal.test.jsx
 => DatasourceModal.test.tsx} (95%)
 rename 
superset-frontend/src/components/Datasource/components/DatasourceEditor/{DatasourceEditor.jsx
 => DatasourceEditor.tsx} (81%)
 rename superset-frontend/src/components/Datasource/utils/{index.js => 
index.ts} (60%)
 rename superset-frontend/src/components/MessageToasts/{Toast.test.jsx => 
Toast.test.tsx} (88%)
 rename superset-frontend/src/components/MessageToasts/{ToastPresenter.test.jsx 
=> ToastPresenter.test.tsx} (91%)
 rename superset-frontend/src/components/MessageToasts/{reducers.test.js => 
reducers.test.ts} (58%)
 delete mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.js
 create mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.ts
 rename superset-frontend/src/dashboard/actions/{dashboardLayout.test.js => 
dashboardLayout.test.ts} (78%)
 rename superset-frontend/src/dashboard/actions/{dashboardLayout.js => 
dashboardLayout.ts} (65%)
 delete mode 100644 superset-frontend/src/dashboard/actions/dashboardState.js
 rename superset-frontend/src/dashboard/actions/{dashboardState.test.js => 
dashboardState.test.ts} (73%)
 create mode 100644 superset-frontend/src/dashboard/actions/dashboardState.ts
 rename superset-frontend/src/dashboard/actions/{hydrate.js => hydrate.ts} (68%)
 rename superset-frontend/src/dashboard/components/{Dashboard.test.jsx => 
Dashboard.test.tsx} (82%)
 rename superset-frontend/src/dashboard/components/{Dashboard.jsx => 
Dashboard.tsx} (70%)
 rename superset-frontend/src/dashboard/components/{DashboardGrid.test.jsx => 
DashboardGrid.test.tsx} (94%)
 rename superset-frontend/src/dashboard/components/{DashboardGrid.jsx => 
DashboardGrid.tsx} (81%)
 rename superset-frontend/src/dashboard/components/Header/{index.jsx => 
index.tsx} (85%)
 rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.test.jsx 
=> DragDroppable.test.tsx} (82%)
 rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.jsx => 
DragDroppable.tsx} (60%)
 rename superset-frontend/src/dashboard/components/dnd/{handleDrop.js => 
handleDrop.ts} (83%)
 rename 
superset-frontend/src/dashboard/components/filterscope/{FilterScopeSelector.jsx 
=> FilterScopeSelector.tsx} (69%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.test.jsx 
=> Chart.test.tsx} (94%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.jsx => 
Chart.tsx} (58%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.test.jsx
 => Column.test.tsx} (77%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.jsx => 
Column.tsx} (71%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Markdown/{Markdown.jsx
 => Markdown.tsx} (75%)
 rename superset-frontend/src/dashboard/components/gridComponents/Tab/{Tab.jsx 
=> Tab.tsx} (80%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Tabs/{Tabs.jsx => 
Tabs.tsx} (78%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{DraggableNewComponent.test.jsx
 => DraggableNewComponent.test.tsx} (97%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewColumn.test.jsx
 => NewColumn.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewDivider.test.jsx
 => NewDivider.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewHeader.test.jsx
 => NewHeader.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewTabs.test.jsx 
=> NewTabs.test.tsx} (97%)
 rename 
superset-frontend/src/dashboard/components/menu/{WithPopoverMenu.test.jsx => 
WithPopoverMenu.test.tsx} (96%)
 delete mode 100644 
superset-frontend/src/dashboard/containers/DashboardComponent.jsx
 create mode 100644 
superset-frontend/src/dashboard/containers/DashboardComponent.tsx
 rename superset-frontend/src/dashboard/reducers/{dashboardFilters.test.js => 
dashboardFilters.test.ts} (77%)
 rename superset-frontend/src/dashboard/reducers/{dashboardFilters.js => 
dashboardFilters.ts} (50%)
 rename superset-frontend/src/dashboard/reducers/{dashboardInfo.js => 
dashboardInfo.ts} (53%)
 rename superset-frontend/src/dashboard/reducers/{dashboardLayout.test.js => 
dashboardLayout.test.ts} (92%)
 rename superset-frontend/src/dashboard/reducers/{dashboardLayout.js => 
dashboardLayout.ts} (67%)
 delete mode 100644 
superset-frontend/src/dashboard/reducers/dashboardState.test.js
 rename superset-frontend/src/dashboard/reducers/{dashboardState.js => 
dashboardState.ts} (52%)
 rename superset-frontend/src/dashboard/reducers/{sliceEntities.test.js => 
sliceEntities.test.ts} (71%)
 delete mode 100644 superset-frontend/src/dashboard/reducers/types.ts
 rename superset-frontend/src/dashboard/reducers/{undoableDashboardLayout.js => 
undoableDashboardLayout.ts} (83%)
 rename superset-frontend/src/dashboard/util/{dnd-reorder.test.js => 
dnd-reorder.test.ts} (99%)
 rename superset-frontend/src/dashboard/util/{dnd-reorder.js => dnd-reorder.ts} 
(86%)
 rename superset-frontend/src/dashboard/util/{findFirstParentContainer.test.js 
=> findFirstParentContainer.test.ts} (85%)
 rename 
superset-frontend/src/dashboard/util/{getChartAndLabelComponentIdFromPath.test.js
 => getChartAndLabelComponentIdFromPath.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{getComponentWidthFromDrop.js => 
getComponentWidthFromDrop.ts} (74%)
 rename superset-frontend/src/dashboard/util/{getDashboardUrl.test.js => 
getDashboardUrl.test.ts} (82%)
 rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.test.js 
=> getDetailedComponentWidth.test.ts} (95%)
 rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.js => 
getDetailedComponentWidth.ts} (76%)
 rename superset-frontend/src/dashboard/util/{getDropPosition.test.js => 
getDropPosition.test.ts} (96%)
 rename superset-frontend/src/dashboard/util/{getDropPosition.js => 
getDropPosition.ts} (84%)
 rename superset-frontend/src/dashboard/util/{getEffectiveExtraFilters.test.js 
=> getEffectiveExtraFilters.test.ts} (93%)
 rename 
superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.test.js => 
getFilterConfigsFromFormdata.test.ts} (97%)
 rename superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.js 
=> getFilterConfigsFromFormdata.ts} (69%)
 rename 
superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.test.js => 
getFilterScopeFromNodesTree.test.ts} (98%)
 rename superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.js => 
getFilterScopeFromNodesTree.ts} (75%)
 rename superset-frontend/src/dashboard/util/{getFilterScopeNodesTree.js => 
getFilterScopeNodesTree.ts} (62%)
 rename 
superset-frontend/src/dashboard/util/{getLeafComponentIdFromPath.test.js => 
getLeafComponentIdFromPath.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{newComponentFactory.test.js => 
newComponentFactory.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{newComponentFactory.js => 
newComponentFactory.ts} (82%)
 rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.test.js => 
newEntitiesFromDrop.test.ts} (75%)
 rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.js => 
newEntitiesFromDrop.ts} (84%)
 delete mode 100644 superset-frontend/src/dashboard/util/propShapes.jsx
 rename 
superset-frontend/src/dashboard/util/{updateComponentParentsList.test.js => 
updateComponentParentsList.test.ts} (90%)
 rename superset-frontend/src/explore/actions/{exploreActions.test.js => 
exploreActions.test.ts} (87%)
 rename superset-frontend/src/explore/components/{EmbedCodeContent.test.jsx => 
EmbedCodeContent.test.tsx} (92%)
 rename superset-frontend/src/explore/components/{EmbedCodeContent.jsx => 
EmbedCodeContent.tsx} (85%)
 rename superset-frontend/src/explore/components/ExploreChartHeader/{index.jsx 
=> index.tsx} (77%)
 rename 
superset-frontend/src/explore/components/ExploreChartPanel/{ExploreChartPanel.test.jsx
 => ExploreChartPanel.test.tsx} (95%)
 rename 
superset-frontend/src/explore/components/ExploreViewContainer/{index.jsx => 
index.tsx} (73%)
 rename superset-frontend/src/explore/components/{SaveModal.test.jsx => 
SaveModal.test.tsx} (91%)
 delete mode 100644 
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.test.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/adhocMetricType.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.test.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.ts
 rename 
superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/{index.jsx
 => index.tsx} (80%)
 rename superset-frontend/src/explore/exploreUtils/{exploreUtils.test.jsx => 
exploreUtils.test.tsx} (89%)
 rename superset-frontend/src/explore/exploreUtils/{index.js => index.ts} (64%)
 delete mode 100644 superset-frontend/src/explore/reducers/exploreReducer.js
 rename superset-frontend/src/explore/reducers/{exploreReducer.test.js => 
exploreReducer.test.ts} (66%)
 create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.ts
 delete mode 100644 
superset-frontend/src/features/reports/ReportModal/actions.js
 create mode 100644 
superset-frontend/src/features/reports/ReportModal/actions.ts
 delete mode 100644 
superset-frontend/src/features/reports/ReportModal/reducer.js
 create mode 100644 
superset-frontend/src/features/reports/ReportModal/reducer.ts
 create mode 100644 superset-frontend/src/features/tasks/TaskPayloadPopover.tsx
 create mode 100644 
superset-frontend/src/features/tasks/TaskStackTracePopover.tsx
 create mode 100644 superset-frontend/src/features/tasks/TaskStatusIcon.tsx
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.test.ts
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.ts
 create mode 100644 superset-frontend/src/features/tasks/types.ts
 delete mode 100644 superset-frontend/src/middleware/logger.test.js
 create mode 100644 superset-frontend/src/middleware/logger.test.ts
 rename superset-frontend/src/middleware/{loggerMiddleware.js => 
loggerMiddleware.ts} (67%)
 rename superset-frontend/src/pages/AlertReportList/{AlertReportList.test.jsx 
=> AlertReportList.test.tsx} (95%)
 rename 
superset-frontend/src/pages/AnnotationLayerList/{AnnotationLayerList.test.jsx 
=> AnnotationLayerList.test.tsx} (92%)
 rename superset-frontend/src/pages/CssTemplateList/{CssTemplateList.test.jsx 
=> CssTemplateList.test.tsx} (92%)
 rename superset-frontend/src/pages/DashboardList/{DashboardList.test.jsx => 
DashboardList.test.tsx} (93%)
 create mode 100644 superset-frontend/src/pages/TaskList/TaskList.test.tsx
 create mode 100644 superset-frontend/src/pages/TaskList/index.tsx
 create mode 100644 superset-frontend/src/theme/hooks/useThemeValidation.test.ts
 create mode 100644 superset-frontend/src/theme/hooks/useThemeValidation.ts
 create mode 100644 superset-frontend/src/theme/utils/antdTokenNames.test.ts
 create mode 100644 superset-frontend/src/theme/utils/antdTokenNames.ts
 create mode 100644 
superset-frontend/src/theme/utils/themeStructureValidation.test.ts
 create mode 100644 
superset-frontend/src/theme/utils/themeStructureValidation.ts
 rename superset-frontend/src/utils/{common.test.jsx => common.test.tsx} (88%)
 rename superset-frontend/src/utils/{common.js => common.ts} (66%)
 delete mode 100644 superset-frontend/src/utils/getControlsForVizType.test.js
 rename superset-frontend/src/visualizations/presets/{MainPreset.js => 
MainPreset.ts} (100%)
 create mode 100644 superset/commands/distributed_lock/acquire.py
 delete mode 100644 superset/commands/distributed_lock/create.py
 delete mode 100644 superset/commands/distributed_lock/delete.py
 create mode 100644 superset/commands/distributed_lock/release.py
 copy superset/commands/{distributed_lock/base.py => tasks/__init__.py} (53%)
 create mode 100644 superset/commands/tasks/cancel.py
 create mode 100644 superset/commands/tasks/exceptions.py
 create mode 100644 superset/commands/tasks/internal_update.py
 create mode 100644 superset/commands/tasks/prune.py
 create mode 100644 superset/commands/tasks/submit.py
 create mode 100644 superset/commands/tasks/update.py
 create mode 100644 superset/daos/tasks.py
 create mode 100644 
superset/migrations/versions/2025_12_18_0220_create_tasks_table.py
 create mode 100644 superset/models/task_subscribers.py
 create mode 100644 superset/models/tasks.py
 create mode 100644 superset/tasks/ambient_context.py
 create mode 100644 superset/tasks/api.py
 create mode 100644 superset/tasks/constants.py
 create mode 100644 superset/tasks/context.py
 create mode 100644 superset/tasks/decorators.py
 create mode 100644 superset/tasks/filters.py
 create mode 100644 superset/tasks/locks.py
 create mode 100644 superset/tasks/manager.py
 create mode 100644 superset/tasks/registry.py
 create mode 100644 superset/tasks/schemas.py
 rename superset/{commands/distributed_lock/get.py => views/tasks.py} (51%)
 create mode 100644 tests/integration_tests/tasks/api_tests.py
 copy {superset-core/src/superset_core/api => 
tests/integration_tests/tasks/commands}/__init__.py (100%)
 create mode 100644 tests/integration_tests/tasks/commands/test_cancel.py
 create mode 100644 
tests/integration_tests/tasks/commands/test_internal_update.py
 create mode 100644 tests/integration_tests/tasks/commands/test_prune.py
 create mode 100644 tests/integration_tests/tasks/commands/test_submit.py
 create mode 100644 tests/integration_tests/tasks/commands/test_update.py
 create mode 100644 tests/integration_tests/tasks/test_event_handlers.py
 create mode 100644 
tests/integration_tests/tasks/test_subscription_visibility.py
 create mode 100644 tests/integration_tests/tasks/test_sync_join_wait.py
 create mode 100644 tests/integration_tests/tasks/test_throttling.py
 create mode 100644 tests/integration_tests/tasks/test_timeout.py
 create mode 100644 tests/unit_tests/daos/test_tasks.py
 copy {superset-core/src/superset_core/api => 
tests/unit_tests/examples}/__init__.py (100%)
 create mode 100644 tests/unit_tests/examples/data_loading_test.py
 create mode 100644 tests/unit_tests/examples/generic_loader_test.py
 create mode 100644 tests/unit_tests/examples/utils_test.py
 create mode 100644 tests/unit_tests/mcp_service/test_middleware_logging.py
 create mode 100644 tests/unit_tests/tasks/test_decorators.py
 create mode 100644 tests/unit_tests/tasks/test_handlers.py
 create mode 100644 tests/unit_tests/tasks/test_manager.py
 create mode 100644 tests/unit_tests/tasks/test_timeout.py

Reply via email to