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

hainenber pushed a change to branch chore/prefer-node-native-uuid-generator
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 532c6caa14b Merge branch 'master' into 
chore/prefer-node-native-uuid-generator
     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 080f629ea21 fix(echarts): formula annotations not rendering with 
dataset-level columns label (#37522)
     add 0c0d915391d fix(echarts-timeseries-combined-labels): combine 
annotation labels for events at same timestamp (#37164)
     add e3e2bece6bc feat(owners): display email in owner selectors (#37906)
     add ffd7f103207 chore(deps): bump markdown-to-jsx from 9.7.3 to 9.7.4 in 
/superset-frontend (#37959)
     add 75d6a95ac39 chore(deps): bump aquasecurity/trivy-action from 0.33.1 to 
0.34.0 (#37958)
     add 79f51e2ae7d chore(deps-dev): bump webpack from 5.105.1 to 5.105.2 in 
/docs (#37953)
     add 475615e1186 chore(deps): bump ioredis from 5.9.2 to 5.9.3 in 
/superset-websocket (#37951)
     add a65f73a5323 chore(deps): bump qs from 6.14.1 to 6.14.2 in /docs 
(#37937)
     add 73adff55ee8 chore(deps): Relax sqlalchemy-utils lower bound for 
pydoris compatibility  (#37949)
     add 097f474f24b chore(deps): bump pillow from 11.3.0 to 12.1.1 (#37935)
     add cbf153845ed chore(deps): bump qs from 6.14.1 to 6.14.2 in 
/superset-websocket/utils/client-ws-app (#37933)
     add 440602ef344 fix(utils): datetime_to_epoch function is fixed to 
timezone aware epoch (#37979)
     add 6bc44a92d73 Merge branch 'master' into 
chore/prefer-node-native-uuid-generator

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/docker.yml                       |     2 +-
 .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 +
 .../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                                  |     9 +-
 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                                     |   383 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |     2 +-
 helm/superset/values.yaml                          |    30 +
 pyproject.toml                                     |     8 +-
 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
 .../shared/index.ts}                               |    25 +-
 superset-frontend/.swcrc                           |    64 -
 superset-frontend/applitools.config.js             |    27 -
 superset-frontend/babel.config.js                  |     2 -
 .../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                | 73879 ++++++++-----------
 superset-frontend/package.json                     |    82 +-
 .../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}            |    13 +-
 .../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        |     6 +-
 .../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          |     3 +-
 .../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/transformProps.ts               |     3 +-
 .../src/Timeseries/transformers.ts                 |   309 +-
 .../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    |   279 +-
 .../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         |   738 +-
 .../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 +-
 .../plugins/plugin-chart-echarts/test/helpers.ts   |   110 +
 .../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                |   265 +-
 .../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} |   709 +-
 .../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/Filters/Select.tsx     |    13 +-
 .../src/components/ListView/Filters/index.tsx      |     2 +
 .../src/components/ListView/ListView.tsx           |    54 +-
 superset-frontend/src/components/ListView/types.ts |     8 +-
 .../{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 +-
 .../PropertiesModal/hooks/useAccessOptions.ts      |    32 +-
 .../dashboard/components/PropertiesModal/index.tsx |    17 +-
 .../PropertiesModal/sections/AccessSection.tsx     |    22 +-
 .../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 +-
 .../explore/components/PropertiesModal/index.tsx   |    50 +-
 .../{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       |    50 +-
 superset-frontend/src/features/alerts/types.ts     |     4 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |     3 +-
 .../UploadDataModel/UploadDataModal.test.tsx       |     6 +-
 .../src/features/home/RightMenu.test.tsx           |    24 +-
 .../OwnerSelectLabel/OwnerSelectLabel.test.tsx}    |    38 +-
 .../src/features/owners/OwnerSelectLabel/index.tsx |    62 +
 .../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 +-
 .../src/pages/AlertReportList/index.tsx            |    11 +-
 ...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 +-
 superset-frontend/src/pages/ChartList/index.tsx    |     6 +-
 ...plateList.test.jsx => CssTemplateList.test.tsx} |    16 +-
 ...shboardList.test.jsx => DashboardList.test.tsx} |    22 +-
 .../src/pages/DashboardList/index.tsx              |     6 +-
 .../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 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |     6 +-
 .../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                  |   135 +-
 superset-frontend/src/setup/setupColors.ts         |     2 -
 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/types/Owner.ts               |     1 +
 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/CRUD/utils.tsx         |    84 +-
 .../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                |    31 +-
 superset-websocket/package-lock.json               |  1086 +-
 superset-websocket/package.json                    |     8 +-
 .../utils/client-ws-app/package-lock.json          |    12 +-
 superset/async_events/cache_backend.py             |   144 +-
 superset/charts/api.py                             |     1 +
 superset/charts/schemas.py                         |     1 +
 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 +
 .../{utils/dates.py => commands/tasks/__init__.py} |    26 +-
 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/dashboards/api.py                         |     1 +
 superset/datasets/schemas.py                       |     1 +
 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/reports/api.py                            |     7 +
 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/dates.py                            |     2 +-
 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/charts/api_tests.py        |     1 +
 tests/integration_tests/model_tests.py             |     2 +-
 tests/integration_tests/reports/api_tests.py       |    20 +-
 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               |     8 +-
 tests/unit_tests/utils/oauth2_tests.py             |     6 +-
 1162 files changed, 85582 insertions(+), 86756 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/superset-ui-core/test/color/ColorScheme.test.ts => 
.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/types/Owner.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%)
 copy 
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-echarts/test/helpers.ts
 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} (80%)
 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
 rename 
superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/IconTooltip.test.jsx
 => src/features/owners/OwnerSelectLabel/OwnerSelectLabel.test.tsx} (50%)
 create mode 100644 
superset-frontend/src/features/owners/OwnerSelectLabel/index.tsx
 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/{utils/dates.py => commands/tasks/__init__.py} (62%)
 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