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/eslint-plugin-jest-28.12.0
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 72cc3d4c14 chore(deps-dev): bump eslint-plugin-jest in
/superset-frontend
add 8be79f4170 chore(deps-dev): bump @types/lodash from 4.17.13 to 4.17.20
in /superset-websocket (#34035)
add b2a173977e chore(deps): bump mapbox-gl from 2.15.0 to 3.13.0 in
/superset-frontend (#34008)
add 24500e99f8 chore(deps): bump ace-builds from 1.43.0 to 1.43.1 in
/superset-frontend (#34043)
add 09c657c899 chore(deps-dev): update @babel/types requirement from
^7.26.9 to ^7.28.0 in /superset-frontend/plugins/plugin-chart-pivot-table
(#34038)
add d1b372f670 fix(chart controls): remove duplicated descriptions for
chart controls (#33954)
add 7b3329f315 chore(deps-dev): update @types/lodash requirement from
^4.17.16 to ^4.17.20 in /superset-frontend/plugins/plugin-chart-handlebars
(#34037)
add 5214ee6fd4 chore(deps-dev): update jest requirement from ^30.0.2 to
^30.0.4 in /superset-frontend/plugins/plugin-chart-pivot-table (#34036)
add cb6342fc73 fix: Update spacing on echart legends (#34018)
add 9f0523977d feat(plugin-chart-echarts): add Gantt Chart plugin (#33716)
add 2ceced71c5 chore(deps-dev): update jest requirement from ^30.0.2 to
^30.0.4 in /superset-frontend/plugins/plugin-chart-handlebars (#34034)
add 4b94d25869 chore(deps): bump @emotion/styled from 11.3.0 to 11.14.0 in
/superset-frontend (#31560)
add 5a1023da89 chore(deps): update @types/geojson requirement from
^7946.0.15 to ^7946.0.16 in
/superset-frontend/plugins/legacy-preset-chart-deckgl (#32077)
add ee4944bc1a chore(deps-dev): update fs-extra requirement from ^11.2.0
to ^11.3.0 in /superset-frontend/packages/generator-superset (#32093)
add 20371940d3 chore(deps-dev): bump webpack-visualizer-plugin2 from 1.1.0
to 1.2.0 in /superset-frontend (#33989)
add b9ba4d6fda chore(deps-dev): bump cheerio from 1.0.0-rc.10 to 1.1.0 in
/superset-frontend (#33991)
add ebca5169a0 chore(deps-dev): update @types/lodash requirement from
^4.17.16 to ^4.17.20 in /superset-frontend/packages/superset-ui-core (#32080)
add f18d9b6bf4 chore(deps-dev): bump typescript from 5.6.2 to 5.7.3 in
/superset-websocket (#32439)
add 1b690a9876 chore(deps): bump @ant-design/icons from 5.6.1 to 6.0.0 in
/docs (#32953)
add 2ab85f3b67 chore(deps): bump remark-gfm from 3.0.1 to 4.0.1 in
/superset-frontend (#32945)
add 36c7b15342 chore(deps): update dompurify requirement from ^3.2.4 to
^3.2.6 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#32082)
add 992aa3a4d5 chore(deps): update @types/d3-scale requirement from ^4.0.8
to ^4.0.9 in /superset-frontend/plugins/plugin-chart-word-cloud (#32441)
add 0ea2066d5b chore(deps): bump @storybook/addon-actions from 8.1.11 to
9.0.8 in /superset-frontend/packages/superset-ui-demo (#33995)
add b9052fa461 chore(deps-dev): bump yeoman-test from 8.3.0 to 10.1.1 in
/superset-frontend (#33496)
add 5cff87c048 chore(deps-dev): bump @types/jest from 29.5.14 to 30.0.0 in
/superset-frontend/plugins/plugin-chart-handlebars (#33986)
add 96a1b33f22 chore(deps-dev): bump webpack-dev-server from 4.15.2 to
5.2.1 in /superset-frontend (#32946)
add b0cf7b61ad chore(deps): update @deck.gl/aggregation-layers requirement
from ^9.0.38 to ^9.1.12 in
/superset-frontend/plugins/legacy-preset-chart-deckgl (#33485)
add 11b6263d55 chore(deps-dev): update fork-ts-checker-webpack-plugin
requirement from ^9.0.2 to ^9.1.0 in
/superset-frontend/packages/superset-ui-demo (#33481)
add 7082933b96 chore(deps): bump react from 17.0.2 to 19.1.0 in
/superset-frontend/plugins/legacy-plugin-chart-chord (#32949)
add dfb377c636 chore(deps): update yeoman-generator requirement from
^7.4.0 to ^7.5.1 in /superset-frontend/packages/generator-superset (#32928)
add 4718767ddb chore(deps): bump tar-fs from 2.1.2 to 3.1.0 in
/superset-frontend (#34059)
add ef14a5fbb4 feat(filter): Add Slider Range Inputs Option for Numerical
Range Filters (#33170)
add d6ed819fe2 fix: Annotation layer errors (#34074)
add 5d6a979cd0 chore: remove some of the deprecated theme.colors.* (#34056)
add a0f9efd45e chore: refactor react-syntax-highlither to handle dark
themes (#34028)
add 42db43c686 fix(styles): Remove custom z-indexes (#34066)
add 829e4d92d9 chore: Use select_columns on chart's dashboard filter
(#34075)
add 6adfd33e3a fix(Table): Allow timeshifts to be overriden (#34014)
add 0fc4119728 feat(deckgl): add cross-filters to deck.gl charts (#33789)
add 0a5941edd7 feat(viz-type): Ag grid table plugin Integration (#33517)
add f55476034b chore(deps): bump ioredis from 4.28.5 to 5.6.1 in
/superset-websocket (#34029)
add 733f112142 fix: Support metric currency as dict during import (#34080)
add d8fd6de940 fix(deps): Revert "chore(deps-dev): bump webpack-dev-server
from 4.15.2 to 5.2.1 (#34090)
add c25e734407 fix(translations): Fix language switching behavior when
default language is not English (#34049)
add d633fe47ef chore(deps): bump @fontsource/inter from 5.1.1 to 5.2.6 in
/superset-frontend (#34042)
add e25be0f3d9 chore: move auth e2e tests to component tests (#34057)
add 9c8fdc0fc1 fix: Apply metric d3format from dataset when currency
config is {} (#34098)
add 7ea1fca4f7 feat: Don't show the row limit warning for embedded
dashboards by default (#34095)
add 2129e22423 fix(deps): Revert "chore(deps): update
@deck.gl/aggregation-layers requirement from ^9.0.38 to ^9.1.12 in
/superset-frontend/plugins/legacy-preset-chart-deckgl" (#34103)
add 11215b092a chore(deps-dev): bump webpack-dev-server from 4.15.2 to
5.2.1 in /superset-frontend (#34104)
add 85034b9748 feat(deck-gl): Enable individual deck.gl layer selection in
FilterScope tree (#33769)
add d951158ce6 feat(deckgl): add support for OpenStreetMap as our new
default and make "tile-providers" more configurable (#33603)
add 0bc214e889 fix: upload data model Collapse state (#32734)
add ddeb612429 chore: Improve performance to load the chart properties
modal (#34079)
add 29f638e239 chore: Improve performance to load chart's save modal
(#34097)
add 5efca408eb fix(UI): Adjust background color for Dashboard, Tabs, and
ListView component (#34113)
add bc0a10fc73 chore: clean up more flask/jinja html views (#34093)
add 0d236c4ade fix: improve login page placement and width (#34108)
add 73dfe57ae2 fix: make flask-cors a core dependency (#34115)
add 17c1a37afb chore(deps): bump react-error-boundary from 5.0.0 to 6.0.0
in /superset-frontend (#33486)
add 9695249976 fix(screenshots): Change default for
`SCREENSHOT_PLAYWRIGHT_WAIT_EVENT` to `domcontentloaded` (#34114)
add 7d0fabe1ab fix(i18n): Update Japanese translations (#33974)
add d269e3d187 chore(deps): bump react-json-tree from 0.17.0 to 0.20.0 in
/superset-frontend (#33990)
add 75ee4edc6a fix: Apply metric d3format when currency config is {} for
table charts (#34127)
add 30695d75d7 fix(DatabaseModal): Resolve Connect button issue for
SQLAlchemy URI database connections (#34112)
add 7229e1ccf3 feat(deckgl): add new color controls with color breakpoints
(#34017)
add 5a32777dd0 chore: remove unnecessary disables (#34139)
add 7c98c3f4f6 chore(deps): bump flask-cors from 4.0.2 to 6.0.0 (#34138)
add f4754641c8 build(dev-deps): clean up deprecated Babel proposal plugins
(#34125)
add 8a704d293b docs: remove duplicated line in `Running tests with act`
section (#34145)
add 0fc1955049 chore(Tags): Sort tags by name if possible (#34149)
add 0aa48b6564 fix(dataset): trigger `onChange` when switching to physical
dataset to clear SQL (#34153)
add 68b84acd93 feat: improve Doris catalog support (#34140)
add 160917eae8 fix: frontend translation framework crashes on string
errors (#34118)
add c42be77c25 feat(i18n): load language pack asynchronously (#34119)
add b280ab9e1f fix: adding and removing tags does not work in control
panel properties modal (#34147)
add 67b21c45df feat(filter panel): hide filter panel on all dashboard by
default. (#32870)
add 31a15c5162 fix(DrillBy): make drill by work with multi metric charts
(#34171)
add 42d9a78777 feat(theming): Introduce bootstrap-driven Superset theme
configurations (#34144)
add 8a8248b575 docs(development): Fix typo in the documentation (#34163)
add fe9eef9198 feat: removing dup logic in sqla/models.py and
models/helpers.py (#34177)
add 0dc48e9b41 fix(sqllab): pass DB id instead of name (#33955)
add 83b6f672ff fix(databricks): string escaper (#34180)
add 000d353ef3 fix(sqllab): database ID (#34181)
add 16f4516903 chore(Oracle): Update oracle column length to 128 (#34179)
add e8926f177d feat(i18n): add Catalan (ca) translations (#33953)
add f756cee01b fix(theming): Remove leftover antd5 prefix (#34188)
add 94d47113ea feat(snowflake): Support Snowflake private keys w/o
passphrase (#34156)
add 96cb6030c8 fix(explore): Display missing dataset for denied access
(#34129)
add d6eb6e08d0 style(helm): Minor reformatting of helm chart templates
(#33736)
add 58bd3bfcf0 fix(chart): update geographical info for latvia (#33450)
add 1958df6b83 fix: dataset endpoint `/rowlevelsecurity/related/tables`
doesn't apply filters as expected (#34192)
add bbb2279644 fix(theming): Superset theme configurations correctly
applying to charts (#34218)
add 88ee90c579 chore: Updates files related to 4.1.3 release (#34217)
add dc41c45bec feat(pivot-table-chart): Download as pivoted excel (#33569)
add 5912fad745 fix(dashboard): Fix subitem selection on dashboard download
menu (#33933)
add 2db8f809ba fix: proper handling of boolean filters with snowflake
(#34199)
add da6947d295 feat(deckgl): add support for OpenStreetMap as our new
default and make "tile-providers" more configurable FIX (#34204)
add 0c5da6cb5d fix(theming): World map tooltip color (#34229)
add 29d2fac485 fix(Chart): Calculate chart height correctly (#34224)
add a0a49f9300 feat: add Claude Code GitHub Action integration (#34231)
add 4fe11869fc chore(deps): bump on-headers and compression in
/superset-frontend (#34216)
add 2c453035e4 chore(deps): bump on-headers and morgan in
/superset-websocket/utils/client-ws-app (#34215)
add b24aca0304 fix: bug when updating dashboard (#34193)
add aff847b3af fix: database model Collapse state (#34126)
add 4518f6999c chore(deps): bump form-data from 4.0.1 to 4.0.4 in
/superset-frontend (#34265)
add 6e02603098 chore(deps): bump form-data from 4.0.0 to 4.0.4 in /docs
(#34263)
add 7e67deead7 chore(deps-dev): bump form-data from 4.0.0 to 4.0.4 in
/superset-embedded-sdk (#34262)
add fe1fddde05 feat(docs): migrate ESLint to v9 (#34207)
add f4f516c64c fix: Missing ownState and isCached props in Chart.jsx
(#34259)
add 229d92590a fix: Matching errorType on superset api error with
SupersetError (#34261)
add 09c4afc894 feat: introduce comprehensive LLM context guides for
AI-powered development (#34194)
add 2c81eb6c39 feat(docker): do not include chromium (headless browser) by
default in Dockerfile (#34258)
add 77f66e7434 fix: build issues on master with 'npm run dev' (#34272)
add 1df5e59fdf fix(theming): Theming visual fixes (#34253)
add c444eed63e chore(docker): use editable mode in docker images (#34146)
add 9c6271136d fix(theming): Visual regressions p2 (#34279)
add 11324607d0 fix: Bulk select is not respecting the TAGGING_SYSTEM
feature flag (#34282)
add 710c277681 style(Button): Vertically align icons across all buttons
(#34067)
add 32f8f33a4f fix(deckgl): fix deck.gl color breakpoints Control (#34244)
add 77ffe65773 chore(deps): bump axios from 1.10.0 to 1.11.0 in /docs
(#34285)
add 9099b0f00d fix: fix the pre-commit hook for tsc (#34275)
add 43775e9373 fix(sqllab_export): manually encode CSV output to support
utf-8-sig (#34235)
add 800c1639ec chore(deps-dev): bump prettier from 3.5.3 to 3.6.2 in
/superset-frontend (#33997)
add 9b88527883 chore: remove supposedly dev dep `html-webpack-plugin` from
lockfile (#34288)
add 1e5a4e9bdc fix: Saved queries list break if one query can't be parsed
(#34289)
add 7a1c056374 fix(charting): correctly categorize numeric columns with
NULL values (#34213)
add da55a6c94a fix(chart-download): ensure full table or handlebar chart
is captured in image export (#34233)
add c99843b13a fix: Hide View in SQL Lab for users without access (#34293)
add ab59b7e9b0 feat: make `SupersetClient` retry on 502-504 (#34290)
add efa8cb6fa4 chore: improve sqlglot parsing (#34270)
add 3f8472ca7b chore: move some rules from ruff -> pylint (#34292)
add 30e5684006 fix: address numerous long-standing console errors (python
& web) (#34299)
add 89bf77b5c9 fix(theming): Fix visual regressions from theming P7
(#34237)
add 3177131d52 feat: re-order CRUD list view action buttons (#34294)
add b794b192d1 fix: return 422 on invalid SQL (#34303)
add 8df5860826 chore: bump sqlglot to latest version (27.3.0) (#34302)
add 7f44992c4b fix: enhance disallowed SQL functions list for improved
security (#33084)
add 9c771fb2ba fix: preserve correct column order when table layout is
changed with time comparison enabled (#34300)
add c25b4221f8 fix(npm): more reliable execution of `npm run update-maps`
(#34305)
add 8783579aa8 fix(cartodiagram): add missing locales for rendering
echarts (#34268)
add 5f11f9097a fix: Charts list is displaying empty dataset names when
there's no schema (#34315)
add e741a3167f feat: add a theme CRUD page to manage themes (#34182)
add 1be2287b3a feat(timeseries): enhance 'Series Limit' to support
grouping the long tail (#34308)
add c49789167b style(chart): restyle table pagination (#34311)
add 1a4e2173f5 fix(NavBar): Add brand text back (#34318)
add 913e068113 style(FastVizSwitcher): Adjust padding for FastVizSwitcher
selector (#34317)
add 604d72cc98 feat: introducing a docker-compose-light.yml for lighter
development (#34324)
add 22b3cc0480 chore: bump BigQuery dialect to 1.15.0 (#34371)
add dc0c389488 docs(development): fix 2 typos in the dockerfile (#34341)
add f554848c9f fix(PivotTable): Render html in cells if allowRenderHtml is
true (#34351)
add ff76ab647f build(deps): update `ag-grid` to non-breaking major v34
(#34326)
add bb572983cd feat(theming): Align embedded sdk with theme configs
(#34273)
add 914ce9aa4f feat: read column metadata (#34359)
add 122bb68e5a fix: subquery alias in RLS (#34374)
add a9cd58508b chore(deps): bump cookie and @types/cookie in
/superset-websocket (#34335)
add 32626ab707 fix: use catalog name on generated queries (#34360)
add c9e06714f8 fix: prevent theme initialization errors during fresh
installs (#34339)
add 972be15dda feat: focus on text input when modal opens (#34379)
add 16db999067 fix: rate limiting issues with example data hosted on
github.com (#34381)
add 8de8f95a3c feat: allow creating dataset without exploring (#34380)
add 0964a8bb7a fix(big number with trendline): running 2 identical queries
for no good reason (#34296)
add a1c39d4906 feat(charts): Enable async buildQuery support for complex
chart logic (#34383)
add 14e90a0f52 feat: Add GitHub Codespaces support with
docker-compose-light (#34376)
add eca28582b6 feat(i18n): update Spanish translations (messages.po)
(#34206)
add 131ae5aa9d docs(development): fix typo in the dockerfile (#34387)
add bf967d6ba4 fix(charts): Fix unquoted 'Others' literal in series limit
GROUP BY clause (#34390)
add 6006a21378 docs(development): fix comment in the dockerfile (#34391)
add 0cbf4d5d4d chore(deps): bump d3-scale from 3.3.0 to 4.0.2 in
/superset-frontend/packages/superset-ui-core (#31534)
add 5c2eb0a68c build(deps): bump reselect from 4.1.7 to 5.1.1 in
/superset-frontend (#30119)
add a611278e04 fix: Console errors from various sources (#34178)
add 54a5b58e40 feat(codespaces): auto-setup Python venv with dependencies
(#34409)
add fd4570625a fix(theme-list): reorder buttons to place import leftmost
(#34389)
add becd0b8883 feat: add runtime custom font loading via configuration
(#34416)
add f168dd69a8 fix(sunburst): Fix sunburst chart cross-filter logic
(#31495)
add 48d9426ed1 chore(deps-dev): bump eslint-plugin-jest 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 (72cc3d4c14)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/superset-frontend/eslint-plugin-jest-28.12.0
(48d9426ed1)
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:
.cursor/rules/dev-standard.mdc | 125 +
.devcontainer/Dockerfile | 20 +
.devcontainer/README.md | 16 +
.devcontainer/bashrc-additions | 62 +
.devcontainer/build-and-push-image.sh | 20 +
.devcontainer/devcontainer.json | 66 +
.devcontainer/setup-dev.sh | 78 +
.devcontainer/start-superset.sh | 108 +
.github/ISSUE_TEMPLATE/bug-report.yml | 2 +-
.github/copilot-instructions.md | 1 +
.github/workflows/check-python-deps.yml | 18 +-
.github/workflows/claude.yml | 82 +
.github/workflows/superset-python-unittest.yml | 2 +-
.gitignore | 4 +
.pre-commit-config.yaml | 17 +-
.rat-excludes | 8 +
CHANGELOG/4.1.3.md | 58 +
CLAUDE.md | 1 +
CONTRIBUTING.md | 2 +-
Dockerfile | 12 +-
GEMINI.md | 1 +
GPT.md | 1 +
LLMS.md | 191 +
UPDATING.md | 5 +-
docker-compose-image-tag.yml | 3 +
docker-compose-light.yml | 157 +
docker-compose-non-dev.yml | 3 +
docker-compose.yml | 3 +
docker/.env | 6 +-
docker/frontend-mem-nag.sh | 44 +-
docker/pythonpath_dev/.gitignore | 1 +
docker/pythonpath_dev/superset_config.py | 2 +-
.../pythonpath_dev/superset_config_docker_light.py | 37 +-
docs/.eslintrc.js | 47 -
docs/docs/configuration/map-tiles.mdx | 78 +
docs/docs/configuration/networking-settings.mdx | 8 +-
docs/docs/configuration/theming.mdx | 141 +-
docs/docs/contributing/development.mdx | 119 +-
docs/docs/installation/docker-compose.mdx | 34 +-
{superset-websocket => docs}/eslint.config.js | 47 +-
docs/package.json | 18 +-
docs/src/pages/index.tsx | 2 +-
docs/src/theme/Root.js | 20 +-
docs/yarn.lock | 519 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/templates/init-job.yaml | 10 +-
helm/superset/templates/pdb-beat.yaml | 10 +-
helm/superset/templates/pdb-flower.yaml | 10 +-
helm/superset/templates/pdb-worker.yaml | 10 +-
helm/superset/templates/pdb-ws.yaml | 10 +-
helm/superset/templates/pdb.yaml | 10 +-
pyproject.toml | 24 +-
requirements/README.md | 7 +
requirements/base.txt | 7 +-
requirements/development.in | 2 +-
requirements/development.txt | 394 +-
requirements/translations.txt | 430 +-
scripts/check-type.js | 101 +-
scripts/uv-pip-compile.sh | 3 +-
superset-embedded-sdk/package-lock.json | 360 +-
superset-embedded-sdk/src/index.ts | 4 +
superset-frontend/babel.config.js | 8 +-
.../cypress-base/cypress/e2e/auth/login.test.ts | 7 -
.../cypress-base/cypress/e2e/auth/register.test.ts | 37 -
.../cypress/e2e/dashboard/drillby.test.ts | 6 +-
.../e2e/dashboard/horizontalFilterBar.test.ts | 1 +
.../dashboard/nativeFilters.noInitState.test.ts | 151 +-
.../cypress-base/cypress/e2e/dashboard/utils.ts | 21 +-
.../cypress-base/cypress/e2e/explore/chart.test.js | 6 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 76564 ++++++++++---------
superset-frontend/package.json | 37 +-
.../plugin-chart/templates/src/MyChart.erb | 2 +-
.../packages/generator-superset/package.json | 6 +-
.../src/components/ControlHeader.tsx | 17 +-
.../src/components/Select.tsx | 4 +-
.../src/sections/chartTitle.tsx | 6 +-
.../src/sections/echartsTimeSeriesQuery.tsx | 2 +-
.../src/shared-controls/customControls.tsx | 62 +-
.../src/shared-controls/dndControls.tsx | 43 +-
.../src/shared-controls/sharedControls.tsx | 49 +
.../superset-ui-chart-controls/src/types.ts | 2 +
.../packages/superset-ui-core/package.json | 18 +-
.../src/chart/models/ChartProps.ts | 26 +-
.../superset-ui-core/src/chart/types/Base.ts | 6 +-
.../superset-ui-core/src/chart/types/VizType.ts | 2 +
.../src/components/AsyncAceEditor/index.tsx | 9 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 75 +
.../components/AsyncAceEditor/useJsonValidation.ts | 82 +
.../AutoComplete/AutoComplete.stories.tsx | 2 +-
.../src/components/Button/index.tsx | 11 +-
.../CodeSyntaxHighlighter.stories.tsx | 320 +
.../CodeSyntaxHighlighter/index.test.tsx | 156 +
.../src/components/CodeSyntaxHighlighter/index.tsx | 150 +
.../src/components/Collapse/Collapse.tsx | 4 +-
.../components/Collapse/CollapseLabelInModal.tsx | 58 +-
.../src/components/ConfirmStatusChange/index.tsx | 1 +
.../components/DeleteModal/DeleteModal.test.tsx | 6 +-
.../src/components/DeleteModal/index.tsx | 11 +-
.../src/components/DeleteModal/types.ts | 1 +
.../src/components/Dropdown/index.tsx | 2 +-
.../src/components/DropdownButton/index.tsx | 4 +-
.../src/components/DropdownContainer/index.tsx | 133 +-
.../src/components/EmptyState/index.tsx | 4 +-
.../src/components/EmptyState/types.ts | 2 +
.../src/components/FaveStar/index.tsx | 2 +-
.../src/components/Icons/AsyncIcon.tsx | 4 +-
.../src/components/Icons/BaseIcon.tsx | 11 +-
.../src/components/InfoTooltip/index.tsx | 4 +-
.../src/components/Label/index.tsx | 4 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 2 +-
.../src/components/LastUpdated/index.tsx | 21 +-
.../src/components/Modal/FormModal.tsx | 2 +
.../src/components/Modal/Modal.stories.tsx | 2 +-
.../src/components/Modal/Modal.tsx | 221 +-
.../superset-ui-core/src/components/Modal/types.ts | 7 +-
.../src/components/ModalTrigger/index.tsx | 7 +-
.../src/components/PageHeaderWithActions/index.tsx | 6 +-
.../src/components/PopoverDropdown/index.tsx | 2 +-
.../src/components/Radio/index.tsx | 14 +-
.../src/components/Select/AsyncSelect.tsx | 12 +-
.../src/components/Select/Select.tsx | 12 +-
.../src/components/Select/styles.tsx | 2 +-
.../src/components/Select/types.ts | 4 +-
.../TelemetryPixel/TelemetryPixel.test.tsx | 2 +-
.../src/components/TelemetryPixel/index.tsx | 3 +-
.../src/components/ThemeEditor/index.tsx | 150 -
.../src/components/ThemeSelect/index.tsx | 79 -
.../components/ThemeSubMenu/ThemeSubMenu.test.tsx | 273 +
.../src/components/ThemeSubMenu/index.tsx | 170 +
.../src/components/Typography/index.tsx | 1 +
.../src/components/UnsavedChangesModal/index.tsx | 90 +-
.../superset-ui-core/src/components/index.ts | 3 +
.../superset-ui-core/src/connection/constants.ts | 2 +-
.../superset-ui-core/src/currency-format/utils.ts | 2 +-
.../superset-ui-core/src/query/buildQueryObject.ts | 2 +
.../superset-ui-core/src/theme/GlobalStyles.tsx | 11 -
.../superset-ui-core/src/theme/Theme.test.tsx | 39 +-
.../packages/superset-ui-core/src/theme/Theme.tsx | 78 +-
.../superset-ui-core/src/theme/exampleThemes.ts | 10 +-
.../packages/superset-ui-core/src/theme/index.tsx | 41 +-
.../packages/superset-ui-core/src/theme/types.ts | 74 +-
.../superset-ui-core/src/theme/utils.test.ts | 105 +-
.../packages/superset-ui-core/src/theme/utils.ts | 61 +-
.../src/theme/utils/themeUtils.test.ts | 134 +
.../superset-ui-core/src/theme/utils/themeUtils.ts | 113 +
.../superset-ui-core/src/translation/Translator.ts | 31 +-
.../src/types/react-syntax-highlighter.d.ts | 0
.../superset-ui-core/src/utils/featureFlags.ts | 6 +-
.../packages/superset-ui-core/src/utils/html.tsx | 7 +
.../src/validator/validateMapboxStylesUrl.ts | 23 +-
.../test/chart/components/MockChartPlugins.tsx | 6 +-
.../test/chart/models/ChartProps.test.ts | 4 +-
.../test/currency-format/utils.test.ts | 14 +
.../superset-ui-core/test/utils/tooltip.test.ts | 29 +
.../test/validator/validateMapboxStylesUrl.test.ts | 7 +-
.../packages/superset-ui-demo/package.json | 4 +-
.../plugins/legacy-plugin-chart-chord/package.json | 2 +-
.../scripts/Country Map GeoJSON Generator.ipynb | Bin 10916999 -> 2319015
bytes
.../src/countries/latvia.geojson | Bin 305206 -> 11637199
bytes
.../src/vendor/parcoords/d3.parcoords.js | 8 +-
.../src/ReactWorldMap.jsx | 4 +
.../legacy-plugin-chart-world-map/src/WorldMap.js | 2 +-
.../legacy-preset-chart-deckgl/package.json | 19 +-
.../src/CategoricalDeckGLContainer.tsx | 150 +-
.../src/DeckGLContainer.tsx | 55 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 223 +-
.../src/components/Legend.tsx | 3 +-
.../legacy-preset-chart-deckgl/src/factory.tsx | 144 +-
.../src/layers/Arc/Arc.tsx | 59 +-
.../src/layers/Arc/controlPanel.ts | 64 +-
.../src/layers/Arc/index.ts | 7 +-
.../src/layers/Contour/Contour.tsx | 21 +-
.../src/layers/Contour/index.ts | 3 +-
.../src/layers/Geojson/Geojson.tsx | 43 +-
.../src/layers/Geojson/index.ts | 3 +-
.../src/layers/Grid/Grid.tsx | 74 +-
.../src/layers/Grid/controlPanel.ts | 9 +-
.../src/layers/Grid/index.ts | 3 +-
.../src/layers/Heatmap/Heatmap.tsx | 41 +-
.../src/layers/Heatmap/controlPanel.ts | 20 +-
.../src/layers/Heatmap/index.ts | 3 +-
.../src/layers/Hex/Hex.tsx | 77 +-
.../src/layers/Hex/controlPanel.ts | 8 +-
.../src/layers/Hex/index.ts | 3 +-
.../src/layers/Path/Path.tsx | 32 +-
.../src/layers/Path/index.ts | 3 +-
.../src/layers/Polygon/Polygon.tsx | 166 +-
.../src/layers/Polygon/controlPanel.ts | 27 +-
.../src/layers/Polygon/index.ts | 3 +-
.../src/layers/Scatter/Scatter.tsx | 35 +-
.../src/layers/Scatter/controlPanel.ts | 20 +-
.../src/layers/Scatter/index.ts | 3 +-
.../src/layers/Screengrid/Screengrid.tsx | 153 +-
.../src/layers/Screengrid/controlPanel.ts | 27 +-
.../src/layers/Screengrid/index.ts | 3 +-
.../src/layers/common.test.ts | 159 +-
.../src/layers/common.tsx | 149 +-
.../src/transformProps.ts | 23 +-
.../legacy-preset-chart-deckgl/src/types.ts | 6 +
.../{Shared_DeckGL.jsx => Shared_DeckGL.tsx} | 234 +-
.../src/utilities/utils.ts | 17 +
.../legacy-preset-chart-deckgl/src/utils.test.ts | 46 +
.../legacy-preset-chart-deckgl/src/utils.ts | 78 +-
.../src/utils/crossFiltersDataMask.test.ts | 462 +
.../src/utils/crossFiltersDataMask.ts | 422 +
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../package.json | 8 +-
.../src/AgGridTable/components/CustomHeader.tsx | 187 +
.../src/AgGridTable/components/CustomPopover.tsx | 104 +
.../src/AgGridTable/components/Filter.tsx} | 16 +-
.../src/AgGridTable/components/KebabMenu.tsx} | 22 +-
.../src/AgGridTable/components/Pagination.tsx | 139 +
.../components/SearchSelectDropdown.tsx | 11 +-
.../components/TimeComparisonVisibility.tsx | 117 +
.../src/AgGridTable/index.tsx | 432 +
.../src/AgGridTableChart.tsx | 292 +
.../src/buildQuery.ts | 73 +-
.../src/consts.ts | 19 +-
.../src/controlPanel.tsx | 155 +-
.../src/images/Table.jpg | Bin
.../src/images/Table2.jpg | Bin
.../src/images/Table3.jpg | Bin
.../src/images/thumbnail.png | Bin
.../src/images/thumbnailLarge.png | Bin
.../src/index.ts | 6 +-
.../src/renderers/NumericCellRenderer.tsx | 206 +
.../src/renderers/TextCellRenderer.tsx | 71 +
.../src/styles/index.tsx | 405 +
.../src/transformProps.ts | 530 +-
.../src/types.ts | 139 +-
.../src/utils/DateWithFormatter.ts | 0
.../src/utils/dateFilterComparator.ts} | 41 +-
.../src/utils/extent.ts | 0
.../src}/utils/externalAPIs.ts | 23 +-
.../src/utils/filterValueGetter.ts} | 35 +-
.../src/utils/formatValue.ts | 37 +-
.../src/utils/getAggFunc.ts} | 17 +-
.../src/utils/getCellClass.ts} | 43 +-
.../src/utils/getCellStyle.ts | 82 +
.../src/utils/getCrossFilterDataMask.ts | 103 +
.../src/utils/getInitialSortState.ts | 65 +
.../src/utils/isEqualColumns.ts | 0
.../src/utils/useColDefs.ts | 327 +
.../src/utils/useTableTheme.ts} | 42 +-
.../plugin-chart-ag-grid-table/tsconfig.json | 18 +
.../types/external.d.ts | 0
.../plugins/plugin-chart-cartodiagram/package.json | 2 +
.../src/components/ChartLayer.tsx | 8 +
.../src/components/ChartWrapper.tsx | 21 +-
.../src/components/OlChartMap.tsx | 5 +
.../plugins/plugin-chart-cartodiagram/src/types.ts | 2 +
.../src/util/chartUtil.tsx | 2 +
.../test/components/chartLayer.test.ts | 2 +
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 6 +-
.../src/BigNumber/BigNumberViz.tsx | 382 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 45 +-
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 57 +-
.../BigNumberWithTrendline/transformProps.test.ts | 37 +-
.../BigNumberWithTrendline/transformProps.ts | 68 +-
.../src/Gantt/EchartsGantt.tsx | 89 +
.../src/{Bubble => Gantt}/buildQuery.ts | 39 +-
.../plugin-chart-echarts/src/Gantt}/constants.ts | 10 +-
.../src/Gantt/controlPanel.tsx | 136 +
.../src/Gantt/images/example1.png | Bin 0 -> 89336 bytes
.../src/Gantt/images/example2.png | Bin 0 -> 89358 bytes
.../src/Gantt/images/thumbnail.png | Bin 0 -> 56320 bytes
.../src/{Sunburst => Gantt}/index.ts | 26 +-
.../src/Gantt/transformProps.ts | 440 +
.../src/{Bubble => Gantt}/types.ts | 60 +-
.../src/Histogram/controlPanel.tsx | 2 -
.../src/MixedTimeseries/controlPanel.tsx | 14 +-
.../src/Sankey/transformProps.ts | 4 +-
.../src/Sunburst/EchartsSunburst.tsx | 61 +-
.../src/Timeseries/Area/controlPanel.tsx | 14 +-
.../src/Timeseries/EchartsTimeseries.tsx | 10 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 28 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 14 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 14 +-
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 14 +-
.../src/Timeseries/Step/controlPanel.tsx | 14 +-
.../src/Tree/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 89 +-
.../plugins/plugin-chart-echarts/src/controls.tsx | 22 +-
.../plugins/plugin-chart-echarts/src/index.ts | 2 +
.../plugin-chart-echarts/src/utils/series.ts | 17 +
.../plugin-chart-echarts/src/utils/tooltip.ts | 19 +
.../test/BigNumber/transformProps.test.ts | 5 +-
.../test/Gantt/buildQuery.test.ts | 64 +
.../test/Gantt/transformProps.test.ts | 269 +
.../test/MixedTimeseries/buildQuery.test.ts | 2 +
.../plugins/plugin-chart-handlebars/package.json | 6 +-
.../plugins/plugin-chart-pivot-table/package.json | 4 +-
.../src/react-pivottable/Styles.js | 6 +-
.../src/react-pivottable/TableRenderers.jsx | 14 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 9 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 93 +-
.../plugins/plugin-chart-table/src/consts.ts | 5 +-
.../plugins/plugin-chart-table/src/i18n.ts | 66 -
.../plugin-chart-table/src/transformProps.ts | 12 +-
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
superset-frontend/scripts/po2json.sh | 4 +-
.../src/SqlLab/components/HighlightedSql/index.tsx | 69 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../src/SqlLab/components/QueryTable/index.tsx | 4 +-
.../components/RunQueryActionButton/index.tsx | 2 +-
.../components/SaveDatasetActionButton/index.tsx | 2 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 24 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 12 +-
.../src/SqlLab/components/ShowSQL/index.tsx | 18 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 5 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 16 +-
.../src/SqlLab/components/TableElement/index.tsx | 8 +-
.../src/SqlLab/components/TablePreview/index.tsx | 2 +-
.../assets/images/icons/big_number_chart_tile.svg | Bin 1321 -> 1380 bytes
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 2 +-
.../src/components/Chart/ChartRenderer.jsx | 2 +
.../src/components/Chart/DrillBy/DrillByModal.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailModal.tsx | 3 +-
.../src/components/Chart/DrillDetail/index.ts | 1 +
...ilMenuItems.tsx => useDrillDetailMenuItems.tsx} | 179 +-
.../components/Chart/MenuItemWithTruncation.tsx | 2 +-
.../src/components/Chart/chartAction.js | 28 +-
.../src/components/Chart/chartActions.test.js | 17 +-
.../src/components/CrudThemeProvider.tsx | 76 +
.../DatabaseSelector/DatabaseSelector.test.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 7 +-
.../Datasource/ChangeDatasourceModal.tsx | 3 +-
.../src/components/Datasource/DatasourceEditor.jsx | 79 +-
.../Datasource/DatasourceEditor.test.jsx | 33 +
.../components/ErrorMessage/BasicErrorAlert.tsx | 9 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 2 +
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 3 +-
.../src/components/ErrorMessage/IssueCode.tsx | 2 +-
.../ErrorMessage/MarshmallowErrorMessage.tsx | 2 +-
.../src/components/GridTable/Header.tsx | 4 +-
.../src/components/ImportModal/index.tsx | 5 +-
.../components/ListView/Filters/NumericalRange.tsx | 4 +-
.../src/components/ListView/Filters/Search.tsx | 8 +-
.../src/components/ListView/ListView.tsx | 1 +
.../src/components/MessageToasts/Toast.tsx | 1 -
.../ModalTitleWithIcon/ModalTitleWithIcon.test.tsx | 60 +
.../src/components/ModalTitleWithIcon/index.tsx | 62 +
superset-frontend/src/components/Tag/TagType.ts | 7 +
superset-frontend/src/components/Tag/index.tsx | 3 +-
.../src/components/TagsList/index.tsx | 29 +-
.../components/TimePicker/index.tsx} | 21 +-
.../src/components/UiConfigContext/index.tsx | 7 +-
superset-frontend/src/constants.ts | 7 +-
.../src/dashboard/actions/dashboardInfo.ts | 46 +
.../src/dashboard/actions/dashboardState.js | 5 +
.../components/CssEditor/CssEditor.test.tsx | 38 +-
.../src/dashboard/components/CssEditor/index.tsx | 224 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 46 +
.../DashboardBuilder/DashboardWrapper.tsx | 1 +
.../dashboard/components/DashboardBuilder/state.ts | 3 +
.../dashboard/components/EmbeddedModal/index.tsx | 9 +-
.../dashboard/components/FiltersBadge/index.tsx | 2 +-
.../dashboard/components/Header/Header.test.tsx | 6 +-
.../src/dashboard/components/Header/index.jsx | 8 +-
.../src/dashboard/components/Header/types.ts | 4 +
.../Header/useHeaderActionsDropdownMenu.tsx | 370 +-
.../PropertiesModal/PropertiesModal.test.tsx | 7 +-
.../dashboard/components/PropertiesModal/index.tsx | 23 +-
.../components/RefreshIntervalModal.test.tsx | 14 +-
.../src/dashboard/components/SaveModal.tsx | 280 +-
.../components/SliceHeader/SliceHeader.test.tsx | 98 +
.../src/dashboard/components/SliceHeader/index.tsx | 8 +-
.../SliceHeaderControls.test.tsx | 15 +
.../ViewResultsModalTrigger.tsx | 2 +-
.../components/SliceHeaderControls/index.tsx | 366 +-
.../components/SyncDashboardState/index.tsx | 12 +-
.../components/URLShortLinkButton/index.tsx | 10 +-
.../components/filterscope/FilterScope.test.tsx | 2 +-
.../dashboard/components/gridComponents/Chart.jsx | 41 +-
.../dashboard/components/gridComponents/Tabs.jsx | 3 +-
.../menu/DownloadMenuItems/DownloadAsImage.tsx | 2 +
.../menu/DownloadMenuItems/DownloadAsPdf.tsx | 2 +
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 22 +-
.../components/menu/DownloadMenuItems/index.tsx | 114 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 49 +-
.../components/menu/ShareMenuItems/index.tsx | 43 +-
.../FilterBar/ActionButtons/index.tsx | 20 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 3 +-
.../CrossFilters/ScopingModal/ScopingModal.tsx | 6 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 2 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterBar/FilterControls/FilterControl.tsx | 4 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 2 +-
.../nativeFilters/FilterBar/Vertical.tsx | 2 +-
.../components/nativeFilters/FilterBar/index.tsx | 8 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 7 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 118 +-
.../FiltersConfigForm/FilterScope/state.ts | 21 +-
.../FiltersConfigForm/FilterScope/types.ts | 4 +
.../FiltersConfigForm/FilterScope/utils.ts | 179 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 192 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 2 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 2 +-
.../components/nativeFilters/selectors.test.ts | 143 +
.../components/nativeFilters/selectors.ts | 19 +-
.../dashboard/components/nativeFilters/utils.ts | 163 +
.../src/dashboard/containers/DashboardPage.tsx | 29 +-
.../src/dashboard/reducers/dashboardInfo.js | 7 +
superset-frontend/src/dashboard/styles.ts | 14 +-
superset-frontend/src/dashboard/types.ts | 14 +
.../dashboard/util/activeAllDashboardFilters.ts | 122 +-
.../util/charts/getFormDataWithExtraFilters.ts | 97 +-
.../src/dashboard/util/getChartIdsInFilterScope.ts | 55 +-
.../EmbeddedContextProviders.tsx} | 41 +-
superset-frontend/src/embedded/index.tsx | 40 +-
.../src/explore/actions/saveModalActions.test.ts | 2 +-
.../src/explore/actions/saveModalActions.ts | 2 +-
.../src/explore/components/ControlHeader.tsx | 1 +
.../explore/components/ControlPanelsContainer.tsx | 5 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 3 +-
.../src/explore/components/EmbedCodeContent.jsx | 2 +-
.../components/ExploreChartHeader/index.jsx | 2 +-
.../components/ExploreViewContainer/index.jsx | 28 +-
.../PropertiesModal/PropertiesModal.test.tsx | 96 +-
.../explore/components/PropertiesModal/index.tsx | 67 +-
.../src/explore/components/SaveModal.tsx | 7 +-
.../ColorBreakpointOption.test.tsx | 125 +
.../ColorBreakpointOption.tsx | 66 +
.../ColorBreakpointPopoverControl.test.tsx | 312 +
.../ColorBreakpointPopoverControl.tsx | 265 +
.../ColorBreakpointPopoverTrigger.test.tsx | 236 +
.../ColorBreakpointPopoverTrigger.tsx} | 20 +-
.../ColorBreakpointsControl.test.tsx | 225 +
.../controls/ColorBreakpointsControl/index.tsx | 127 +
.../types.ts | 40 +-
.../controls/ColorSchemeControl/index.tsx | 2 +-
.../controls/ContourControl/ContourOption.tsx | 2 +-
.../DatasourceControl/DatasourceControl.test.tsx | 27 +
.../controls/DatasourceControl/index.jsx | 99 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 23 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 7 +-
.../DndColumnSelectPopoverTitle.jsx | 4 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 5 +-
.../controls/FilterControl/AdhocFilter/index.js | 2 +
.../FilterControl/AdhocFilterEditPopover/index.jsx | 160 +-
.../MapViewControl/MapViewPopoverContent.tsx | 60 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 2 +-
.../components/controls/TimeRangeControl/index.tsx | 58 +
.../explore/components/controls/ViewQuery.test.tsx | 40 +-
.../src/explore/components/controls/ViewQuery.tsx | 153 +-
.../explore/components/controls/ViewQueryModal.tsx | 6 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 13 +-
.../components/controls/VizTypeControl/VizTile.tsx | 3 +-
.../VizTypeControl/VizTypeControl.test.tsx | 21 +
.../controls/VizTypeControl/VizTypeGallery.tsx | 9 +-
.../controls/VizTypeControl/constants.tsx | 2 +-
.../src/explore/components/controls/index.js | 4 +
.../useExploreAdditionalActionsMenu/index.jsx | 466 +-
.../src/explore/controlPanels/sections.tsx | 3 +-
.../getFormDataWithDashboardContext.ts | 95 +-
.../src/explore/exploreUtils/exploreUtils.test.jsx | 4 +-
.../src/explore/exploreUtils/index.js | 6 +-
superset-frontend/src/explore/fixtures.tsx | 4 +-
superset-frontend/src/explore/types.ts | 2 +-
.../src/features/alerts/AlertReportModal.tsx | 22 +-
.../annotationLayers/AnnotationLayerModal.tsx | 41 +-
.../src/features/annotations/AnnotationModal.tsx | 39 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 39 +-
.../databases/DatabaseModal/ExtraOptions.test.tsx | 28 +
.../databases/DatabaseModal/ExtraOptions.tsx | 42 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 2 +-
.../src/features/databases/DatabaseModal/index.tsx | 79 +-
.../src/features/databases/DatabaseModal/styles.ts | 3 +-
.../UploadDataModel/UploadDataModal.test.tsx | 1227 +-
.../features/databases/UploadDataModel/index.tsx | 54 +-
.../features/databases/UploadDataModel/styles.ts | 2 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 4 +-
.../datasets/AddDataset/Footer/Footer.test.tsx | 146 +-
.../features/datasets/AddDataset/Footer/index.tsx | 52 +-
.../features/datasets/DuplicateDatasetModal.tsx | 11 +-
.../src/features/groups/GroupListModal.tsx | 11 +-
superset-frontend/src/features/home/ChartTable.tsx | 18 +-
.../src/features/home/DashboardTable.tsx | 17 +-
superset-frontend/src/features/home/Menu.test.tsx | 39 +
superset-frontend/src/features/home/Menu.tsx | 9 +-
superset-frontend/src/features/home/RightMenu.tsx | 53 +-
.../src/features/home/SavedQueries.tsx | 66 +-
.../src/features/queries/QueryPreviewModal.tsx | 8 -
.../features/queries/SavedQueryPreviewModal.tsx | 13 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 95 +-
.../HeaderReportDropdown/index.test.tsx | 58 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 274 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 28 +-
.../src/features/roles/RoleListAddModal.tsx | 12 +-
.../src/features/roles/RoleListDuplicateModal.tsx | 11 +-
.../src/features/roles/RoleListEditModal.tsx | 10 +-
.../src/features/tags/BulkTagModal.tsx | 4 +-
superset-frontend/src/features/tags/TagModal.tsx | 10 +-
superset-frontend/src/features/tags/tags.ts | 7 +-
.../src/features/themes/ThemeModal.test.tsx | 286 +
.../src/features/themes/ThemeModal.tsx | 414 +
.../src/features/{cssTemplates => themes}/types.ts | 8 +-
.../src/features/users/UserListModal.tsx | 9 +-
.../components/Range/RangeFilterPlugin.test.tsx | 98 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 515 +-
.../src/filters/components/Range/types.ts | 7 +
.../components/Select/SelectFilterPlugin.tsx | 2 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 3 +
.../TimeColumn/TimeColumnFilterPlugin.tsx | 2 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 2 +-
superset-frontend/src/filters/components/common.ts | 17 +-
superset-frontend/src/pages/ActionLog/index.tsx | 8 +-
.../src/pages/AlertReportList/index.tsx | 36 +-
.../src/pages/AnnotationLayerList/index.tsx | 32 +-
.../src/pages/AnnotationList/index.tsx | 8 +-
superset-frontend/src/pages/Chart/Chart.test.tsx | 89 +
superset-frontend/src/pages/Chart/index.tsx | 131 +-
.../src/pages/ChartCreation/index.tsx | 4 +-
.../src/pages/ChartList/ChartList.test.jsx | 90 +
superset-frontend/src/pages/ChartList/index.tsx | 54 +-
.../src/pages/CssTemplateList/index.tsx | 18 +-
.../src/pages/DashboardList/index.tsx | 47 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 16 +-
superset-frontend/src/pages/DatasetList/index.tsx | 42 +-
superset-frontend/src/pages/GroupsList/index.tsx | 33 +-
superset-frontend/src/pages/Home/index.tsx | 1 +
superset-frontend/src/pages/Login/Login.test.tsx | 55 +
superset-frontend/src/pages/Login/index.tsx | 9 +-
.../src/pages/QueryHistoryList/index.tsx | 47 +-
.../src/pages/Register/Register.test.tsx | 82 +
superset-frontend/src/pages/Register/index.tsx | 2 +-
superset-frontend/src/pages/RolesList/index.tsx | 8 +-
.../src/pages/RowLevelSecurityList/index.tsx | 26 +-
.../src/pages/SavedQueryList/index.tsx | 47 +-
superset-frontend/src/pages/Tags/index.tsx | 15 +-
.../src/pages/ThemeList/ThemeList.test.tsx | 201 +
superset-frontend/src/pages/ThemeList/index.tsx | 524 +
superset-frontend/src/pages/UserInfo/index.tsx | 7 +-
superset-frontend/src/pages/UsersList/index.tsx | 8 +-
superset-frontend/src/preamble.ts | 98 +-
superset-frontend/src/setup/setupClient.ts | 32 +
superset-frontend/src/theme/ThemeController.ts | 874 +
superset-frontend/src/theme/ThemeController.tsx | 246 -
superset-frontend/src/theme/ThemeProvider.tsx | 88 +-
.../src/theme/tests/ThemeController.test.ts | 1351 +
.../src/theme/tests/ThemeProvider.test.tsx | 238 +
superset-frontend/src/types/Dashboard.ts | 5 +
.../src/types/DashboardContextForExplore.ts | 3 +-
superset-frontend/src/types/bootstrapTypes.ts | 51 +-
superset-frontend/src/utils/downloadAsImage.ts | 273 +-
.../utils/downloadAsPivotExcel.ts} | 14 +-
superset-frontend/src/utils/simpleFilterToAdhoc.ts | 43 +-
superset-frontend/src/views/CRUD/types.ts | 3 +-
.../src/views/RootContextProviders.tsx | 11 +-
superset-frontend/src/views/routes.tsx | 8 +
.../src/visualizations/presets/MainPreset.js | 8 +
superset-frontend/webpack.config.js | 13 +
superset-websocket/package-lock.json | 144 +-
superset-websocket/package.json | 13 +-
superset-websocket/spec/config.test.ts | 1 +
superset-websocket/spec/index.test.ts | 35 +-
superset-websocket/src/index.ts | 8 +-
.../utils/client-ws-app/package-lock.json | 30 +-
.../utils/client-ws-app/package.json | 2 +-
.../advanced_data_type/plugins/internet_address.py | 16 +-
.../advanced_data_type/plugins/internet_port.py | 16 +-
superset/app.py | 21 +-
superset/charts/schemas.py | 8 +
superset/commands/dataset/create.py | 11 +-
superset/commands/dataset/importers/v1/utils.py | 5 +
superset/commands/importers/v1/utils.py | 6 +
superset/commands/sql_lab/export.py | 4 +-
.../theme}/__init__.py | 0
superset/commands/theme/delete.py | 116 +
.../commands/{security => theme}/exceptions.py | 18 +-
superset/commands/theme/export.py | 75 +
superset/commands/theme/import_themes.py | 85 +
.../theme/importers}/__init__.py | 0
.../{chart => theme}/importers/dispatcher.py | 11 +-
superset/commands/theme/seed.py | 108 +
.../ssh_tunnel/delete.py => theme/update.py} | 42 +-
superset/common/query_context_processor.py | 121 +-
superset/common/query_object.py | 3 +
superset/common/utils/time_range_utils.py | 2 +-
superset/config.py | 224 +-
superset/connectors/sqla/models.py | 192 +-
superset/connectors/sqla/utils.py | 8 +-
superset/daos/{security.py => theme.py} | 14 +-
superset/dashboards/api.py | 1 +
superset/dashboards/schemas.py | 13 +
superset/datasets/schemas.py | 14 +-
superset/db_engine_specs/__init__.py | 2 +-
superset/db_engine_specs/base.py | 78 +-
superset/db_engine_specs/databricks.py | 52 +-
superset/db_engine_specs/doris.py | 46 +-
superset/db_engine_specs/oracle.py | 2 +-
superset/db_engine_specs/snowflake.py | 7 +-
superset/examples/bart_lines.py | 4 +-
superset/examples/birth_names.py | 12 +-
.../Featured Charts/{Heatmap.yaml => Gantt.yaml} | 70 +-
.../configs/dashboards/Featured_Charts.yaml | 37 +-
.../configs/datasets/examples/FCC_2018_Survey.yaml | 2 +-
.../configs/datasets/examples/channel_members.yaml | 2 +-
.../configs/datasets/examples/channels.yaml | 2 +-
.../datasets/examples/cleaned_sales_data.yaml | 2 +-
.../configs/datasets/examples/covid_vaccines.yaml | 2 +-
.../configs/datasets/examples/exported_stats.yaml | 2 +-
.../configs/datasets/examples/messages.yaml | 2 +-
.../datasets/examples/project_management.yaml | 293 +
.../configs/datasets/examples/threads.yaml | 2 +-
.../datasets/examples/unicode_test.test.yaml | 2 +-
.../examples/configs/datasets/examples/users.yaml | 2 +-
.../configs/datasets/examples/users_channels.yaml | 2 +-
.../datasets/examples/video_game_sales.yaml | 2 +-
superset/examples/country_map.py | 2 +-
superset/examples/deck.py | 14 +-
superset/examples/energy.py | 2 +-
superset/examples/flights.py | 4 +-
superset/examples/helpers.py | 20 +-
superset/examples/long_lat.py | 8 +-
superset/examples/misc_dashboard.py | 2 +-
superset/examples/multiformat_time_series.py | 4 +-
superset/examples/paris.py | 2 +-
superset/examples/random_time_series.py | 4 +-
superset/examples/sf_population_polygons.py | 4 +-
superset/examples/supported_charts_dashboard.py | 2 +-
superset/examples/world_bank.py | 2 +-
superset/explore/api.py | 6 +
superset/extensions/pylint.py | 55 +-
superset/initialization/__init__.py | 116 +-
superset/jinja_context.py | 8 +-
.../shared/migrate_viz/query_functions.py | 2 +-
...2_convert_metric_currencies_from_str_to_json.py | 2 +-
...=> 2025-07-15_16-40_3fd555e76e3d_theme_crud.py} | 66 +-
...d1fb11291f2_add_theme_id_to_dashboard_model.py} | 42 +-
superset/models/core.py | 12 +
superset/models/dashboard.py | 3 +
superset/models/helpers.py | 202 +-
superset/models/sql_lab.py | 4 +-
superset/row_level_security/api.py | 2 +
superset/security/manager.py | 1 +
superset/sql/parse.py | 71 +-
superset/templates/appbuilder/baselayout.html | 52 -
.../templates/appbuilder/general/model/list.html | 36 -
.../appbuilder/general/widgets/base_list.html | 66 -
.../appbuilder/general/widgets/search.html | 76 -
superset/templates/appbuilder/navbar.html | 46 -
superset/templates/superset/base.html | 50 -
superset/templates/superset/basic.html | 91 -
superset/templates/superset/export_dashboards.html | 34 -
.../templates/superset/fab_overrides/list.html | 24 -
.../superset/fab_overrides/list_role.html | 24 -
.../fab_overrides/list_with_checkboxes.html | 99 -
superset/templates/superset/flash_wrapper.html | 21 -
.../form_view/columnar_to_database_view/edit.html | 25 -
.../form_view/database_schemas_selector.html | 70 -
superset/templates/superset/import_dashboards.html | 68 -
.../templates/superset/models/database/add.html | 28 -
.../templates/superset/models/database/edit.html | 28 -
.../templates/superset/models/database/macros.html | 91 -
superset/templates/superset/public_welcome.html | 23 -
.../templates/superset/reports/slice_data.html | 50 -
superset/templates/superset/spa.html | 117 +-
superset/templates/superset/traceback.html | 33 -
.../{advanced_data_type => themes}/__init__.py | 0
superset/themes/api.py | 534 +
superset/{css_templates => themes}/filters.py | 10 +-
superset/themes/schemas.py | 88 +
superset/themes/types.py | 67 +
superset/themes/utils.py | 115 +
.../{pt_BR => ca}/LC_MESSAGES/messages.po | 9756 ++-
superset/translations/es/LC_MESSAGES/messages.po | 9264 +--
superset/translations/ja/LC_MESSAGES/messages.po | 1236 +-
superset/utils/core.py | 110 +-
superset/utils/webdriver.py | 14 +-
superset/views/base.py | 66 +-
superset/views/core.py | 37 +-
superset/views/filters.py | 19 +
superset/views/{css_templates.py => themes.py} | 7 +-
superset/views/utils.py | 5 +
superset/viz.py | 162 +-
tests/integration_tests/base_tests.py | 88 +-
tests/integration_tests/charts/api_tests.py | 46 +-
tests/integration_tests/dashboards/api_tests.py | 65 +-
.../integration_tests/dashboards/commands_tests.py | 4 +-
.../dashboards/test_theme_integration.py | 361 +
tests/integration_tests/databases/api_tests.py | 261 +-
tests/integration_tests/datasets/api_tests.py | 147 +-
.../db_engine_specs/base_engine_spec_tests.py | 6 +-
.../fixtures/dashboard_with_tabs.py | 2 +-
tests/integration_tests/fixtures/importexport.py | 6 +
tests/integration_tests/reports/api_tests.py | 2 +-
.../security/row_level_security_tests.py | 24 +
tests/integration_tests/sql_lab/api_tests.py | 31 +-
tests/integration_tests/sql_lab/commands_tests.py | 8 +-
.../sql_lab/permalink/api_tests.py | 2 +-
tests/integration_tests/sqla_models_tests.py | 8 +-
.../integration_tests/themes}/__init__.py | 0
.../integration_tests/themes/api_endpoints_test.py | 322 +
tests/integration_tests/themes/api_tests.py | 398 +
tests/integration_tests/viz_tests.py | 614 +
.../databases/importers/v1/command_test.py | 2 +-
tests/unit_tests/commands/dataset/test_create.py | 170 +
tests/unit_tests/commands/report/execute_test.py | 2 +-
.../common/test_query_context_processor.py | 8 +-
tests/unit_tests/connectors/sqla/models_test.py | 409 +
tests/unit_tests/connectors/sqla/test_utils.py | 123 +
tests/unit_tests/db_engine_specs/test_base.py | 118 +-
tests/unit_tests/db_engine_specs/test_doris.py | 83 +-
tests/unit_tests/db_engine_specs/test_oracle.py | 2 +-
tests/unit_tests/db_engine_specs/test_snowflake.py | 42 +
.../unit_tests/migrations/shared/catalogs_test.py | 2 +-
tests/unit_tests/models/helpers_test.py | 314 +
tests/unit_tests/models/sql_lab_test.py | 45 +-
tests/unit_tests/queries/query_object_test.py | 1 +
tests/unit_tests/security/manager_test.py | 2 +-
tests/unit_tests/sql/parse_tests.py | 28 +-
tests/unit_tests/sql_lab_test.py | 6 +-
.../unit_tests/themes}/__init__.py | 0
tests/unit_tests/themes/api_test.py | 119 +
tests/unit_tests/themes/commands_test.py | 229 +
tests/unit_tests/themes/dao_test.py | 56 +
tests/unit_tests/themes/model_test.py | 53 +
tests/unit_tests/themes/test_utils.py | 93 +
tests/unit_tests/utils/map_type_tests.py | 86 +
722 files changed, 81052 insertions(+), 57311 deletions(-)
create mode 100644 .cursor/rules/dev-standard.mdc
create mode 100644 .devcontainer/Dockerfile
create mode 100644 .devcontainer/README.md
create mode 100644 .devcontainer/bashrc-additions
create mode 100755 .devcontainer/build-and-push-image.sh
create mode 100644 .devcontainer/devcontainer.json
create mode 100755 .devcontainer/setup-dev.sh
create mode 100755 .devcontainer/start-superset.sh
create mode 120000 .github/copilot-instructions.md
create mode 100644 .github/workflows/claude.yml
create mode 100644 CHANGELOG/4.1.3.md
create mode 120000 CLAUDE.md
create mode 120000 GEMINI.md
create mode 120000 GPT.md
create mode 100644 LLMS.md
create mode 100644 docker-compose-light.yml
copy
superset/migrations/versions/2020-08-08_18-10_f2672aa8350a_add_slack_to_alerts.py
=> docker/pythonpath_dev/superset_config_docker_light.py (53%)
delete mode 100644 docs/.eslintrc.js
create mode 100644 docs/docs/configuration/map-tiles.mdx
copy {superset-websocket => docs}/eslint.config.js (60%)
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/auth/register.test.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/AsyncAceEditor/useJsonValidation.test.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/AsyncAceEditor/useJsonValidation.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/CodeSyntaxHighlighter/CodeSyntaxHighlighter.stories.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/CodeSyntaxHighlighter/index.test.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/CodeSyntaxHighlighter/index.tsx
delete mode 100644
superset-frontend/packages/superset-ui-core/src/components/ThemeEditor/index.tsx
delete mode 100644
superset-frontend/packages/superset-ui-core/src/components/ThemeSelect/index.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/ThemeSubMenu/ThemeSubMenu.test.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/ThemeSubMenu/index.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/theme/utils/themeUtils.test.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/theme/utils/themeUtils.ts
rename superset-frontend/{ =>
packages/superset-ui-core}/src/types/react-syntax-highlighter.d.ts (100%)
rename
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/{Shared_DeckGL.jsx
=> Shared_DeckGL.tsx} (56%)
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/crossFiltersDataMask.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/crossFiltersDataMask.ts
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/package.json (84%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/CustomHeader.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/CustomPopover.tsx
copy superset-frontend/{packages/superset-ui-core/__mocks__/svgrMock.tsx =>
plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/Filter.tsx} (73%)
copy superset-frontend/{packages/superset-ui-core/__mocks__/svgrMock.tsx =>
plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/KebabMenu.tsx}
(71%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/Pagination.tsx
copy superset-frontend/plugins/{plugin-chart-table/src/DataTable =>
plugin-chart-ag-grid-table/src/AgGridTable}/components/SearchSelectDropdown.tsx
(82%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/TimeComparisonVisibility.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/index.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTableChart.tsx
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/buildQuery.ts (87%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/consts.ts (81%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/controlPanel.tsx (92%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/images/Table.jpg (100%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/images/Table2.jpg (100%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/images/Table3.jpg (100%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/images/thumbnail.png (100%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/images/thumbnailLarge.png (100%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/index.ts (93%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/renderers/NumericCellRenderer.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/renderers/TextCellRenderer.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/styles/index.tsx
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/transformProps.ts (92%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/types.ts (64%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/utils/DateWithFormatter.ts (100%)
copy superset-frontend/{src/dashboard/util/setPeriodicRunner.ts =>
plugins/plugin-chart-ag-grid-table/src/utils/dateFilterComparator.ts} (53%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/utils/extent.ts (100%)
copy superset-frontend/plugins/{plugin-chart-table/src/DataTable =>
plugin-chart-ag-grid-table/src}/utils/externalAPIs.ts (78%)
copy
superset-frontend/{packages/superset-ui-core/src/query/types/AdvancedAnalytics.ts
=> plugins/plugin-chart-ag-grid-table/src/utils/filterValueGetter.ts} (63%)
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/utils/formatValue.ts (72%)
copy
superset-frontend/{packages/superset-ui-chart-controls/src/utils/defineSavedMetrics.ts
=> plugins/plugin-chart-ag-grid-table/src/utils/getAggFunc.ts} (73%)
copy
superset-frontend/plugins/{legacy-plugin-chart-world-map/src/ReactWorldMap.jsx
=> plugin-chart-ag-grid-table/src/utils/getCellClass.ts} (53%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getCellStyle.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getCrossFilterDataMask.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getInitialSortState.ts
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/src/utils/isEqualColumns.ts (100%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/useColDefs.ts
copy superset-frontend/{src/components/ErrorMessage/IssueCode.tsx =>
plugins/plugin-chart-ag-grid-table/src/utils/useTableTheme.ts} (61%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/tsconfig.json
copy superset-frontend/plugins/{plugin-chart-table =>
plugin-chart-ag-grid-table}/types/external.d.ts (100%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/EchartsGantt.tsx
copy superset-frontend/plugins/plugin-chart-echarts/src/{Bubble =>
Gantt}/buildQuery.ts (60%)
copy superset-frontend/{src/components/GridTable =>
plugins/plugin-chart-echarts/src/Gantt}/constants.ts (82%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/controlPanel.tsx
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/images/example1.png
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/images/example2.png
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/images/thumbnail.png
copy superset-frontend/plugins/plugin-chart-echarts/src/{Sunburst =>
Gantt}/index.ts (68%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/Gantt/transformProps.ts
copy superset-frontend/plugins/plugin-chart-echarts/src/{Bubble =>
Gantt}/types.ts (50%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Gantt/buildQuery.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Gantt/transformProps.test.ts
delete mode 100644 superset-frontend/plugins/plugin-chart-table/src/i18n.ts
copy
superset-frontend/src/components/Chart/DrillDetail/{DrillDetailMenuItems.tsx =>
useDrillDetailMenuItems.tsx} (63%)
create mode 100644 superset-frontend/src/components/CrudThemeProvider.tsx
create mode 100644
superset-frontend/src/components/ModalTitleWithIcon/ModalTitleWithIcon.test.tsx
create mode 100644
superset-frontend/src/components/ModalTitleWithIcon/index.tsx
copy superset-frontend/{packages/superset-ui-core/src/query/api/types.ts =>
src/components/TimePicker/index.tsx} (69%)
create mode 100644
superset-frontend/src/dashboard/components/nativeFilters/selectors.test.ts
copy superset-frontend/src/{views/RootContextProviders.tsx =>
embedded/EmbeddedContextProviders.tsx} (73%)
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointOption.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointOption.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverControl.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverControl.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverTrigger.test.tsx
copy
superset-frontend/src/explore/components/controls/{ContourControl/ContourPopoverTrigger.tsx
=> ColorBreakpointsControl/ColorBreakpointPopoverTrigger.tsx} (77%)
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointsControl.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ColorBreakpointsControl/index.tsx
copy superset-frontend/src/explore/components/controls/{ContourControl =>
ColorBreakpointsControl}/types.ts (65%)
create mode 100644
superset-frontend/src/explore/components/controls/TimeRangeControl/index.tsx
create mode 100644 superset-frontend/src/features/themes/ThemeModal.test.tsx
create mode 100644 superset-frontend/src/features/themes/ThemeModal.tsx
copy superset-frontend/src/features/{cssTemplates => themes}/types.ts (89%)
create mode 100644 superset-frontend/src/pages/Login/Login.test.tsx
create mode 100644 superset-frontend/src/pages/Register/Register.test.tsx
create mode 100644 superset-frontend/src/pages/ThemeList/ThemeList.test.tsx
create mode 100644 superset-frontend/src/pages/ThemeList/index.tsx
create mode 100644 superset-frontend/src/theme/ThemeController.ts
delete mode 100644 superset-frontend/src/theme/ThemeController.tsx
create mode 100644 superset-frontend/src/theme/tests/ThemeController.test.ts
create mode 100644 superset-frontend/src/theme/tests/ThemeProvider.test.tsx
copy
superset-frontend/{packages/superset-ui-core/src/validator/validateMaxValue.ts
=> src/utils/downloadAsPivotExcel.ts} (74%)
copy superset/{advanced_data_type => commands/theme}/__init__.py (100%)
create mode 100644 superset/commands/theme/delete.py
copy superset/commands/{security => theme}/exceptions.py (71%)
create mode 100644 superset/commands/theme/export.py
create mode 100644 superset/commands/theme/import_themes.py
copy superset/{advanced_data_type => commands/theme/importers}/__init__.py
(100%)
copy superset/commands/{chart => theme}/importers/dispatcher.py (90%)
create mode 100644 superset/commands/theme/seed.py
copy superset/commands/{database/ssh_tunnel/delete.py => theme/update.py} (54%)
copy superset/daos/{security.py => theme.py} (69%)
copy superset/examples/configs/charts/Featured Charts/{Heatmap.yaml =>
Gantt.yaml} (54%)
create mode 100644
superset/examples/configs/datasets/examples/project_management.yaml
copy
superset/migrations/versions/{2022-03-04_09-59_6766938c6065_add_key_value_store.py
=> 2025-07-15_16-40_3fd555e76e3d_theme_crud.py} (54%)
copy
superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py
=> 2025-07-15_18-41_cd1fb11291f2_add_theme_id_to_dashboard_model.py} (55%)
delete mode 100644 superset/templates/appbuilder/baselayout.html
delete mode 100644 superset/templates/appbuilder/general/model/list.html
delete mode 100644 superset/templates/appbuilder/general/widgets/base_list.html
delete mode 100644 superset/templates/appbuilder/general/widgets/search.html
delete mode 100644 superset/templates/appbuilder/navbar.html
delete mode 100644 superset/templates/superset/base.html
delete mode 100644 superset/templates/superset/basic.html
delete mode 100644 superset/templates/superset/export_dashboards.html
delete mode 100644 superset/templates/superset/fab_overrides/list.html
delete mode 100644 superset/templates/superset/fab_overrides/list_role.html
delete mode 100644
superset/templates/superset/fab_overrides/list_with_checkboxes.html
delete mode 100644 superset/templates/superset/flash_wrapper.html
delete mode 100644
superset/templates/superset/form_view/columnar_to_database_view/edit.html
delete mode 100644
superset/templates/superset/form_view/database_schemas_selector.html
delete mode 100644 superset/templates/superset/import_dashboards.html
delete mode 100644 superset/templates/superset/models/database/add.html
delete mode 100644 superset/templates/superset/models/database/edit.html
delete mode 100644 superset/templates/superset/models/database/macros.html
delete mode 100644 superset/templates/superset/public_welcome.html
delete mode 100644 superset/templates/superset/reports/slice_data.html
delete mode 100644 superset/templates/superset/traceback.html
copy superset/{advanced_data_type => themes}/__init__.py (100%)
create mode 100644 superset/themes/api.py
copy superset/{css_templates => themes}/filters.py (80%)
create mode 100644 superset/themes/schemas.py
create mode 100644 superset/themes/types.py
create mode 100644 superset/themes/utils.py
copy superset/translations/{pt_BR => ca}/LC_MESSAGES/messages.po (50%)
copy superset/views/{css_templates.py => themes.py} (89%)
create mode 100644 tests/integration_tests/dashboards/test_theme_integration.py
copy {superset/advanced_data_type =>
tests/integration_tests/themes}/__init__.py (100%)
create mode 100644 tests/integration_tests/themes/api_endpoints_test.py
create mode 100644 tests/integration_tests/themes/api_tests.py
create mode 100644 tests/unit_tests/commands/dataset/test_create.py
create mode 100644 tests/unit_tests/connectors/sqla/test_utils.py
copy {superset/advanced_data_type => tests/unit_tests/themes}/__init__.py
(100%)
create mode 100644 tests/unit_tests/themes/api_test.py
create mode 100644 tests/unit_tests/themes/commands_test.py
create mode 100644 tests/unit_tests/themes/dao_test.py
create mode 100644 tests/unit_tests/themes/model_test.py
create mode 100644 tests/unit_tests/themes/test_utils.py
create mode 100644 tests/unit_tests/utils/map_type_tests.py