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

maximebeauchemin pushed a change to branch folder-api
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 06f50d074a Remove folders from response
     add 974d36d35e chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in 
/superset/translations (#32580)
     add eb39ddbfe3 feat(docs): Adding Kapa.ai integration (#32682)
     add a49a15f990 chore(docs): remove customized "Edit this page on GitHub" 
button (#32407)
     add c9e2c7037e feat: Implement sparse import for ImportAssetsCommand 
(#32670)
     add 449f51aed5 fix(log): Update recent_activity by event name (#32681)
     add df06bdf33b fix: Signature of Celery pruner jobs (#32699)
     add 414cdbf83a fix(no-restricted-imports): Fix overrides and include 
no-fa-icons-usage (#32571)
     add 9c62456487 chore: add Oxylabs to INTHEWILD.md (#32697)
     add 890b6079b9 build(dev-deps): bump prettier to v3.5.3 and follow-up 
refactor (#32688)
     add a87bedf31a docs(api): correct attribute `name` instead of `table` for 
GET table_metadata in openapi.json (#32690)
     add f1a222d356 fix(cosmetics): allow toast message to be toggled off when 
modal is opened (#32691)
     add 6a13ab8920 fix(spreadsheet uploads): make file extension comparisons 
case-insensitive (#32696)
     add 06deaebe19 fix(docs): poking a CSP hole for Kapa AI widget (#32704)
     add 41bf215367 fix: boolean filters in Explore (#32701)
     add 3e69ba1384 fix(repo): re-enable GitHub Discussions (#32703)
     add b4602aaf28 chore(asf): fixing(?) `.asf.yaml` (#32709)
     add cd5a94305c fix(logging): missing path in event data (#32708)
     add 4adf44a43c chore(asf): Removing notifications from `.asf.yaml` - they 
still don't work :( (#32710)
     add e35145c816 feat(file uploads): List only allowed schemas in the file 
uploads dialog (#32702)
     add 1684ddc7e6 chore(asf): trying to fix `.asf.yaml` again to re-enable 
Discussions (#32712)
     add 34cd741e9b fix(docs): Fixes scrolling issue with AI widget on docs 
site (#32713)
     add f0c8c12c1a chore(docs): touching up AI styling/text (#32689)
     add 78d2a584b7 chore(asf): Another `.asf.yaml` touch-up. (#32714)
     add a2c164a77d chore(helm): bump postgresql image tag in helm values 
(#32686)
     add 99e69c32ee fix: coerce datetime conversion errors (#32683)
     add d71e655a4b fix(docs): allow recaptcha in CSP (#32724)
     add cc0097c87a fix(asf): moving notifications to the top of `.asf.yaml` 
(#32726)
     add e34644d983 fix(docs): poking ANOTHER hole in the CSP for the AI bot. 
(#32727)
     add c399295a4e fix(docs): Another CSP hole for run.app to allow Kapa AI 
(#32728)
     add 6612343f33 Revert "fix(asf): moving notifications to the top of 
`.asf.yaml`" (#32730)
     add 710af87faf Revert "Revert "fix(asf): moving notifications to the top 
of `.asf.yaml`"" (#32732)
     add 850801f510 feat(where_in): Support returning None if filter_values 
return None (#32731)
     add bc3e19d0a2 fix(import): Ensure import exceptions are logged (#32410)
     add 3f1ef2a283 chore(🦾): bump python greenlet (#31247)
     add 9e3052968b fix: ensure datasource permission in explore (#32679)
     add ce6d5f5551 refactor(Icons): Replaces custom icons with Ant Design 5 
icons (#32112)
     add 4dd318ca68 chore(🦾): bump python flask-appbuilder subpackage(s) 
(#31251)
     add b26c373f4d chore(lang): update and fix french translations (#32711)
     add 66c1a6a875 chore(🦾): bump python sqlglot 26.1.3 -> 26.11.1 (#32745)
     add 121e424a7f chore(🦾): bump python celery subpackage(s) (#32743)
     add 09ee3e2a1d chore(🦾): bump python shillelagh subpackage(s) (#31255)
     add 29b62f7c0a fix(contextmenu): uncaught TypeError  (#28203)
     add 4f166a03f5 chore(🦾): bump python slack-sdk 3.34.0 -> 3.35.0 (#32742)
     add c6e0abbe13 chore: replaced the workflow badge link (#32749)
     add e9d5079986 chore(🦾): bump python flask-appbuilder subpackage(s) 
(#32744)
     add 78efb62781 fix: Changing language doesn't affect echarts charts 
(#31751)
     add 6042ea8f28 feat(embedded): Force a specific referrerPolicy for the 
iframe request (#32735)
     add 376a1f49d3 fix(migrations): fix foreign keys to match FAB 4.6.0 tables 
(#32759)
     add 89ce7ba0b0 fix: do not add calculated columns when syncing (#32761)
     add 5392bafe28 feat(FormModal): Specialized Modal component for forms 
(#32721)
     add d319543377 fix(chart control): Change default of "Y Axis Title Margin" 
(#32720)
     add 01801e3c36 fix(sqllab): Pass query_id as kwarg so backoff can see it 
(#32774)
     add 5866f3ec83 fix(import): Missing catalog field in saved query schema 
(#32775)
     add 5ec710efc6 fix(css): typos in styles (#28350)
     add 9bb3a5782d fix(config): correct slack image url in talisman (#32778)
     add c0f83a7467 fix(excel export): big number truncation handling (#32739)
     add ff0529c932 fix(model/helper): represent RLS filter clause in proper 
textual SQL string (#32406)
     add a82f916a71 fix(sec): resolve CVE-2025-29907 and CVE-2025-25977 by 
pinning `jspdf` to v3 (#32802)
     add f4a05a5ffd fix(docs): scrollable table of content right bar in 
Superset docs (#32801)
     add c6c9114b40 fix: CSV/Excel upload form change column dates description 
(#32797)
     add cedd186c21 feat(Jinja): to_datetime filter (#32781)
     add b339d7ad20 chore(🦾): bump python click-option-group 0.5.6 -> 0.5.7 
(#32825)
     add fd4e45aafc chore(🦾): bump python shillelagh subpackage(s) (#32828)
     add 7bc349c3c3 chore(🦾): bump python pyparsing 3.2.1 -> 3.2.2 (#32827)
     add b7435f84f0 chore(🦾): bump python humanize 4.12.1 -> 4.12.2 (#32826)
     add 6b96b37c38 feat: Add current_user_roles() Jinja macro (#32770)
     add 6f69c84d10 fix: key error in frontend on disallowed GSheets (#32792)
     add 7d77dc4fd2 fix: Time Comparison Feature Reverts Metric Labels to 
Metric Keys in Table Charts (#32665)
     add 4a70065e5f fix(log): store navigation path to get correct logging path 
(#32795)
     add b5cb5f4525 chore: updating files for release 4.1.2 (#32831)
     add b624919d2f fix: Bump FAB to 4.6.1 (#32848)
     add 45ea11c1b6 docs: added a link to badge releases (#32822)
     add 5222f940cc fix(echarts): Sort series by name using naturalCompare 
(#32850)
     add 68a81c3989 fix: update dataset/query catalog on DB changes (#32829)
     add 6c7f089ebb fix(translation): Dutch translations for Current datetime 
filter (#31869)
     add f0dc1e7527 fix(table-chart): Do not show comparison columns config if 
time_compare is set to [] (#32863)
     add b1693f625a chore: Removes unused file (#32860)
     add 37f626f5e2 fix(ColorPickerControl): change color picker control width 
(#32851)
     add 50fe7483ae chore: update migrations to use utils (#32852)
     add 103fedaf92 fix: use role_model from security manager (#32873)
     add e0ed652ed8 fix(backend/async_events): allow user to configure username 
for Redis authentication in GLOBAL_ASYNC_QUERIES_CACHE_BACKEND (#32372)
     add ab22bb1878 fix(Jinja): Emit time grain to table charts even if they 
don't have a temporal column (#32871)
     add 6e1d1ad18b refactor(Icons): Add typing support and improve structure 
(#32880)
     add c2afae51cb chore(🦾): bump python grpcio 1.68.0 -> 1.71.0 (#32901)
     add f2c0686346 feat: Add Aggregation Method for Big Number with Trendline 
(#32767)
     add 174750c9dd refactor(jinja macro): Update current_user_roles() macro to 
fetch roles from existing get_user_roles() method (#32888)
     add a4a092794a feat(chart controls): Add  "%d.%m.%Y" time format option 
(#32814)
     add 8f35a3ec8c feat(plugins): Make comparison values on 
BigNumberPeriodOverPeriod toggleable (#28605)
     add b92909d621 feat: Enable passing a permalink to 
cache_dashboard_screenshot endpoint (#32900)
     add 56bf17f879 fix(sqllab): Invalid display of table column keys (#32763)
     add 662f0fa8f4 chore(reports): add task for slack channels warm-up (#32585)
     add 6e02d19b0d fix: make packages PEP 625 compliant (#32866)
     add be4bc3dec5 chore(deps-dev): bump ts-jest from 29.2.5 to 29.3.1 in 
/superset-websocket (#32924)
     add a8a6254ea2 chore(deps-dev): bump @typescript-eslint/parser from 8.19.0 
to 8.29.0 in /superset-websocket (#32925)
     add 8b0bda3bad chore(deps): update @types/react-redux requirement from 
^7.1.10 to ^7.1.34 in /superset-frontend/plugins/plugin-chart-echarts (#32927)
     add 26743dfcee fix: Clicking in the body of a Markdown component does not 
put it into edit mode (#32384)
     add e1c1de1b94 chore(deps-dev): bump css-minimizer-webpack-plugin from 
7.0.0 to 7.0.2 in /superset-frontend (#32937)
     add 2bc33beec4 chore(deps-dev): bump @babel/compat-data from 7.26.5 to 
7.26.8 in /superset-frontend (#32939)
     add 00933a27af chore(deps): bump swagger-ui-react from 5.20.0 to 5.20.2 in 
/docs (#32950)
     add 8eeed49547 chore(deps): bump antd from 5.24.2 to 5.24.5 in /docs 
(#32951)
     add f5d3627468 chore(deps-dev): bump eslint-config-prettier from 10.0.2 to 
10.1.1 in /docs (#32952)
     add a36e636a58 fix(pivot-table): Revert "fix(Pivot Table): Fix column 
width to respect currency config (#31414)" (#32968)
     add c83eda9551 feat: add latest partition support for BigQuery (#30760)
     add 4f0020d0df feat(List Roles): Migrate FAB view to React (#32432)
     add f5d64176f6 fix: fixed Add Metrics to Tree Chart (#29158) (#30679)
     add bc0bf94680 chore: bump marshmallow-sqlalchemy to 1.4.0 (#32922)
     add 86b795cd36 feat(embedding-sdk): emit data-mask events through embedded 
sdk to iframe parent (#31331)
     add 24b1666273 fix: Bar Chart (legacy) migration to keep labels layout 
(#32965)
     add 63c8bbf3eb fix(frontend): add missing antd-5 icon to import (#32990)
     add bcb43327b1 fix: `show_filters` URL parameter is not working (#29422)
     add 4041150660 feat: Add getDataMask function to embedded SDK (#32997)
     add db959a6463 chore(Databricks): Display older Databricks driver as 
legacy (#33001)
     add 629b137bb0 fix(dashboard): chart fullscreen issue when filter pane is 
collapsed (#28428)
     add b6df88a134 fix: fix bug where dashboard did not enter fullscreen mode. 
(#32839)
     add c131205ff1 docs: Update documentation about publishing a dashboard 
(#32999)
     add e1383d3821 refactor(IconButton): Refactor IconButton to use Ant Design 
5 Card (#32890)
     add fd947a097d feat(tags): Export and Import Functionality for Superset 
Dashboards and Charts (#30833)
     add 9b15e04bc4 fix(log): Missing failed query log on async queries (#33024)
     add 15969fdf94 docs: add WinWin Network(马上赢) to users list (#33018)
     add 5a8eab3b25 chore(deps): bump estree-util-value-to-estree from 3.1.1 to 
3.3.3 in /docs (#33028)
     add 2fabddedaa Merge branch 'master' into folder-api

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    8 +
 .github/ISSUE_TEMPLATE/bug-report.yml              |    2 +-
 .gitignore                                         |    1 +
 .pre-commit-config.yaml                            |    2 +-
 CHANGELOG/4.1.1.md                                 |   50 +
 CHANGELOG/4.1.2.md                                 |   83 +
 README.md                                          |   18 +-
 RELEASING/Dockerfile.from_local_tarball            |   26 +-
 RELEASING/Dockerfile.from_svn_tarball              |   24 +-
 RELEASING/README.md                                |   12 +-
 RELEASING/email_templates/announce.j2              |    2 +-
 RELEASING/make_tarball.sh                          |    2 +-
 RELEASING/make_tarball_entrypoint.sh               |    2 +-
 RELEASING/set_release_env.sh                       |    4 +-
 RELEASING/test_run_tarball.sh                      |    2 +-
 RELEASING/validate_this_release.sh                 |    2 +-
 RESOURCES/INTHEWILD.md                             |    2 +
 UPDATING.md                                        |    8 +-
 docker/.env                                        |    1 -
 docs/docs/configuration/databases.mdx              |    2 +-
 docs/docs/configuration/networking-settings.mdx    |    2 +-
 docs/docs/configuration/sql-templating.mdx         |   64 +
 docs/docs/contributing/contributing.mdx            |    4 +-
 docs/docs/installation/pypi.mdx                    |    6 +-
 docs/docs/installation/upgrading-superset.mdx      |    2 +-
 docs/docs/security/security.mdx                    |   43 +
 .../creating-your-first-dashboard.mdx              |   33 +-
 docs/docusaurus.config.ts                          |   24 +
 docs/package.json                                  |    6 +-
 docs/src/styles/custom.css                         |    1 -
 docs/src/styles/main.less                          |   10 -
 docs/src/theme/DocItem/index.js                    |   61 -
 docs/static/.htaccess                              |    2 +-
 .../img/tutorial/publish_button_dashboard.png      |  Bin 0 -> 85940 bytes
 docs/static/resources/openapi.json                 |    2 +-
 docs/yarn.lock                                     |  457 +-
 helm/superset/Chart.lock                           |    4 +-
 helm/superset/Chart.yaml                           |    2 +-
 helm/superset/README.md                            |    2 +-
 helm/superset/values.yaml                          |    2 +-
 null_byte.csv                                      |  Bin 6 -> 0 bytes
 pyproject.toml                                     |    4 +-
 requirements/base.in                               |   10 +
 requirements/base.txt                              |   81 +-
 requirements/development.txt                       |  101 +-
 requirements/translations.txt                      |    2 +-
 setup.py                                           |    1 +
 superset-embedded-sdk/README.md                    |   12 +-
 superset-embedded-sdk/src/index.ts                 |  163 +-
 superset-frontend/.eslintrc.js                     |  138 +-
 .../cypress/applitools/chartlist.test.ts           |    4 +-
 .../cypress/applitools/dashboardlist.test.ts       |    4 +-
 .../cypress/e2e/chart_list/list.test.ts            |    6 +-
 .../cypress/e2e/dashboard/_skip.controls.test.ts   |    4 +-
 .../cypress/e2e/dashboard/actions.test.js          |   35 +-
 .../cypress/e2e/dashboard/drillby.test.ts          |   36 +-
 .../cypress/e2e/dashboard/drilltodetail.test.ts    |   16 +-
 .../cypress/e2e/dashboard_list/list.test.ts        |   13 +-
 .../cypress-base/cypress/support/directories.ts    |   28 +-
 .../cypress-base/cypress/utils/index.ts            |    8 +-
 .../index.js                                       |   38 +-
 .../no-fontawesome.test.js}                        |   29 +-
 .../package.json                                   |    4 +-
 superset-frontend/package-lock.json                |   83 +-
 superset-frontend/package.json                     |   10 +-
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |   22 +-
 .../src/components/ControlHeader.tsx               |    6 +
 .../src/components/ControlSubSectionHeader.tsx     |   10 +-
 .../{histogramOperator.ts => aggregateOperator.ts} |   48 +-
 .../src/operators/index.ts                         |    1 +
 .../src/sections/chartTitle.tsx                    |    2 +-
 .../src/shared-controls/customControls.tsx         |   26 +
 .../src/shared-controls/index.ts                   |    1 +
 .../src/utils/D3Formatting.ts                      |    1 +
 .../test/operators/aggregateOperator.test.ts       |  121 +
 .../test/operators/timeCompareOperator.test.ts     |    2 +-
 .../src/query/types/PostProcessing.ts              |    4 +-
 .../test/query/types/PostProcessing.test.ts        |    2 +-
 .../test/time-comparison/getComparisonInfo.test.ts |   24 +-
 .../plugins/plugin-chart-echarts/package.json      |    5 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |   95 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |   38 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |    2 +
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |    5 +
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |   15 +
 .../BigNumberWithTrendline/controlPanel.tsx        |    2 +
 .../BigNumberWithTrendline/transformProps.ts       |   82 +-
 .../src/Bubble/transformProps.ts                   |    4 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    2 +-
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |    6 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |   86 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |    2 +
 .../plugin-chart-echarts/src/utils/series.ts       |   12 +-
 .../test/BigNumber/transformProps.test.ts          |  185 +
 .../plugin-chart-echarts/test/utils/series.test.ts |  111 +
 .../src/PivotTableChart.tsx                        |    1 -
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    8 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |    5 -
 .../plugin-chart-table/src/controlPanel.tsx        |    5 +-
 .../plugin-chart-table/src/transformProps.ts       |    5 +
 .../plugins/plugin-chart-table/src/types.ts        |    2 +
 .../plugin-chart-table/test/TableChart.test.tsx    |   80 +
 .../plugin-chart-table/test/buildQuery.test.ts     |    9 -
 .../fixtures/mockDatabases.ts}                     |   49 +-
 superset-frontend/spec/helpers/setup.ts            |    1 +
 superset-frontend/spec/helpers/shim.tsx            |   13 +-
 superset-frontend/spec/helpers/testing-library.tsx |    3 +
 superset-frontend/src/SqlLab/actions/sqlLab.js     |   30 +-
 .../src/SqlLab/actions/sqlLab.test.js              |   10 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |   69 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |   30 +-
 .../SqlLab/components/QueryLimitSelect/index.tsx   |    7 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |   17 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |   25 +-
 .../components/RunQueryActionButton/index.tsx      |   13 +-
 .../SaveDatasetActionButton.test.tsx               |    6 +-
 .../components/SaveDatasetActionButton/index.tsx   |    8 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |    3 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |   10 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |    2 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |   29 +-
 .../src/SqlLab/components/ShowSQL/index.tsx        |    8 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |   13 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    4 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |    4 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |   96 +-
 .../TabStatusIcon/TabStatusIcon.test.tsx           |   36 -
 .../src/SqlLab/components/TabStatusIcon/index.tsx  |   78 -
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |   25 +-
 .../src/SqlLab/components/TableElement/index.tsx   |   39 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |   15 +-
 .../src/assets/images/icons/alert.svg              |  Bin 1928 -> 0 bytes
 .../src/assets/images/icons/alert_solid.svg        |  Bin 1572 -> 0 bytes
 .../src/assets/images/icons/alert_solid_small.svg  |  Bin 2867 -> 0 bytes
 .../src/assets/images/icons/area-chart-tile.svg    |  Bin 1614 -> 0 bytes
 .../src/assets/images/icons/bar-chart-tile.svg     |  Bin 2141 -> 0 bytes
 ...er-chart-tile.svg => big_number_chart_tile.svg} |  Bin
 superset-frontend/src/assets/images/icons/bolt.svg |  Bin 1565 -> 0 bytes
 .../src/assets/images/icons/bolt_small.svg         |  Bin 1555 -> 0 bytes
 .../src/assets/images/icons/bolt_small_run.svg     |  Bin 1442 -> 0 bytes
 .../src/assets/images/icons/calendar.svg           |  Bin 2119 -> 0 bytes
 .../src/assets/images/icons/cancel-x.svg           |  Bin 2078 -> 0 bytes
 .../src/assets/images/icons/cancel.svg             |  Bin 2261 -> 0 bytes
 .../src/assets/images/icons/cancel_solid.svg       |  Bin 2056 -> 0 bytes
 .../src/assets/images/icons/card_view.svg          |  Bin 1822 -> 0 bytes
 .../src/assets/images/icons/cards.svg              |  Bin 1756 -> 0 bytes
 .../src/assets/images/icons/cards_locked.svg       |  Bin 2163 -> 0 bytes
 .../src/assets/images/icons/caret_down.svg         |  Bin 1369 -> 0 bytes
 .../src/assets/images/icons/caret_left.svg         |  Bin 1364 -> 0 bytes
 .../src/assets/images/icons/caret_right.svg        |  Bin 1393 -> 0 bytes
 .../src/assets/images/icons/caret_up.svg           |  Bin 1371 -> 0 bytes
 .../src/assets/images/icons/check.svg              |  Bin 1404 -> 0 bytes
 .../icons/{checkbox-half.svg => checkbox_half.svg} |  Bin
 .../icons/{checkbox-off.svg => checkbox_off.svg}   |  Bin
 .../icons/{checkbox-on.svg => checkbox_on.svg}     |  Bin
 .../src/assets/images/icons/circle.svg             |  Bin 1145 -> 0 bytes
 .../src/assets/images/icons/circle_check.svg       |  Bin 1698 -> 0 bytes
 .../src/assets/images/icons/circle_check_solid.svg |  Bin 1629 -> 0 bytes
 .../icons/{database.svg => circle_solid.svg}       |  Bin 1212 -> 1127 bytes
 .../src/assets/images/icons/clock.svg              |  Bin 1639 -> 0 bytes
 .../src/assets/images/icons/close.svg              |  Bin 1630 -> 0 bytes
 superset-frontend/src/assets/images/icons/code.svg |  Bin 1933 -> 0 bytes
 superset-frontend/src/assets/images/icons/cog.svg  |  Bin 3125 -> 0 bytes
 .../src/assets/images/icons/collapse.svg           |  Bin 1611 -> 0 bytes
 .../src/assets/images/icons/color_palette.svg      |  Bin 1559 -> 0 bytes
 .../src/assets/images/icons/components.svg         |  Bin 1898 -> 0 bytes
 superset-frontend/src/assets/images/icons/copy.svg |  Bin 1652 -> 0 bytes
 .../src/assets/images/icons/cross-filter-badge.svg |  Bin 1979 -> 0 bytes
 .../assets/images/icons/current-rendered-tile.svg  |  Bin 2188 -> 0 bytes
 .../src/assets/images/icons/cursor_target.svg      |  Bin 1889 -> 0 bytes
 .../src/assets/images/icons/dataset_physical.svg   |  Bin 1317 -> 0 bytes
 .../src/assets/images/icons/dataset_virtual.svg    |  Bin 1372 -> 0 bytes
 .../images/icons/dataset_virtual_greyscale.svg     |  Bin 1271 -> 0 bytes
 .../src/assets/images/icons/default_db_image.svg   |  Bin 3428 -> 0 bytes
 .../src/assets/images/icons/download.svg           |  Bin 1742 -> 0 bytes
 superset-frontend/src/assets/images/icons/edit.svg |  Bin 1575 -> 0 bytes
 .../src/assets/images/icons/edit_alt.svg           |  Bin 1637 -> 0 bytes
 .../src/assets/images/icons/email.svg              |  Bin 1266 -> 0 bytes
 .../src/assets/images/icons/error_solid.svg        |  Bin 1721 -> 0 bytes
 .../src/assets/images/icons/error_solid_small.svg  |  Bin 1702 -> 0 bytes
 .../src/assets/images/icons/exclamation.svg        |  Bin 1218 -> 0 bytes
 .../src/assets/images/icons/expand.svg             |  Bin 1611 -> 0 bytes
 superset-frontend/src/assets/images/icons/eye.svg  |  Bin 1707 -> 0 bytes
 .../src/assets/images/icons/eye_slash.svg          |  Bin 2528 -> 0 bytes
 .../src/assets/images/icons/favorite-selected.svg  |  Bin 1630 -> 0 bytes
 .../assets/images/icons/favorite-unselected.svg    |  Bin 1865 -> 0 bytes
 .../images/icons/favorite_small_selected.svg       |  Bin 1608 -> 0 bytes
 .../src/assets/images/icons/field_abc.svg          |  Bin 2425 -> 0 bytes
 .../src/assets/images/icons/field_boolean.svg      |  Bin 1466 -> 0 bytes
 .../src/assets/images/icons/field_date.svg         |  Bin 1521 -> 0 bytes
 .../src/assets/images/icons/field_derived.svg      |  Bin 2950 -> 0 bytes
 .../src/assets/images/icons/field_num.svg          |  Bin 1045 -> 0 bytes
 .../src/assets/images/icons/field_struct.svg       |  Bin 1924 -> 0 bytes
 superset-frontend/src/assets/images/icons/file.svg |  Bin 1365 -> 0 bytes
 .../src/assets/images/icons/filter.svg             |  Bin 1520 -> 0 bytes
 .../src/assets/images/icons/filter_small.svg       |  Bin 1360 -> 0 bytes
 .../src/assets/images/icons/folder.svg             |  Bin 1439 -> 0 bytes
 .../src/assets/images/icons/function_x.svg         |  Bin 2945 -> 0 bytes
 superset-frontend/src/assets/images/icons/gear.svg |  Bin 3052 -> 0 bytes
 superset-frontend/src/assets/images/icons/grid.svg |  Bin 1132 -> 0 bytes
 .../src/assets/images/icons/image.svg              |  Bin 1477 -> 0 bytes
 .../src/assets/images/icons/import.svg             |  Bin 1920 -> 0 bytes
 .../src/assets/images/icons/info-solid.svg         |  Bin 1731 -> 0 bytes
 superset-frontend/src/assets/images/icons/info.svg |  Bin 1759 -> 0 bytes
 .../src/assets/images/icons/info_solid_small.svg   |  Bin 1353 -> 0 bytes
 superset-frontend/src/assets/images/icons/join.svg |  Bin 1961 -> 0 bytes
 .../src/assets/images/icons/keyboard.svg           |  Bin 2577 -> 0 bytes
 .../src/assets/images/icons/lightbulb.svg          |  Bin 1783 -> 0 bytes
 .../src/assets/images/icons/line-chart-tile.svg    |  Bin 1768 -> 0 bytes
 superset-frontend/src/assets/images/icons/link.svg |  Bin 2094 -> 0 bytes
 superset-frontend/src/assets/images/icons/list.svg |  Bin 2908 -> 0 bytes
 .../src/assets/images/icons/list_view.svg          |  Bin 2936 -> 0 bytes
 .../src/assets/images/icons/location.svg           |  Bin 1485 -> 0 bytes
 .../src/assets/images/icons/lock_locked.svg        |  Bin 1549 -> 0 bytes
 .../src/assets/images/icons/lock_unlocked.svg      |  Bin 1834 -> 0 bytes
 superset-frontend/src/assets/images/icons/map.svg  |  Bin 1516 -> 0 bytes
 .../src/assets/images/icons/message.svg            |  Bin 1918 -> 0 bytes
 .../src/assets/images/icons/minus.svg              |  Bin 1380 -> 0 bytes
 .../src/assets/images/icons/minus_solid.svg        |  Bin 1285 -> 0 bytes
 .../src/assets/images/icons/more_horiz.svg         |  Bin 1316 -> 0 bytes
 .../src/assets/images/icons/more_vert.svg          |  Bin 1316 -> 0 bytes
 superset-frontend/src/assets/images/icons/move.svg |  Bin 1093 -> 0 bytes
 .../src/assets/images/icons/nav_charts.svg         |  Bin 1405 -> 0 bytes
 .../src/assets/images/icons/nav_dashboard.svg      |  Bin 2094 -> 0 bytes
 .../src/assets/images/icons/nav_data.svg           |  Bin 1687 -> 0 bytes
 .../src/assets/images/icons/nav_explore.svg        |  Bin 2169 -> 0 bytes
 .../src/assets/images/icons/nav_home.svg           |  Bin 1827 -> 0 bytes
 .../src/assets/images/icons/nav_lab.svg            |  Bin 2064 -> 0 bytes
 superset-frontend/src/assets/images/icons/note.svg |  Bin 1717 -> 0 bytes
 .../src/assets/images/icons/paperclip.svg          |  Bin 1935 -> 0 bytes
 .../src/assets/images/icons/pie-chart-tile.svg     |  Bin 2636 -> 0 bytes
 .../src/assets/images/icons/placeholder.svg        |  Bin 930 -> 0 bytes
 superset-frontend/src/assets/images/icons/plus.svg |  Bin 1505 -> 0 bytes
 .../src/assets/images/icons/plus_large.svg         |  Bin 1185 -> 0 bytes
 .../src/assets/images/icons/plus_small.svg         |  Bin 1185 -> 0 bytes
 .../src/assets/images/icons/plus_solid.svg         |  Bin 1410 -> 0 bytes
 .../src/assets/images/icons/refresh.svg            |  Bin 1902 -> 0 bytes
 superset-frontend/src/assets/images/icons/save.svg |  Bin 1412 -> 0 bytes
 .../src/assets/images/icons/search.svg             |  Bin 2292 -> 0 bytes
 .../src/assets/images/icons/server.svg             |  Bin 2026 -> 0 bytes
 .../src/assets/images/icons/share.svg              |  Bin 1853 -> 0 bytes
 superset-frontend/src/assets/images/icons/sql.svg  |  Bin 2697 -> 0 bytes
 .../images/icons/{offline.svg => square.svg}       |  Bin 919 -> 915 bytes
 .../src/assets/images/icons/table-chart-tile.svg   |  Bin 1752 -> 0 bytes
 .../src/assets/images/icons/table.svg              |  Bin 1211 -> 0 bytes
 superset-frontend/src/assets/images/icons/tag.svg  |  Bin 1662 -> 0 bytes
 superset-frontend/src/assets/images/icons/tags.svg |  Bin 1021 -> 0 bytes
 .../src/assets/images/icons/trash.svg              |  Bin 1703 -> 0 bytes
 .../src/assets/images/icons/triangle_change.svg    |  Bin 1126 -> 0 bytes
 .../src/assets/images/icons/triangle_up.svg        |  Bin 1121 -> 0 bytes
 .../src/assets/images/icons/up-level.svg           |  Bin 1603 -> 0 bytes
 superset-frontend/src/assets/images/icons/user.svg |  Bin 1973 -> 0 bytes
 .../src/assets/images/icons/warning.svg            |  Bin 1816 -> 0 bytes
 .../src/assets/images/icons/warning_solid.svg      |  Bin 1817 -> 0 bytes
 .../src/assets/images/icons/x-large.svg            |  Bin 1601 -> 0 bytes
 .../src/assets/images/icons/x-small.svg            |  Bin 1690 -> 0 bytes
 .../src/components/AlteredSliceTag/index.tsx       |    4 +-
 .../src/components/CachedLabel/index.tsx           |    2 +
 .../src/components/CertifiedBadge/index.tsx        |    2 +-
 .../components/Chart/DisabledMenuItemTooltip.tsx   |    2 +-
 .../Chart/DrillBy/DrillByMenuItems.test.tsx        |   14 +-
 .../components/Chart/DrillBy/DrillByMenuItems.tsx  |    4 +-
 .../DrillDetail/DrillDetailMenuItems.test.tsx      |   39 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |    2 +-
 .../src/components/Collapse/index.tsx              |    6 +-
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |    6 +-
 .../src/components/CronPicker/CronPicker.tsx       |    3 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |    2 +-
 .../src/components/Datasource/CollectionTable.tsx  |   15 +-
 .../src/components/Datasource/DatasourceEditor.jsx |   29 +-
 .../Datasource/DatasourceEditor.test.jsx           |    4 +-
 .../src/components/Datasource/DatasourceModal.tsx  |   11 +
 .../src/components/Datasource/Field.tsx            |    2 +
 .../src/components/Dropdown/index.tsx              |    4 +-
 .../src/components/DropdownButton/index.tsx        |   38 +-
 .../DropdownContainer/DropdownContainer.test.tsx   |    7 +-
 .../src/components/DropdownContainer/index.tsx     |    2 +-
 .../ErrorMessage/BasicErrorAlert.test.tsx          |    8 +-
 .../components/ErrorMessage/BasicErrorAlert.tsx    |    8 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |    2 +-
 .../DatasetNotFoundErrorMessage.test.tsx           |    2 +-
 .../src/components/ErrorMessage/ErrorAlert.tsx     |    8 +-
 .../ErrorMessageWithStackTrace.test.tsx            |    2 +-
 .../FrontendNetworkErrorMessage.test.tsx           |    2 +-
 .../src/components/ErrorMessage/IssueCode.tsx      |    6 +-
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |    2 +-
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |    2 +-
 .../src/components/FaveStar/FaveStar.test.tsx      |   12 +-
 .../src/components/FaveStar/index.tsx              |   19 +-
 superset-frontend/src/components/Form/Form.tsx     |   13 +-
 superset-frontend/src/components/Form/FormItem.tsx |    3 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |    2 +-
 .../src/components/GridTable/Header.test.tsx       |    8 +-
 .../src/components/GridTable/Header.tsx            |    2 +-
 .../src/components/GridTable/HeaderMenu.test.tsx   |   11 -
 .../src/components/GridTable/HeaderMenu.tsx        |    2 +-
 .../components/IconButton/IconButton.stories.tsx   |   55 +-
 .../src/components/IconButton/IconButton.test.jsx  |   37 -
 .../src/components/IconButton/IconButton.test.tsx  |   90 +
 .../src/components/IconButton/index.tsx            |  191 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |   13 +-
 .../src/components/Icons/AntdEnhanced.tsx          |  116 +-
 .../components/Icons/{Icon.tsx => AsyncIcon.tsx}   |   47 +-
 .../src/components/Icons/BaseIcon.tsx              |   97 +
 .../src/components/Icons/Icons.stories.tsx         |   12 +-
 superset-frontend/src/components/Icons/index.tsx   |  205 +-
 .../src/components/Icons/{IconType.ts => types.ts} |   18 +-
 .../src/components/ImportModal/index.tsx           |    3 +-
 .../src/components/IndeterminateCheckbox/index.tsx |    2 +-
 .../src/components/InfoTooltip/index.tsx           |   24 +-
 .../src/components/JsonModal/JsonModal.test.tsx    |   15 +
 .../src/components/JsonModal/index.tsx             |   17 +-
 .../components/Label/reusable/DatasetTypeLabel.tsx |   10 +-
 .../components/Label/reusable/PublishedLabel.tsx   |   12 +-
 .../components/LastUpdated/LastUpdated.test.tsx    |   14 +-
 .../src/components/LastUpdated/index.tsx           |   25 +-
 .../src/components/ListView/ActionsBar.tsx         |    6 +-
 .../src/components/ListView/Filters/Search.tsx     |   35 +-
 .../src/components/ListView/Filters/Select.tsx     |    3 +
 .../src/components/ListView/Filters/index.tsx      |    2 +
 .../src/components/ListView/ListView.tsx           |    6 +-
 superset-frontend/src/components/ListView/types.ts |    1 +
 .../ListViewCard/ListViewCard.stories.tsx          |    8 +-
 superset-frontend/src/components/Menu/index.tsx    |   88 +-
 .../src/components/MessageToasts/Toast.tsx         |   39 +-
 .../components/MessageToasts/ToastPresenter.tsx    |    2 +-
 .../src/components/MetadataBar/ContentConfig.tsx   |    4 +-
 .../src/components/Modal/FormModal.test.tsx        |  115 +
 .../src/components/Modal/FormModal.tsx             |  126 +
 superset-frontend/src/components/Modal/Modal.tsx   |    3 +-
 .../src/components/PageHeaderWithActions/index.tsx |    6 +-
 .../src/components/Popover/Popover.test.tsx        |    4 +-
 .../src/components/PopoverDropdown/index.tsx       |   11 +-
 .../src/components/PopoverSection/index.tsx        |   38 +-
 .../src/components/Radio/Radio.stories.tsx         |   35 +-
 .../src/components/RefreshLabel/index.tsx          |    4 +-
 .../src/components/Select/AsyncSelect.tsx          |    8 +-
 .../src/components/Select/CustomTag.tsx            |    3 +-
 superset-frontend/src/components/Select/Select.tsx |    3 +-
 .../src/components/Select/constants.ts             |    3 +-
 superset-frontend/src/components/Select/styles.tsx |    8 +-
 superset-frontend/src/components/Select/types.ts   |    6 +-
 superset-frontend/src/components/Select/utils.tsx  |    5 +-
 .../src/components/Table/VirtualTable.tsx          |    3 +-
 .../header-renderers/HeaderWithRadioGroup.tsx      |    4 +-
 superset-frontend/src/components/Table/index.tsx   |    9 +-
 .../Table/utils/InteractiveTableUtils.ts           |    3 +-
 .../src/components/TableCollection/index.tsx       |    2 +-
 .../src/components/TableSelector/index.tsx         |    9 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |    9 +-
 superset-frontend/src/components/Tags/Tag.tsx      |    6 +-
 superset-frontend/src/components/Timer/index.tsx   |   31 +-
 .../src/components/Tooltip/Tooltip.test.tsx        |    4 +-
 superset-frontend/src/components/Tooltip/index.tsx |    3 +-
 .../src/components/TooltipParagraph/index.tsx      |    6 +-
 .../src/components/UiConfigContext/index.tsx       |    4 +
 .../components/WarningIconWithTooltip/index.tsx    |    4 +-
 superset-frontend/src/components/index.ts          |   13 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |   42 +
 .../DashboardBuilder/DashboardBuilder.tsx          |    4 +-
 .../dashboard/components/DashboardBuilder/state.ts |    5 +-
 .../src/dashboard/components/DashboardGrid.jsx     |   17 +-
 .../dashboard/components/DeleteComponentButton.tsx |    6 +-
 .../DetailsPanel/DetailsPanel.test.tsx             |   24 +-
 .../FilterIndicator/FilterIndicator.test.tsx       |    8 +-
 .../FiltersBadge/FilterIndicator/index.tsx         |    2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |    4 +-
 .../dashboard/components/Header/Header.test.tsx    |   56 +-
 .../src/dashboard/components/Header/index.jsx      |   11 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |    4 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |    5 +-
 .../dashboard/components/PropertiesModal/index.tsx |    5 +
 .../src/dashboard/components/SliceAdder.test.tsx   |    8 +-
 .../src/dashboard/components/SliceAdder.tsx        |   54 +-
 .../src/dashboard/components/SliceHeader/index.tsx |   10 +-
 .../components/SliceHeaderControls/index.tsx       |    2 +-
 .../components/URLShortLinkButton/index.tsx        |   16 +-
 .../src/dashboard/components/dnd/DragHandle.tsx    |    2 +-
 .../filterscope/renderFilterScopeTreeNodes.jsx     |    2 +-
 .../components/gridComponents/ChartHolder.tsx      |    2 +-
 .../dashboard/components/gridComponents/Column.jsx |    4 +-
 .../components/gridComponents/Divider.test.jsx     |    2 +-
 .../components/gridComponents/Header.test.jsx      |    4 +-
 .../dashboard/components/gridComponents/Row.jsx    |    4 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |   49 +-
 .../components/menu/BackgroundStyleDropdown.tsx    |    4 -
 .../dashboard/components/menu/WithPopoverMenu.tsx  |   13 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |    2 +-
 .../ScopingModal/ChartsScopingListPanel.test.tsx   |    2 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |   16 +-
 .../ScopingModal/ScopingModal.test.tsx             |    2 +-
 .../CrossFilters/ScopingModal/ScopingTreePanel.tsx |    3 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   12 +-
 .../FilterBarSettings/FilterBarSettings.test.tsx   |   47 +-
 .../FilterBar/FilterBarSettings/index.tsx          |   36 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |    6 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    4 +-
 .../FilterControls/FilterDivider.stories.tsx       |    2 +-
 .../FilterBar/FilterControls/FilterDivider.tsx     |    3 +-
 .../FiltersOutOfScopeCollapsible/index.tsx         |    3 +-
 .../nativeFilters/FilterBar/Header/Header.test.tsx |    8 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |   45 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |   28 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    4 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |    2 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |    7 +-
 .../FiltersConfigModal/DraggableFilter.tsx         |    3 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   15 +-
 .../FiltersConfigModal/FilterTitlePane.tsx         |   16 +-
 .../FiltersConfigForm/DependencyList.tsx           |    6 +-
 .../FiltersConfigForm/FilterScope/ScopingTree.tsx  |    4 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   19 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   12 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |    2 +-
 superset-frontend/src/embedded/api.tsx             |    5 +
 superset-frontend/src/embedded/index.tsx           |   32 +-
 superset-frontend/src/embedded/utils.test.ts       |   76 +
 .../utils.ts}                                      |   35 +-
 .../src/explore/components/ControlHeader.tsx       |   12 +-
 .../explore/components/ControlPanelsContainer.tsx  |    2 +-
 .../explore/components/DataTableControl/index.tsx  |   48 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |   11 +-
 .../DatasourcePanel/DatasourcePanel.test.tsx       |    2 +-
 .../DatasourcePanelDragOption/index.tsx            |    2 +-
 .../DatasourcePanel/DatasourcePanelItem.tsx        |    2 +-
 .../src/explore/components/EmbedCodeContent.jsx    |    2 +
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |    4 +-
 .../components/ExploreChartHeader/index.jsx        |   10 +-
 .../components/ExploreViewContainer/index.jsx      |   25 +-
 .../components/ExportToCSVDropdown/index.tsx       |    6 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |    6 +-
 .../explore/components/PropertiesModal/index.tsx   |   19 +-
 .../explore/components/RunQueryButton/index.tsx    |   13 +-
 .../controls/AnnotationLayerControl/index.tsx      |   22 +-
 .../CollectionControl/CollectionControl.test.tsx   |    4 +-
 .../controls/CollectionControl/index.jsx           |    6 +-
 .../components/controls/ColorPickerControl.jsx     |    3 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |    6 +-
 .../controls/ColorSchemeControl/index.tsx          |   20 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |    4 +
 .../ColumnConfigControl/ColumnConfigItem.tsx       |    2 +
 .../controls/ColumnConfigControl/constants.tsx     |   14 +-
 .../ConditionalFormattingControl.tsx               |   24 +-
 .../DatasourceControl/DatasourceControl.test.jsx   |    6 +-
 .../controls/DatasourceControl/index.jsx           |   18 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |    8 +-
 .../DateFilterControl/components/AdvancedFrame.tsx |    2 +
 .../DateFilterControl/components/DateLabel.tsx     |   34 +-
 .../DndColumnSelectPopoverTitle.jsx                |   12 +-
 .../DndColumnSelectControl/DndSelectLabel.tsx      |   10 +-
 .../DndColumnSelectControl/Option.test.tsx         |   10 +-
 .../controls/DndColumnSelectControl/Option.tsx     |   23 +-
 .../DndColumnSelectControl/OptionWrapper.test.tsx  |    4 +-
 .../DndColumnSelectControl/useResizeButton.tsx     |    2 +
 .../FilterControl/AdhocFilter/AdhocFilter.test.js  |   50 +-
 .../controls/FilterControl/AdhocFilter/index.js    |   54 +-
 .../FilterControl/AdhocFilterControl/index.jsx     |   15 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |   16 +-
 .../index.tsx                                      |    3 -
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |    8 +-
 .../AdhocFilterOption/AdhocFilterOption.test.tsx   |    8 +-
 .../FixedOrMetricControl.test.tsx                  |    2 +-
 .../controls/FixedOrMetricControl/index.jsx        |    3 +-
 .../controls/LayerConfigsControl/FlatLayerTree.tsx |   10 +-
 .../LayerConfigsPopoverContent.tsx                 |    3 +-
 .../controls/LayerConfigsControl/LayerTreeItem.tsx |    9 +-
 .../controls/LayerConfigsControl/dragDropUtil.tsx  |    3 +-
 .../controls/LayerConfigsControl/types.ts          |    3 +-
 .../controls/MapViewControl/ExtentTag.tsx          |    3 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |    2 +
 .../AdhocMetricEditPopoverTitle.test.tsx           |    3 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |   12 +-
 .../controls/MetricControl/MetricsControl.jsx      |   11 +-
 .../components/controls/OptionControls/index.tsx   |   25 +-
 .../controls/SelectAsyncControl/index.tsx          |    3 +-
 .../src/explore/components/controls/ViewQuery.tsx  |    2 +
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |    2 +-
 .../components/controls/VizTypeControl/VizTile.tsx |    9 +-
 .../VizTypeControl/VizTypeControl.test.tsx         |   10 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   17 +-
 .../controls/VizTypeControl/constants.tsx          |   12 +-
 .../components/controls/VizTypeControl/index.tsx   |    2 +
 .../ZoomConfigControl/ZoomConfigControl.tsx        |    3 +-
 .../DashboardsSubMenu.tsx                          |    5 +-
 .../useExploreAdditionalActionsMenu/index.jsx      |    2 +-
 superset-frontend/src/explore/constants.ts         |    4 +-
 .../src/explore/exploreUtils/index.js              |   19 +-
 .../src/features/alerts/AlertReportModal.tsx       |    9 +-
 .../features/alerts/components/AlertStatusIcon.tsx |   17 +-
 .../alerts/components/NotificationMethod.test.tsx  |    4 +-
 .../alerts/components/NotificationMethod.tsx       |    9 +-
 .../alerts/components/RecipientIcon.test.tsx       |    7 +-
 .../features/alerts/components/RecipientIcon.tsx   |   16 +-
 .../src/features/alerts/components/StyledPanel.tsx |    6 +-
 .../alerts/components/ValidatedPanelHeader.tsx     |   13 +-
 .../annotationLayers/AnnotationLayerModal.tsx      |   21 +-
 .../src/features/annotations/AnnotationModal.tsx   |   20 +-
 .../src/features/charts/ChartCard.tsx              |   74 +-
 .../src/features/cssTemplates/CssTemplateModal.tsx |   70 +-
 .../src/features/dashboards/DashboardCard.tsx      |   14 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |    6 +-
 .../DatabaseConnectionForm/TableCatalog.tsx        |    2 +-
 .../databases/DatabaseModal/ModalHeader.tsx        |    3 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |    5 +-
 .../DatabaseModal/SSHTunnelSwitch.test.tsx         |    4 +-
 .../databases/DatabaseModal/index.test.tsx         |   10 +-
 .../src/features/databases/DatabaseModal/index.tsx |   40 +-
 .../src/features/databases/DatabaseModal/styles.ts |    2 +
 .../UploadDataModel/UploadDataModal.test.tsx       |    4 +-
 .../features/databases/UploadDataModel/index.tsx   |   18 +-
 superset-frontend/src/features/databases/types.ts  |    3 +-
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |    2 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |   14 +-
 .../AddDataset/EditDataset/UsageTab/index.tsx      |    2 +-
 .../features/datasets/AddDataset/Header/index.tsx  |    4 +-
 .../AddDataset/LeftPanel/LeftPanel.test.tsx        |    2 +-
 .../src/features/home/ActivityTable.tsx            |    8 +-
 superset-frontend/src/features/home/ChartTable.tsx |   10 +-
 .../src/features/home/DashboardTable.test.tsx      |    4 +-
 .../src/features/home/DashboardTable.tsx           |    9 +-
 .../src/features/home/LanguagePicker.tsx           |   15 +-
 superset-frontend/src/features/home/Menu.tsx       |   28 +-
 superset-frontend/src/features/home/RightMenu.tsx  |   35 +-
 .../src/features/home/SavedQueries.tsx             |   34 +-
 superset-frontend/src/features/home/SubMenu.tsx    |   16 +-
 .../src/features/queries/SyntaxHighlighterCopy.tsx |    4 +-
 .../ReportModal/HeaderReportDropdown/index.tsx     |    6 +-
 .../src/features/reports/ReportModal/index.tsx     |    4 +-
 .../src/features/rls/RowLevelSecurityModal.tsx     |  102 +-
 .../src/features/roles/RoleFormItems.tsx           |   70 +
 .../src/features/roles/RoleListAddModal.test.tsx   |   92 +
 .../src/features/roles/RoleListAddModal.tsx        |   71 +
 .../features/roles/RoleListDuplicateModal.test.tsx |  100 +
 .../src/features/roles/RoleListDuplicateModal.tsx  |   69 +
 .../src/features/roles/RoleListEditModal.test.tsx  |  153 +
 .../src/features/roles/RoleListEditModal.tsx       |  153 +
 .../VizTypeControl => features/roles}/types.ts     |   61 +-
 .../roles/utils.ts}                                |   41 +-
 superset-frontend/src/features/tags/TagCard.tsx    |    9 +-
 superset-frontend/src/features/tags/TagModal.tsx   |    3 +-
 .../components/Select/SelectFilterPlugin.tsx       |    3 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |    3 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    3 +-
 superset-frontend/src/middleware/logger.test.js    |   25 +-
 .../src/middleware/loggerMiddleware.js             |  137 +-
 .../src/pages/AlertReportList/index.tsx            |   31 +-
 .../src/pages/AnnotationLayerList/index.tsx        |   23 +-
 .../src/pages/AnnotationList/index.tsx             |   27 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |   17 +-
 .../src/pages/ChartCreation/index.tsx              |   12 +-
 .../src/pages/ChartList/ChartList.test.jsx         |   28 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   26 +-
 .../src/pages/CssTemplateList/index.tsx            |   18 +-
 .../src/pages/DashboardList/DashboardList.test.jsx |   12 +-
 .../src/pages/DashboardList/index.tsx              |   27 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   43 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |   61 +-
 .../src/pages/QueryHistoryList/index.tsx           |   22 +-
 .../src/pages/RolesList/RolesList.test.tsx         |  206 +
 superset-frontend/src/pages/RolesList/index.tsx    |  507 ++
 .../src/pages/RowLevelSecurityList/index.tsx       |   34 +-
 .../pages/SavedQueryList/SavedQueryList.test.jsx   |    2 +-
 .../src/pages/SavedQueryList/index.tsx             |   35 +-
 superset-frontend/src/pages/Tags/index.tsx         |   42 +-
 superset-frontend/src/preamble.ts                  |    3 +-
 superset-frontend/src/utils/downloadAsImage.ts     |    1 +
 superset-frontend/src/views/CRUD/utils.tsx         |    7 -
 superset-frontend/src/views/routes.tsx             |   16 +
 superset-websocket/package-lock.json               |  328 +-
 superset-websocket/package.json                    |    4 +-
 superset/async_events/cache_backend.py             |    5 +
 superset/charts/schemas.py                         |    1 +
 superset/commands/chart/export.py                  |   26 +
 superset/commands/chart/importers/v1/__init__.py   |   22 +-
 superset/commands/dashboard/export.py              |   20 +-
 .../commands/dashboard/importers/v1/__init__.py    |   34 +-
 .../commands/database/importers/v1/__init__.py     |    8 +-
 superset/commands/database/update.py               |   44 +-
 superset/commands/dataset/importers/v1/__init__.py |   10 +-
 superset/commands/explore/get.py                   |    2 +-
 superset/commands/export/assets.py                 |    1 +
 superset/commands/importers/v1/__init__.py         |   21 +-
 superset/commands/importers/v1/assets.py           |   25 +-
 superset/commands/importers/v1/examples.py         |    3 +-
 superset/commands/importers/v1/utils.py            |  111 +-
 superset/commands/logs/prune.py                    |    8 +-
 superset/commands/query/importers/v1/__init__.py   |    8 +-
 superset/commands/sql_lab/query.py                 |    8 +-
 superset/commands/tag/export.py                    |  131 +
 superset/common/query_context_processor.py         |   27 +
 superset/common/query_object.py                    |    7 +-
 superset/config.py                                 |   17 +-
 superset/connectors/sqla/models.py                 |    5 +-
 superset/daos/log.py                               |   19 +-
 superset/dashboards/api.py                         |   17 +-
 superset/dashboards/schemas.py                     |    2 +
 superset/databases/api.py                          |   23 +-
 superset/databases/schemas.py                      |    6 +-
 superset/db_engine_specs/base.py                   |    1 +
 superset/db_engine_specs/bigquery.py               |  154 +-
 superset/db_engine_specs/databricks.py             |    4 +-
 superset/importexport/api.py                       |    5 +
 superset/initialization/__init__.py                |   13 +-
 superset/jinja_context.py                          |   60 +-
 .../migrations/shared/migrate_viz/processors.py    |    1 +
 superset/migrations/shared/utils.py                |   81 +-
 .../2024-09-25_17-59_7b17aa722e30_uuidmixin.py     |   11 +-
 ...2_94e7a3499973_add_folders_column_to_dataset.py |    7 +-
 ...46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py |  111 +
 superset/models/helpers.py                         |    6 +-
 superset/queries/saved_queries/schemas.py          |    1 +
 superset/security/api.py                           |  165 +-
 superset/security/manager.py                       |   49 +-
 superset/sql_lab.py                                |    4 +-
 superset/tasks/scheduler.py                        |   20 +-
 .../dashboard_import_export.py => tasks/slack.py}  |   24 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/de/LC_MESSAGES/messages.po   |    6 +-
 superset/translations/en/LC_MESSAGES/messages.po   |    2 +-
 superset/translations/es/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/fr/LC_MESSAGES/messages.po   | 4817 +++++++++-----------
 superset/translations/it/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/messages.pot                 |    2 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   27 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |    4 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |    6 +-
 superset/translations/requirements.txt             |    2 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |    6 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |    2 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |    4 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |    4 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |    4 +-
 superset/utils/core.py                             |   14 +-
 superset/utils/excel.py                            |   14 +
 superset/utils/log.py                              |    4 +-
 superset/utils/screenshots.py                      |    5 +-
 superset/utils/slack.py                            |   25 +-
 superset/views/base.py                             |    5 +-
 superset/views/log/api.py                          |    2 +-
 superset/views/{annotations.py => roles.py}        |   14 +-
 tests/integration_tests/charts/api_tests.py        |   58 -
 tests/integration_tests/charts/data/api_tests.py   |  112 +-
 tests/integration_tests/core_tests.py              |    2 +-
 tests/integration_tests/dashboards/api_tests.py    |   12 +
 tests/integration_tests/databases/api_tests.py     |   87 +
 .../db_engine_specs/bigquery_tests.py              |  133 +-
 tests/integration_tests/explore/api_tests.py       |    6 +-
 tests/integration_tests/fixtures/importexport.py   |    1 +
 tests/integration_tests/log_api_tests.py           |   73 +-
 tests/integration_tests/query_context_tests.py     |    2 +
 tests/integration_tests/security/api_tests.py      |   17 +
 tests/integration_tests/sqla_models_tests.py       |   24 +-
 tests/integration_tests/utils_tests.py             |    5 -
 .../charts/commands/importers/v1/import_test.py    |   45 +
 .../unit_tests/commands/dashboard}/__init__.py     |    0
 tests/unit_tests/commands/dashboard/create_test.py |   98 +
 tests/unit_tests/commands/databases/update_test.py |   62 +
 tests/unit_tests/commands/export_test.py           |   65 +-
 .../unit_tests/common/test_query_object_factory.py |   27 +-
 .../commands/importers/v1/import_test.py           |   45 +
 .../unit_tests/db_engine_specs/test_databricks.py  |    4 +-
 tests/unit_tests/importexport/api_test.py          |    1 +
 tests/unit_tests/jinja_context_test.py             |   82 +-
 tests/unit_tests/models/helpers_test.py            |   16 +-
 tests/unit_tests/security/api_test.py              |    5 +
 tests/unit_tests/utils/excel_tests.py              |   24 +
 tests/unit_tests/utils/slack_test.py               |   39 +-
 tests/unit_tests/utils/test_core.py                |  193 +
 673 files changed, 11940 insertions(+), 5872 deletions(-)
 create mode 100644 CHANGELOG/4.1.1.md
 create mode 100644 CHANGELOG/4.1.2.md
 delete mode 100644 docs/src/theme/DocItem/index.js
 create mode 100644 docs/static/img/tutorial/publish_button_dashboard.png
 delete mode 100644 null_byte.csv
 copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings => 
eslint-plugin-icons}/index.js (59%)
 copy 
superset-frontend/eslint-rules/{eslint-plugin-i18n-strings/no-template-vars.test.js
 => eslint-plugin-icons/no-fontawesome.test.js} (71%)
 copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings => 
eslint-plugin-icons}/package.json (73%)
 copy 
superset-frontend/packages/superset-ui-chart-controls/src/operators/{histogramOperator.ts
 => aggregateOperator.ts} (53%)
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/test/operators/aggregateOperator.test.ts
 copy superset-frontend/{src/components/Card/Card.stories.tsx => 
spec/fixtures/mockDatabases.ts} (60%)
 delete mode 100644 
superset-frontend/src/SqlLab/components/TabStatusIcon/TabStatusIcon.test.tsx
 delete mode 100644 
superset-frontend/src/SqlLab/components/TabStatusIcon/index.tsx
 delete mode 100644 superset-frontend/src/assets/images/icons/alert.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/alert_solid.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/alert_solid_small.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/area-chart-tile.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/bar-chart-tile.svg
 rename superset-frontend/src/assets/images/icons/{big-number-chart-tile.svg => 
big_number_chart_tile.svg} (100%)
 delete mode 100644 superset-frontend/src/assets/images/icons/bolt.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small_run.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/calendar.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cancel-x.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cancel.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cancel_solid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/card_view.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cards.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cards_locked.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/caret_down.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/caret_left.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/caret_right.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/caret_up.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/check.svg
 rename superset-frontend/src/assets/images/icons/{checkbox-half.svg => 
checkbox_half.svg} (100%)
 rename superset-frontend/src/assets/images/icons/{checkbox-off.svg => 
checkbox_off.svg} (100%)
 rename superset-frontend/src/assets/images/icons/{checkbox-on.svg => 
checkbox_on.svg} (100%)
 delete mode 100644 superset-frontend/src/assets/images/icons/circle.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/circle_check.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/circle_check_solid.svg
 rename superset-frontend/src/assets/images/icons/{database.svg => 
circle_solid.svg} (73%)
 delete mode 100644 superset-frontend/src/assets/images/icons/clock.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/close.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/code.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cog.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/collapse.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/color_palette.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/components.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/copy.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/cross-filter-badge.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/current-rendered-tile.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/cursor_target.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/dataset_physical.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/dataset_virtual.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/dataset_virtual_greyscale.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/default_db_image.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/download.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/edit.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/edit_alt.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/email.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/error_solid.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/error_solid_small.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/exclamation.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/expand.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/eye.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/eye_slash.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/favorite-selected.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/favorite-unselected.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/favorite_small_selected.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_abc.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_boolean.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_date.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_derived.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_num.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/field_struct.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/file.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/filter.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/filter_small.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/folder.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/function_x.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/gear.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/grid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/image.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/import.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/info-solid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/info.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/info_solid_small.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/join.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/keyboard.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/lightbulb.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/line-chart-tile.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/link.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/list.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/list_view.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/location.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/lock_locked.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/lock_unlocked.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/map.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/message.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/minus.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/minus_solid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/more_horiz.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/more_vert.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/move.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_charts.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_dashboard.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_data.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_explore.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_home.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/nav_lab.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/note.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/paperclip.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/pie-chart-tile.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/placeholder.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/plus.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/plus_large.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/plus_small.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/plus_solid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/refresh.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/save.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/search.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/server.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/share.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/sql.svg
 rename superset-frontend/src/assets/images/icons/{offline.svg => square.svg} 
(83%)
 delete mode 100644 
superset-frontend/src/assets/images/icons/table-chart-tile.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/table.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/tag.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/tags.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/trash.svg
 delete mode 100644 
superset-frontend/src/assets/images/icons/triangle_change.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/triangle_up.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/up-level.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/user.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/warning.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/warning_solid.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/x-large.svg
 delete mode 100644 superset-frontend/src/assets/images/icons/x-small.svg
 delete mode 100644 
superset-frontend/src/components/IconButton/IconButton.test.jsx
 create mode 100644 
superset-frontend/src/components/IconButton/IconButton.test.tsx
 rename superset-frontend/src/components/Icons/{Icon.tsx => AsyncIcon.tsx} (57%)
 create mode 100644 superset-frontend/src/components/Icons/BaseIcon.tsx
 rename superset-frontend/src/components/Icons/{IconType.ts => types.ts} (66%)
 create mode 100644 superset-frontend/src/components/Modal/FormModal.test.tsx
 create mode 100644 superset-frontend/src/components/Modal/FormModal.tsx
 create mode 100644 superset-frontend/src/embedded/utils.test.ts
 copy 
superset-frontend/src/{dashboard/util/getChartAndLabelComponentIdFromPath.js => 
embedded/utils.ts} (50%)
 create mode 100644 superset-frontend/src/features/roles/RoleFormItems.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListAddModal.test.tsx
 create mode 100644 superset-frontend/src/features/roles/RoleListAddModal.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListDuplicateModal.test.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListDuplicateModal.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListEditModal.test.tsx
 create mode 100644 superset-frontend/src/features/roles/RoleListEditModal.tsx
 copy superset-frontend/src/{explore/components/controls/VizTypeControl => 
features/roles}/types.ts (54%)
 copy 
superset-frontend/src/{dashboard/components/BuilderComponentPane/BuilderComponentPane.test.tsx
 => features/roles/utils.ts} (52%)
 create mode 100644 superset-frontend/src/pages/RolesList/RolesList.test.tsx
 create mode 100644 superset-frontend/src/pages/RolesList/index.tsx
 create mode 100644 superset/commands/tag/export.py
 create mode 100644 
superset/migrations/versions/2025-03-19_17-46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py
 copy superset/{utils/dashboard_import_export.py => tasks/slack.py} (65%)
 copy superset/views/{annotations.py => roles.py} (76%)
 copy {superset/advanced_data_type => 
tests/unit_tests/commands/dashboard}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/dashboard/create_test.py

Reply via email to