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