You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2025/11/07 16:56:12 UTC
(superset) branch dependabot/npm_and_yarn/superset-frontend/reduxjs/toolkit-2.9.2 updated (e05c10aa59 -> 388a970ef2)
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch dependabot/npm_and_yarn/superset-frontend/reduxjs/toolkit-2.9.2
in repository https://gitbox.apache.org/repos/asf/superset.git
discard e05c10aa59 chore(deps): bump @reduxjs/toolkit in /superset-frontend
add 93cb60b24e docs(db_engine_specs): restructure feature table for GitHub rendering (#35809)
add c3b8c96db6 fix(alerts): improve Slack API rate limiting for large workspaces (#35622)
add 7c9720e22b fix(dashboard): handle invalid thumbnail BytesIO objects gracefully (#35808)
add cc6a5dc29a feat(mcp): PR1 - Add MCP service scaffold for Apache Superset (#35163)
add 3d2ed363aa fix(docs): Update Arc database connector documentation (#35805)
add 51aad52e6c fix: unpin holidays and prophet (#35771)
add 19473af401 fix(database-modal): fix issue where commas could not be typed into DB configuration. (#35289)
add 0bf34d4d6f fix(native-filters): prevent circular dependencies and improve dependency handling (#35317)
add 6e60a00d69 fix(SqlLab): South pane visual changes (#35601)
add 6704c0aaec fix(sqllab): Fix CSV export button href in SQL Lab when application root is defined (#35118)
add bf830b2dd5 fix(theme): add fontWeightStrong to allowedAntdTokens to fix bold markdown rendering (#35821)
add 61758c07d2 fix: update Russian translations (#35750)
add 7a759c903b chore(deps): bump swagger-ui-react from 5.29.5 to 5.30.0 in /docs (#35865)
add e1455057e7 feat(mcp): PR2 - Add chart listing and info tools with core infrastructure (#35835)
add 5218b4eea2 fix(echarts): fix time shift color matching functionality (#35826)
add 61c68f7b8f fix(reports): Add celery task execution ID to email notification logs (#35807)
add 7733265fa2 fix(mcp): remove hardcoded admin username fallbacks (#35875)
add 5c57c9c0b2 fix: add utc=True to pd.to_datetime for timezone-aware datetimes (#35587)
add 514d56d1ae feat: conditional formatting improvements add flag toAllRow and toTextColor in tables (#34762)
add 2db19008fb test(dashboard): strengthen fontWeightStrong assertion for markdown bold (#35872)
add 99b61143f6 feat(Chart): Save Chart State globally (#35343)
add 48ee0821d3 feat: show total in waterfall chart (#35876)
add 2013963e0b chore(deps-dev): bump @types/node from 24.9.1 to 24.9.2 in /superset-websocket (#35879)
add dd857a2c7a fix: displaying cell bars in table (#35885)
add a5eb02d178 chore(deps): bump use-immer from 0.9.0 to 0.11.0 in /superset-frontend (#35789)
add 8ccdf3b32b feat(frontend): Replace ESLint with OXC hybrid linting architecture (#35506)
add 5fc934d859 chore: bump shillelagh to 1.4.3 (#35895)
add 6f50ddf710 refactor(explore): extract session ID retrieval into overridable method (#35779)
add f6f15f58ee fix: set pandas 2.1 as requirement (#35912)
add 6e27bee2ca refactor(explore): improve focus management in adhoc filter editor (#35801)
add 0a95f74f11 chore: Docs and config improvements for Docker setup (#35896)
add 30d584afd1 fix(db2): update time grain expressions for DAY to use DATE function (#35848)
add fee4e7d8e2 feat(mcp): MCP service implementation (PRs 3-9 consolidated) (#35877)
add d1f9c77afd chore(deps): bump caniuse-lite from 1.0.30001751 to 1.0.30001752 in /docs (#35924)
add be3690c22b fix(explore): formatting the SQL in "View Query" pop-up doesn't format (#35898)
add 00a6772507 chore(deps): bump swagger-ui-react from 5.30.0 to 5.30.1 in /docs (#35955)
add 3c43ce4e06 chore(deps): bump antd from 5.27.6 to 5.28.0 in /docs (#35956)
add 17299e469a chore(deps-dev): bump @eslint/js from 9.38.0 to 9.39.0 in /docs (#35954)
add 405ed2e736 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /superset-websocket (#35953)
add ae1f0bb107 chore(deps-dev): bump @types/node from 24.9.2 to 24.10.0 in /superset-websocket (#35952)
add bae2c90bae docs: correct spelling typos in project codebase (#35935)
add 27011d0239 fix(sqllab): align refresh buttons with select input fields (#35917)
add 5224347c39 test(useThemeMenuItems): fix race conditions by awaiting all userEvent calls (#35918)
add 1c1d1ddbec chore(deps): bump caniuse-lite from 1.0.30001752 to 1.0.30001753 in /docs (#35957)
add b92b725fe2 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /docs (#35951)
add 51b4df7a1f chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /docs (#35949)
add 7cd04c088c chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /superset-websocket (#35948)
add 46db8b7803 fix(dataset): sync columns checkbox not responding to clicks in virtual dataset modal (#35650)
add 53687ae659 fix(dashboard): fix dataset search in filter config modal (#35488)
add 0d70373d95 feat(npm): New `npm run clear-npm` script to nuke `node_modules` faster. (#35923)
add 7265567561 fix(DatasourceEditor): preserve calculated column order when editing sql (#35790)
add 04231c86db fix(TimeTable): Match calculations between filtered and non filtered states (#35619)
add a1d4dff99d feat(logs): Add is_cached as part of ChartDataRestApi.data actions (#36001)
add 3f49938b79 fix(explore): Overwriting a chart updates the form_data_key (#35888)
add 392b880b52 fix(view-in-sqllab): unable to open virtual dataset after discarding chart edits (#35931)
add 32099d8f49 chore(deps): bump swagger-ui-react from 5.30.1 to 5.30.2 in /docs (#35994)
add 1f960d5761 fix(DatabaseModal): prevent errors when pasting text into supported database select (#35916)
add 14f20e644e fix(chart list): Facepile shows correct users when saving chart properties (#33392)
add 84a1abd357 fix(ui): bump AntD to 5.26.0 to fix Splitter drag menu issue (#35782)
add 3765c31163 chore(logs): Use correct log level and remove duplicates for get_query (#36023)
add 0827ff7687 feat(build): Migrate webpack to SWC for ~70%+ faster builds (#35946)
add af37e12de4 fix(SelectFilterPlugin): clear all clears all filters including dependent ones (#35303)
add f5f5913a29 test: revert unrelated flaky test fix from MCP PR (#36015)
add c11be72ead fix(UI): spacings + UI fixes (#36010)
add 2f2128ac48 chore(deps): bump caniuse-lite from 1.0.30001753 to 1.0.30001754 in /docs (#36018)
add 208b1f7fa3 docs: Reorganize and improve developer portal documentation (#36005)
add 0307c71945 fix(Context-Menu): Fixing Context Menu for Table Chart with Html Content (#33791)
add 728bc2c632 fix: Ensure that Playwright tile height is always positive (#36027)
add 9546ee37e5 chore(superset-core): move ui to new core (#35308)
add 388a970ef2 chore(deps): bump @reduxjs/toolkit in /superset-frontend
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 (e05c10aa59)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/superset-frontend/reduxjs/toolkit-2.9.2 (388a970ef2)
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:
.devcontainer/README.md | 11 -
.devcontainer/default/devcontainer.json | 19 +
.devcontainer/devcontainer-base.json | 39 +
.devcontainer/setup-dev.sh | 84 +-
.devcontainer/start-superset.sh | 83 +-
.devcontainer/with-mcp/devcontainer.json | 29 +
.github/workflows/superset-frontend.yml | 6 +-
.gitignore | 3 +
.pre-commit-config.yaml | 29 +-
.rat-excludes | 1 +
Dockerfile | 2 +
LINTING_ARCHITECTURE.md | 121 ++
UPDATING.md | 2 +-
docker-compose.yml | 6 +-
docker/README.md | 18 +-
docker/docker-bootstrap.sh | 4 +
.../{config.json => config.example.json} | 0
docs/developer_portal/api/frontend.md | 772 -------
docs/developer_portal/architecture/overview.md | 194 --
.../capabilities/common-capabilities.md | 55 -
.../capabilities/extending-workbench.md | 62 -
docs/developer_portal/capabilities/overview.md | 53 -
docs/developer_portal/capabilities/theming.md | 61 -
docs/developer_portal/cli/overview.md | 578 ------
.../developer_portal/coding-guidelines/overview.md | 44 -
docs/developer_portal/contributing/code-review.md | 4 +-
docs/developer_portal/contributing/overview.md | 4 +-
.../developer_portal/contributing/submitting-pr.md | 2 +-
.../extensions/architectural-principles.md | 36 -
docs/developer_portal/extensions/architecture.md | 253 +++
.../extensions/built-in-features.md | 36 -
.../extensions/dynamic-module-loading.md | 84 -
.../extensions/high-level-architecture.md | 41 -
.../extensions/lifecycle-management.md | 41 -
docs/developer_portal/extensions/overview.md | 18 +-
.../extensions/proof-of-concept.md | 288 ---
docs/developer_portal/extensions/quick-start.md | 397 ++++
docs/developer_portal/extensions/versioning.md | 31 -
docs/developer_portal/guides/command-palette.md | 61 -
docs/developer_portal/guides/custom-editors.md | 64 -
docs/developer_portal/guides/overview.md | 58 -
docs/developer_portal/guides/virtual-documents.md | 63 -
docs/developer_portal/guides/webviews.md | 61 -
docs/developer_portal/index.md | 8 +-
.../references/activation-events.md | 549 -----
docs/developer_portal/references/api.md | 101 -
.../references/contribution-points.md | 475 -----
docs/developer_portal/references/manifest.md | 526 -----
docs/developer_portal/references/overview.md | 74 -
docs/developer_portal/sidebars.js | 47 +-
docs/developer_portal/testing/overview.md | 4 +-
docs/developer_portal/ux/accessibility.md | 70 -
docs/developer_portal/ux/best-practices.md | 73 -
docs/developer_portal/ux/design-principles.md | 68 -
docs/developer_portal/ux/overview.md | 62 -
docs/developer_portal/viz-plugins/controls.md | 77 -
.../viz-plugins/creating-viz-plugin.md | 80 -
docs/developer_portal/viz-plugins/overview.md | 67 -
.../viz-plugins/transforming-data.md | 76 -
docs/docs/configuration/alerts-reports.mdx | 16 +
docs/docs/configuration/databases.mdx | 25 +-
docs/docs/contributing/howtos.mdx | 4 +-
docs/package.json | 12 +-
docs/sidebarTutorials.js | 71 +-
.../version-6.0.0/contributing/howtos.mdx | 4 +-
docs/yarn.lock | 854 +++-----
pyproject.toml | 15 +-
requirements/base.txt | 7 +-
requirements/development.in | 2 +-
requirements/development.txt | 80 +-
scripts/{eslint.sh => check-custom-rules.sh} | 20 +-
scripts/eslint.sh | 2 +-
scripts/{eslint.sh => oxlint.sh} | 23 +-
superset-embedded-sdk/src/index.ts | 5 +-
superset-frontend/.eslintrc.js | 403 ++--
superset-frontend/.eslintrc.minimal.js | 121 ++
superset-frontend/.gitignore | 1 +
superset-frontend/.storybook/preview.jsx | 3 +-
superset-frontend/.swcrc | 64 +
superset-frontend/LINTING.md | 165 ++
.../e2e/dashboard/horizontalFilterBar.test.ts | 69 +-
.../cypress/e2e/dashboard/nativeFilters.test.ts | 51 +
.../cypress/e2e/dashboard_list/list.test.ts | 6 +-
superset-frontend/js_build.sh | 2 +-
superset-frontend/oxlint.json | 284 +++
superset-frontend/package-lock.json | 898 ++++++--
superset-frontend/package.json | 28 +-
.../packages/superset-core/package.json | 28 +-
.../packages/superset-core/src/index.ts | 1 +
.../src/ui}/components/Alert/Alert.stories.tsx | 24 +-
.../src/ui/components/Alert/Alert.test.tsx} | 10 +-
.../src/ui}/components/Alert/index.tsx | 44 +-
.../superset-core/src/{ => ui/components}/index.ts | 2 +-
.../superset-core/src/ui}/index.ts | 2 +-
.../index.tsx => superset-core/src/ui/testing.tsx} | 6 +-
.../src/ui}/theme/GlobalStyles.tsx | 0
.../superset-core/src/ui/theme/Theme.test.tsx | 768 +++++++
.../src => superset-core/src/ui}/theme/Theme.tsx | 2 +-
.../src/ui}/theme/exampleThemes.ts | 0
.../src => superset-core/src/ui}/theme/index.tsx | 1 +
.../src => superset-core/src/ui}/theme/types.ts | 1 +
.../src/ui/theme/utils/index.ts} | 2 +-
.../src/ui/theme/utils/themeUtils.test.ts | 236 +++
.../src/ui}/theme/utils/themeUtils.ts | 2 +-
.../superset-core/src/ui/theme/utils/utils.test.ts | 338 +++
.../src/components/CertifiedIconWithTooltip.tsx | 3 +-
.../src/components/ColumnOption.tsx | 2 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 3 +-
.../src/components/ControlHeader.tsx | 3 +-
.../src/components/ControlSubSectionHeader.tsx | 2 +-
.../src/components/MetricOption.tsx | 3 +-
.../src/components/SQLPopover.tsx | 3 +-
.../src/components/labelUtils.tsx | 3 +-
.../superset-ui-chart-controls/src/types.ts | 6 +-
.../src/utils/getColorFormatters.ts | 2 +
.../test/operators/renameOperator.test.ts | 89 +-
.../test/operators/sortOperator.test.ts | 36 +-
.../test/utils/getTemporalColumns.test.ts | 14 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/chart/components/FallbackComponent.tsx | 2 +-
.../Matrixify/MatrixifyGridCell.test.tsx | 2 +-
.../components/Matrixify/MatrixifyGridCell.tsx | 2 +-
.../Matrixify/MatrixifyGridRenderer.test.tsx | 4 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 2 +-
.../src/chart/components/NoResultsComponent.tsx | 2 +-
.../src/chart/models/ChartProps.ts | 2 +-
.../superset-ui-core/src/chart/types/Base.ts | 38 +
.../components/ActionButton/ActionButton.test.tsx | 108 +
.../src/components/ActionButton/index.tsx | 75 +
.../superset-ui-core/src/components/Alert/types.ts | 24 -
.../src/components/AsyncAceEditor/index.tsx | 6 +-
.../src/components/Badge/index.tsx | 2 +-
.../src/components/Button/index.tsx | 2 +-
.../superset-ui-core/src/components/Card/index.tsx | 2 +-
.../src/components/CertifiedBadge/index.tsx | 3 +-
.../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 | 3 +-
.../src/components/CronPicker/index.tsx | 3 +-
.../src/components/DatePicker/index.tsx | 2 +-
.../src/components/DeleteModal/index.tsx | 3 +-
.../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 | 3 +-
.../src/components/DynamicEditableTitle/index.tsx | 3 +-
.../src/components/EditableTitle/index.tsx | 3 +-
.../src/components/EmptyState/index.tsx | 3 +-
.../src/components/FaveStar/index.tsx | 3 +-
.../src/components/Flex/Flex.stories.tsx | 2 +-
.../src/components/Form/FormItem.tsx | 2 +-
.../src/components/Form/FormLabel.tsx | 2 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 3 +-
.../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 | 3 +-
.../src/components/Label/index.tsx | 2 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 3 +-
.../components/Label/reusable/PublishedLabel.tsx | 3 +-
.../src/components/LastUpdated/index.tsx | 3 +-
.../superset-ui-core/src/components/List/index.ts | 2 +-
.../src/components/ListViewCard/ImageLoader.tsx | 3 +-
.../src/components/ListViewCard/index.tsx | 2 +-
.../src/components/Loading/index.test.tsx | 2 +-
.../src/components/Loading/index.tsx | 2 +-
.../superset-ui-core/src/components/Menu/index.tsx | 2 +-
.../src/components/Metadata/index.tsx | 2 +-
.../src/components/MetadataBar/ContentConfig.tsx | 3 +-
.../components/MetadataBar/MetadataBar.stories.tsx | 2 +-
.../components/MetadataBar/MetadataBar.test.tsx | 3 +-
.../src/components/MetadataBar/MetadataBar.tsx | 2 +-
.../src/components/Modal/Modal.tsx | 3 +-
.../superset-ui-core/src/components/Modal/types.ts | 4 +-
.../src/components/PageHeaderWithActions/index.tsx | 3 +-
.../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.test.tsx | 3 +-
.../src/components/Select/styles.tsx | 2 +-
.../src/components/Table/Table.test.tsx | 6 +-
.../src/components/Table/VirtualTable.tsx | 3 +-
.../Table/cell-renderers/ActionCell/index.tsx | 2 +-
.../Table/cell-renderers/NullCell/index.tsx | 2 +-
.../header-renderers/HeaderWithRadioGroup.tsx | 2 +-
.../src/components/Table/index.tsx | 3 +-
.../TableCollection/TableCollection.test.tsx | 6 +-
.../src/components/TableCollection/index.tsx | 11 +-
.../src/components/TableView/TableView.test.tsx | 6 +-
.../src/components/TableView/TableView.tsx | 2 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 9 +-
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 8 +-
.../src/components/ThemedAgGridReact/index.tsx | 4 +-
.../ThemedAgGridReact/setupAGGridModules.test.ts | 60 +-
.../src/components/Timer/index.tsx | 2 +-
.../src/components/TruncatedList/index.tsx | 3 +-
.../src/components/Typography/index.tsx | 2 +-
.../components/WarningIconWithTooltip/index.tsx | 2 +-
.../superset-ui-core/src/components/index.ts | 2 +-
.../useTruncation/useChildElementTruncation.ts | 2 +-
.../packages/superset-ui-core/src/index.ts | 1 -
.../packages/superset-ui-core/src/spec/index.tsx | 2 +-
.../superset-ui-core/src/theme/Theme.test.tsx | 788 -------
.../superset-ui-core/src/theme/utils.test.ts | 352 ----
.../src/theme/utils/themeUtils.test.ts | 246 ---
.../src/time-comparison/customTimeRangeDecode.ts | 12 +-
.../packages/superset-ui-core/src/types/AgGrid.ts | 82 +
.../packages/superset-ui-core/src/types/index.ts | 1 +
.../packages/superset-ui-core/src/utils/dates.ts | 2 -
.../superset-ui-core/src/utils/html.test.tsx | 99 +
.../packages/superset-ui-core/src/utils/html.tsx | 13 +-
.../src/validator/validateMaxValue.ts | 2 +-
.../test/chart/components/MockChartPlugins.tsx | 8 +-
.../test/chart/components/SuperChartCore.test.tsx | 3 +-
.../test/chart/models/ChartPlugin.test.tsx | 2 +-
.../test/chart/models/ChartProps.test.ts | 3 +-
.../Icons/AsyncIcon.integration.test.tsx | 2 +-
.../packages/superset-ui-core/tsconfig.json | 17 +-
.../superset-ui-demo/.storybook/themeDecorator.js | 8 -
.../superset-ui-demo/.storybook/themeDecorator.jsx | 10 +
.../packages/superset-ui-demo/package.json | 1 +
.../shared/components/ResizableChartDemo.tsx | 2 +-
.../CountryMap.stories.tsx | 9 +-
.../legacy-plugin-chart-map-box/MapBox.stories.tsx | 3 +-
.../plugins/legacy-plugin-chart-map-box/data.ts | 2 +-
.../Path/Path.stories.tsx | 3 +-
.../stories/plugins/plugin-chart-table/testData.ts | 9 +-
.../stories/superset-ui-theme/Theme.stories.tsx | 103 +-
superset-frontend/playwright/README.md | 23 +-
.../legacy-plugin-chart-calendar/package.json | 1 +
.../src/ReactCalendar.jsx | 3 +-
.../plugins/legacy-plugin-chart-chord/package.json | 3 +-
.../legacy-plugin-chart-chord/src/ReactChord.jsx | 3 +-
.../legacy-plugin-chart-country-map/package.json | 1 +
.../src/ReactCountryMap.jsx | 3 +-
.../legacy-plugin-chart-horizon/package.json | 1 +
.../src/HorizonChart.jsx | 3 +-
.../legacy-plugin-chart-map-box/package.json | 1 +
.../legacy-plugin-chart-paired-t-test/package.json | 1 +
.../src/PairedTTest.jsx | 2 +-
.../package.json | 1 +
.../src/ReactParallelCoordinates.jsx | 3 +-
.../legacy-plugin-chart-partition/package.json | 1 +
.../src/ReactPartition.jsx | 3 +-
.../plugins/legacy-plugin-chart-rose/package.json | 1 +
.../legacy-plugin-chart-rose/src/ReactRose.jsx | 3 +-
.../legacy-plugin-chart-world-map/package.json | 1 +
.../src/ReactWorldMap.jsx | 3 +-
.../legacy-preset-chart-deckgl/package.json | 1 +
.../src/DeckGLContainer.tsx | 3 +-
.../src/components/Legend.tsx | 3 +-
.../src/components/Tooltip.tsx | 3 +-
.../src/layers/Polygon/Polygon.test.tsx | 2 +-
.../src/layers/Screengrid/Screengrid.tsx | 2 +-
.../src/layers/spatialUtils.test.ts | 2 +-
.../src/layers/spatialUtils.ts | 2 +-
.../src/utilities/HandlebarsRenderer.tsx | 3 +-
.../src/utilities/TooltipTemplateControl.tsx | 3 +-
.../src/utilities/TooltipTemplateEditor.tsx | 2 +-
.../src/utilities/tooltipUtils.tsx | 2 +-
.../src/utils/crossFiltersDataMask.ts | 18 +-
.../plugins/legacy-preset-chart-nvd3/package.json | 1 +
.../legacy-preset-chart-nvd3/src/ReactNVD3.jsx | 3 +-
.../src/AgGridTable/index.tsx | 124 +-
.../src/AgGridTableChart.tsx | 17 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 203 +-
.../plugin-chart-ag-grid-table/src/index.ts | 6 +
.../src/renderers/NumericCellRenderer.tsx | 8 +-
.../src/stateConversion.ts | 234 +++
.../src/styles/index.tsx | 2 +-
.../src/transformProps.ts | 4 +-
.../plugin-chart-ag-grid-table/src/types.ts | 3 +
.../src/utils/getCrossFilterDataMask.ts | 2 +-
.../src/utils/useTableTheme.ts | 2 +-
.../test/buildQuery.test.ts | 478 +++++
.../plugins/plugin-chart-cartodiagram/package.json | 1 +
.../src/CartodiagramPlugin.tsx | 2 +-
.../src/components/ChartLayer.tsx | 2 +-
.../src/components/ChartWrapper.tsx | 3 +-
.../plugins/plugin-chart-cartodiagram/src/types.ts | 7 +-
.../src/util/chartUtil.tsx | 2 +-
.../test/plugin/transformProps.test.ts | 7 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 4 +-
.../src/BigNumber/BigNumberViz.tsx | 3 +-
.../src/Gantt/controlPanel.tsx | 14 +-
.../plugin-chart-echarts/src/Gauge/constants.ts | 2 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 26 +-
.../src/Timeseries/transformProps.ts | 20 +-
.../src/Timeseries/transformers.ts | 3 +-
.../plugin-chart-echarts/src/Treemap/constants.ts | 1 -
.../src/Waterfall/controlPanel.tsx | 12 +
.../src/Waterfall/transformProps.ts | 26 +-
.../plugin-chart-echarts/src/Waterfall/types.ts | 1 +
.../plugin-chart-echarts/src/components/Echart.tsx | 14 +-
.../src/components/ExtraControls.tsx | 3 +-
.../plugin-chart-echarts/src/utils/series.ts | 2 +-
.../test/BigNumber/transformProps.test.ts | 8 +-
.../test/BoxPlot/transformProps.test.ts | 3 +-
.../test/Bubble/transformProps.test.ts | 2 +-
.../test/Funnel/transformProps.test.ts | 7 +-
.../test/Gantt/transformProps.test.ts | 3 +-
.../test/Gauge/transformProps.test.ts | 2 +-
.../test/Graph/transformProps.test.ts | 3 +-
.../test/MixedTimeseries/transformProps.test.ts | 3 +-
.../test/Pie/transformProps.test.ts | 2 +-
.../test/Radar/transformProps.test.ts | 3 +-
.../test/Timeseries/Bar/transformProps.test.ts | 3 +-
.../test/Timeseries/transformProps.test.ts | 2 +-
.../test/Tree/transformProps.test.ts | 3 +-
.../test/Treemap/transformProps.test.ts | 3 +-
.../test/Waterfall/transformProps.test.ts | 211 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 2 +-
.../test/utils/transformers.test.ts | 2 +-
.../plugins/plugin-chart-handlebars/README.md | 3 -
.../plugins/plugin-chart-handlebars/package.json | 1 +
.../plugin-chart-handlebars/src/Handlebars.tsx | 2 +-
.../src/components/Handlebars/HandlebarsViewer.tsx | 3 +-
.../src/plugin/controls/handlebarTemplate.tsx | 3 +-
.../src/plugin/controls/style.tsx | 3 +-
.../test/plugin/transformProps.test.ts | 8 +-
.../src/PivotTableChart.tsx | 5 +-
.../src/react-pivottable/Styles.js | 2 +-
.../test/plugin/transformProps.test.ts | 3 +-
.../DataTable/components/SearchSelectDropdown.tsx | 2 +-
.../src/DataTable/components/SelectPageSize.tsx | 3 +-
.../src/DataTable/hooks/useSticky.tsx | 2 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 60 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 2 +-
.../plugin-chart-table/src/controlPanel.tsx | 25 +
.../plugin-chart-table/test/TableChart.test.tsx | 106 +
.../plugins/plugin-chart-table/test/testData.ts | 2 +-
.../plugin-chart-table/test/testHelpers.tsx | 6 +-
.../plugins/plugin-chart-word-cloud/package.json | 1 +
.../src/chart/WordCloud.tsx | 8 +-
superset-frontend/scripts/check-custom-rules.js | 328 +++
.../scripts/oxlint-metrics-uploader.js | 245 +++
superset-frontend/spec/helpers/ProviderWrapper.tsx | 2 +-
superset-frontend/spec/helpers/testing-library.tsx | 5 +-
superset-frontend/src/.eslintrc.json | 2 +-
.../src/SqlLab/SqlLabGlobalStyles.tsx | 2 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 3 +-
.../src/SqlLab/components/App/index.tsx | 3 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 3 +-
.../EstimateQueryCostButton.test.tsx | 6 +-
.../components/EstimateQueryCostButton/index.tsx | 4 +-
.../components/KeyboardShortcutButton/index.tsx | 3 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 18 +-
.../SqlLab/components/QueryStateLabel/index.tsx | 3 +-
.../src/SqlLab/components/QueryTable/index.tsx | 3 +-
.../src/SqlLab/components/QueryTable/styles.ts | 2 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 55 +-
.../src/SqlLab/components/ResultSet/index.tsx | 16 +-
.../components/RunQueryActionButton/index.tsx | 3 +-
.../components/SaveDatasetActionButton/index.tsx | 3 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 3 +-
.../components/ScheduleQueryButton/index.tsx | 3 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 8 +-
.../src/SqlLab/components/SouthPane/Results.tsx | 5 +-
.../src/SqlLab/components/SouthPane/index.tsx | 3 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 6 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 3 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 10 +-
.../SqlLab/components/TabbedSqlEditors/index.tsx | 9 +-
.../components/TableElement/TableElement.test.tsx | 2 +-
.../src/SqlLab/components/TableElement/index.tsx | 3 +-
.../components/TablePreview/TablePreview.test.tsx | 14 +-
.../src/SqlLab/components/TablePreview/index.tsx | 115 +-
.../components/TemplateParamsEditor/index.tsx | 3 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../middlewares/persistSqlLabStateEnhancer.js | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 4 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 5 +-
.../src/components/Chart/ChartRenderer.jsx | 2 +
.../components/Chart/DisabledMenuItemTooltip.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByChart.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByModal.tsx | 4 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 3 +-
.../Chart/DrillBy/useDisplayModeToggle.tsx | 3 +-
.../Chart/DrillBy/useResultsTableView.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailModal.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 5 +-
.../components/Chart/MenuItemWithTruncation.tsx | 8 +-
.../src/components/Chart/chartAction.js | 1 -
.../Chart/useDrillDetailMenuItems/index.tsx | 3 +-
.../src/components/CopyToClipboard/index.tsx | 3 +-
.../src/components/CrudThemeProvider.tsx | 3 +-
.../src/components/DatabaseSelector/index.tsx | 81 +-
.../{ImportModal => DatabaseSelector}/styles.ts | 14 +-
.../Datasource/ChangeDatasourceModal/index.tsx | 10 +-
.../DatasourceModal/DatasourceModal.test.jsx | 176 +-
.../Datasource/DatasourceModal/index.tsx | 37 +-
.../components/CollectionTable/index.tsx | 29 +-
.../DatasourceEditor/DatasourceEditor.jsx | 59 +-
.../components/DashboardLinksExternal/index.tsx | 2 +-
.../DatasetUsageTab/DatasetUsageTab.test.tsx | 46 +-
.../components/DatasetUsageTab/index.tsx | 3 +-
.../Datasource/components/Field/index.tsx | 2 +-
.../Datasource/components/Fieldset/index.tsx | 2 +-
.../ErrorMessage/BasicErrorAlert.test.tsx | 3 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 8 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 4 +-
.../src/components/ErrorMessage/IssueCode.tsx | 2 +-
.../src/components/FacePile/FacePile.stories.tsx | 2 +-
.../src/components/FacePile/FacePile.test.tsx | 2 +-
.../src/components/FacePile/utils.tsx | 2 +-
.../src/components/GridTable/Header.test.tsx | 2 +-
.../src/components/GridTable/Header.tsx | 3 +-
.../src/components/GridTable/HeaderMenu.tsx | 3 +-
.../src/components/GridTable/index.tsx | 2 +-
.../src/components/ImportModal/ErrorAlert.tsx | 4 +-
.../src/components/ImportModal/index.tsx | 3 +-
.../src/components/ImportModal/styles.ts | 2 +-
.../src/components/ListView/ActionsBar.tsx | 50 +-
.../src/components/ListView/CardCollection.tsx | 8 +-
.../src/components/ListView/CardSortSelect.tsx | 3 +-
.../src/components/ListView/CrossLinks.tsx | 3 +-
.../src/components/ListView/CrossLinksTooltip.tsx | 3 +-
.../src/components/ListView/Filters/Base.ts | 2 +-
.../components/ListView/Filters/NumericalRange.tsx | 3 +-
.../src/components/ListView/Filters/Search.tsx | 3 +-
.../src/components/ListView/Filters/index.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 6 +-
superset-frontend/src/components/ListView/utils.ts | 2 +-
.../src/components/MessageToasts/Toast.tsx | 2 +-
.../components/MessageToasts/ToastPresenter.tsx | 2 +-
.../components/Modal/CollapsibleModalSection.tsx | 2 +-
.../src/components/Modal/ModalFormField.tsx | 2 +-
.../src/components/Modal/StandardModal.tsx | 3 +-
.../src/components/Modal/useModalValidation.tsx | 3 +-
.../src/components/ModalTitleWithIcon/index.tsx | 2 +-
.../src/components/ResizableSidebar/index.tsx | 2 +-
.../components/SQLEditorWithValidation/index.tsx | 3 +-
.../src/components/TableSelector/index.tsx | 24 +-
superset-frontend/src/components/Tag/index.tsx | 2 +-
.../src/components/TagsList/index.tsx | 2 +-
.../src/dashboard/actions/dashboardState.js | 25 +-
superset-frontend/src/dashboard/actions/hydrate.js | 3 +-
.../components/AddSliceCard/AddSliceCard.tsx | 3 +-
.../components/BuilderComponentPane/index.tsx | 3 +-
.../src/dashboard/components/ColorSchemeSelect.tsx | 3 +-
.../DashboardBuilder/DashboardBuilder.tsx | 11 +-
.../DashboardBuilder/DashboardWrapper.tsx | 2 +-
.../src/dashboard/components/DashboardGrid.jsx | 3 +-
.../dashboard/components/EmbeddedModal/index.tsx | 4 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 3 +-
.../FiltersBadge/FilterIndicator/index.tsx | 2 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 2 +-
.../dashboard/components/FiltersBadge/index.tsx | 2 +-
.../dashboard/components/GroupByBadge/index.tsx | 3 +-
.../src/dashboard/components/Header/index.jsx | 3 +-
.../src/dashboard/components/Header/types.ts | 2 +-
.../src/dashboard/components/IconButton.tsx | 2 +-
.../OverwriteConfirm/OverwriteConfirmModal.tsx | 3 +-
.../PropertiesModal/sections/AdvancedSection.tsx | 3 +-
.../PropertiesModal/sections/StylingSection.tsx | 4 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 3 +-
.../dashboard/components/RefreshIntervalModal.tsx | 5 +-
.../src/dashboard/components/SaveModal.tsx | 3 +-
.../src/dashboard/components/SliceAdder.tsx | 3 +-
.../src/dashboard/components/SliceHeader/index.tsx | 11 +-
.../ViewResultsModalTrigger.tsx | 3 +-
.../components/SliceHeaderControls/index.tsx | 16 +-
.../components/URLShortLinkButton/index.tsx | 16 +-
.../src/dashboard/components/dnd/DragDroppable.jsx | 2 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 2 +-
.../components/filterscope/FilterScope.test.tsx | 2 +-
.../components/filterscope/FilterScopeModal.tsx | 2 +-
.../components/filterscope/FilterScopeSelector.jsx | 3 +-
.../filterscope/renderFilterScopeTreeNodes.jsx | 2 +-
.../components/gridComponents/Chart/Chart.jsx | 61 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 4 +-
.../components/gridComponents/Column/Column.jsx | 3 +-
.../components/gridComponents/Divider/Divider.jsx | 2 +-
.../components/gridComponents/Header/Header.jsx | 2 +-
.../gridComponents/Markdown/Markdown.jsx | 7 +-
.../gridComponents/Markdown/Markdown.test.jsx | 416 ----
.../gridComponents/Markdown/Markdown.test.tsx | 436 ++++
.../components/gridComponents/Row/Row.jsx | 9 +-
.../components/gridComponents/Tab/Tab.jsx | 3 +-
.../components/gridComponents/Tabs/Tabs.jsx | 3 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
.../gridComponents/new/DraggableNewComponent.tsx | 2 +-
.../components/menu/BackgroundStyleDropdown.tsx | 3 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 2 +-
.../components/menu/ShareMenuItems/index.tsx | 13 +-
.../dashboard/components/menu/WithPopoverMenu.tsx | 21 +-
.../ChartCustomization/ChartCustomizationForm.tsx | 9 +-
.../ChartCustomization/ChartCustomizationModal.tsx | 3 +-
.../ChartCustomizationTitleContainer.tsx | 3 +-
.../ChartCustomizationTitlePane.tsx | 3 +-
.../ChartCustomization/GroupByFilterCard.tsx | 10 +-
.../nativeFilters/ConfigModal/ModalFooter.tsx | 4 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 2 +-
.../FilterBar/ActionButtons/index.tsx | 4 +-
.../FilterBar/CrossFilters/CrossFilter.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 9 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 9 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 3 +-
.../ScopingModal/ScopingModalContent.tsx | 3 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 12 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 3 +-
.../nativeFilters/FilterBar/CrossFilters/styles.ts | 2 +-
.../FilterBar/FilterBarSettings/index.tsx | 4 +-
.../FilterBar/FilterControls/FilterControl.tsx | 3 +-
.../FilterBar/FilterControls/FilterControls.tsx | 11 +-
.../FilterControls/FilterDivider.stories.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 8 +-
.../FilterBar/FilterControls/FilterValue.tsx | 2 +-
.../FilterBar/FiltersDropdownContent/index.tsx | 3 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 3 +-
.../nativeFilters/FilterBar/Header/index.tsx | 3 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 3 +-
.../nativeFilters/FilterBar/Vertical.tsx | 4 +-
.../components/nativeFilters/FilterBar/index.tsx | 11 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 3 +-
.../nativeFilters/FilterCard/NameRow.tsx | 3 +-
.../nativeFilters/FilterCard/ScopeRow.tsx | 3 +-
.../components/nativeFilters/FilterCard/Styles.ts | 2 +-
.../FiltersConfigModal/DividerConfigForm.tsx | 3 +-
.../FiltersConfigModal/DraggableFilter.tsx | 2 +-
.../FiltersConfigModal/FilterConfigurePane.tsx | 3 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 3 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 3 +-
.../FiltersConfigForm/CollapsibleControl.tsx | 2 +-
.../FiltersConfigForm/DatasetSelect.test.tsx | 203 ++
.../FiltersConfigForm/DatasetSelect.tsx | 4 +
.../FiltersConfigForm/DependencyList.tsx | 27 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 3 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 3 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 12 +-
.../FiltersConfigForm/RemovedFilter.tsx | 3 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 8 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 26 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 52 +-
.../Footer/CancelConfirmationAlert.tsx | 7 +-
.../components/resizable/ResizableContainer.tsx | 2 +-
.../src/dashboard/containers/DashboardPage.tsx | 10 +-
.../src/dashboard/reducers/dashboardInfo.js | 36 +-
.../src/dashboard/reducers/dashboardState.js | 34 +
.../src/dashboard/reducers/dashboardState.test.ts | 10 +-
superset-frontend/src/dashboard/styles.ts | 2 +-
superset-frontend/src/dashboard/types.ts | 2 +
.../dashboard/types/chartState.ts} | 32 +-
.../src/dashboard/util/chartStateConverter.ts | 165 ++
.../src/dashboard/util/permissionUtils.test.ts | 2 +-
.../util/useFilterFocusHighlightStyles.ts | 3 +-
.../src/embedded/EmbeddedContextProviders.tsx | 2 +-
superset-frontend/src/embedded/api.tsx | 18 +-
superset-frontend/src/embedded/index.tsx | 9 +-
.../src/explore/components/ChartPills.tsx | 3 +-
.../src/explore/components/Control.tsx | 8 +-
.../src/explore/components/ControlHeader.tsx | 5 +-
.../explore/components/ControlPanelsContainer.tsx | 29 +-
.../explore/components/DataTableControl/index.tsx | 4 +-
.../components/DataTablesPane/DataTablesPane.tsx | 3 +-
.../components/DataTableControls.tsx | 2 +-
.../components/ResultsPaneOnDashboard.tsx | 3 +-
.../DataTablesPane/components/SamplesPane.tsx | 3 +-
.../DataTablesPane/components/useResultsPane.tsx | 2 +-
.../DatasourcePanelDragOption/index.tsx | 3 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 9 +-
.../explore/components/DatasourcePanel/index.tsx | 13 +-
.../src/explore/components/EmbedCodeContent.jsx | 3 +-
.../src/explore/components/ExploreAlert.tsx | 2 +-
.../components/ExploreChartHeader/index.jsx | 3 +-
.../explore/components/ExploreChartPanel/index.tsx | 5 +-
.../explore/components/ExploreContainer/index.tsx | 2 +-
.../explore/components/ExploreContentPopover.tsx | 2 +-
.../components/ExploreViewContainer/index.jsx | 4 +-
.../components/ExportToCSVDropdown/index.tsx | 3 +-
.../PropertiesModal/PropertiesModal.test.tsx | 6 +
.../explore/components/PropertiesModal/index.tsx | 20 +-
.../explore/components/RunQueryButton/index.tsx | 3 +-
.../src/explore/components/SaveModal.test.jsx | 30 +
.../src/explore/components/SaveModal.tsx | 9 +-
.../AnnotationLayerControl/AnnotationLayer.jsx | 9 +-
.../controls/AnnotationLayerControl/index.tsx | 3 +-
.../explore/components/controls/BoundsControl.tsx | 3 +-
.../components/controls/CheckboxControl.jsx | 2 +-
.../controls/CollectionControl/index.jsx | 3 +-
.../ColorBreakpointOption.tsx | 2 +-
.../ColorBreakpointPopoverControl.tsx | 3 +-
.../controls/ColorBreakpointsControl/index.tsx | 3 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 2 +-
.../controls/ColorSchemeControl/index.tsx | 3 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 3 +-
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +-
.../ControlForm/ControlFormItem.tsx | 3 +-
.../ColumnConfigControl/ControlForm/index.tsx | 3 +-
.../components/controls/ComparisonRangeLabel.tsx | 5 +-
.../ConditionalFormattingControl.tsx | 5 +-
.../FormattingPopover.tsx | 2 +
.../FormattingPopoverContent.test.tsx | 41 +
.../FormattingPopoverContent.tsx | 88 +-
.../controls/ConditionalFormattingControl/types.ts | 9 +
.../controls/ContourControl/ContourOption.tsx | 5 +-
.../ContourControl/ContourPopoverControl.tsx | 3 +-
.../components/controls/ContourControl/index.tsx | 3 +-
.../controls/ControlPopover/ControlPopover.tsx | 49 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 3 +-
.../components/controls/CustomListItem/index.tsx | 2 +-
.../controls/DatasourceControl/index.jsx | 13 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 5 +-
.../components/DateFunctionTooltip.tsx | 3 +-
.../DateFilterControl/components/DateLabel.tsx | 3 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 4 +-
.../DndColumnSelectPopoverTitle.jsx | 3 +-
.../controls/DndColumnSelectControl/Option.tsx | 3 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 3 +-
.../FilterControl/AdhocFilterControl/index.jsx | 9 +-
.../FilterControl/AdhocFilterEditPopover/index.jsx | 3 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 752 +++----
.../index.tsx | 63 +-
.../useAdvancedDataTypes.ts | 33 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 7 +-
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 3 +-
.../LayerConfigsControl/LayerConfigsControl.tsx | 3 +-
.../LayerConfigsPopoverContent.tsx | 13 +-
.../controls/MapViewControl/MapViewControl.tsx | 3 +-
.../MapViewControl/MapViewPopoverContent.tsx | 3 +-
.../MetricControl/AdhocMetricEditPopover/index.jsx | 9 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 3 +-
.../components/controls/NumberControl/index.tsx | 2 +-
.../components/controls/OptionControls/index.tsx | 3 +-
.../controls/SelectAsyncControl/index.tsx | 2 +-
.../explore/components/controls/SelectControl.jsx | 3 +-
.../components/controls/TextAreaControl.jsx | 5 +-
.../controls/TimeSeriesColumnControl/index.jsx | 3 +-
.../explore/components/controls/ViewQuery.test.tsx | 26 +
.../src/explore/components/controls/ViewQuery.tsx | 6 +-
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 2 +-
.../components/controls/VizTypeControl/VizTile.tsx | 3 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 10 +-
.../controls/VizTypeControl/constants.tsx | 3 +-
.../components/controls/VizTypeControl/index.tsx | 9 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 3 +-
.../components/controls/ZoomConfigControl/types.ts | 4 +
.../controls/ZoomConfigControl/zoomUtil.ts | 14 +-
.../src/explore/components/optionRenderers.tsx | 2 +-
.../DashboardsSubMenu.tsx | 3 +-
.../useExploreAdditionalActionsMenu/index.jsx | 11 +-
.../src/explore/reducers/exploreReducer.js | 2 +-
.../src/extensions/ExtensionsList.tsx | 3 +-
.../src/features/alerts/AlertReportModal.tsx | 5 +-
.../features/alerts/buildErrorTooltipMessage.tsx | 2 +-
.../alerts/components/AlertReportCronScheduler.tsx | 3 +-
.../features/alerts/components/AlertStatusIcon.tsx | 3 +-
.../alerts/components/NotificationMethod.tsx | 3 +-
.../features/alerts/components/RecipientIcon.tsx | 2 +-
superset-frontend/src/features/alerts/types.ts | 2 +-
.../src/features/allEntities/AllEntitiesTable.tsx | 3 +-
.../annotationLayers/AnnotationLayerModal.tsx | 3 +-
.../src/features/annotations/AnnotationModal.tsx | 3 +-
.../src/features/charts/ChartCard.tsx | 3 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 5 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 3 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 3 +-
.../DatabaseConnectionForm/TableCatalog.tsx | 3 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 2 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 26 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 3 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 8 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 3 +-
.../databases/DatabaseModal/index.test.tsx | 72 +
.../src/features/databases/DatabaseModal/index.tsx | 53 +-
.../src/features/databases/DatabaseModal/styles.ts | 2 +-
.../databases/UploadDataModel/ColumnsPreview.tsx | 3 +-
.../features/databases/UploadDataModel/index.tsx | 8 +-
.../features/databases/UploadDataModel/styles.ts | 2 +-
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 6 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 7 +-
.../AddDataset/DatasetPanel/MessageContent.tsx | 3 +-
.../datasets/AddDataset/EditDataset/index.tsx | 3 +-
.../features/datasets/AddDataset/Footer/index.tsx | 3 +-
.../datasets/AddDataset/LeftPanel/index.tsx | 3 +-
.../src/features/datasets/DatasetLayout/index.tsx | 2 +-
.../features/datasets/DatasetSelectLabel/index.tsx | 3 +-
.../DatasetMetadataBar.skipped-stories.tsx | 3 +-
.../datasets/metadataBar/useDatasetMetadataBar.tsx | 3 +-
superset-frontend/src/features/datasets/styles.ts | 2 +-
.../src/features/home/ActivityTable.tsx | 7 +-
.../src/features/home/ChartTable.test.tsx | 2 +-
superset-frontend/src/features/home/EmptyState.tsx | 3 +-
.../src/features/home/LanguagePicker.tsx | 3 +-
superset-frontend/src/features/home/Menu.test.tsx | 2 +-
superset-frontend/src/features/home/Menu.tsx | 285 +--
.../src/features/home/RightMenu.test.tsx | 44 +-
superset-frontend/src/features/home/RightMenu.tsx | 25 +-
.../src/features/home/SavedQueries.tsx | 3 +-
superset-frontend/src/features/home/SubMenu.tsx | 9 +-
.../src/features/queries/QueryPreviewModal.tsx | 3 +-
.../features/queries/SavedQueryPreviewModal.tsx | 3 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 3 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 3 +-
.../src/features/reports/ReportModal/index.tsx | 9 +-
.../src/features/reports/ReportModal/styles.tsx | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 3 +-
.../src/features/roles/RoleListEditModal.test.tsx | 8 +-
.../src/features/tags/BulkTagModal.tsx | 3 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +-
.../src/features/themes/ThemeModal.tsx | 6 +-
superset-frontend/src/features/users/utils.ts | 2 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 4 +-
.../components/Select/SelectFilterPlugin.tsx | 36 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 7 +-
superset-frontend/src/filters/components/common.ts | 2 +-
.../hooks/useConfirmModal/useConfirmModal.test.tsx | 2 +-
superset-frontend/src/hooks/useJsonTreeTheme.ts | 2 +-
.../src/hooks/useThemeMenuItems.test.tsx | 42 +-
superset-frontend/src/hooks/useThemeMenuItems.tsx | 5 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 11 +-
.../useUnsavedChangesPrompt.test.tsx | 41 +-
superset-frontend/src/pages/ActionLog/index.tsx | 3 +-
.../pages/AlertReportList/AlertReportList.test.jsx | 30 +-
.../src/pages/AlertReportList/index.tsx | 3 +-
superset-frontend/src/pages/AllEntities/index.tsx | 3 +-
.../AnnotationLayerList.test.jsx | 2 +-
.../src/pages/AnnotationList/index.tsx | 9 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 14 +-
.../pages/ChartList/ChartList.listview.test.tsx | 22 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 20 +-
superset-frontend/src/pages/ChartList/index.tsx | 2 +-
.../pages/CssTemplateList/CssTemplateList.test.jsx | 2 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 2 +-
.../src/pages/DashboardList/index.tsx | 2 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 10 +-
.../src/pages/DatasetCreation/index.tsx | 2 +-
superset-frontend/src/pages/DatasetList/index.tsx | 10 +-
.../ExecutionLogList/ExecutionLogList.test.tsx | 2 +-
.../src/pages/ExecutionLogList/index.tsx | 3 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 8 +-
superset-frontend/src/pages/Home/Home.test.tsx | 10 +-
superset-frontend/src/pages/Home/index.tsx | 4 +-
superset-frontend/src/pages/Login/index.tsx | 3 +-
.../src/pages/QueryHistoryList/index.tsx | 10 +-
superset-frontend/src/pages/Register/index.tsx | 3 +-
.../src/pages/RolesList/RolesList.test.tsx | 10 +-
.../RowLevelSecurityList.test.tsx | 12 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 2 +-
.../src/pages/SavedQueryList/index.tsx | 2 +-
superset-frontend/src/pages/SqlLab/index.tsx | 3 +-
superset-frontend/src/pages/ThemeList/index.tsx | 6 +-
superset-frontend/src/pages/UserInfo/index.tsx | 3 +-
.../UserRegistrations/UserRegistrations.test.tsx | 2 +-
.../src/pages/UsersList/UsersList.test.tsx | 18 +-
superset-frontend/src/preamble.ts | 1 -
superset-frontend/src/setup/setupPlugins.ts | 5 +
superset-frontend/src/theme/ThemeController.ts | 8 +-
superset-frontend/src/theme/ThemeProvider.tsx | 3 +-
.../src/theme/tests/ThemeController.test.ts | 3 +-
.../src/theme/tests/ThemeProvider.test.tsx | 6 +-
superset-frontend/src/types/bootstrapTypes.ts | 4 +-
.../{downloadAsImage.ts => downloadAsImage.tsx} | 26 +-
superset-frontend/src/utils/urlUtils.ts | 22 +-
superset-frontend/src/views/App.tsx | 2 +-
superset-frontend/src/views/CRUD/utils.tsx | 2 +-
superset-frontend/src/views/menu.tsx | 2 +-
superset-frontend/src/views/types.ts | 2 +-
.../visualizations/TimeTable/TimeTable.test.tsx | 41 +-
.../src/visualizations/TimeTable/TimeTable.tsx | 3 +-
.../components/SparklineCell/SparklineCell.tsx | 3 +-
.../config/transformProps/transformProps.test.ts | 2 +-
.../src/visualizations/TimeTable/constants.ts | 15 +-
.../valueCalculations/valueCalculations.test.ts | 160 ++
.../utils/valueCalculations/valueCalculations.ts | 52 +-
superset-frontend/tsconfig.json | 10 +-
superset-frontend/webpack.config.js | 215 +-
superset-websocket/package-lock.json | 114 +-
superset-websocket/package.json | 6 +-
superset/charts/data/api.py | 34 +-
superset/charts/schemas.py | 11 +
superset/{utils/pdf.py => cli/mcp.py} | 46 +-
superset/commands/database/test_connection.py | 2 +-
superset/commands/explore/form_data/create.py | 6 +-
superset/commands/report/execute.py | 1 +
superset/config.py | 7 +-
superset/connectors/sqla/models.py | 10 +
superset/dashboards/api.py | 22 +
superset/dashboards/permalink/schemas.py | 10 +
superset/dashboards/permalink/types.py | 3 +-
superset/db_engine_specs/README.md | 566 +++++-
superset/db_engine_specs/db2.py | 6 +-
superset/db_engine_specs/lib.py | 374 +++-
superset/mcp_service/CLAUDE.md | 523 +++++
superset/mcp_service/README.md | 236 +++
.../__init__.py} | 31 +-
superset/mcp_service/__main__.py | 132 ++
superset/mcp_service/app.py | 347 ++++
superset/mcp_service/auth.py | 179 ++
superset/mcp_service/bin/superset-mcp.js | 282 +++
superset/mcp_service/chart/chart_utils.py | 484 +++++
superset/mcp_service/chart/preview_utils.py | 561 +++++
.../mcp_service/chart/prompts/__init__.py | 7 +-
.../chart/prompts/create_chart_guided.py | 195 ++
.../mcp_service/chart/resources/__init__.py | 7 +-
.../mcp_service/chart/resources/chart_configs.py | 362 ++++
superset/mcp_service/chart/schemas.py | 1162 +++++++++++
.../{views => mcp_service/chart/tool}/__init__.py | 40 +-
superset/mcp_service/chart/tool/generate_chart.py | 462 +++++
.../chart/tool/get_chart_available_filters.py} | 45 +-
superset/mcp_service/chart/tool/get_chart_data.py | 656 ++++++
superset/mcp_service/chart/tool/get_chart_info.py | 81 +
.../mcp_service/chart/tool/get_chart_preview.py | 2082 +++++++++++++++++++
superset/mcp_service/chart/tool/list_charts.py | 135 ++
superset/mcp_service/chart/tool/update_chart.py | 224 ++
.../mcp_service/chart/tool/update_chart_preview.py | 168 ++
.../chart/validation/__init__.py} | 9 +-
.../chart/validation/dataset_validator.py | 329 +++
superset/mcp_service/chart/validation/pipeline.py | 325 +++
.../chart/validation/runtime/__init__.py | 185 ++
.../validation/runtime/cardinality_validator.py | 195 ++
.../validation/runtime/chart_type_suggester.py | 437 ++++
.../chart/validation/runtime/format_validator.py | 225 ++
.../chart/validation/schema_validator.py | 307 +++
.../mcp_service/commands}/__init__.py | 0
.../commands/create_form_data.py} | 23 +-
.../security.py => mcp_service/common/__init__.py} | 11 +-
superset/mcp_service/common/cache_schemas.py | 143 ++
superset/mcp_service/common/error_schemas.py | 103 +
.../mcp_service/dashboard/prompts/__init__.py | 7 +-
.../mcp_service/dashboard/resources/__init__.py | 7 +-
superset/mcp_service/dashboard/schemas.py | 470 +++++
.../dashboard/tool}/__init__.py | 34 +-
.../tool/add_chart_to_existing_dashboard.py | 282 +++
.../dashboard/tool/generate_dashboard.py | 241 +++
.../tool/get_dashboard_available_filters.py} | 39 +-
.../dashboard/tool/get_dashboard_info.py | 101 +
.../mcp_service/dashboard/tool/list_dashboards.py | 99 +
.../mcp_service/dataset/prompts/__init__.py | 7 +-
.../mcp_service/dataset/resources/__init__.py | 7 +-
superset/mcp_service/dataset/schemas.py | 349 ++++
.../dataset/tool}/__init__.py | 13 +-
.../dataset/tool/get_dataset_available_filters.py} | 39 +-
.../mcp_service/dataset/tool/get_dataset_info.py | 111 +
superset/mcp_service/dataset/tool/list_datasets.py | 149 ++
.../mcp_service/explore/__init__.py | 3 +-
.../explore/tool/__init__.py} | 14 +-
.../explore/tool/generate_explore_link.py | 111 +
superset/mcp_service/flask_singleton.py | 66 +
superset/mcp_service/index.js | 56 +
superset/mcp_service/mcp_config.py | 202 ++
superset/mcp_service/mcp_core.py | 504 +++++
superset/mcp_service/middleware.py | 757 +++++++
superset/mcp_service/package.json | 35 +
.../tsc.sh => superset/mcp_service/run_proxy.sh | 28 +-
.../{views => mcp_service/screenshot}/__init__.py | 37 +-
.../mcp_service/screenshot/pooled_screenshot.py | 483 +++++
.../mcp_service/screenshot/webdriver_config.py | 139 ++
superset/mcp_service/screenshot/webdriver_pool.py | 433 ++++
superset/mcp_service/server.py | 103 +
superset/mcp_service/simple_proxy.py | 84 +
.../mcp_service/sql_lab}/__init__.py | 0
superset/mcp_service/sql_lab/execute_sql_core.py | 221 ++
superset/mcp_service/sql_lab/schemas.py | 109 +
superset/mcp_service/sql_lab/sql_lab_utils.py | 243 +++
.../sql_lab/tool/__init__.py} | 25 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 94 +
.../sql_lab/tool/open_sql_lab_with_context.py | 118 ++
.../mcp_service/system/prompts/__init__.py | 7 +-
superset/mcp_service/system/prompts/quickstart.py | 94 +
.../mcp_service/system/resources/__init__.py | 7 +-
.../system/resources/instance_metadata.py | 107 +
superset/mcp_service/system/schemas.py | 158 ++
.../system/tool/__init__.py} | 11 +-
.../system/tool/get_superset_instance_info.py | 268 +++
superset/mcp_service/system/tool/health_check.py | 66 +
.../utils.py => mcp_service/utils/__init__.py} | 14 +-
superset/mcp_service/utils/cache_utils.py | 143 ++
superset/mcp_service/utils/error_builder.py | 369 ++++
superset/mcp_service/utils/permissions_utils.py | 313 +++
superset/mcp_service/utils/retry_utils.py | 341 ++++
superset/mcp_service/utils/url_utils.py | 128 ++
superset/models/helpers.py | 51 +-
superset/reports/notifications/email.py | 10 +-
superset/result_set.py | 2 +-
superset/sql_lab.py | 9 +-
superset/tasks/slack.py | 21 +-
superset/translations/ru/LC_MESSAGES/messages.po | 2150 ++++++++++++--------
superset/utils/core.py | 1 +
superset/utils/log.py | 8 +-
superset/utils/screenshot_utils.py | 18 +-
superset/utils/slack.py | 63 +-
superset/views/core.py | 2 +-
tests/integration_tests/charts/data/api_tests.py | 97 +
tests/integration_tests/event_logger_tests.py | 24 +
.../commands/execute_dashboard_report_tests.py | 2 +-
tests/integration_tests/sqla_models_tests.py | 130 ++
.../unit_tests/commands/explore}/__init__.py | 0
.../commands/explore/form_data}/__init__.py | 0
.../commands/explore/form_data/test_create.py | 85 +
tests/unit_tests/commands/report/execute_test.py | 6 +
tests/unit_tests/db_engine_specs/test_db2.py | 70 +
.../unit_tests/mcp_service/chart}/__init__.py | 0
.../mcp_service/chart/test_chart_schemas.py | 160 ++
.../mcp_service/chart/test_chart_utils.py | 465 +++++
.../unit_tests/mcp_service/chart/tool}/__init__.py | 0
.../mcp_service/chart/tool/test_generate_chart.py | 268 +++
.../chart/tool/test_get_chart_preview.py | 290 +++
.../mcp_service/chart/tool/test_list_charts.py | 172 ++
.../mcp_service/chart/tool/test_update_chart.py | 385 ++++
.../chart/tool/test_update_chart_preview.py | 474 +++++
.../unit_tests/mcp_service/common}/__init__.py | 0
.../unit_tests/mcp_service/conftest.py | 9 +-
.../unit_tests/mcp_service/dashboard}/__init__.py | 0
.../mcp_service/dashboard/tool}/__init__.py | 0
.../dashboard/tool/test_dashboard_generation.py | 450 ++++
.../dashboard/tool/test_dashboard_tools.py | 573 ++++++
.../unit_tests/mcp_service/dataset}/__init__.py | 0
.../mcp_service/dataset/tool}/__init__.py | 0
.../mcp_service/dataset/tool/test_dataset_tools.py | 1231 +++++++++++
.../unit_tests/mcp_service/explore}/__init__.py | 0
.../mcp_service/explore/tool}/__init__.py | 0
.../explore/tool/test_generate_explore_link.py | 580 ++++++
.../unit_tests/mcp_service/sql_lab}/__init__.py | 0
.../mcp_service/sql_lab/test_execute_sql_helper.py | 64 +
.../mcp_service/sql_lab/tool}/__init__.py | 0
.../mcp_service/sql_lab/tool/test_execute_sql.py | 497 +++++
.../mcp_service/system/tool}/__init__.py | 0
.../mcp_service/system/tool/test_mcp_core.py | 204 ++
.../unit_tests/mcp_service/utils}/__init__.py | 0
.../reports/notifications/email_tests.py | 2 +
.../reports/notifications/slack_tests.py | 1 +
tests/unit_tests/utils/date_parser_tests.py | 21 +-
tests/unit_tests/utils/screenshot_test.py | 2 +-
tests/unit_tests/utils/test_screenshot_utils.py | 55 +
937 files changed, 38573 insertions(+), 11831 deletions(-)
create mode 100644 .devcontainer/default/devcontainer.json
create mode 100644 .devcontainer/devcontainer-base.json
create mode 100644 .devcontainer/with-mcp/devcontainer.json
create mode 100644 LINTING_ARCHITECTURE.md
copy docker/superset-websocket/{config.json => config.example.json} (100%)
delete mode 100644 docs/developer_portal/api/frontend.md
delete mode 100644 docs/developer_portal/architecture/overview.md
delete mode 100644 docs/developer_portal/capabilities/common-capabilities.md
delete mode 100644 docs/developer_portal/capabilities/extending-workbench.md
delete mode 100644 docs/developer_portal/capabilities/overview.md
delete mode 100644 docs/developer_portal/capabilities/theming.md
delete mode 100644 docs/developer_portal/cli/overview.md
delete mode 100644 docs/developer_portal/coding-guidelines/overview.md
delete mode 100644 docs/developer_portal/extensions/architectural-principles.md
create mode 100644 docs/developer_portal/extensions/architecture.md
delete mode 100644 docs/developer_portal/extensions/built-in-features.md
delete mode 100644 docs/developer_portal/extensions/dynamic-module-loading.md
delete mode 100644 docs/developer_portal/extensions/high-level-architecture.md
delete mode 100644 docs/developer_portal/extensions/lifecycle-management.md
delete mode 100644 docs/developer_portal/extensions/proof-of-concept.md
create mode 100644 docs/developer_portal/extensions/quick-start.md
delete mode 100644 docs/developer_portal/extensions/versioning.md
delete mode 100644 docs/developer_portal/guides/command-palette.md
delete mode 100644 docs/developer_portal/guides/custom-editors.md
delete mode 100644 docs/developer_portal/guides/overview.md
delete mode 100644 docs/developer_portal/guides/virtual-documents.md
delete mode 100644 docs/developer_portal/guides/webviews.md
delete mode 100644 docs/developer_portal/references/activation-events.md
delete mode 100644 docs/developer_portal/references/api.md
delete mode 100644 docs/developer_portal/references/contribution-points.md
delete mode 100644 docs/developer_portal/references/manifest.md
delete mode 100644 docs/developer_portal/references/overview.md
delete mode 100644 docs/developer_portal/ux/accessibility.md
delete mode 100644 docs/developer_portal/ux/best-practices.md
delete mode 100644 docs/developer_portal/ux/design-principles.md
delete mode 100644 docs/developer_portal/ux/overview.md
delete mode 100644 docs/developer_portal/viz-plugins/controls.md
delete mode 100644 docs/developer_portal/viz-plugins/creating-viz-plugin.md
delete mode 100644 docs/developer_portal/viz-plugins/overview.md
delete mode 100644 docs/developer_portal/viz-plugins/transforming-data.md
copy scripts/{eslint.sh => check-custom-rules.sh} (66%)
copy scripts/{eslint.sh => oxlint.sh} (61%)
create mode 100644 superset-frontend/.eslintrc.minimal.js
create mode 100644 superset-frontend/.swcrc
create mode 100644 superset-frontend/LINTING.md
create mode 100644 superset-frontend/oxlint.json
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/components/Alert/Alert.stories.tsx (81%)
copy superset-frontend/packages/{superset-ui-core/src/components/Spin/Spin.test.tsx => superset-core/src/ui/components/Alert/Alert.test.tsx} (78%)
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/components/Alert/index.tsx (50%)
copy superset-frontend/packages/superset-core/src/{ => ui/components}/index.ts (97%)
copy superset-frontend/{src/explore/components/DataTablesPane => packages/superset-core/src/ui}/index.ts (94%)
copy superset-frontend/packages/{superset-ui-core/src/spec/index.tsx => superset-core/src/ui/testing.tsx} (88%)
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/GlobalStyles.tsx (100%)
create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/Theme.test.tsx
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/Theme.tsx (98%)
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/exampleThemes.ts (100%)
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/index.tsx (99%)
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/types.ts (99%)
rename superset-frontend/packages/{superset-ui-core/src/theme/utils.ts => superset-core/src/ui/theme/utils/index.ts} (99%)
create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/utils/themeUtils.test.ts
rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/utils/themeUtils.ts (98%)
create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/utils/utils.test.ts
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ActionButton/ActionButton.test.tsx
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ActionButton/index.tsx
delete mode 100644 superset-frontend/packages/superset-ui-core/src/components/Alert/types.ts
delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/Theme.test.tsx
delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/utils.test.ts
delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/utils/themeUtils.test.ts
create mode 100644 superset-frontend/packages/superset-ui-core/src/types/AgGrid.ts
delete mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.js
create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.jsx
create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/stateConversion.ts
create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/buildQuery.test.ts
create mode 100755 superset-frontend/scripts/check-custom-rules.js
create mode 100644 superset-frontend/scripts/oxlint-metrics-uploader.js
copy superset-frontend/src/components/{ImportModal => DatabaseSelector}/styles.ts (74%)
delete mode 100644 superset-frontend/src/dashboard/components/gridComponents/Markdown/Markdown.test.jsx
create mode 100644 superset-frontend/src/dashboard/components/gridComponents/Markdown/Markdown.test.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/DatasetSelect.test.tsx
copy superset-frontend/{plugins/plugin-chart-table/test/testHelpers.tsx => src/dashboard/types/chartState.ts} (67%)
create mode 100644 superset-frontend/src/dashboard/util/chartStateConverter.ts
rename superset-frontend/src/utils/{downloadAsImage.ts => downloadAsImage.tsx} (93%)
copy superset/{utils/pdf.py => cli/mcp.py} (50%)
create mode 100644 superset/mcp_service/CLAUDE.md
create mode 100644 superset/mcp_service/README.md
copy superset/{migrations/versions/2024-01-18_12-12_15a2c68a2e6b_merging_two_heads.py => mcp_service/__init__.py} (60%)
create mode 100644 superset/mcp_service/__main__.py
create mode 100644 superset/mcp_service/app.py
create mode 100644 superset/mcp_service/auth.py
create mode 100755 superset/mcp_service/bin/superset-mcp.js
create mode 100644 superset/mcp_service/chart/chart_utils.py
create mode 100644 superset/mcp_service/chart/preview_utils.py
copy docs/static/.asf.yaml => superset/mcp_service/chart/prompts/__init__.py (84%)
create mode 100644 superset/mcp_service/chart/prompts/create_chart_guided.py
copy docs/static/.asf.yaml => superset/mcp_service/chart/resources/__init__.py (84%)
create mode 100644 superset/mcp_service/chart/resources/chart_configs.py
create mode 100644 superset/mcp_service/chart/schemas.py
copy superset/{views => mcp_service/chart/tool}/__init__.py (58%)
create mode 100644 superset/mcp_service/chart/tool/generate_chart.py
copy superset/{commands/temporary_cache/delete.py => mcp_service/chart/tool/get_chart_available_filters.py} (51%)
create mode 100644 superset/mcp_service/chart/tool/get_chart_data.py
create mode 100644 superset/mcp_service/chart/tool/get_chart_info.py
create mode 100644 superset/mcp_service/chart/tool/get_chart_preview.py
create mode 100644 superset/mcp_service/chart/tool/list_charts.py
create mode 100644 superset/mcp_service/chart/tool/update_chart.py
create mode 100644 superset/mcp_service/chart/tool/update_chart_preview.py
copy superset/{daos/security.py => mcp_service/chart/validation/__init__.py} (76%)
create mode 100644 superset/mcp_service/chart/validation/dataset_validator.py
create mode 100644 superset/mcp_service/chart/validation/pipeline.py
create mode 100644 superset/mcp_service/chart/validation/runtime/__init__.py
create mode 100644 superset/mcp_service/chart/validation/runtime/cardinality_validator.py
create mode 100644 superset/mcp_service/chart/validation/runtime/chart_type_suggester.py
create mode 100644 superset/mcp_service/chart/validation/runtime/format_validator.py
create mode 100644 superset/mcp_service/chart/validation/schema_validator.py
copy {superset-core/src/superset_core => superset/mcp_service/commands}/__init__.py (100%)
copy superset/{databases/types.py => mcp_service/commands/create_form_data.py} (62%)
copy superset/{daos/security.py => mcp_service/common/__init__.py} (82%)
create mode 100644 superset/mcp_service/common/cache_schemas.py
create mode 100644 superset/mcp_service/common/error_schemas.py
copy docs/static/.asf.yaml => superset/mcp_service/dashboard/prompts/__init__.py (84%)
copy docs/static/.asf.yaml => superset/mcp_service/dashboard/resources/__init__.py (84%)
create mode 100644 superset/mcp_service/dashboard/schemas.py
copy superset/{views => mcp_service/dashboard/tool}/__init__.py (63%)
create mode 100644 superset/mcp_service/dashboard/tool/add_chart_to_existing_dashboard.py
create mode 100644 superset/mcp_service/dashboard/tool/generate_dashboard.py
copy superset/{commands/chart/data/create_async_job_command.py => mcp_service/dashboard/tool/get_dashboard_available_filters.py} (50%)
create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_info.py
create mode 100644 superset/mcp_service/dashboard/tool/list_dashboards.py
copy docs/static/.asf.yaml => superset/mcp_service/dataset/prompts/__init__.py (85%)
copy docs/static/.asf.yaml => superset/mcp_service/dataset/resources/__init__.py (84%)
create mode 100644 superset/mcp_service/dataset/schemas.py
copy superset/{migrations => mcp_service/dataset/tool}/__init__.py (75%)
copy superset/{commands/chart/data/create_async_job_command.py => mcp_service/dataset/tool/get_dataset_available_filters.py} (51%)
create mode 100644 superset/mcp_service/dataset/tool/get_dataset_info.py
create mode 100644 superset/mcp_service/dataset/tool/list_datasets.py
copy superset-extensions-cli/src/superset_extensions_cli/constants.py => superset/mcp_service/explore/__init__.py (95%)
copy superset/{temporary_cache/utils.py => mcp_service/explore/tool/__init__.py} (76%)
create mode 100644 superset/mcp_service/explore/tool/generate_explore_link.py
create mode 100644 superset/mcp_service/flask_singleton.py
create mode 100644 superset/mcp_service/index.js
create mode 100644 superset/mcp_service/mcp_config.py
create mode 100644 superset/mcp_service/mcp_core.py
create mode 100644 superset/mcp_service/middleware.py
create mode 100644 superset/mcp_service/package.json
copy superset-frontend/scripts/tsc.sh => superset/mcp_service/run_proxy.sh (51%)
mode change 100755 => 100644
copy superset/{views => mcp_service/screenshot}/__init__.py (64%)
create mode 100644 superset/mcp_service/screenshot/pooled_screenshot.py
create mode 100644 superset/mcp_service/screenshot/webdriver_config.py
create mode 100644 superset/mcp_service/screenshot/webdriver_pool.py
create mode 100644 superset/mcp_service/server.py
create mode 100644 superset/mcp_service/simple_proxy.py
copy {superset-core/src/superset_core => superset/mcp_service/sql_lab}/__init__.py (100%)
create mode 100644 superset/mcp_service/sql_lab/execute_sql_core.py
create mode 100644 superset/mcp_service/sql_lab/schemas.py
create mode 100644 superset/mcp_service/sql_lab/sql_lab_utils.py
copy superset/{migrations/versions/2022-04-14_17-21_cecc6bf46990_rm_time_range_endpoints_2.py => mcp_service/sql_lab/tool/__init__.py} (74%)
create mode 100644 superset/mcp_service/sql_lab/tool/execute_sql.py
create mode 100644 superset/mcp_service/sql_lab/tool/open_sql_lab_with_context.py
copy docs/static/.asf.yaml => superset/mcp_service/system/prompts/__init__.py (85%)
create mode 100644 superset/mcp_service/system/prompts/quickstart.py
copy docs/static/.asf.yaml => superset/mcp_service/system/resources/__init__.py (84%)
create mode 100644 superset/mcp_service/system/resources/instance_metadata.py
create mode 100644 superset/mcp_service/system/schemas.py
copy superset/{daos/security.py => mcp_service/system/tool/__init__.py} (78%)
create mode 100644 superset/mcp_service/system/tool/get_superset_instance_info.py
create mode 100644 superset/mcp_service/system/tool/health_check.py
copy superset/{temporary_cache/utils.py => mcp_service/utils/__init__.py} (77%)
create mode 100644 superset/mcp_service/utils/cache_utils.py
create mode 100644 superset/mcp_service/utils/error_builder.py
create mode 100644 superset/mcp_service/utils/permissions_utils.py
create mode 100644 superset/mcp_service/utils/retry_utils.py
create mode 100644 superset/mcp_service/utils/url_utils.py
copy {superset-core/src/superset_core => tests/unit_tests/commands/explore}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/commands/explore/form_data}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/explore/form_data/test_create.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/chart}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_schemas.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_utils.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/chart/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_generate_chart.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_get_chart_preview.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_list_charts.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart_preview.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/common}/__init__.py (100%)
copy docs/static/.asf.yaml => tests/unit_tests/mcp_service/conftest.py (85%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_generation.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_dataset_tools.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/sql_lab/test_execute_sql_helper.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_execute_sql.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/system/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/system/tool/test_mcp_core.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/utils}/__init__.py (100%)