You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2026/03/10 19:38:01 UTC
(superset) branch semantic-layer-explore-integration updated (0039f8a6202 -> 07509605dd0)
This is an automated email from the ASF dual-hosted git repository.
beto pushed a change to branch semantic-layer-explore-integration
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 0039f8a6202 feat: Explore integration
omit 47e7f8e986b feat: models and DAOs
omit 0c33cfcaf53 Address TODOs
omit 393610a3e66 chore: remove AdhocFilter
omit cb5281b6b82 feat: semantic layer extension
add 3e10ab7dd00 refactor(Filter components): migrate from react-dnd to dnd-kit (#37445)
add fc5fda3d1a6 fix(db-modal): update doc refs for DB connection modal (#38091)
add 6e84d297076 fix(build): disable `moby` in dev container based on Debian 13 Trixie distro for usability (#37227)
add 0681df3d029 feat(theme): enable generalized ECharts theme overrides for array properties (#37965)
add 1bd054684ed chore(lint): remove unused ESLint plugins after migrating rules to Oxlint (#38110)
add f2f55591ecc chore: remove redundant service-worker.js placeholder (#38348)
add 016417f7939 fix(explore): prevent TypeError when chart dimension returns empty string (#38276)
add c35bf344a96 chore(extensions): clean up backend entrypoints and file globs (#38360)
add 2ab9d37a001 fix(templates): restore css_bundle calls in spa.html for production builds (#38350)
add fa346099523 feat: Support OAuth2 single-use refresh tokens (#38364)
add 1136e86cf70 chore(deps): bump ioredis from 5.9.3 to 5.10.0 in /superset-websocket (#38318)
add f10cb14d92b chore(deps-dev): bump @types/node from 25.3.2 to 25.3.3 in /superset-websocket (#38319)
add 983b633972f feat(bar-chart): add option to color bars by primary axis when no dimensions are set (#37531)
add ef4b1d674be feat(docs): add filterable UI Components table and improve build performance (#38253)
add 7815afb24d2 fix(charts): improve minor gridline visibility in dark themes (#38371)
add 51ac758b801 fix(tags): expire tag relationship after deleting all tagged objects (#38163)
add 80a29cd6fed chore(deps-dev): bump terser-webpack-plugin from 5.3.16 to 5.3.17 in /superset-frontend (#38386)
add 35d0aad854a feat(explore): Add Echarts option editor (#37868)
add 69732d9dca6 fix(superset-ui-core): achieve 100% coverage for npm run core:cover (#38397)
add 832fee3ff8c refactor(mcp): move superset_core MCP module from mcp to api/mcp (#38394)
add 19f949276ce refactor(config): SIGNAL_CACHE_CONFIG → DISTRIBUTED_COORDINATION_CONFIG (#38395)
add aff6e260891 build(deps): replace monolithic `googleapis` with lightweight `@googleapis/sheet` sub-package (#38124)
add 3d5694ee0f1 chore: regular `npm audit fix` (#38248)
add 3b656f9cc2f fix(dashboard): restore filterState prop for cross-filter functionality (#38349)
add c25adbc3953 test(DashboardList): migrate Cypress E2E tests to RTL (#38368)
add e2ebc135e4a test(playwright): add dashboard list E2E tests (#38377)
add 27d54f84213 fix(build/backend): migrate to deps-free `pygeohash` with pre-built wheels at runtime (#37524)
add 796c206ee7b fix(charts): apply resample before rolling window in post-processing pipeline (#37987)
add 63e7ee70bff fix(echarts): adaptive formatting labels (#38017)
add 8c9efe5659f feat: support for import/export masked_encrypted_extra (backend) (#38077)
add dc995328a86 chore(deps): bump cryptography from 44.0.3 to 46.0.5 (#37912)
add 8f28a8734a1 chore(deps): bump flask from 2.3.3 to 3.1.3 (#38168)
add 1bfd41df0ca chore(deps): bump aquasecurity/trivy-action from 0.34.1 to 0.34.2 (#38352)
add 88241d3e710 chore(deps-dev): bump oxlint from 1.50.0 to 1.51.0 in /superset-frontend (#38353)
add a79dcbbb66d chore(deps): update d3-cloud requirement from ^1.2.8 to ^1.2.9 in /superset-frontend/plugins/plugin-chart-word-cloud (#38381)
add 939e4194c61 fix(alerts): fix error toast when editing report with saved tab selection (#38198)
add 0d5827ac428 chore(extensions): unified contribution api and automatic prefixing (#38412)
add 5a2a72cf31a chore(deps): bump svgo from 3.3.2 to 3.3.3 in /docs (#38422)
add fdf19db5e6a chore(deps): bump svgo from 3.3.2 to 3.3.3 in /superset-frontend (#38421)
add 4dfb0e66cb6 chore(deps-dev): bump webpack from 5.105.3 to 5.105.4 in /superset-frontend (#38385)
add 880cab58c33 fix(bug): Error when adding a filter using custom sql (#38246)
add 20cc3345d89 chore(playwright): Using warning for timeouts (#38441)
add a2c23a2a58f chore(deps-dev): bump css-minimizer-webpack-plugin from 7.0.4 to 8.0.0 in /superset-frontend (#38434)
add f6f734f0d16 chore(deps): bump google-auth-library from 10.5.0 to 10.6.1 in /superset-frontend (#38436)
add a513406239f feat!: upgrade project's Node version to v22 (#37223)
add f0416eff78e fix(dashboard): fix multiple drag-and-drop and edit mode issues (#37891)
add 0dbd4c5b909 docs(mcp): add MCP server deployment and authentication guide (#38415)
add 5f0efd2be9d test: fix CI OOM crashes in DatasourceControl test and flaky FileHandleer test (#38430)
add 357e35dc628 refactor(core): reorganize superset-core packages into feature-based structure (#38448)
add 6c359733e1d fix(frontend): preserve absolute and protocol-relative URLs in ensureAppRoot (#38316)
add 884db9347da feat(docs): Adding VTG GmbH in INTHEWILD.yaml (#38359)
add 664c465d805 fix(test): use correct @apache-superset/core/theme import in Menu test (#38457)
add 17df85b5edb fix(roles): convert permissions/groups dropdowns to AsyncSelect with server-side search (#38387)
add 0d5ade6dd31 fix(ColorPicker): restore alpha input visibility hidden by geostyler CSS (#38169)
add 7d2efd8c1ae fix(mcp): suppress third-party deprecation warnings from client responses (#38401)
add 3609cd9544d feat(mcp): add compile check to validate chart queries before returning (#38408)
add 84a53eab31c feat(mcp): add pie, pivot table, and mixed timeseries chart creation support (#38375)
add db7665c0bc4 feat(mcp): add user roles to MCP response and permission-aware instructions (#38367)
add 5c4bf0f6ea6 fix(deps): bump Python dependencies to fix 7 security vulnerabilities (#38447)
add 296bd7e56b5 docs(extensions): fix extension developer documentation and CLI scaffolding (#38472)
add 03ad1789f02 feat(alerts/reports): external URL warning (#35021)
add 5fb9e17721d refactor(extensions): align editors API naming with commands/views, add description to all contribution types (#38475)
add a6c0d6321f6 chore(extensions): simplify backend package structure by removing superset_extensions namespace (#38476)
add 3cb00bf116d feat(database): add Google Cloud Datastore db engine spec (#37677)
add 60577bcd979 chore(deps-dev): bump webpack from 5.105.3 to 5.105.4 in /docs (#38380)
add d9a91f99dbb feat: support for import/export masked_encrypted_extra (frontend) (#38078)
add 9983e255f82 fix(charts): revert: improve negative stacked bar label positioning and accessibility (#37405) (#38484)
add c7a1f57487c fix(sqla): parenthesize extras where/having clauses in query generation (#38183)
add 577654cd02e fix(heatmap): correct tooltip display to show axis values instead of indices (#38487)
add e70c7944b75 fix(tests): achieve 100% TypeScript coverage for core packages (#38518)
add 62cebc8a0e6 fix(dashboard): prevent Apply button from disabling when required filters are auto-applied (#38479)
add dca41f9a7b8 fix(theme): prevent background color flash on page load (#38399)
add bf55f1e4388 chore(extensions): bump superset-core and superset-extensions-cli to 0.1.0rc1 (#38516)
add bc99b710bda fix(dashboard): ensure clear all respects required filter validation (#37681)
add 9017b9a74f2 chore: enable allow_update_branch in .asf.yaml (#38530)
add 61fbfda501e feat(security): add granular export controls (Phase 1) (#38361)
add 8e3e57c1c82 fix(docs): swizzle MethodEndpoint to fix SSG crash on all API pages (#38533)
add 4cd3ce164de fix(mcp): make fastmcp truly optional during Superset startup (#38534)
add 6ef4794778b fix(mcp): resolve chatbot tool call flakiness with URL and instruction fixes (#38532)
add a17f38a4e23 fix(embedded): add CurrentUserRestApi read permission to Public role defaults (#38474)
add 06fd0658ae7 chore(deps-dev): bump prettier-plugin-packagejson from 3.0.0 to 3.0.2 in /superset-frontend (#38508)
add 6c1df93215f chore(deps): bump aquasecurity/trivy-action from 0.34.2 to 0.35.0 (#38502)
add 9ecca47e693 feat(ci): only run precommit on changed files (#38155)
add 26c07b1ffb8 chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.9.1 to 0.9.2 in /superset-frontend (#38509)
add afa51125de4 chore(deps): bump the storybook group in /docs with 11 updates (#38501)
add 06d6b513cde chore(deps-dev): bump jest from 30.2.0 to 30.3.0 in /superset-frontend (#38549)
add 6d1d5d64d11 chore(deps): bump antd from 6.3.1 to 6.3.2 in /docs (#38547)
add 5f20d2e15ac chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#38548)
add 0533ca9941e feat(mcp): register GlobalErrorHandlerMiddleware and LoggingMiddleware (#38523)
add 2a876e8b868 fix(mcp): add missing command.validate() to MCP chart data tools (#38521)
add 5fa70bdbd82 fix(mcp): add guardrails to prevent LLM artifact generation (#38391)
add 6342c4f338a feat(mcp): add horizontal bar chart orientation support to generate_chart (#38390)
add 5c2cbb58bc9 fix(mcp): add missing __init__.py for chart, dashboard, dataset packages (#38400)
add cc8ad23d6f9 chore(deps): bump react-diff-viewer-continued from 3.4.0 to 4.2.0 in /superset-frontend (#38552)
add 13fe88000a9 chore(deps-dev): bump lightningcss from 1.31.1 to 1.32.0 in /superset-frontend (#38511)
add 0cfd760a365 fix(mcp): improve default chart names with descriptive format (#38406)
add bde48e563ef fix: SQL Lab tab content padding (#38561)
add 31754a39c93 fix(i18n): correct variable name for translated SQL Lab query message (#38494)
add 6d7cfac8b2d fix(mcp): wrap LoggingMiddleware.on_message event_logger in try/except (#38560)
add 9c1bcb70d01 feat: semantic layer extension
add 17d1ed73533 chore: remove AdhocFilter
add 755aa2e32f3 Address TODOs
add 15e3ab44933 Address comments
add f1047140ee0 feat: add @semantic_layer decorator for extension discovery
add 3f9ea361bb5 docs: add semantic layers to contribution types
add 09e9927652a Simplify
add 0303a234a3e Fix tests
add 12c5bfa0a51 Improve types
add e35c6946ecc Fix lint/tests
add 27a24668558 feat: models and DAOs
add 14668f37bd5 Improvements
add 07509605dd0 feat: Explore integration
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (0039f8a6202)
\
N -- N -- N refs/heads/semantic-layer-explore-integration (07509605dd0)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 4 +-
.devcontainer/devcontainer.json | 2 +-
.github/workflows/docker.yml | 2 +-
.github/workflows/pre-commit.yml | 10 +-
.gitignore | 2 +-
RESOURCES/INTHEWILD.yaml | 3 +
UPDATING.md | 8 +-
docs/.gitignore | 8 +-
docs/.nvmrc | 2 +-
docs/admin_docs/configuration/alerts-reports.mdx | 14 +
docs/admin_docs/configuration/cache.mdx | 16 +-
docs/babel.config.js | 32 -
docs/developer_docs/api.mdx | 36 +-
docs/developer_docs/extensions/architecture.md | 63 +-
.../developer_docs/extensions/components/alert.mdx | 6 +-
.../developer_docs/extensions/components/index.mdx | 8 +-
.../extensions/contribution-types.md | 191 +-
docs/developer_docs/extensions/dependencies.md | 6 +-
docs/developer_docs/extensions/development.md | 133 +-
.../extensions/extension-points/editors.md | 49 +-
.../extensions/extension-points/sqllab.md | 173 +-
docs/developer_docs/extensions/mcp-server.md | 679 ++++
docs/developer_docs/extensions/mcp.md | 6 +-
docs/developer_docs/extensions/overview.md | 6 +-
docs/developer_docs/extensions/quick-start.md | 109 +-
docs/developer_docs/extensions/registry.md | 14 +-
docs/developer_docs/extensions/tasks.md | 14 +-
docs/developer_docs/sidebars.js | 1 +
docs/docusaurus.config.ts | 28 +
docs/package.json | 33 +-
docs/scripts/generate-database-docs.mjs | 8 +-
docs/scripts/generate-extension-components.mjs | 676 ----
docs/scripts/generate-if-changed.mjs | 307 ++
docs/scripts/generate-superset-components.mjs | 241 +-
docs/sidebarTutorials.js | 11 -
docs/src/components/StorybookWrapper.jsx | 4 +-
docs/src/components/databases/DatabaseIndex.tsx | 1 +
.../components/ui-components/ComponentIndex.tsx | 262 ++
.../src/components/ui-components/index.ts | 3 +-
.../src/components/ui-components}/types.ts | 43 +-
docs/src/data/databases.json | 12 +-
docs/src/shims/superset-ui-core.ts | 57 +
.../src/theme/ApiExplorer/MethodEndpoint/index.tsx | 120 +
docs/src/theme/Playground/Preview/index.tsx | 2 +-
docs/src/theme/ReactLiveScope/index.tsx | 2 +-
docs/src/types/apache-superset-core/index.d.ts | 6 +-
docs/src/webpack.extend.ts | 19 +-
docs/static/feature-flags.json | 6 +
docs/static/img/databases/datastore.png | Bin 0 -> 5248 bytes
.../{sql-snippets.png => editor-snippets.png} | Bin
docs/tsconfig.json | 7 +-
docs/yarn.lock | 852 ++++-
pyproject.toml | 8 +-
requirements/base.in | 4 +-
requirements/base.txt | 16 +-
requirements/development.txt | 26 +-
superset-core/README.md | 100 +-
superset-core/pyproject.toml | 3 +-
superset-core/src/superset_core/api/rest_api.py | 72 -
.../src/superset_core/{api => common}/__init__.py | 0
.../src/superset_core/{api => common}/daos.py | 82 +-
.../src/superset_core/{api => common}/models.py | 192 +-
.../src/superset_core/extensions/types.py | 9 +-
superset-core/src/superset_core/mcp/__init__.py | 145 -
.../mcp/{__init__.py => decorators.py} | 2 +-
.../src/superset_core/{api => queries}/__init__.py | 0
superset-core/src/superset_core/queries/daos.py | 63 +
superset-core/src/superset_core/queries/models.py | 79 +
.../src/superset_core/{api => queries}/query.py | 4 +-
.../src/superset_core/{api => queries}/types.py | 0
.../superset_core/{api => rest_api}/__init__.py | 0
.../src/superset_core/rest_api/api.py | 21 +-
.../src/superset_core/rest_api/decorators.py | 103 +
.../superset_core/semantic_layers/decorators.py | 102 +
.../{semantic_layer.py => layer.py} | 11 +-
.../src/superset_core/semantic_layers/types.py | 202 +-
.../semantic_layers/{semantic_view.py => view.py} | 47 +-
.../src/superset_core/{api => tasks}/__init__.py | 0
superset-core/src/superset_core/tasks/daos.py | 76 +
.../src/superset_core/tasks/decorators.py | 152 +
superset-core/src/superset_core/tasks/models.py | 169 +
.../superset_core/{api/tasks.py => tasks/types.py} | 128 +-
superset-embedded-sdk/.nvmrc | 2 +-
superset-embedded-sdk/src/index.ts | 1 +
superset-extensions-cli/README.md | 73 +-
superset-extensions-cli/pyproject.toml | 2 +-
.../src/superset_extensions_cli/cli.py | 136 +-
.../templates/backend/pyproject.toml.j2 | 7 +
.../templates/backend/src/package/__init__.py.j2 | 0
.../templates/extension.json.j2 | 6 -
.../src/superset_extensions_cli/types.py | 4 +-
.../src/superset_extensions_cli/utils.py | 2 +-
superset-extensions-cli/tests/conftest.py | 9 +-
superset-extensions-cli/tests/test_cli_build.py | 206 +-
superset-extensions-cli/tests/test_cli_bundle.py | 5 +-
superset-extensions-cli/tests/test_cli_init.py | 13 +-
superset-extensions-cli/tests/test_cli_validate.py | 14 +-
.../tests/test_name_transformations.py | 11 +-
superset-extensions-cli/tests/test_templates.py | 36 +-
superset-frontend/.eslintrc.js | 41 -
superset-frontend/.nvmrc | 2 +-
superset-frontend/.storybook/preview.jsx | 2 +-
.../.storybook/shared/ResizableChartDemo.tsx | 2 +-
.../.storybook/shared/ResizablePanel.tsx | 2 +-
superset-frontend/.storybook/shared/VerifyCORS.tsx | 2 +-
.../e2e/dashboard/_skip.nativeFilters.test.ts | 4 +-
.../cypress/e2e/dashboard_list/filter.test.ts | 47 -
.../cypress/e2e/dashboard_list/list.test.ts | 279 --
superset-frontend/jest.config.js | 2 +-
superset-frontend/oxlint.json | 7 +-
superset-frontend/package-lock.json | 3546 ++++++++------------
superset-frontend/package.json | 30 +-
.../packages/generator-superset/package.json | 2 +-
superset-frontend/packages/superset-core/README.md | 148 +-
.../packages/superset-core/package.json | 64 +-
.../packages/superset-core/src/api/index.ts | 44 -
.../authentication.ts => authentication/index.ts} | 0
.../src/{api/commands.ts => commands/index.ts} | 4 +-
.../src/{api/core.ts => common/index.ts} | 0
.../{ui => }/components/Alert/Alert.stories.tsx | 0
.../src/{ui => }/components/Alert/Alert.test.tsx | 0
.../src/{ui => }/components/Alert/index.tsx | 0
.../superset-core/src/{ui => }/components/index.ts | 0
.../contributions.ts => contributions/index.ts} | 8 +-
.../src/{api/editors.ts => editors/index.ts} | 52 +-
.../src/{api/extensions.ts => extensions/index.ts} | 2 +-
.../packages/superset-core/src/index.ts | 16 +-
.../src/{api/menus.ts => menus/index.ts} | 4 +-
.../src/{api/sqlLab.ts => sqlLab/index.ts} | 4 +-
.../superset-core/src/{ui => }/testing.tsx | 0
.../src/{ui => }/theme/GlobalStyles.tsx | 11 +
.../src/{ui => }/theme/Theme.test.tsx | 73 +
.../superset-core/src/{ui => }/theme/Theme.tsx | 14 +
.../src/{ui => }/theme/exampleThemes.ts | 0
.../superset-core/src/{ui => }/theme/index.tsx | 0
.../superset-core/src/{ui => }/theme/types.ts | 0
.../src/{ui => }/theme/utils/index.ts | 0
.../src/{ui => }/theme/utils/themeUtils.test.ts | 30 +
.../src/{ui => }/theme/utils/themeUtils.ts | 0
.../src/{ui => }/theme/utils/utils.test.ts | 22 +
.../src/{ui => }/translation/README.md | 0
.../src/translation/Translator.test.ts | 132 +
.../src/{ui => }/translation/Translator.ts | 3 +-
.../src/translation/TranslatorSingleton.test.ts | 112 +
.../{ui => }/translation/TranslatorSingleton.ts | 0
.../src/{ui => }/translation/index.ts | 0
.../src/{ui => }/translation/types/index.ts | 0
.../src/{ui => }/translation/types/jed.ts | 0
.../packages/superset-core/src/ui/index.ts | 21 -
.../src/{spec => }/utils/logging.test.ts | 4 +-
.../packages/superset-core/src/utils/logging.ts | 1 +
.../src/{api/views.ts => views/index.ts} | 4 +-
.../src/components/CertifiedIconWithTooltip.tsx | 4 +-
.../src/components/ColumnOption.tsx | 2 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 6 +-
.../src/components/ControlHeader.tsx | 4 +-
.../src/components/ControlSubSectionHeader.tsx | 2 +-
.../src/components/MetricOption.tsx | 2 +-
.../src/components/SQLPopover.tsx | 4 +-
.../src/components/labelUtils.tsx | 4 +-
.../superset-ui-chart-controls/src/constants.ts | 4 +-
.../superset-ui-chart-controls/src/fixtures.ts | 2 +-
.../src/sections/advancedAnalytics.tsx | 2 +-
.../src/sections/annotationsAndLayers.tsx | 2 +-
.../src/sections/chartTitle.tsx | 2 +-
.../src/sections/echartsTimeSeriesQuery.tsx | 2 +-
.../src/sections/forecastInterval.tsx | 2 +-
.../src/sections/matrixify.tsx | 2 +-
.../src/sections/sections.tsx | 2 +-
.../src/sections/timeComparison.tsx | 2 +-
.../components/RadioButtonControl.tsx | 2 +-
.../src/shared-controls/customControls.tsx | 4 +-
.../src/shared-controls/dndControls.tsx | 4 +-
.../src/shared-controls/matrixifyControls.tsx | 2 +-
.../src/shared-controls/mixins.tsx | 2 +-
.../src/shared-controls/sharedControls.tsx | 17 +-
.../superset-ui-chart-controls/src/types.ts | 3 +-
.../src/utils/D3Formatting.ts | 2 +-
.../src/utils/checkColumnType.ts | 2 +-
.../src/utils/columnChoices.ts | 2 +-
.../src/utils/getColorFormatters.ts | 2 +-
.../src/utils/isSortable.ts | 2 +-
.../src/utils/metricColumnFilter.test.ts | 8 +
.../test/components/ColumnOption.test.tsx | 2 +-
.../test/components/ColumnTypeLabel.test.tsx | 2 +-
.../test/shared-controls/customControls.test.tsx | 2 +-
.../test/utils/checkColumnType.test.ts | 2 +-
.../test/utils/columnChoices.test.tsx | 2 +-
.../test/utils/getColorFormatters.test.ts | 43 +-
.../test/utils/getTemporalColumns.test.ts | 2 +-
.../test/utils/isSortable.test.ts | 2 +-
.../src/chart/components/FallbackComponent.tsx | 4 +-
.../Matrixify/MatrixifyGridCell.test.tsx | 2 +-
.../components/Matrixify/MatrixifyGridCell.tsx | 4 +-
.../Matrixify/MatrixifyGridGenerator.test.ts | 120 +
.../components/Matrixify/MatrixifyGridGenerator.ts | 8 +-
.../Matrixify/MatrixifyGridRenderer.test.tsx | 4 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 2 +-
.../src/chart/components/NoResultsComponent.tsx | 3 +-
.../src/chart/components/StatefulChart.tsx | 2 +-
.../src/chart/components/SuperChartCore.tsx | 2 +-
.../src/chart/models/ChartProps.ts | 2 +-
.../src/chart/types/matrixify.mocks.test.ts | 11 +-
.../src/chart/types/matrixify.test.ts | 82 +
.../superset-ui-core/src/chart/types/matrixify.ts | 36 +-
.../src/components/ActionButton/index.tsx | 2 +-
.../src/components/AsyncAceEditor/index.tsx | 8 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 25 +
.../src/components/Badge/index.tsx | 2 +-
.../src/components/Button/index.tsx | 2 +-
.../src/components/CachedLabel/TooltipContent.tsx | 2 +-
.../src/components/CachedLabel/index.tsx | 2 +-
.../superset-ui-core/src/components/Card/index.tsx | 2 +-
.../CertifiedBadge/CertifiedBadge.stories.tsx | 2 +-
.../src/components/CertifiedBadge/index.tsx | 4 +-
.../src/components/Checkbox/CheckboxIcons.tsx | 2 +-
.../src/components/CodeSyntaxHighlighter/index.tsx | 2 +-
.../src/components/Collapse/Collapse.tsx | 2 +-
.../components/Collapse/CollapseLabelInModal.tsx | 2 +-
.../components/ConfirmModal/ConfirmModal.test.tsx | 2 +-
.../src/components/ConfirmModal/index.tsx | 4 +-
.../src/components/CronPicker/index.tsx | 4 +-
.../src/components/DatePicker/index.tsx | 2 +-
.../src/components/DeleteModal/index.tsx | 4 +-
.../src/components/Divider/index.tsx | 2 +-
.../src/components/Dropdown/index.tsx | 2 +-
.../src/components/DropdownButton/index.tsx | 2 +-
.../DropdownContainer.stories.tsx | 2 +-
.../DropdownContainer/DropdownContainer.tsx | 4 +-
.../src/components/DynamicEditableTitle/index.tsx | 4 +-
.../src/components/EditableTitle/index.tsx | 4 +-
.../src/components/EmptyState/index.tsx | 4 +-
.../src/components/FaveStar/index.tsx | 4 +-
.../src/components/Flex/Flex.stories.tsx | 2 +-
.../src/components/Form/FormItem.tsx | 2 +-
.../src/components/Form/FormLabel.tsx | 2 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 4 +-
.../src/components/IconButton/index.tsx | 2 +-
.../components/IconTooltip/IconTooltip.stories.tsx | 2 +-
.../src/components/Icons/BaseIcon.tsx | 2 +-
.../src/components/Icons/Icons.stories.tsx | 2 +-
.../src/components/InfoTooltip/index.tsx | 4 +-
.../src/components/Label/index.tsx | 2 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 4 +-
.../components/Label/reusable/PublishedLabel.tsx | 4 +-
.../src/components/LastUpdated/index.tsx | 4 +-
.../src/components/List/List.test.tsx | 10 +
.../superset-ui-core/src/components/List/index.ts | 2 +-
.../src/components/ListViewCard/ImageLoader.tsx | 4 +-
.../src/components/ListViewCard/index.tsx | 2 +-
.../src/components/Loading/index.test.tsx | 2 +-
.../src/components/Loading/index.tsx | 4 +-
.../superset-ui-core/src/components/Menu/index.tsx | 2 +-
.../src/components/Metadata/index.tsx | 2 +-
.../src/components/MetadataBar/ContentConfig.tsx | 4 +-
.../components/MetadataBar/MetadataBar.stories.tsx | 2 +-
.../components/MetadataBar/MetadataBar.test.tsx | 2 +-
.../src/components/MetadataBar/MetadataBar.tsx | 2 +-
.../src/components/Modal/FormModal.tsx | 2 +-
.../src/components/Modal/Modal.tsx | 4 +-
.../src/components/PageHeaderWithActions/index.tsx | 4 +-
.../src/components/PopoverDropdown/index.tsx | 2 +-
.../src/components/PopoverSection/index.tsx | 2 +-
.../src/components/ProgressBar/index.tsx | 2 +-
.../src/components/Radio/Radio.stories.tsx | 2 +-
.../src/components/RefreshLabel/index.tsx | 2 +-
.../src/components/Select/AsyncSelect.tsx | 2 +-
.../src/components/Select/Select.tsx | 2 +-
.../src/components/Select/constants.test.ts | 49 +
.../src/components/Select/constants.ts | 2 +-
.../src/components/Select/styles.tsx | 2 +-
.../src/components/Select/utils.tsx | 2 +-
.../src/components/Table/VirtualTable.tsx | 2 +-
.../Table/cell-renderers/ActionCell/index.tsx | 2 +-
.../Table/cell-renderers/NullCell/index.tsx | 2 +-
.../Table/cell-renderers/NumericCell/index.tsx | 2 +-
.../header-renderers/HeaderWithRadioGroup.tsx | 2 +-
.../src/components/Table/index.tsx | 6 +-
.../Table/utils/InteractiveTableUtils.test.ts | 574 ++++
.../src/components/TableCollection/index.tsx | 2 +-
.../src/components/TableView/TableView.tsx | 2 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 115 +-
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 8 +-
.../src/components/ThemedAgGridReact/index.tsx | 2 +-
.../src/components/Timer/index.tsx | 2 +-
.../src/components/TimezoneSelector/index.tsx | 2 +-
.../src/components/TruncatedList/index.tsx | 4 +-
.../src/components/Typography/index.tsx | 2 +-
.../src/components/UnsavedChangesModal/index.tsx | 2 +-
.../components/WarningIconWithTooltip/index.tsx | 2 +-
.../superset-ui-core/src/components/constants.ts | 2 +-
.../superset-ui-core/src/components/index.ts | 1 +
.../src/query/extractQueryFields.ts | 2 +-
.../src/query/getClientErrorObject.ts | 2 +-
.../superset-ui-core/src/query/types/Column.ts | 2 +-
.../superset-ui-core/src/query/types/Query.ts | 2 +-
.../src/query/types/QueryResponse.ts | 2 +-
.../packages/superset-ui-core/src/spec/index.tsx | 2 +-
.../src/style/stories/Theme.stories.tsx | 2 +-
.../src/types/react-syntax-highlighter.d.ts | 7 -
.../superset-ui-core/src/utils/featureFlags.ts | 3 +-
.../src/utils/rankedSearchCompare.test.ts | 20 +
.../packages/superset-ui-core/src/utils/tooltip.ts | 2 +-
.../index.ts => utils/withLabel.test.ts} | 24 +-
.../src/validator/legacyValidateInteger.ts | 2 +-
.../src/validator/legacyValidateNumber.ts | 2 +-
.../src/validator/validateInteger.ts | 2 +-
.../src/validator/validateMapboxStylesUrl.ts | 2 +-
.../src/validator/validateMaxValue.ts | 2 +-
.../src/validator/validateNonEmpty.ts | 2 +-
.../src/validator/validateNumber.ts | 2 +-
.../src/validator/validateServerPagination.ts | 2 +-
.../validator/validateTimeComparisonRangeValues.ts | 2 +-
.../test/chart/clients/ChartClient.test.ts | 2 +-
.../test/chart/components/MockChartPlugins.tsx | 2 +-
.../test/chart/components/SuperChartCore.test.tsx | 2 +-
.../test/chart/models/ChartPlugin.test.tsx | 2 +-
.../test/chart/models/ChartProps.test.ts | 2 +-
.../Icons/AsyncIcon.integration.test.tsx | 2 +-
.../test/connection/SupersetClient.test.ts | 6 +
.../test/connection/SupersetClientClass.test.ts | 33 +
.../test/currency-format/CurrencyFormatter.test.ts | 78 +
.../test/currency-format/utils.test.ts | 193 ++
.../packages/superset-ui-core/test/fixtures.ts | 2 +-
.../test/query/extractQueryFields.test.ts | 2 +-
.../superset-ui-core/test/query/getAxis.test.ts | 50 +-
.../test/query/types/Column.test.ts | 14 +
.../test/query/types/Dashboard.test.ts | 33 +
.../test/utils/featureFlag.test.ts | 4 +-
.../superset-ui-core/test/validator/setup.ts | 2 +-
.../playwright/helpers/api/dashboard.ts | 170 +
.../playwright/helpers/fixtures/testAssets.ts | 24 +-
.../{ChartListPage.ts => DashboardListPage.ts} | 67 +-
.../experimental/dashboard/dashboard-list.spec.ts | 403 +++
.../dashboard-test-helpers.ts} | 47 +-
.../legacy-plugin-chart-calendar/src/Calendar.ts | 3 +-
.../src/ReactCalendar.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-calendar/src/index.ts | 2 +-
.../src/vendor/cal-heatmap.ts | 2 +-
.../legacy-plugin-chart-chord/src/ReactChord.tsx | 2 +-
.../legacy-plugin-chart-chord/src/controlPanel.ts | 2 +-
.../plugins/legacy-plugin-chart-chord/src/index.ts | 2 +-
.../src/ReactCountryMap.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-country-map/src/index.ts | 2 +-
.../src/stories/CountryMap.stories.tsx | 2 +-
.../src/HorizonChart.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-horizon/src/index.ts | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-map-box/src/index.ts | 2 +-
.../src/stories/MapBox.stories.tsx | 2 +-
.../src/stories/data.ts | 2 +-
.../src/PairedTTest.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-paired-t-test/src/index.ts | 2 +-
.../src/ReactParallelCoordinates.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../src/index.ts | 2 +-
.../src/ReactPartition.tsx | 2 +-
.../src/controlPanel.tsx | 2 +-
.../legacy-plugin-chart-partition/src/index.ts | 2 +-
.../legacy-plugin-chart-rose/src/ReactRose.tsx | 2 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 2 +-
.../plugins/legacy-plugin-chart-rose/src/index.ts | 2 +-
.../src/ReactWorldMap.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-world-map/src/index.ts | 2 +-
.../src/DeckGLContainer.tsx | 2 +-
.../src/Multi/Multi.test.tsx | 2 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +-
.../src/Multi/controlPanel.ts | 2 +-
.../legacy-preset-chart-deckgl/src/Multi/index.ts | 2 +-
.../src/components/Legend.tsx | 2 +-
.../src/components/Tooltip.tsx | 2 +-
.../src/layers/Arc/controlPanel.ts | 2 +-
.../src/layers/Arc/index.ts | 2 +-
.../src/layers/Contour/Contour.tsx | 2 +-
.../src/layers/Contour/controlPanel.ts | 2 +-
.../src/layers/Contour/index.ts | 2 +-
.../src/layers/Geojson/controlPanel.ts | 2 +-
.../src/layers/Geojson/index.ts | 2 +-
.../src/layers/Grid/controlPanel.ts | 2 +-
.../src/layers/Grid/index.ts | 2 +-
.../src/layers/Heatmap/Heatmap.tsx | 2 +-
.../src/layers/Heatmap/controlPanel.ts | 2 +-
.../src/layers/Heatmap/index.ts | 2 +-
.../src/layers/Hex/controlPanel.ts | 2 +-
.../src/layers/Hex/index.ts | 2 +-
.../src/layers/Path/controlPanel.ts | 2 +-
.../src/layers/Path/index.ts | 2 +-
.../src/layers/Path/stories/Path.stories.tsx | 2 +-
.../src/layers/Polygon/Polygon.test.tsx | 2 +-
.../src/layers/Polygon/Polygon.tsx | 2 +-
.../src/layers/Polygon/controlPanel.ts | 2 +-
.../src/layers/Polygon/index.ts | 2 +-
.../src/layers/Scatter/Scatter.tsx | 2 +-
.../src/layers/Scatter/controlPanel.ts | 2 +-
.../src/layers/Scatter/index.ts | 2 +-
.../src/layers/Screengrid/Screengrid.tsx | 4 +-
.../src/layers/Screengrid/controlPanel.ts | 2 +-
.../src/layers/Screengrid/index.ts | 2 +-
.../src/layers/spatialUtils.test.ts | 2 +-
.../src/utilities/HandlebarsRenderer.tsx | 4 +-
.../src/utilities/Shared_DeckGL.tsx | 2 +-
.../src/utilities/TooltipTemplateControl.tsx | 4 +-
.../src/utilities/TooltipTemplateEditor.tsx | 2 +-
.../src/utilities/sharedDndControls.tsx | 2 +-
.../src/utilities/tooltipUtils.tsx | 2 +-
.../src/Bubble/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bubble/index.ts | 2 +-
.../src/Bullet/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bullet/index.ts | 2 +-
.../src/Compare/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Compare/index.ts | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.ts | 2 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.tsx | 2 +-
.../src/TimePivot/controlPanel.ts | 2 +-
.../src/TimePivot/index.ts | 2 +-
.../src/vendor/superset/AnnotationTypes.ts | 2 +-
.../src/AgGridTable/components/CustomHeader.tsx | 2 +-
.../src/AgGridTable/components/Pagination.tsx | 2 +-
.../components/TimeComparisonVisibility.tsx | 2 +-
.../src/AgGridTable/index.tsx | 2 +-
.../src/AgGridTableChart.tsx | 4 +-
.../src/controlPanel.tsx | 4 +-
.../plugin-chart-ag-grid-table/src/index.ts | 2 +-
.../src/renderers/NumericCellRenderer.tsx | 6 +-
.../src/renderers/TextCellRenderer.tsx | 2 +-
.../plugin-chart-ag-grid-table/src/stories/data.ts | 2 +-
.../src/styles/index.tsx | 2 +-
.../src/transformProps.ts | 4 +-
.../src/utils/formatValue.ts | 2 +-
.../src/utils/useColDefs.ts | 2 +-
.../src/utils/useTableTheme.ts | 2 +-
.../test/controlPanel.test.tsx | 2 +-
.../test/utils/useColDefs.test.ts | 2 +-
.../src/CartodiagramPlugin.tsx | 2 +-
.../src/components/ChartLayer.tsx | 2 +-
.../src/components/ChartWrapper.tsx | 2 +-
.../src/plugin/controlPanel.ts | 2 +-
.../plugin-chart-cartodiagram/src/plugin/index.ts | 2 +-
.../plugins/plugin-chart-cartodiagram/src/types.ts | 2 +-
.../src/util/chartUtil.tsx | 2 +-
.../src/util/controlPanelUtil.tsx | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-echarts/package.json | 4 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 4 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 4 +-
.../BigNumber/BigNumberPeriodOverPeriod/index.ts | 2 +-
.../src/BigNumber/BigNumberTotal/controlPanel.ts | 4 +-
.../src/BigNumber/BigNumberTotal/index.ts | 2 +-
.../BigNumberTotal/transformProps.test.ts | 2 +-
.../src/BigNumber/BigNumberTotal/transformProps.ts | 2 +-
.../src/BigNumber/BigNumberViz.tsx | 4 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 4 +-
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 2 +-
.../BigNumberWithTrendline/controlPanel.tsx | 2 +-
.../src/BigNumber/BigNumberWithTrendline/index.ts | 2 +-
.../BigNumberWithTrendline/transformProps.test.ts | 2 +-
.../BigNumberWithTrendline/transformProps.ts | 4 +-
.../src/BigNumber/sharedControls.ts | 2 +-
.../src/BoxPlot/controlPanel.ts | 2 +-
.../plugin-chart-echarts/src/BoxPlot/index.ts | 2 +-
.../src/Bubble/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Bubble/index.ts | 2 +-
.../src/Funnel/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Funnel/index.ts | 2 +-
.../src/Gantt/EchartsGantt.tsx | 2 +-
.../src/Gantt/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Gantt/index.ts | 2 +-
.../src/Gantt/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/Gauge/constants.ts | 2 +-
.../src/Gauge/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Gauge/index.ts | 2 +-
.../src/Graph/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Graph/index.ts | 2 +-
.../src/Heatmap/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Heatmap/index.ts | 2 +-
.../src/Heatmap/transformProps.ts | 28 +-
.../src/Histogram/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Histogram/index.ts | 2 +-
.../src/MixedTimeseries/buildQuery.ts | 2 +-
.../src/MixedTimeseries/controlPanel.tsx | 3 +-
.../src/MixedTimeseries/index.ts | 2 +-
.../src/MixedTimeseries/transformProps.ts | 22 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/Pie/index.ts | 2 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 2 +-
.../src/Radar/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Radar/index.ts | 2 +-
.../src/Sankey/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Sankey/index.ts | 2 +-
.../src/Sunburst/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Sunburst/index.ts | 2 +-
.../src/Sunburst/transformProps.ts | 2 +-
.../src/Timeseries/Area/controlPanel.tsx | 3 +-
.../src/Timeseries/Area/index.ts | 2 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 5 +-
.../src/Timeseries/Regular/Bar/index.ts | 2 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 3 +-
.../src/Timeseries/Regular/Line/index.ts | 2 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 2 +-
.../src/Timeseries/Regular/Scatter/index.ts | 2 +-
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 3 +-
.../src/Timeseries/Regular/SmoothLine/index.ts | 2 +-
.../src/Timeseries/Step/controlPanel.tsx | 2 +-
.../src/Timeseries/Step/index.ts | 2 +-
.../src/Timeseries/buildQuery.ts | 6 +-
.../src/Timeseries/constants.ts | 2 +-
.../plugin-chart-echarts/src/Timeseries/index.ts | 2 +-
.../src/Timeseries/transformProps.ts | 152 +-
.../src/Timeseries/transformers.ts | 88 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 1 +
.../plugin-chart-echarts/src/Tree/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/Tree/index.ts | 2 +-
.../src/Treemap/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Treemap/index.ts | 2 +-
.../src/Waterfall/constants.ts | 2 +-
.../src/Waterfall/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Waterfall/index.ts | 2 +-
.../src/Waterfall/transformProps.ts | 2 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 12 +-
.../src/components/ExtraControls.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 2 +-
.../plugins/plugin-chart-echarts/src/controls.tsx | 30 +-
.../plugins/plugin-chart-echarts/src/index.ts | 3 +
.../src/utils/eChartOptionsSchema.ts | 827 +++++
.../plugin-chart-echarts/src/utils/formatters.ts | 91 +-
.../src/utils/mergeCustomEChartOptions.test.ts | 163 +
.../src/utils/mergeCustomEChartOptions.ts | 79 +
.../src/utils/safeEChartOptionsParser.test.ts | 525 +++
.../src/utils/safeEChartOptionsParser.ts | 477 +++
.../plugin-chart-echarts/src/utils/series.ts | 4 +-
.../src/utils/themeOverrides.test.ts | 623 ++--
.../src/utils/themeOverrides.ts | 89 +
.../test/BigNumber/transformProps.test.ts | 2 +-
.../test/BoxPlot/transformProps.test.ts | 2 +-
.../test/Bubble/transformProps.test.ts | 2 +-
.../test/Funnel/transformProps.test.ts | 2 +-
.../test/Gantt/transformProps.test.ts | 2 +-
.../test/Gauge/transformProps.test.ts | 2 +-
.../test/Graph/transformProps.test.ts | 2 +-
.../test/Heatmap/transformProps.test.ts | 2 +-
.../test/MixedTimeseries/transformProps.test.ts | 2 +-
.../test/Pie/transformProps.test.ts | 2 +-
.../test/Radar/transformProps.test.ts | 2 +-
.../test/Timeseries/Bar/transformProps.test.ts | 285 +-
.../test/Timeseries/Scatter/transformProps.test.ts | 12 +-
.../test/Timeseries/transformProps.test.ts | 6 +-
.../test/Timeseries/transformers.test.ts | 101 +-
.../test/Tree/transformProps.test.ts | 2 +-
.../test/Treemap/transformProps.test.ts | 2 +-
.../test/Waterfall/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-echarts/test/helpers.ts | 2 +-
.../test/utils/formatters.test.ts | 174 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 4 +-
.../test/utils/transformers.test.ts | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../plugin-chart-handlebars/src/Handlebars.tsx | 2 +-
.../src/components/Handlebars/HandlebarsViewer.tsx | 4 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../src/plugin/controls/columns.tsx | 2 +-
.../src/plugin/controls/handlebarTemplate.tsx | 4 +-
.../src/plugin/controls/includeTime.ts | 2 +-
.../src/plugin/controls/metrics.tsx | 2 +-
.../src/plugin/controls/orderBy.tsx | 2 +-
.../src/plugin/controls/queryMode.tsx | 2 +-
.../src/plugin/controls/shared.ts | 2 +-
.../src/plugin/controls/style.tsx | 4 +-
.../plugin-chart-handlebars/src/plugin/index.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../src/PivotTableChart.tsx | 4 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../plugin-chart-pivot-table/src/plugin/index.ts | 2 +-
.../src/plugin/transformProps.ts | 2 +-
.../src/react-pivottable/Styles.ts | 2 +-
.../src/react-pivottable/TableRenderers.tsx | 2 +-
.../src/react-pivottable/utilities.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugin-chart-table/src/DataTable/DataTable.tsx | 2 +-
.../src/DataTable/components/GlobalFilter.tsx | 2 +-
.../DataTable/components/SearchSelectDropdown.tsx | 2 +-
.../src/DataTable/components/SelectPageSize.tsx | 4 +-
.../src/DataTable/hooks/useSticky.tsx | 2 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 7 +-
.../plugins/plugin-chart-table/src/consts.ts | 2 +-
.../plugin-chart-table/src/controlPanel.tsx | 4 +-
.../plugins/plugin-chart-table/src/index.ts | 2 +-
.../plugin-chart-table/src/stories/testData.ts | 2 +-
.../plugin-chart-table/src/transformProps.ts | 4 +-
.../plugin-chart-table/src/utils/formatValue.ts | 2 +-
.../plugin-chart-table/test/TableChart.test.tsx | 2 +-
.../plugin-chart-table/test/controlPanel.test.tsx | 2 +-
.../plugins/plugin-chart-table/test/testData.ts | 4 +-
.../plugin-chart-table/test/testHelpers.tsx | 2 +-
.../test/utils/formatValue.test.ts | 2 +-
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../src/chart/WordCloud.tsx | 2 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 2 +-
.../plugin/controls/ColorSchemeControl/index.tsx | 4 +-
.../src/plugin/controls/RotationControl.tsx | 2 +-
.../plugin-chart-word-cloud/src/plugin/index.ts | 2 +-
.../scripts/eslint-metrics-uploader.js | 144 -
.../scripts/oxlint-metrics-uploader.js | 7 +-
superset-frontend/spec/helpers/ProviderWrapper.tsx | 2 +-
superset-frontend/spec/helpers/shim.tsx | 2 +-
superset-frontend/spec/helpers/testing-library.tsx | 2 +-
.../src/SqlLab/SqlLabGlobalStyles.tsx | 2 +-
superset-frontend/src/SqlLab/actions/sqlLab.ts | 2 +-
.../src/SqlLab/components/App/index.tsx | 4 +-
.../src/SqlLab/components/AppLayout/index.tsx | 2 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 4 +-
.../EditorAutoSync/EditorAutoSync.test.tsx | 6 +-
.../src/SqlLab/components/EditorAutoSync/index.tsx | 2 +-
.../src/SqlLab/components/EditorWrapper/index.tsx | 2 +-
.../components/EditorWrapper/useAnnotations.ts | 2 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 2 +-
.../components/EstimateQueryCostButton/index.tsx | 5 +-
.../components/ExploreCtasResultsButton/index.tsx | 2 +-
.../components/ExploreResultsButton/index.tsx | 2 +-
.../src/SqlLab/components/HighlightedSql/index.tsx | 2 +-
.../components/KeyboardShortcutButton/index.tsx | 4 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 4 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../SqlLab/components/QueryStateLabel/index.tsx | 2 +-
.../src/SqlLab/components/QueryStatusBar/index.tsx | 3 +-
.../src/SqlLab/components/QueryTable/index.tsx | 4 +-
.../src/SqlLab/components/QueryTable/styles.ts | 2 +-
.../src/SqlLab/components/ResultSet/index.tsx | 9 +-
.../components/RunQueryActionButton/index.tsx | 4 +-
.../components/SaveDatasetActionButton/index.tsx | 2 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 4 +-
.../components/ScheduleQueryButton/index.tsx | 4 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 4 +-
.../src/SqlLab/components/SouthPane/Results.tsx | 5 +-
.../src/SqlLab/components/SouthPane/index.tsx | 6 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 5 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 4 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 9 +-
.../SqlLab/components/SqlEditorTopBar/index.tsx | 2 +-
.../src/SqlLab/components/StatusBar/index.tsx | 2 +-
.../SqlLab/components/TabbedSqlEditors/index.tsx | 4 +-
.../src/SqlLab/components/TableElement/index.tsx | 4 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 3 +-
.../SqlLab/components/TableExploreTree/index.tsx | 3 +-
.../components/TableExploreTree/useTreeData.ts | 2 +-
.../src/SqlLab/components/TablePreview/index.tsx | 5 +-
.../components/TemplateParamsEditor/index.tsx | 4 +-
superset-frontend/src/SqlLab/constants.ts | 2 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../src/SqlLab/reducers/getInitialState.ts | 2 +-
superset-frontend/src/SqlLab/reducers/sqlLab.ts | 2 +-
.../src/SqlLab/utils/newQueryTabName.ts | 2 +-
.../DeckglLayerVisibilityCustomizationPlugin.tsx | 4 +-
.../components/DeckglLayerVisibility/index.ts | 2 +-
.../DynamicGroupBy/DynamicGroupByPlugin.tsx | 2 +-
.../components/DynamicGroupBy/controlPanel.ts | 2 +-
.../components/DynamicGroupBy/index.ts | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 4 +-
.../components/TimeColumn/controlPanel.ts | 2 +-
.../components/TimeColumn/index.ts | 2 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 2 +-
.../components/TimeGrain/controlPanel.ts | 2 +-
.../components/TimeGrain/index.ts | 2 +-
.../src/chartCustomizations/components/common.ts | 2 +-
.../src/components/AlteredSliceTag/index.tsx | 2 +-
.../src/components/AuditInfo/index.tsx | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 7 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 4 +-
.../src/components/Chart/ChartRenderer.tsx | 4 +-
.../components/Chart/DisabledMenuItemTooltip.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByChart.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByModal.tsx | 5 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 4 +-
.../Chart/DrillBy/useDisplayModeToggle.tsx | 4 +-
.../Chart/DrillBy/useResultsTableView.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailModal.tsx | 4 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 6 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 4 +-
.../src/components/Chart/DrillDetail/types.ts | 2 +-
.../components/Chart/MenuItemWithTruncation.tsx | 2 +-
.../src/components/Chart/chartAction.ts | 2 +-
.../src/components/Chart/chartReducer.ts | 2 +-
.../Chart/useDrillDetailMenuItems/index.tsx | 4 +-
.../src/components/CopyToClipboard/index.tsx | 4 +-
.../src/components/CrudThemeProvider.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 4 +-
.../src/components/DatabaseSelector/styles.ts | 2 +-
.../Datasource/ChangeDatasourceModal/index.tsx | 5 +-
.../Datasource/DatasourceModal/index.tsx | 5 +-
.../Datasource/FoldersEditor/TreeItem.styles.ts | 2 +-
.../Datasource/FoldersEditor/TreeItem.tsx | 5 +-
.../components/DragOverlayContent.tsx | 2 +-
.../components/FoldersToolbarComponent.tsx | 2 +-
.../FoldersEditor/components/ResetConfirmModal.tsx | 2 +-
.../Datasource/FoldersEditor/folderOperations.ts | 2 +-
.../Datasource/FoldersEditor/folderValidation.ts | 2 +-
.../FoldersEditor/hooks/useDragHandlers.ts | 2 +-
.../FoldersEditor/hooks/useItemHeights.ts | 2 +-
.../components/Datasource/FoldersEditor/styles.tsx | 2 +-
.../components/CollectionTable/index.tsx | 4 +-
.../DatasourceEditor/DatasourceEditor.tsx | 10 +-
.../components/DashboardLinksExternal/index.tsx | 2 +-
.../components/DatasetUsageTab/index.tsx | 4 +-
.../tests/DatasourceEditorCurrency.test.tsx | 2 +-
.../Datasource/components/Field/index.tsx | 2 +-
.../Datasource/components/Fieldset/index.tsx | 2 +-
.../src/components/Datasource/utils/index.ts | 2 +-
.../src/components/Datasource/utils/utils.test.tsx | 2 +-
.../src/components/DynamicPlugins/index.tsx | 2 +-
.../src/components/ErrorBoundary/index.tsx | 2 +-
.../ErrorMessage/BasicErrorAlert.test.tsx | 2 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 6 +-
.../ErrorMessage/DatabaseErrorMessage.tsx | 4 +-
.../ErrorMessage/DatasetNotFoundErrorMessage.tsx | 2 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 5 +-
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 2 +-
.../ErrorMessage/FrontendNetworkErrorMessage.tsx | 2 +-
.../ErrorMessage/InvalidSQLErrorMessage.tsx | 2 +-
.../src/components/ErrorMessage/IssueCode.tsx | 4 +-
.../ErrorMessage/MarshmallowErrorMessage.tsx | 2 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 2 +-
.../ErrorMessage/ParameterErrorMessage.tsx | 4 +-
.../ErrorMessage/TimeoutErrorMessage.tsx | 4 +-
.../src/components/FilterableTable/utils.tsx | 2 +-
.../src/components/GridTable/Header.tsx | 4 +-
.../src/components/GridTable/HeaderMenu.tsx | 4 +-
.../src/components/GridTable/index.tsx | 2 +-
.../src/components/ImportModal/ErrorAlert.tsx | 5 +-
.../components/ImportModal/ImportErrorAlert.tsx | 2 +-
.../components/ImportModal/ImportModal.test.tsx | 44 +
.../src/components/ImportModal/index.tsx | 55 +-
.../src/components/ImportModal/styles.ts | 2 +-
.../src/components/ImportModal/types.ts | 9 +-
.../src/components/JsonModal/index.tsx | 2 +-
.../src/components/LastQueriedLabel/index.tsx | 4 +-
.../src/components/ListView/ActionsBar.tsx | 2 +-
.../src/components/ListView/CardCollection.tsx | 2 +-
.../src/components/ListView/CardSortSelect.tsx | 4 +-
.../src/components/ListView/CrossLinks.tsx | 2 +-
.../src/components/ListView/CrossLinksTooltip.tsx | 4 +-
.../src/components/ListView/Filters/Base.ts | 2 +-
.../src/components/ListView/Filters/DateRange.tsx | 2 +-
.../components/ListView/Filters/NumericalRange.tsx | 4 +-
.../src/components/ListView/Filters/Search.tsx | 4 +-
.../src/components/ListView/Filters/Select.tsx | 2 +-
.../src/components/ListView/Filters/index.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 5 +-
.../src/components/MessageToasts/Toast.tsx | 9 +-
.../components/MessageToasts/ToastPresenter.tsx | 2 +-
.../components/Modal/CollapsibleModalSection.tsx | 2 +-
.../src/components/Modal/ModalFormField.tsx | 2 +-
.../src/components/Modal/StandardModal.tsx | 4 +-
.../src/components/Modal/useModalValidation.tsx | 4 +-
.../src/components/ModalTitleWithIcon/index.tsx | 2 +-
.../src/components/PanelToolbar/index.tsx | 2 +-
.../src/components/ResizableSidebar/index.tsx | 2 +-
.../src/components/RowCountLabel/index.tsx | 2 +-
.../components/SQLEditorWithValidation/index.tsx | 4 +-
.../StreamingExportModal/StreamingExportModal.tsx | 4 +-
.../src/components/TableSelector/index.tsx | 4 +-
superset-frontend/src/components/Tag/index.tsx | 2 +-
superset-frontend/src/components/Tag/utils.tsx | 2 +-
.../src/components/TagsList/index.tsx | 2 +-
superset-frontend/src/core/commands/index.ts | 2 +-
.../src/core/editors/AceEditorProvider.test.tsx | 2 +-
.../src/core/editors/AceEditorProvider.tsx | 7 +
superset-frontend/src/core/editors/EditorHost.tsx | 4 +-
.../src/core/editors/EditorProviders.test.ts | 5 +-
.../src/core/editors/EditorProviders.ts | 17 +-
superset-frontend/src/core/editors/index.ts | 33 +-
superset-frontend/src/core/index.ts | 2 +-
superset-frontend/src/core/models.ts | 2 +-
superset-frontend/src/core/sqlLab/models.ts | 5 +-
superset-frontend/src/core/utils.ts | 2 +-
.../dashboard/actions/chartCustomizationActions.ts | 2 +-
.../src/dashboard/actions/dashboardInfo.ts | 2 +-
.../src/dashboard/actions/dashboardLayout.ts | 2 +-
.../src/dashboard/actions/dashboardState.ts | 4 +-
.../src/dashboard/actions/sliceEntities.ts | 2 +-
.../components/AddSliceCard/AddSliceCard.tsx | 4 +-
.../src/dashboard/components/AnchorLink/index.tsx | 2 +-
.../components/AutoRefreshIndicator/index.tsx | 3 +-
.../AutoRefreshStatus/StatusIndicatorDot.tsx | 2 +-
.../AutoRefreshStatus/StatusTooltipContent.tsx | 2 +-
.../components/BuilderComponentPane/index.tsx | 4 +-
.../components/ColorSchemeControlWrapper.tsx | 2 +-
.../src/dashboard/components/ColorSchemeSelect.tsx | 4 +-
.../components/CustomizationsBadge/index.tsx | 4 +-
.../src/dashboard/components/Dashboard.tsx | 2 +-
.../DashboardBuilder/DashboardBuilder.tsx | 22 +-
.../DashboardBuilder/DashboardWrapper.tsx | 2 +-
.../src/dashboard/components/DashboardGrid.tsx | 3 +-
.../dashboard/components/EmbeddedModal/index.tsx | 5 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 4 +-
.../FiltersBadge/FilterIndicator/index.tsx | 2 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 2 +-
.../dashboard/components/FiltersBadge/index.tsx | 4 +-
.../src/dashboard/components/Header/index.tsx | 3 +-
.../components/Header/useDashboardMetadataBar.tsx | 2 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 2 +-
.../src/dashboard/components/IconButton.tsx | 2 +-
.../src/dashboard/components/MissingChart.tsx | 2 +-
.../OverwriteConfirm/OverwriteConfirmModal.tsx | 4 +-
.../PropertiesModal/PropertiesModal.test.tsx | 2 +-
.../dashboard/components/PropertiesModal/index.tsx | 2 +-
.../PropertiesModal/sections/AccessSection.tsx | 2 +-
.../PropertiesModal/sections/AdvancedSection.tsx | 4 +-
.../PropertiesModal/sections/BasicInfoSection.tsx | 2 +-
.../sections/CertificationSection.tsx | 2 +-
.../PropertiesModal/sections/RefreshSection.tsx | 2 +-
.../PropertiesModal/sections/StylingSection.tsx | 5 +-
.../dashboard/components/PublishedStatus/index.tsx | 2 +-
.../dashboard/components/RefreshButton/index.tsx | 3 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 4 +-
.../dashboard/components/RefreshIntervalModal.tsx | 4 +-
.../src/dashboard/components/SaveModal.tsx | 4 +-
.../src/dashboard/components/SliceAdder.tsx | 4 +-
.../src/dashboard/components/SliceHeader/index.tsx | 9 +-
.../ViewResultsModalTrigger.tsx | 4 +-
.../components/SliceHeaderControls/index.tsx | 4 +-
.../components/URLShortLinkButton/index.tsx | 4 +-
.../src/dashboard/components/dnd/DragDroppable.tsx | 11 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 2 +-
.../components/filterscope/FilterScope.test.tsx | 2 +-
.../components/filterscope/FilterScopeModal.tsx | 2 +-
.../components/filterscope/FilterScopeSelector.tsx | 3 +-
.../filterscope/renderFilterScopeTreeNodes.tsx | 2 +-
.../dashboard/components/filterscope/treeIcons.tsx | 2 +-
.../components/gridComponents/Chart/Chart.test.tsx | 30 +
.../components/gridComponents/Chart/Chart.tsx | 4 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 2 +-
.../components/gridComponents/Column/Column.tsx | 5 +-
.../components/gridComponents/Divider/Divider.tsx | 2 +-
.../DynamicComponent/DynamicComponent.tsx | 2 +-
.../components/gridComponents/Header/Header.tsx | 2 +-
.../gridComponents/Markdown/Markdown.test.tsx | 26 +-
.../gridComponents/Markdown/Markdown.tsx | 3 +-
.../components/gridComponents/Row/Row.tsx | 29 +-
.../components/gridComponents/Tab/Tab.tsx | 3 +-
.../components/gridComponents/Tabs/Tabs.tsx | 3 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
.../gridComponents/new/DraggableNewComponent.tsx | 2 +-
.../components/gridComponents/new/NewColumn.tsx | 2 +-
.../components/gridComponents/new/NewDivider.tsx | 2 +-
.../components/gridComponents/new/NewHeader.tsx | 2 +-
.../components/gridComponents/new/NewMarkdown.tsx | 2 +-
.../components/gridComponents/new/NewRow.tsx | 2 +-
.../components/gridComponents/new/NewTabs.tsx | 2 +-
.../components/menu/BackgroundStyleDropdown.tsx | 4 +-
.../components/menu/DownloadMenuItems/index.tsx | 3 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 2 +-
.../components/menu/MarkdownModeDropdown.tsx | 2 +-
.../components/menu/ShareMenuItems/index.tsx | 3 +-
.../dashboard/components/menu/WithPopoverMenu.tsx | 17 +-
.../nativeFilters/ConfigModal/ModalFooter.tsx | 5 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 21 +-
.../FilterBar/ActionButtons/index.tsx | 128 +-
.../FilterBar/CrossFilters/CrossFilter.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 4 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 4 +-
.../CrossFilters/ScopingModal/ScopingModal.tsx | 2 +-
.../ScopingModal/ScopingModalContent.tsx | 2 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 5 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 4 +-
.../nativeFilters/FilterBar/CrossFilters/styles.ts | 2 +-
.../CustomizationsOutOfScopeCollapsible/index.tsx | 4 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 1141 ++++---
.../FilterBar/FilterBarSettings/index.tsx | 4 +-
.../FilterControls/FilterControlShared.tsx | 2 +-
.../FilterBar/FilterControls/FilterControls.tsx | 9 +-
.../FilterControls/FilterDivider.stories.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.tsx | 4 +-
.../FilterBar/FilterControls/GroupByFilterCard.tsx | 9 +-
.../FilterBar/FiltersDropdownContent/index.tsx | 2 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 4 +-
.../nativeFilters/FilterBar/Header/index.tsx | 4 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 4 +-
.../nativeFilters/FilterBar/Vertical.tsx | 4 +-
.../components/nativeFilters/FilterBar/index.tsx | 102 +-
.../nativeFilters/FilterBar/keyValue.tsx | 2 +-
.../nativeFilters/FilterBar/utils.test.ts | 1145 ++++---
.../components/nativeFilters/FilterBar/utils.ts | 137 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 4 +-
.../nativeFilters/FilterCard/NameRow.tsx | 2 +-
.../nativeFilters/FilterCard/ScopeRow.tsx | 4 +-
.../components/nativeFilters/FilterCard/Styles.ts | 2 +-
.../nativeFilters/FilterCard/TypeRow.tsx | 2 +-
.../nativeFilters/FilterCard/useFilterScope.ts | 2 +-
.../ConfigModalContent/ConfigModalContent.tsx | 2 +-
.../ConfigModalSidebar/ConfigModalSidebar.tsx | 240 +-
.../FiltersConfigModal/DividerConfigForm.tsx | 4 +-
.../FiltersConfigModal/DraggableFilter.test.tsx | 109 +-
.../FiltersConfigModal/DraggableFilter.tsx | 124 +-
.../FiltersConfigModal/FilterConfigPane.test.tsx | 26 +-
.../FiltersConfigModal/FilterConfigurePane.tsx | 2 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 107 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 4 +-
.../FiltersConfigForm/CollapsibleControl.tsx | 2 +-
.../FiltersConfigForm/ColumnSelect.tsx | 2 +-
.../FiltersConfigForm/DatasetSelect.tsx | 2 +-
.../FiltersConfigForm/DefaultValue.tsx | 2 +-
.../FiltersConfigForm/DependencyList.tsx | 4 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 2 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 2 +-
.../FiltersConfigForm/FilterScope/state.ts | 2 +-
.../FiltersConfigForm/FilterScope/utils.ts | 4 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 11 +-
.../FiltersConfigForm/RemovedFilter.tsx | 4 +-
.../FiltersConfigForm/constants.ts | 2 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 4 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 2 +-
.../FiltersConfigForm/utils.test.ts | 2 +-
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 2 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 180 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 17 +-
.../Footer/CancelConfirmationAlert.tsx | 4 +-
.../FiltersConfigModal/Footer/Footer.tsx | 2 +-
.../FiltersConfigModal/ItemTitleContainer.tsx | 72 +-
.../FiltersConfigModal/ItemTitlePane.tsx | 2 +-
.../FiltersConfigModal/NewItemDropdown.tsx | 4 +-
.../hooks/useFilterOperations.ts | 2 +-
.../FiltersConfigModal/hooks/useModalSaveLogic.ts | 2 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 2 +-
.../components/resizable/ResizableContainer.tsx | 2 +-
.../src/dashboard/containers/DashboardPage.tsx | 4 +-
.../src/dashboard/hooks/useDownloadScreenshot.ts | 4 +-
.../src/dashboard/reducers/sliceEntities.ts | 2 +-
superset-frontend/src/dashboard/styles.ts | 2 +-
superset-frontend/src/dashboard/types.ts | 2 +-
.../src/dashboard/util/backgroundStyleOptions.ts | 2 +-
.../src/dashboard/util/getFilterFieldNodesTree.ts | 2 +-
.../src/dashboard/util/getFilterScopeNodesTree.ts | 2 +-
.../src/dashboard/util/getSliceHeaderTooltip.tsx | 2 +-
.../src/dashboard/util/headerStyleOptions.ts | 2 +-
.../src/dashboard/util/newComponentFactory.ts | 2 +-
.../dashboard/util/updateComponentParentsList.ts | 2 +-
.../util/useFilterFocusHighlightStyles.ts | 2 +-
.../src/embedded/EmbeddedContextProviders.tsx | 2 +-
superset-frontend/src/embedded/index.tsx | 9 +-
superset-frontend/src/embedded/utils.ts | 2 +-
.../src/explore/actions/exploreActions.ts | 2 +-
.../src/explore/actions/hydrateExplore.ts | 13 +-
.../src/explore/actions/saveModalActions.ts | 2 +-
.../src/explore/components/ChartPills.tsx | 2 +-
.../src/explore/components/Control.tsx | 2 +-
.../src/explore/components/ControlHeader.tsx | 4 +-
.../components/ControlPanelsContainer.test.tsx | 2 +-
.../explore/components/ControlPanelsContainer.tsx | 9 +-
.../explore/components/DataTableControl/index.tsx | 8 +-
.../DataTableControl/useTableColumns.test.ts | 2 +-
.../components/DataTablesPane/DataTablesPane.tsx | 4 +-
.../components/DataTableControls.tsx | 4 +-
.../components/ResultsPaneOnDashboard.tsx | 4 +-
.../DataTablesPane/components/SamplesPane.tsx | 6 +-
.../components/SingleQueryResultPane.tsx | 2 +-
.../DataTablesPane/components/useResultsPane.tsx | 4 +-
.../src/explore/components/DataTablesPane/types.ts | 2 +-
.../DatasourcePanelDragOption/index.tsx | 2 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 4 +-
.../components/DatasourcePanel/fixtures.tsx | 2 +-
.../explore/components/DatasourcePanel/index.tsx | 5 +-
.../DatasourcePanel/transformDatasourceFolders.ts | 2 +-
.../src/explore/components/EmbedCodeContent.tsx | 3 +-
.../src/explore/components/ExploreAlert.tsx | 2 +-
.../components/ExploreChartHeader/index.tsx | 5 +-
.../ExploreChartHeader/useExploreMetadataBar.tsx | 4 +-
.../explore/components/ExploreChartPanel/index.tsx | 5 +-
.../explore/components/ExploreContainer/index.tsx | 2 +-
.../explore/components/ExploreContentPopover.tsx | 2 +-
.../components/ExploreViewContainer/index.tsx | 5 +-
.../components/ExportToCSVDropdown/index.tsx | 4 +-
.../explore/components/PropertiesModal/index.tsx | 2 +-
.../explore/components/RunQueryButton/index.tsx | 4 +-
.../src/explore/components/SaveModal.tsx | 7 +-
.../AnnotationLayerControl/AnnotationLayer.tsx | 4 +-
.../AnnotationLayerControl/AnnotationTypes.ts | 2 +-
.../controls/AnnotationLayerControl/index.tsx | 4 +-
.../explore/components/controls/BoundsControl.tsx | 4 +-
.../components/controls/CheckboxControl.tsx | 2 +-
.../controls/CollectionControl/index.tsx | 4 +-
.../ColorBreakpointOption.tsx | 2 +-
.../ColorBreakpointPopoverControl.tsx | 4 +-
.../controls/ColorBreakpointsControl/index.tsx | 4 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 2 +-
.../controls/ColorSchemeControl/index.tsx | 4 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 6 +-
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +-
.../ColumnConfigControl/ColumnConfigPopover.tsx | 2 +-
.../ControlForm/ControlFormItem.tsx | 2 +-
.../ColumnConfigControl/ControlForm/index.tsx | 2 +-
.../controls/ColumnConfigControl/constants.tsx | 4 +-
.../controls/ColumnConfigControl/types.ts | 2 +-
.../components/controls/ComparisonRangeLabel.tsx | 4 +-
.../ConditionalFormattingControl.tsx | 4 +-
.../FormattingPopoverContent.test.tsx | 2 +-
.../FormattingPopoverContent.tsx | 6 +-
.../ConditionalFormattingControl/constants.ts | 2 +-
.../controls/ConditionalFormattingControl/types.ts | 2 +-
.../controls/ContourControl/ContourOption.tsx | 4 +-
.../ContourControl/ContourPopoverControl.tsx | 4 +-
.../components/controls/ContourControl/index.tsx | 4 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 4 +-
.../components/controls/CustomListItem/index.tsx | 2 +-
.../DatasourceControl/DatasourceControl.test.tsx | 268 +-
.../controls/DatasourceControl/index.tsx | 4 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 9 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 2 +-
.../DateFilterControl/components/CalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CommonFrame.tsx | 2 +-
.../components/CurrentCalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CustomFrame.tsx | 2 +-
.../components/DateFunctionTooltip.tsx | 4 +-
.../DateFilterControl/components/DateLabel.tsx | 4 +-
.../controls/DateFilterControl/utils/constants.ts | 2 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 5 +-
.../ColumnSelectPopoverTrigger.tsx | 2 +-
.../DndAdhocFilterOption.tsx | 2 +-
.../DndColumnMetricSelect.tsx | 4 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 4 +-
.../DndColumnSelectPopoverTitle.tsx | 4 +-
.../DndFilterSelect.test.tsx | 2 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 3 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 6 +-
.../DndColumnSelectControl/DndSelectLabel.tsx | 2 +-
.../controls/DndColumnSelectControl/Option.tsx | 4 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 2 +-
.../DndColumnSelectControl/useResizeButton.tsx | 2 +-
.../DndColumnSelectControl/utils/optionSelector.ts | 2 +-
.../FilterControl/AdhocFilterControl/index.tsx | 6 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 6 +-
.../index.tsx | 4 +-
.../useAdvancedDataTypes.ts | 2 +-
.../AdhocFilterEditPopoverSqlTabContent.test.tsx | 84 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 12 +-
.../utils/useDatePickerInAdhocFilter.tsx | 2 +-
.../controls/FixedOrMetricControl/index.tsx | 2 +-
.../components/controls/JSEditorControl.test.tsx | 125 +
.../components/controls/JSEditorControl.tsx | 105 +
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 4 +-
.../LayerConfigsControl/LayerConfigsControl.tsx | 4 +-
.../LayerConfigsPopoverContent.tsx | 4 +-
.../controls/MapViewControl/ExtentTag.tsx | 2 +-
.../controls/MapViewControl/MapViewControl.tsx | 4 +-
.../MapViewControl/MapViewPopoverContent.tsx | 4 +-
.../controls/MatrixifyDimensionControl.tsx | 2 +-
.../MetricControl/AdhocMetricEditPopover/index.tsx | 25 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 4 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 2 +-
.../controls/MetricControl/MetricsControl.tsx | 2 +-
.../components/controls/NumberControl/index.tsx | 2 +-
.../components/controls/OptionControls/index.tsx | 4 +-
.../controls/SelectAsyncControl/index.tsx | 2 +-
.../explore/components/controls/SelectControl.tsx | 4 +-
.../explore/components/controls/SpatialControl.tsx | 2 +-
.../components/controls/TextAreaControl.tsx | 4 +-
.../controls/TimeSeriesColumnControl/index.tsx | 4 +-
.../src/explore/components/controls/ViewQuery.tsx | 4 +-
.../explore/components/controls/ViewQueryModal.tsx | 5 +-
.../components/controls/ViewQueryModalFooter.tsx | 2 +-
.../components/controls/ViewportControl.tsx | 2 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 4 +-
.../components/controls/VizTypeControl/VizTile.tsx | 4 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 4 +-
.../controls/VizTypeControl/constants.tsx | 2 +-
.../components/controls/VizTypeControl/index.tsx | 4 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 4 +-
.../ZoomConfigControl/ZoomConfigsChart.tsx | 2 +-
.../src/explore/components/controls/index.ts | 2 +
.../components/controls/withAsyncVerification.tsx | 2 +-
.../src/explore/components/optionRenderers.tsx | 2 +-
.../DashboardsSubMenu.tsx | 4 +-
.../useExploreAdditionalActionsMenu/index.tsx | 3 +-
superset-frontend/src/explore/constants.ts | 2 +-
.../src/explore/controlPanels/Separator.ts | 2 +-
.../src/explore/controlPanels/sections.tsx | 2 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 2 +-
.../src/explore/controlUtils/getColumnKeywords.tsx | 2 +-
superset-frontend/src/explore/controls.tsx | 2 +-
superset-frontend/src/explore/fixtures.tsx | 2 +-
.../src/explore/reducers/exploreReducer.ts | 2 +
superset-frontend/src/explore/types.ts | 2 +
.../src/extensions/ExtensionPlaceholder.tsx | 2 +-
.../src/extensions/ExtensionsList.tsx | 2 +-
.../src/extensions/ExtensionsLoader.test.ts | 4 +-
.../src/extensions/ExtensionsLoader.ts | 4 +-
.../src/extensions/ExtensionsStartup.test.tsx | 2 +-
.../src/extensions/ExtensionsStartup.tsx | 9 +-
.../src/features/alerts/AlertReportModal.test.tsx | 467 ++-
.../src/features/alerts/AlertReportModal.tsx | 49 +-
.../features/alerts/buildErrorTooltipMessage.tsx | 2 +-
.../alerts/components/AlertReportCronScheduler.tsx | 4 +-
.../features/alerts/components/AlertStatusIcon.tsx | 4 +-
.../alerts/components/NotificationMethod.tsx | 4 +-
.../features/alerts/components/RecipientIcon.tsx | 2 +-
superset-frontend/src/features/alerts/types.ts | 7 +
.../src/features/allEntities/AllEntitiesTable.tsx | 4 +-
.../annotationLayers/AnnotationLayerModal.tsx | 4 +-
.../src/features/annotations/AnnotationModal.tsx | 4 +-
.../src/features/charts/ChartCard.tsx | 4 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 4 +-
.../src/features/dashboards/DashboardCard.tsx | 2 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 4 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 5 +-
.../DatabaseConnectionForm/OAuth2ClientField.tsx | 2 +-
.../DatabaseConnectionForm/TableCatalog.tsx | 4 +-
.../DatabaseConnectionForm/ValidatedInputField.tsx | 2 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 2 +-
.../databases/DatabaseModal/ExtraOptions.test.tsx | 2 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 4 +-
.../databases/DatabaseModal/ModalHeader.tsx | 10 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 4 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 4 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 4 +-
.../src/features/databases/DatabaseModal/index.tsx | 88 +-
.../src/features/databases/DatabaseModal/styles.ts | 2 +-
.../databases/UploadDataModel/ColumnsPreview.tsx | 4 +-
.../features/databases/UploadDataModel/index.tsx | 4 +-
.../features/databases/UploadDataModel/styles.ts | 2 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 5 +-
.../AddDataset/DatasetPanel/MessageContent.tsx | 4 +-
.../datasets/AddDataset/DatasetPanel/index.tsx | 4 +-
.../datasets/AddDataset/EditDataset/index.tsx | 4 +-
.../features/datasets/AddDataset/Footer/index.tsx | 4 +-
.../features/datasets/AddDataset/Header/index.tsx | 2 +-
.../datasets/AddDataset/LeftPanel/index.tsx | 4 +-
.../datasets/AddDataset/RightPanel/index.tsx | 2 +-
.../src/features/datasets/DatasetLayout/index.tsx | 2 +-
.../features/datasets/DatasetSelectLabel/index.tsx | 4 +-
.../datasets/DuplicateDatasetModal.test.tsx | 2 +-
.../features/datasets/DuplicateDatasetModal.tsx | 2 +-
.../src/features/datasets/constants.ts | 2 +-
.../src/features/datasets/hooks/useDatasetLists.ts | 4 +-
.../datasets/hooks/useGetDatasetRelatedCounts.ts | 4 +-
.../DatasetMetadataBar.skipped-stories.tsx | 2 +-
.../datasets/metadataBar/useDatasetMetadataBar.tsx | 4 +-
superset-frontend/src/features/datasets/styles.ts | 2 +-
.../src/features/groups/GroupListModal.tsx | 2 +-
superset-frontend/src/features/groups/utils.ts | 2 +-
.../src/features/home/ActivityTable.tsx | 4 +-
superset-frontend/src/features/home/ChartTable.tsx | 2 +-
.../src/features/home/DashboardTable.tsx | 2 +-
superset-frontend/src/features/home/EmptyState.tsx | 4 +-
.../src/features/home/LanguagePicker.tsx | 4 +-
superset-frontend/src/features/home/Menu.test.tsx | 115 +-
superset-frontend/src/features/home/Menu.tsx | 2 +-
superset-frontend/src/features/home/RightMenu.tsx | 9 +-
.../src/features/home/SavedQueries.tsx | 4 +-
superset-frontend/src/features/home/SubMenu.tsx | 9 +-
.../src/features/home/commonMenuData.ts | 2 +-
.../src/features/owners/OwnerSelectLabel/index.tsx | 2 +-
.../src/features/queries/QueryPreviewModal.tsx | 4 +-
.../features/queries/SavedQueryPreviewModal.tsx | 4 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 4 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 4 +-
.../src/features/reports/ReportModal/actions.ts | 2 +-
.../src/features/reports/ReportModal/index.tsx | 5 +-
.../src/features/reports/ReportModal/styles.tsx | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 4 +-
superset-frontend/src/features/rls/constants.ts | 2 +-
.../src/features/roles/RoleFormItems.tsx | 53 +-
.../src/features/roles/RoleListAddModal.test.tsx | 45 +-
.../src/features/roles/RoleListAddModal.tsx | 23 +-
.../src/features/roles/RoleListDuplicateModal.tsx | 2 +-
.../src/features/roles/RoleListEditModal.test.tsx | 328 +-
.../src/features/roles/RoleListEditModal.tsx | 179 +-
superset-frontend/src/features/roles/types.ts | 12 +-
superset-frontend/src/features/roles/utils.test.ts | 547 +++
superset-frontend/src/features/roles/utils.ts | 165 +
.../src/features/tags/BulkTagModal.tsx | 4 +-
superset-frontend/src/features/tags/TagCard.tsx | 2 +-
superset-frontend/src/features/tags/TagModal.tsx | 4 +-
.../src/features/tasks/TaskPayloadPopover.tsx | 2 +-
.../src/features/tasks/TaskStackTracePopover.tsx | 4 +-
.../src/features/tasks/TaskStatusIcon.tsx | 3 +-
.../src/features/themes/ThemeModal.tsx | 5 +-
.../src/features/userInfo/UserInfoModal.tsx | 2 +-
.../src/features/users/UserListModal.tsx | 2 +-
superset-frontend/src/features/users/utils.ts | 2 +-
.../components/Range/RangeFilterPlugin.stories.tsx | 2 +-
.../components/Range/RangeFilterPlugin.test.tsx | 2 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 4 +-
.../src/filters/components/Range/buildQuery.ts | 2 +-
.../src/filters/components/Range/controlPanel.ts | 2 +-
.../src/filters/components/Range/index.ts | 2 +-
.../components/Select/SelectFilterPlugin.tsx | 8 +-
.../filters/components/Select/buildQuery.test.ts | 2 +-
.../src/filters/components/Select/buildQuery.ts | 2 +-
.../src/filters/components/Select/controlPanel.ts | 2 +-
.../src/filters/components/Select/index.ts | 2 +-
.../filters/components/Select/transformProps.ts | 2 +-
.../src/filters/components/Select/types.ts | 2 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 2 +-
.../src/filters/components/Time/controlPanel.ts | 2 +-
.../src/filters/components/Time/index.ts | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 4 +-
.../filters/components/TimeColumn/controlPanel.ts | 2 +-
.../src/filters/components/TimeColumn/index.ts | 2 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 4 +-
.../filters/components/TimeGrain/controlPanel.ts | 2 +-
.../src/filters/components/TimeGrain/index.ts | 2 +-
superset-frontend/src/filters/components/common.ts | 2 +-
superset-frontend/src/filters/utils.test.ts | 2 +-
superset-frontend/src/filters/utils.ts | 2 +-
.../src/hooks/apiResources/datasets.ts | 2 +-
.../hooks/useConfirmModal/useConfirmModal.test.tsx | 2 +-
superset-frontend/src/hooks/useJsonTreeTheme.ts | 2 +-
.../src/hooks/usePermissions.test.tsx | 128 +
superset-frontend/src/hooks/usePermissions.ts | 18 +-
.../src/hooks/useThemeMenuItems.test.tsx | 2 +-
superset-frontend/src/hooks/useThemeMenuItems.tsx | 4 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 2 +-
superset-frontend/src/middleware/asyncEvent.ts | 2 +-
superset-frontend/src/pages/ActionLog/index.tsx | 4 +-
.../src/pages/AlertReportList/index.tsx | 4 +-
superset-frontend/src/pages/AllEntities/index.tsx | 4 +-
.../src/pages/AnnotationLayerList/index.tsx | 2 +-
.../src/pages/AnnotationList/index.tsx | 4 +-
superset-frontend/src/pages/Chart/index.tsx | 2 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 4 +-
superset-frontend/src/pages/ChartList/index.tsx | 5 +-
.../src/pages/CssTemplateList/index.tsx | 2 +-
.../DashboardList/DashboardList.behavior.test.tsx | 394 +++
.../DashboardList/DashboardList.cardview.test.tsx | 417 +++
.../DashboardList/DashboardList.listview.test.tsx | 402 +++
.../DashboardList.permissions.test.tsx | 340 ++
.../src/pages/DashboardList/DashboardList.test.tsx | 391 ++-
.../DashboardList/DashboardList.testHelpers.tsx | 360 ++
.../src/pages/DashboardList/index.tsx | 4 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 4 +-
superset-frontend/src/pages/DatasetList/index.tsx | 4 +-
.../src/pages/ExecutionLogList/index.tsx | 4 +-
.../src/pages/FileHandler/index.test.tsx | 22 +-
superset-frontend/src/pages/FileHandler/index.tsx | 2 +-
superset-frontend/src/pages/GroupsList/index.tsx | 2 +-
superset-frontend/src/pages/Home/index.tsx | 4 +-
superset-frontend/src/pages/Login/index.tsx | 4 +-
.../src/pages/QueryHistoryList/index.tsx | 4 +-
.../src/pages/RedirectWarning/index.tsx | 175 +
.../src/pages/RedirectWarning/utils.test.ts | 124 +
.../src/pages/RedirectWarning/utils.ts | 96 +
superset-frontend/src/pages/Register/index.tsx | 4 +-
.../src/pages/RolesList/RolesList.test.tsx | 27 +-
superset-frontend/src/pages/RolesList/index.tsx | 75 +-
.../src/pages/RowLevelSecurityList/index.tsx | 2 +-
.../src/pages/SavedQueryList/index.tsx | 4 +-
superset-frontend/src/pages/SqlLab/index.tsx | 2 +-
superset-frontend/src/pages/Tags/index.tsx | 2 +-
superset-frontend/src/pages/TaskList/index.tsx | 3 +-
superset-frontend/src/pages/ThemeList/index.tsx | 5 +-
superset-frontend/src/pages/UserInfo/index.tsx | 4 +-
.../src/pages/UserRegistrations/index.tsx | 2 +-
superset-frontend/src/pages/UsersList/index.tsx | 2 +-
superset-frontend/src/preamble.ts | 4 +-
superset-frontend/src/setup/setupClient.ts | 2 +-
superset-frontend/src/theme/ThemeController.ts | 4 +-
superset-frontend/src/theme/ThemeProvider.tsx | 2 +-
.../src/theme/hooks/useThemeValidation.ts | 2 +-
.../src/theme/tests/ThemeController.test.ts | 2 +-
.../src/theme/tests/ThemeProvider.test.tsx | 2 +-
.../theme/utils/themeStructureValidation.test.ts | 2 +-
.../src/theme/utils/themeStructureValidation.ts | 2 +-
superset-frontend/src/types/bootstrapTypes.ts | 9 +-
superset-frontend/src/utils/downloadAsImage.tsx | 4 +-
superset-frontend/src/utils/downloadAsPdf.ts | 4 +-
superset-frontend/src/utils/export.test.ts | 4 +-
superset-frontend/src/utils/export.ts | 2 +-
superset-frontend/src/utils/fetchOptions.ts | 2 +-
.../utils/getChartRequiredFieldsMissingMessage.ts | 2 +-
superset-frontend/src/utils/pathUtils.test.ts | 71 +
superset-frontend/src/utils/pathUtils.ts | 37 +-
superset-frontend/src/views/App.tsx | 2 +-
superset-frontend/src/views/CRUD/hooks.ts | 28 +-
superset-frontend/src/views/CRUD/types.ts | 10 +
superset-frontend/src/views/CRUD/utils.test.tsx | 154 +
superset-frontend/src/views/CRUD/utils.tsx | 48 +-
superset-frontend/src/views/index.tsx | 2 +-
superset-frontend/src/views/menu.tsx | 3 +-
superset-frontend/src/views/routes.tsx | 11 +
.../src/visualizations/TimeTable/TimeTable.tsx | 4 +-
.../components/SparklineCell/SparklineCell.tsx | 2 +-
.../TimeTable/config/controlPanel/controlPanel.ts | 2 +-
.../config/transformProps/transformProps.test.ts | 2 +-
.../src/visualizations/TimeTable/constants.ts | 2 +-
.../src/visualizations/TimeTable/index.ts | 2 +-
.../ExampleComponent/ExampleComponent.tsx | 2 +-
superset-frontend/webpack.config.js | 7 +-
superset-websocket/package-lock.json | 44 +-
superset-websocket/package.json | 4 +-
superset-websocket/utils/client-ws-app/.nvmrc | 2 +-
superset/charts/data/api.py | 13 +-
superset/commands/database/export.py | 9 +
superset/commands/database/importers/v1/utils.py | 26 +-
superset/commands/database/validate.py | 2 +-
superset/commands/distributed_lock/acquire.py | 2 +-
superset/commands/distributed_lock/base.py | 6 +-
superset/commands/distributed_lock/release.py | 2 +-
superset/commands/importers/v1/__init__.py | 4 +
superset/commands/importers/v1/assets.py | 4 +
superset/commands/importers/v1/utils.py | 19 +
superset/commands/tasks/cancel.py | 2 +-
superset/commands/tasks/internal_update.py | 2 +-
superset/commands/tasks/prune.py | 2 +-
superset/commands/tasks/submit.py | 2 +-
superset/commands/tasks/update.py | 2 +-
superset/config.py | 26 +-
superset/connectors/sqla/models.py | 2 +-
superset/core/api/core_api_injection.py | 194 +-
superset/core/mcp/core_mcp_injection.py | 85 +-
superset/daos/base.py | 4 +-
superset/daos/semantic_layer.py | 61 +-
superset/daos/tag.py | 7 +
superset/daos/tasks.py | 2 +-
superset/databases/api.py | 14 +
superset/databases/schemas.py | 62 +
superset/db_engine_specs/base.py | 6 +
superset/db_engine_specs/datastore.py | 610 ++++
superset/distributed_lock/__init__.py | 2 +-
superset/extensions/context.py | 90 +
superset/extensions/contributions.py | 94 +
superset/extensions/utils.py | 2 +-
superset/importexport/api.py | 13 +
superset/initialization/__init__.py | 18 +-
superset/key_value/models.py | 2 +-
superset/mcp_service/CLAUDE.md | 16 +-
superset/mcp_service/app.py | 67 +-
.../api => superset/mcp_service/chart}/__init__.py | 0
superset/mcp_service/chart/chart_utils.py | 444 ++-
superset/mcp_service/chart/preview_utils.py | 1 +
.../chart/prompts/create_chart_guided.py | 2 +-
.../mcp_service/chart/resources/chart_configs.py | 24 +
superset/mcp_service/chart/schemas.py | 196 +-
superset/mcp_service/chart/tool/generate_chart.py | 210 +-
superset/mcp_service/chart/tool/get_chart_data.py | 3 +-
superset/mcp_service/chart/tool/get_chart_info.py | 2 +-
.../mcp_service/chart/tool/get_chart_preview.py | 5 +-
superset/mcp_service/chart/tool/list_charts.py | 2 +-
superset/mcp_service/chart/tool/update_chart.py | 2 +-
.../mcp_service/chart/tool/update_chart_preview.py | 2 +-
.../chart/validation/schema_validator.py | 169 +-
.../mcp_service/dashboard}/__init__.py | 0
.../tool/add_chart_to_existing_dashboard.py | 2 +-
.../dashboard/tool/generate_dashboard.py | 2 +-
.../dashboard/tool/get_dashboard_info.py | 2 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 2 +-
.../mcp_service/dataset}/__init__.py | 0
.../mcp_service/dataset/tool/get_dataset_info.py | 2 +-
superset/mcp_service/dataset/tool/list_datasets.py | 2 +-
.../explore/tool/generate_explore_link.py | 2 +-
superset/mcp_service/middleware.py | 73 +-
superset/mcp_service/server.py | 49 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 9 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 5 +-
superset/mcp_service/system/prompts/quickstart.py | 2 +-
superset/mcp_service/system/schemas.py | 7 +
.../mcp_service/system/tool/get_instance_info.py | 13 +-
superset/mcp_service/system/tool/get_schema.py | 2 +-
superset/mcp_service/system/tool/health_check.py | 2 +-
...6_33d7e0e21daa_add_semantic_layers_and_views.py | 4 +-
...1b2c3d4e5f6_add_granular_export_permissions.py} | 43 +-
superset/models/core.py | 4 +-
superset/models/dashboard.py | 2 +-
superset/models/helpers.py | 8 +-
superset/models/slice.py | 2 +-
superset/models/sql_lab.py | 5 +-
superset/models/task_subscribers.py | 2 +-
superset/models/tasks.py | 4 +-
superset/reports/notifications/email.py | 5 +
superset/security/manager.py | 12 +
superset/semantic_layers/mapper.py | 61 +-
superset/semantic_layers/models.py | 52 +-
superset/semantic_layers/registry.py | 4 +-
superset/sql/execution/executor.py | 24 +-
superset/sql/parse.py | 1 +
superset/tags/models.py | 2 +-
superset/tasks/constants.py | 2 +-
superset/tasks/context.py | 2 +-
superset/tasks/decorators.py | 17 +-
superset/tasks/locks.py | 4 +-
superset/tasks/manager.py | 10 +-
superset/tasks/scheduler.py | 2 +-
superset/tasks/utils.py | 2 +-
superset/templates/superset/spa.html | 37 +-
superset/translations/ar/LC_MESSAGES/messages.po | 2 +-
superset/translations/ca/LC_MESSAGES/messages.po | 2 +-
superset/translations/de/LC_MESSAGES/messages.po | 2 +-
superset/translations/es/LC_MESSAGES/messages.po | 2 +-
superset/translations/fa/LC_MESSAGES/messages.po | 2 +-
superset/translations/fr/LC_MESSAGES/messages.po | 2 +-
superset/translations/ja/LC_MESSAGES/messages.po | 2 +-
superset/translations/mi/LC_MESSAGES/messages.po | 4 +-
superset/translations/nl/LC_MESSAGES/messages.po | 2 +-
superset/translations/pl/LC_MESSAGES/messages.po | 2 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 2 +-
superset/translations/sl/LC_MESSAGES/messages.po | 2 +-
superset/translations/uk/LC_MESSAGES/messages.po | 2 +-
superset/utils/cache_manager.py | 34 +-
superset/utils/json.py | 43 +
superset/utils/link_redirect.py | 149 +
superset/utils/oauth2.py | 4 +
superset/utils/pandas_postprocessing/geography.py | 6 +-
superset/utils/webdriver.py | 2 +-
superset/views/base.py | 5 +
superset/views/core.py | 7 +-
superset/views/redirect.py | 76 +
superset/viz.py | 24 +-
tests/integration_tests/databases/api_tests.py | 91 +
.../db_engine_specs/datastore_tests.py | 521 +++
tests/integration_tests/fixtures/importexport.py | 26 +
tests/integration_tests/security_tests.py | 3 +
tests/integration_tests/tasks/api_tests.py | 4 +-
.../tasks/commands/test_cancel.py | 2 +-
.../tasks/commands/test_internal_update.py | 2 +-
.../integration_tests/tasks/commands/test_prune.py | 2 +-
.../tasks/commands/test_submit.py | 2 +-
.../tasks/commands/test_update.py | 2 +-
.../integration_tests/tasks/test_event_handlers.py | 2 +-
.../tasks/test_subscription_visibility.py | 2 +-
.../integration_tests/tasks/test_sync_join_wait.py | 6 +-
tests/integration_tests/tasks/test_throttling.py | 2 +-
tests/integration_tests/tasks/test_timeout.py | 2 +-
.../integration_tests/views/test_redirect_view.py | 66 +
tests/unit_tests/dao/base_dao_test.py | 2 +-
tests/unit_tests/daos/test_tasks.py | 2 +-
tests/unit_tests/databases/api_test.py | 70 +
.../databases/commands/importers/v1/import_test.py | 123 +
tests/unit_tests/databases/schema_tests.py | 106 +
tests/unit_tests/db_engine_specs/test_base.py | 91 +
tests/unit_tests/db_engine_specs/test_datastore.py | 985 ++++++
tests/unit_tests/extension_tests.py | 21 +-
tests/unit_tests/extensions/test_types.py | 25 +-
tests/unit_tests/importexport/api_test.py | 52 +
.../mcp_service/chart/test_chart_schemas.py | 55 +
.../mcp_service/chart/test_chart_utils.py | 209 +-
.../mcp_service/chart/test_new_chart_types.py | 929 +++++
.../mcp_service/chart/tool/test_generate_chart.py | 74 +
.../mcp_service/chart/tool/test_get_chart_data.py | 187 ++
.../mcp_service/sql_lab/tool/test_execute_sql.py | 2 +-
.../system/tool/test_get_current_user.py | 5 +
tests/unit_tests/mcp_service/test_mcp_server.py | 34 +
.../mcp_service/test_mcp_tool_registration.py | 53 +
tests/unit_tests/models/helpers_test.py | 113 +
.../security/test_granular_export_permissions.py | 110 +
.../unit_tests/semantic_layers/decorators_test.py | 103 +
tests/unit_tests/semantic_layers/mapper_test.py | 188 +-
tests/unit_tests/semantic_layers/models_test.py | 94 +-
tests/unit_tests/sql/execution/test_executor.py | 19 +-
tests/unit_tests/tags/commands/update_test.py | 60 +
tests/unit_tests/tasks/test_decorators.py | 2 +-
tests/unit_tests/tasks/test_handlers.py | 6 +-
tests/unit_tests/tasks/test_manager.py | 34 +-
tests/unit_tests/tasks/test_timeout.py | 34 +-
tests/unit_tests/tasks/test_utils.py | 2 +-
tests/unit_tests/utils/json_tests.py | 139 +
tests/unit_tests/utils/oauth2_tests.py | 56 +
tests/unit_tests/utils/test_link_redirect.py | 143 +
1467 files changed, 28797 insertions(+), 9893 deletions(-)
delete mode 100644 docs/babel.config.js
create mode 100644 docs/developer_docs/extensions/mcp-server.md
delete mode 100644 docs/scripts/generate-extension-components.mjs
create mode 100644 docs/scripts/generate-if-changed.mjs
create mode 100644 docs/src/components/ui-components/ComponentIndex.tsx
copy superset-frontend/packages/superset-ui-core/src/ui-overrides/index.tsx => docs/src/components/ui-components/index.ts (92%)
copy {superset-frontend/src/explore/components/controls/VizTypeControl => docs/src/components/ui-components}/types.ts (57%)
create mode 100644 docs/src/shims/superset-ui-core.ts
create mode 100644 docs/src/theme/ApiExplorer/MethodEndpoint/index.tsx
create mode 100644 docs/static/img/databases/datastore.png
rename docs/static/img/extensions/{sql-snippets.png => editor-snippets.png} (100%)
delete mode 100644 superset-core/src/superset_core/api/rest_api.py
copy superset-core/src/superset_core/{api => common}/__init__.py (100%)
rename superset-core/src/superset_core/{api => common}/daos.py (72%)
rename superset-core/src/superset_core/{api => common}/models.py (62%)
copy superset-core/src/superset_core/mcp/{__init__.py => decorators.py} (99%)
copy superset-core/src/superset_core/{api => queries}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/queries/daos.py
create mode 100644 superset-core/src/superset_core/queries/models.py
rename superset-core/src/superset_core/{api => queries}/query.py (93%)
rename superset-core/src/superset_core/{api => queries}/types.py (100%)
copy superset-core/src/superset_core/{api => rest_api}/__init__.py (100%)
copy superset/migrations/versions/2016-09-19_17-22_b347b202819b_.py => superset-core/src/superset_core/rest_api/api.py (72%)
create mode 100644 superset-core/src/superset_core/rest_api/decorators.py
create mode 100644 superset-core/src/superset_core/semantic_layers/decorators.py
rename superset-core/src/superset_core/semantic_layers/{semantic_layer.py => layer.py} (90%)
rename superset-core/src/superset_core/semantic_layers/{semantic_view.py => view.py} (76%)
copy superset-core/src/superset_core/{api => tasks}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/tasks/daos.py
create mode 100644 superset-core/src/superset_core/tasks/decorators.py
create mode 100644 superset-core/src/superset_core/tasks/models.py
rename superset-core/src/superset_core/{api/tasks.py => tasks/types.py} (62%)
delete mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/backend/src/package/__init__.py.j2
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dashboard_list/filter.test.ts
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dashboard_list/list.test.ts
delete mode 100644 superset-frontend/packages/superset-core/src/api/index.ts
rename superset-frontend/packages/superset-core/src/{api/authentication.ts => authentication/index.ts} (100%)
rename superset-frontend/packages/superset-core/src/{api/commands.ts => commands/index.ts} (98%)
rename superset-frontend/packages/superset-core/src/{api/core.ts => common/index.ts} (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/components/Alert/Alert.stories.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/components/Alert/Alert.test.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/components/Alert/index.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/components/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{api/contributions.ts => contributions/index.ts} (94%)
rename superset-frontend/packages/superset-core/src/{api/editors.ts => editors/index.ts} (93%)
rename superset-frontend/packages/superset-core/src/{api/extensions.ts => extensions/index.ts} (98%)
rename superset-frontend/packages/superset-core/src/{api/menus.ts => menus/index.ts} (95%)
rename superset-frontend/packages/superset-core/src/{api/sqlLab.ts => sqlLab/index.ts} (99%)
rename superset-frontend/packages/superset-core/src/{ui => }/testing.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/GlobalStyles.tsx (87%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/Theme.test.tsx (92%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/Theme.tsx (90%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/exampleThemes.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/index.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/types.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/utils/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/utils/themeUtils.test.ts (88%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/utils/themeUtils.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/utils/utils.test.ts (93%)
rename superset-frontend/packages/superset-core/src/{ui => }/translation/README.md (100%)
create mode 100644 superset-frontend/packages/superset-core/src/translation/Translator.test.ts
rename superset-frontend/packages/superset-core/src/{ui => }/translation/Translator.ts (97%)
create mode 100644 superset-frontend/packages/superset-core/src/translation/TranslatorSingleton.test.ts
rename superset-frontend/packages/superset-core/src/{ui => }/translation/TranslatorSingleton.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/translation/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/translation/types/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/translation/types/jed.ts (100%)
delete mode 100644 superset-frontend/packages/superset-core/src/ui/index.ts
rename superset-frontend/packages/superset-core/src/{spec => }/utils/logging.test.ts (94%)
rename superset-frontend/packages/superset-core/src/{api/views.ts => views/index.ts} (94%)
rename superset/static/service-worker.js => superset-frontend/packages/superset-ui-core/src/chart/types/matrixify.mocks.test.ts (73%)
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Select/constants.test.ts
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Table/utils/InteractiveTableUtils.test.ts
copy superset-frontend/packages/superset-ui-core/src/{color/colorSchemes/index.ts => utils/withLabel.test.ts} (53%)
create mode 100644 superset-frontend/playwright/helpers/api/dashboard.ts
copy superset-frontend/playwright/pages/{ChartListPage.ts => DashboardListPage.ts} (56%)
create mode 100644 superset-frontend/playwright/tests/experimental/dashboard/dashboard-list.spec.ts
copy superset-frontend/playwright/tests/experimental/{dataset/dataset-test-helpers.ts => dashboard/dashboard-test-helpers.ts} (53%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/eChartOptionsSchema.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/mergeCustomEChartOptions.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/mergeCustomEChartOptions.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/safeEChartOptionsParser.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/safeEChartOptionsParser.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/themeOverrides.ts
delete mode 100644 superset-frontend/scripts/eslint-metrics-uploader.js
create mode 100644 superset-frontend/src/explore/components/controls/JSEditorControl.test.tsx
create mode 100644 superset-frontend/src/explore/components/controls/JSEditorControl.tsx
create mode 100644 superset-frontend/src/features/roles/utils.test.ts
create mode 100644 superset-frontend/src/hooks/usePermissions.test.tsx
create mode 100644 superset-frontend/src/pages/DashboardList/DashboardList.behavior.test.tsx
create mode 100644 superset-frontend/src/pages/DashboardList/DashboardList.cardview.test.tsx
create mode 100644 superset-frontend/src/pages/DashboardList/DashboardList.listview.test.tsx
create mode 100644 superset-frontend/src/pages/DashboardList/DashboardList.permissions.test.tsx
create mode 100644 superset-frontend/src/pages/DashboardList/DashboardList.testHelpers.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/index.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.test.ts
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.ts
create mode 100644 superset/db_engine_specs/datastore.py
create mode 100644 superset/extensions/context.py
create mode 100644 superset/extensions/contributions.py
copy {superset-core/src/superset_core/api => superset/mcp_service/chart}/__init__.py (100%)
copy {superset-core/src/superset_core/api => superset/mcp_service/dashboard}/__init__.py (100%)
rename {superset-core/src/superset_core/api => superset/mcp_service/dataset}/__init__.py (100%)
copy superset/migrations/versions/{2024-02-07_17-13_87d38ad83218_migrate_can_view_and_drill_permission.py => 2026-03-02_12-00_a1b2c3d4e5f6_add_granular_export_permissions.py} (65%)
create mode 100644 superset/utils/link_redirect.py
create mode 100644 superset/views/redirect.py
create mode 100644 tests/integration_tests/db_engine_specs/datastore_tests.py
create mode 100644 tests/integration_tests/views/test_redirect_view.py
create mode 100644 tests/unit_tests/db_engine_specs/test_datastore.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_new_chart_types.py
create mode 100644 tests/unit_tests/security/test_granular_export_permissions.py
create mode 100644 tests/unit_tests/semantic_layers/decorators_test.py
create mode 100644 tests/unit_tests/utils/test_link_redirect.py