You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by el...@apache.org on 2022/01/12 01:08:56 UTC

[superset] branch refactorReports updated (ecea115 -> bbc8597)

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

elizabeth pushed a change to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git.


 discard ecea115  Add functionality is now working (#17578)
 discard 68e4e0e  fix(explore): Metric control breaks when saved metric deleted from dataset (#17503)
 discard 2cf0c28  feat: Certify Charts and Dashboards (#17335)
 discard efbc1e3  feat(dashboard): Add divider component in native filters (#17410)
 discard de3b81c  Remove loading span, add empty-loading-bar css class, change empty loading rows length to 12, remove width logic on empty loading columns (#17515)
 discard a422385  fix: hiding HiddenControl inputs for real, to reduce bootstrap space consumption (#15182)
 discard 3fafb02  fix: Dashboard access when DASHBOARD_RBAC is disabled (#17511)
 discard 09c9d74  chore: bump major on Pillow, optional dependency (#17521)
 discard b667462  chore(deps-dev): bump @types/jquery in /superset-frontend (#17452)
 discard a03eb8c  chore: Slovak translation, enabling language and adding first translations  (#14783)
 discard 7ef1037  chore(deps-dev): bump eslint-import-resolver-webpack (#17453)
 discard b0da978  docs(exploring-data): Add upload excel notes (#17502)
 discard 3f35cc0e chore: remove deprecated selects and deps (#17522)
 discard 92fb46c  fix: Bulk update Spanish translations (#16799)
 discard 8129de8  chore: update node version in nvmrc (#17492)
 discard 17392d2  chore(deps-dev): bump @babel/cli in /superset-frontend (#17500)
 discard 3e06b13  chore(de-translation): update German translations (based on master) (#17441) (#17478)
 discard 07ebc41e fix(hive): Update _latest_partition_from_df in HiveEngineSpec to work on tables with multiple indexes (#14302)
 discard 05177bf  chore(translations): fix translation literals (#17501)
 discard 93f09d7  docs: add dropbox to users list (#17504)
 discard 459276e  chore: migrate FormattedNumber component from jsx to tsx (#17361)
 discard b206519  refactor(chart.commands): separate commands into two different modules (#17509)
 discard 6d06d5b  Add files via upload (#17434)
 discard 63b5919  fix: Always use temporal type for dttm columns [ID-2] (#17458)
 discard a12ae38  refactor(QueryContext): separate all processing concerns into QueryContextProcessor (#17497)
 discard b77102f  docs: mention that username should be admin to load examples (#17484)
 discard dbf272f  fix(presto): expand data with null item (#17470)
 discard bc46796  docs: Update frequently-asked-questions-page.mdx (#14837)
 discard 51264e6  refactor(QueryContext): move df methods utils to utils package (#17496)
 discard 2d5a878  refactor(QueryContext): add QueryContextFactory (#17495)
 discard 2db4638  chore(deps): bump cachelib from 0.1.1 to 0.4.1 (#17482)
 discard 8df67cf  chore(sql_lab): Added Unit Test for stop query exception (#17464)
 discard 5118395  fix(sqllab): Have table name tooltip only show when name is truncated (#17386)
 discard 7bd477a  fix: feature flags typing (#15254)
 discard 3a2688e  chore: Bump FAB to 3.4.0 (#17420)
 discard 7e9a40e  chore(deps-dev): bump @types/react-loadable in /superset-frontend (#17454)
 discard 0019dca  Update Makefile (#17480)
 discard 4f59e7b  fix: create-admin command in Makefile (#17471)
 discard f3ca3bd  refactor(QueryObject):  decouple from superset (#17479)
 discard fd6993d  fix(Dashboard): Save empty label_colors in json_metadata (#17462)
 discard bdd9682  refactor: queryObject - add QueryObjectFactory (#17466)
 discard 40391a8  refactor: queryObject - decouple from queryContext and clean code (#17465)
 discard f1bdf80  chore(fr-translation): update whole French translation (based on 1.3.0 release) (#16868)
 discard 4e16083  refactor: chartDataCommand - remove the responsibly of creating query context from command (#17461)
 discard a6c14cd  fix(views/core): iteration over None type (#14305)
 discard fcad26c  fix(docker): add ecpg to docker image (#16566)
 discard c9347fe  refactor(monorepo): stage 1 (#17427)
 discard d83725c  chore: Ignore docs directory for dependabot (#17451)
 discard 8a75f0c  test: add native filter default value e2e (#17398)
 discard 7529e0d  chore: bumping react syntax highlighter and thusly prismjs (#17439)
 discard 1f8f301  chore: Notify user of custom label colors and related Dashboard color scheme (#17422)
 discard 701b268  chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /docs (#14576)
 discard 9a2a596  fix(mssql): week time grain should respect datefirst setting (#10811)
 discard 37dd9c8  feat: add a config to enable retina quality images in screenshots (#17409)
 discard 946f466  fix: do not show migration toast if user not enable dashboard filter components (#17440)
 discard 38576bb  fix(sql lab): NULL styling in grid cell (#17385)
 discard cccfb03  use full resultType with csv download on chart in dashboard (#17431)
 discard 3f4795f  Fix 'DataFrame' object has no attribute 'ix' (#12092)
 discard cb78684  chore: bump superset-ui 0.18.25 (#17438)
 discard cdeec15  feat(explore): adhoc column expressions [ID-3] (#17379)
 discard d1491fa  refactor: ChartDataCommand into two separate commands (#17425)
 discard f11746f  refactor(TestChartApi):  move chart data api tests into TestChartDataApi (#17407)
 discard 161401d  fix: rename to schemas_allowed_for_file_upload in dbs.extra (#17323)
 discard c25186e  fix: avoid escaping bind-like params containing colons (#17419)
 discard 012121a  fix: allow POST chart/data request without CSRF token (#17429)
 discard 4d4c2df  fix(chart): ensure samples data is displayed (#16900)
 discard 6726d08  fix: add fallback and validation for report and cron timezones (#17338)
 discard b794215  Update date_parser.py (#17426)
 discard a50d2ea  feature: Add quarter unit to datetrunc (#17416)
 discard eff362f  fix(Dashboard): Only apply changes when editing properties (#17392)
 discard cc25143  refactor ChartDataCommand - separate loading query_context form cache into different module (#17405)
 discard 5eb44a5  chore: add dependencies for monorepo (#17403)
 discard 11057fe  Fix missing dashboardId (#17380)
 discard e6c776e  refactor move chart_data_apis from ChartRestApi ChartDataRestApi in seperate module (#17400)
 discard 70ebf0a  fix(dashboard): don't show report modal for anonymous user (#17106)
 discard e4ce83a  refactor move ChartDataResult enums to common (#17399)
 discard c3b5e09  fix: title case in menus (#17135)
 discard 298f304  fix(sqllab): Bugfix for tracking url transformation (#17263)
 discard d587a6b  docs: add mishmash io to users list (#17350)
 discard 2171695  fix: handle TIME column serialization (#16869)
 discard 290c87a  revert: Partial revert of 17236 (#17383)
 discard 725d674  fix: Users being able to update datasets across DBs (#17348)
 discard dfeec21  fix(sqllab): Query limit dropdown number breaks to separate lines (#17382)
 discard 0cc282b  docs: Reorder install instructions in CONTRIBUTING.md (#17387)
 discard 063b941  feat: Drill ODBC/JDBC Impersonation feature (#17353)
 discard f9da09c  feat(native_filter_migration): add transition mode (#16992)
 discard 60f04f18 fix: various typo fixes in MD files (#17309)
 discard 2982bac  feat(metrics): Provide override for disabling ad-hoc metrics (#17202)
 discard bbdae74  fix: failed timezone selector UT (#17370)
 discard c1b7b74  chore: bump @typescript-eslint/eslint-plugin to 5.3.0 (#17367)
 discard 9967673  fix: Database selector overflow (#17369)
 discard d42dc7c  chore: bump superset-ui 0.18.20 (#17362)
 discard e69b4ee  fix: Remove horizontal scroll navigation from SQL Lab (#17356)
 discard 7ff5402  Make color scheme optional (#17357)
 discard d8f3ec6  fix(dashboard): Return columns and verbose_map for groupby values of Pivot Table v2 [ID-7] (#17287)
 discard 2e542fa  test: add native filter e2e test part3 (#17343)
 discard d9e417c  Check validity of control item (#17349)
 discard abcb7d8  fix: Show sqllab state when deleting databases (#17331)
 discard 7a5d42f  fix: clear 'delete' confirmation (#17345)
 discard 3cef60c  fix: set correct schema on config import (#16041)
 discard 589d41d  feat: apply d3NumberFormat to table reports (#17336)
 discard 51e1484  fix: removed redundant logger definition (#17289)
 discard 6d84fd4  fix: Revert default series sort-by metric and enforce non-xor with series limit (#17236)
 discard 594ff5c  fix: Normalize prequery result type (#17312)
 discard be724cd  fix: import should accept old keys (#17330)
 discard b5c9c75  fix: Color consistency (#17089)
 discard 208e319  fix: Unable to select None for Alert's log retention (#17268)
 discard 8b91b28  chore(websocket): bump dependencies (#17325)
 discard e0aab37  chore: Test cases for annotations and annotation layers incorrect creation through API (#17246)
 discard 3dab33c  feat: improve logic in is_select (#17329)
 discard 31f02a1  fix: remove variables from styled component (#17228)
 discard 4309f7d  Revert "fix(native-filters): Fix update ownState (#17181)" (#17311)
 discard feb56e3  fix numbering on getting started with kubernetes docs (#17306)
 discard 15d10f8  chore: migrate HiddenControl component from jsx to tsx (#17315)
 discard ae89468  fix(Dashboard): Sidepanel positioning (#17200)
 discard 08710b3  fix(Explore): Remove changes to the properties on cancel (#17184)
 discard 0722180  chore: bump superset-ui to 0.18.17 (#17310)
 discard 07927fe  run npm install to fix a bad package version (#17314)
 discard 460430e  Remove redundant parentheses from setup.py (#17284)
 discard 03131e3  fix: datatable crash when column is empty string (#17303)
 discard 5561c88  test: add native filter part2 (#17283)
 discard 6b7f2d3  chore: Bumping pyarrow / pandas (#17290)
 discard 403cf79  docs(UPDATING): Adding downtime for #16756 (#17293)
 discard d0942c8  change to 422 for stop query (#17292)
 discard 134ac9f  fix(AlertReportModal): Text Area Change (#17176)
 discard 7dd6239  fix: Allow users to update database in Dataset Edit Modal (#17265)
 discard 4ba100a  fix: revert "feat(sqla): apply time grain to all temporal groupbys" (#17239)
 discard d625d67  fix(reports): Owners no longer showing undefined in reports (#17223)
 discard 6715d23  fix: Updated connection string for Firebolt (#17242)
 discard a40330d  Drop constraint (#17275)
 discard 366a359  fix(explore): Metrics disappearing after removing metric from dataset (#17201)
 discard 8110074  chore(doc): Update BigQuery Connection database connection UI into doc (#17191)
 discard fc5839d  fix(cli): fail CLI script on failed import/export (#16976)
 discard 177d846  test: added some sanity test for native filter (#17231)
 discard 15f0f60  chore: bump superset-ui to 0.18.17 (#17270)
    omit 7b884bf  refactor: Reports code clean 10-29 (#17424)
    omit 159b290  refactor: Arash/new state report (#16987)
    omit 2cd5906  Merge branch 'refactorReports' of github.com:apache/incubator-superset into refactorReports
    omit 1297954  continued refactoring (#16377)
    omit 459ca21  Fetch bug fixed (#16376)
    omit 9bc4236  code dry (#16358)
    omit 3c6b7af  fix: Header Actions test refactor (#16336)
    omit 684fa58  refactor progress (#16339)
    omit 57d0d0e  pexdax refactor (#16333)
    omit 156deac  continued refactoring (#16377)
    omit 0f8cf4b  Fetch bug fixed (#16376)
    omit 85e14e2  code dry (#16358)
    omit 59b157c  fix: Header Actions test refactor (#16336)
    omit 85bb11e  refactor progress (#16339)
    omit abd3b72  pexdax refactor (#16333)
     add ce558e0  chore: bump superset-ui to 0.18.17 (#17270)
     add 9ef9adf  test: added some sanity test for native filter (#17231)
     add f0c0ef7  fix(cli): fail CLI script on failed import/export (#16976)
     add ca6a1ec  chore(doc): Update BigQuery Connection database connection UI into doc (#17191)
     add fa44325  fix(explore): Metrics disappearing after removing metric from dataset (#17201)
     add 8ee50de  Drop constraint (#17275)
     add 0a660a1  fix: Updated connection string for Firebolt (#17242)
     add 456efc0  fix(reports): Owners no longer showing undefined in reports (#17223)
     add b7bda70  fix: revert "feat(sqla): apply time grain to all temporal groupbys" (#17239)
     add d0bad96  fix: Allow users to update database in Dataset Edit Modal (#17265)
     add 5948a9f  fix(AlertReportModal): Text Area Change (#17176)
     add 8a27c67  change to 422 for stop query (#17292)
     add 79ed0ae  docs(UPDATING): Adding downtime for #16756 (#17293)
     add 6a63a21  chore: Bumping pyarrow / pandas (#17290)
     add abf24bb  test: add native filter part2 (#17283)
     add 1f2a7a4  fix: datatable crash when column is empty string (#17303)
     add a898883  Remove redundant parentheses from setup.py (#17284)
     add bea8502  run npm install to fix a bad package version (#17314)
     add 9515ba6  chore: bump superset-ui to 0.18.17 (#17310)
     add 5491a4d  fix(Explore): Remove changes to the properties on cancel (#17184)
     add a2a457b  fix(Dashboard): Sidepanel positioning (#17200)
     add 28b494c  chore: migrate HiddenControl component from jsx to tsx (#17315)
     add b3f0abf  fix numbering on getting started with kubernetes docs (#17306)
     add 7c6d6f4  Revert "fix(native-filters): Fix update ownState (#17181)" (#17311)
     add 9a4ab10  fix: remove variables from styled component (#17228)
     add 93bafa0  feat: improve logic in is_select (#17329)
     add 2199ef2  chore: Test cases for annotations and annotation layers incorrect creation through API (#17246)
     add 33bcf82  chore(websocket): bump dependencies (#17325)
     add 85a19a9  fix: Unable to select None for Alert's log retention (#17268)
     add 59a6502  fix: Color consistency (#17089)
     add cb34a22  fix: import should accept old keys (#17330)
     add 36f489e  fix: Normalize prequery result type (#17312)
     add 1c12167  fix: Revert default series sort-by metric and enforce non-xor with series limit (#17236)
     add 4e9f812  fix: removed redundant logger definition (#17289)
     add 03a2c6e  feat: apply d3NumberFormat to table reports (#17336)
     add 1fbce88  fix: set correct schema on config import (#16041)
     add 43f4ab8  fix: clear 'delete' confirmation (#17345)
     add e5fe186  fix: Show sqllab state when deleting databases (#17331)
     add d0085b1  Check validity of control item (#17349)
     add ab1fcf3  test: add native filter e2e test part3 (#17343)
     add fa51b32  fix(dashboard): Return columns and verbose_map for groupby values of Pivot Table v2 [ID-7] (#17287)
     add ee7c34b  Make color scheme optional (#17357)
     add f05a32e  fix: Remove horizontal scroll navigation from SQL Lab (#17356)
     add ee87b01  chore: bump superset-ui 0.18.20 (#17362)
     add ed4a628  fix: Database selector overflow (#17369)
     add b58f94ad chore: bump @typescript-eslint/eslint-plugin to 5.3.0 (#17367)
     add 33a8e87  fix: failed timezone selector UT (#17370)
     add 561d1ac  feat(metrics): Provide override for disabling ad-hoc metrics (#17202)
     add 6b1de57  fix: various typo fixes in MD files (#17309)
     add 7d22c9c  feat(native_filter_migration): add transition mode (#16992)
     add 333b137  feat: Drill ODBC/JDBC Impersonation feature (#17353)
     add 8f9cea8  docs: Reorder install instructions in CONTRIBUTING.md (#17387)
     add 1beda79  fix(sqllab): Query limit dropdown number breaks to separate lines (#17382)
     add a1961cf  fix: Users being able to update datasets across DBs (#17348)
     add 675ffaf  revert: Partial revert of 17236 (#17383)
     add 0d77f36  fix: handle TIME column serialization (#16869)
     add 6431225  docs: add mishmash io to users list (#17350)
     add 2544a4a  fix(sqllab): Bugfix for tracking url transformation (#17263)
     add 0257cf7  fix: title case in menus (#17135)
     add 45480f7  refactor move ChartDataResult enums to common (#17399)
     add 8756c90  fix(dashboard): don't show report modal for anonymous user (#17106)
     add 28944f5  refactor move chart_data_apis from ChartRestApi ChartDataRestApi in seperate module (#17400)
     add 7cdd58b  Fix missing dashboardId (#17380)
     add ffa55f7  chore: add dependencies for monorepo (#17403)
     add 9ce6b7d  refactor ChartDataCommand - separate loading query_context form cache into different module (#17405)
     add 0712be4  fix(Dashboard): Only apply changes when editing properties (#17392)
     add bcef8fa1 feature: Add quarter unit to datetrunc (#17416)
     add bfc813d  Update date_parser.py (#17426)
     add f10bc6d  fix: add fallback and validation for report and cron timezones (#17338)
     add e6ff25c  fix(chart): ensure samples data is displayed (#16900)
     add aa8040e  fix: allow POST chart/data request without CSRF token (#17429)
     add ad8a7c4  fix: avoid escaping bind-like params containing colons (#17419)
     add 0ca4312  fix: rename to schemas_allowed_for_file_upload in dbs.extra (#17323)
     add d8851c9  refactor(TestChartApi):  move chart data api tests into TestChartDataApi (#17407)
     add 5d3e1b5  refactor: ChartDataCommand into two separate commands (#17425)
     add e2a429b  feat(explore): adhoc column expressions [ID-3] (#17379)
     add 7f4c240  chore: bump superset-ui 0.18.25 (#17438)
     add 9741eaa  Fix 'DataFrame' object has no attribute 'ix' (#12092)
     add 71e3fa1  use full resultType with csv download on chart in dashboard (#17431)
     add eb029ab  fix(sql lab): NULL styling in grid cell (#17385)
     add 9f1bf1c  fix: do not show migration toast if user not enable dashboard filter components (#17440)
     add 3ee9e11  feat: add a config to enable retina quality images in screenshots (#17409)
     add 211b32a  fix(mssql): week time grain should respect datefirst setting (#10811)
     add c829614  chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /docs (#14576)
     add c2d8b0e  chore: Notify user of custom label colors and related Dashboard color scheme (#17422)
     add 96bdcc3  chore: bumping react syntax highlighter and thusly prismjs (#17439)
     add 1e2c834  test: add native filter default value e2e (#17398)
     add 34d7f0a  chore: Ignore docs directory for dependabot (#17451)
     add 9070b6b  refactor(monorepo): stage 1 (#17427)
     add 9cfce64  fix(docker): add ecpg to docker image (#16566)
     add c54027a  fix(views/core): iteration over None type (#14305)
     add 3f2129b  refactor: chartDataCommand - remove the responsibly of creating query context from command (#17461)
     add 56d742f  chore(fr-translation): update whole French translation (based on 1.3.0 release) (#16868)
     add b914e2d  refactor: queryObject - decouple from queryContext and clean code (#17465)
     add 377db1b  refactor: queryObject - add QueryObjectFactory (#17466)
     add b2363e4  fix(Dashboard): Save empty label_colors in json_metadata (#17462)
     add 683d1da  refactor(QueryObject):  decouple from superset (#17479)
     add 7b68002  fix: create-admin command in Makefile (#17471)
     add fb1bc6c  Update Makefile (#17480)
     add 8d8fbac  chore(deps-dev): bump @types/react-loadable in /superset-frontend (#17454)
     add 02a9b84  chore: Bump FAB to 3.4.0 (#17420)
     add 69f9ee8  fix: feature flags typing (#15254)
     add 8e1619b  fix(sqllab): Have table name tooltip only show when name is truncated (#17386)
     add 69c3cc7  chore(sql_lab): Added Unit Test for stop query exception (#17464)
     add 261e418  chore(deps): bump cachelib from 0.1.1 to 0.4.1 (#17482)
     add 8a6ecd3  refactor(QueryContext): add QueryContextFactory (#17495)
     add 4b7d06c  refactor(QueryContext): move df methods utils to utils package (#17496)
     add 19f1c40  docs: Update frequently-asked-questions-page.mdx (#14837)
     add 8da982b  fix(presto): expand data with null item (#17470)
     add 062039c  docs: mention that username should be admin to load examples (#17484)
     add 66d7569  refactor(QueryContext): separate all processing concerns into QueryContextProcessor (#17497)
     add 1f8eff7  fix: Always use temporal type for dttm columns [ID-2] (#17458)
     add b750204  Add files via upload (#17434)
     add 16e012f  refactor(chart.commands): separate commands into two different modules (#17509)
     add daff9b4  chore: migrate FormattedNumber component from jsx to tsx (#17361)
     add d05c561  docs: add dropbox to users list (#17504)
     add 5d1c907  chore(translations): fix translation literals (#17501)
     add bc855f4  fix(hive): Update _latest_partition_from_df in HiveEngineSpec to work on tables with multiple indexes (#14302)
     add 228f936  chore(de-translation): update German translations (based on master) (#17441) (#17478)
     add 29bc9f4  chore(deps-dev): bump @babel/cli in /superset-frontend (#17500)
     add 27e7fb3  chore: update node version in nvmrc (#17492)
     add 0f3b630  fix: Bulk update Spanish translations (#16799)
     add 18c7aec  chore: remove deprecated selects and deps (#17522)
     add c7a7865  docs(exploring-data): Add upload excel notes (#17502)
     add 5622531  chore(deps-dev): bump eslint-import-resolver-webpack (#17453)
     add 2fffff6  chore: Slovak translation, enabling language and adding first translations  (#14783)
     add bdc6a1d  chore(deps-dev): bump @types/jquery in /superset-frontend (#17452)
     add 035cc34  chore: bump major on Pillow, optional dependency (#17521)
     add 7602431  fix: Dashboard access when DASHBOARD_RBAC is disabled (#17511)
     add 6d66963  fix: hiding HiddenControl inputs for real, to reduce bootstrap space consumption (#15182)
     add c216565  Remove loading span, add empty-loading-bar css class, change empty loading rows length to 12, remove width logic on empty loading columns (#17515)
     add 9576478  feat(dashboard): Add divider component in native filters (#17410)
     add 83e49fc  feat: Certify Charts and Dashboards (#17335)
     add 7353a2b  fix(explore): Metric control breaks when saved metric deleted from dataset (#17503)
     add cf3f0e5  chore: migrate DragHandle component from jsx to tsx (#17326)
     add 5a1c681  fix(elasticsearch): time_zone setting does not work for cast datetime expressions (#17048)
     add 7429282  fix(lint): fix unnecessary type ignore (#17555)
     add 2e29f36  fix: RBAC for export for dashboard viewers (#17527)
     add a304116  fix: update kubernetes.mdx (#14512)
     add 19ffba1  chore: temporarily enable merge in .asf.yml (#17560)
     add 41f551e  feat: add monorepo config
     add 01bcbef  it's starting
     add c4b946f  Merge pull request #1 from apache-superset/chris--core-package
     add 39677af  [monorepo] add travis + codecov ✅ (#3)
     add d50f0fd  v0.0.1
     add c3b28b8  [core] add missing babel-runtime dep (#4)
     add d821d5c  v0.0.2
     add fc471d6  [core] add `parseMethod` (#5)
     add eabb10d  v0.0.3
     add f5d62e3  [core] support empty `CSRF` token (#7)
     add 446914e  v0.0.4
     add 1bc6e79  [core][client] mirror window.location.protocol format in config (#8)
     add 405dda5  v0.0.5
     add f0b02cd  [SupersetClient] allow csrf token to be passed as configuration (#9)
     add 1f2b4fe  v0.0.6
     add d9cc46f  [SupersetClient] include csrfToken passed in configuration in headers (#10)
     add e0c71f0  v0.0.7
     add e2c83f9  Merge pull request #12 from apache-superset/kristw--translation
     add 0981b6d  Merge pull request #13 from apache-superset/kristw--translator-lint
     add 524ea2d  v0.1.0
     add fca5c4b  Merge pull request #14 from apache-superset/kristw--publishconf
     add 282e719  [build-config] move to monorepo root (#11)
     add d77f81d  Merge pull request #15 from apache-superset/kristw--translation-num
     add 267c7c0  v0.2.0
     add 3594d09  Merge pull request #16 from apache-superset/kristw--wran
     add d4eee73  Update README.md
     add 4df2ca0  Update README.md
     add 1b6bf63  Update README.md
     add 730d532  v0.2.1
     add 68c8873  Merge pull request #17 from apache-superset/kristw--readme
     add a285b55  Merge pull request #18 from apache-superset/kristw--rename-core
     add cc04118  add license
     add b9391d3  add badges
     add 7097a0e  Merge pull request #19 from apache-superset/kristw--new-core
     add efd7f67  add core to readme
     add 6dc7871  v0.3.0
     add 098a019  update travis badge
     add 3df20ef  @superset-ui/color (#20)
     add c19a55f  Add color package to README
     add fbdefa7  Update color module (#22)
     add 81e2b79  update changelog
     add 537b6a5  v0.4.0
     add ae47631  Add @superset-ui/chart with extract modules and additional unit tests (#23)
     add 5bb2fd5  use simple js to create range (#24)
     add 4e0d2c1  v0.5.0
     add 010890a  [demo] add package + storybook (#25)
     add 4d651c4  Update README.md
     add b6d7ed2  add CODEOWNERS (#26)
     add 86f0007  Add generator-superset (#21)
     add 166de54  Add more unit tests for color package (#28)
     add 058d98b  Update issue templates (#30)
     add b2c7e3c  update devDependencies version (#29)
     add f408cb1  Add RegistryWithDefaultKey class (#27)
     add f639763  Add ExtensibleFunction class (#32)
     add 74b9126  Update generator-superset package name and change log
     add 0ab3f09  v0.6.0
     add a546210  fix: generator-superset public access
     add ffcc272  fix: npm exclude template files (#34)
     add af725ce  Make CategoricalColorScale instance a function and remove .toFunction() (#33)
     add 1edfdcf  Add @superset-ui/number-format package (#31)
     add 4e39bf7  Rename ColorScheme field 'name' to 'id' (#35)
     add f6ea69b  Rename `D3Formatter` to `D3NumberFormatter` (#36)
     add 307ce86  Add overwritePolicy for Registry (#37)
     add b343ca5  add codecov badge (#39)
     add 4a92a91c changed the default value for buildQuery to null (#40)
     add b3444d8  add Typescript support + convert @superset-ui/connection to Typescript (#41)
     add c3db185  Add @superset-ui/time-format (#38)
     add a39dcdd  update readme
     add ebf1fe4  Merge branch 'master' of github.com:apache-superset/superset-ui
     add 81b82f8  update dependency
     add e18ae66  v0.7.0
     add 1d3ee73  update changelog
     add 6f7d577  Expose factory functions as public API (#43)
     add 0d00190  v0.7.1
     add 06ecc47  allow leading and trailing space when looking up formatter (#46)
     add 5485593  Fix typo in unit test description (#45)
     add 084115a  Type promises (#47)
     add ec83d80  update changelog
     add ffc52ba  v0.7.2
     add 0f3bd0c  Moving query module into superset-ui from incubator-superset (#48)
     add a4c3e7d  Add `createLoadableRenderer` (#49)
     add 3b54039  Add reactify (#51)
     add 3cf863f  [bugfix][connection] fix client promise (#52)
     add d916336  Separate SupersetClient and SupersetClientClass (#53)
     add 19bb506  Convert chart models to TS and export additional modules (#55)
     add 4660847  Make connection and color packages peer dependencies (#59)
     add 07ad06f  Allow metrics arrays in form data (#61)
     add fcb7ded  Add ChartClient (v2) (#57)
     add 9c8c0a9  [Chart]Unify Metric format (#63)
     add 908f969  Revert "[Chart]Unify Metric format (#63)" (#65)
     add 6c8e40c  [build] fix typescript builds (#56)
     add fb6cde6  Convert core to TS (#62)
     add 1d62f76  Add SuperChart (#68)
     add fded8f1  Migrate @superset-ui/color to TypeScript (#69)
     add 99568b6  Handle BigNumber conversions in JSON properly (without loss of precision) (#71)
     add 28a1124  v0.8.0 (#72)
     add 56f8af8  Combined two similarly-named test files, updated release notes (#76)
     add 9a7e3dc  Convert number-format to TypeScript (#75)
     add 458d9b9  [deps] build-config@0.0.37 (#79)
     add 597d9b3  Convert translation to typescript (#74)
     add 26f12af  add legacy flag (#80)
     add 18746a9  make jed work (#82)
     add 68b97db  Convert time-format to TypeScript (#78)
     add 59402bb  v0.9.0
     add d9252d7  fix jed type export (#83)
     add f4b7e0d  update change log
     add 2ae8d7a  v0.9.1
     add 6e8fe71  Add more subgenerators to create package and demo in superset-ui-legacy (#86)
     add b12bb31  [SupersetClient] Implement put and delete HTTP methods (#85)
     add 0e79c60  v0.9.2
     add fcbd722  update change log
     add df7a49c  Minor updates for generators (#87)
     add f389bd2  Add unit test for generator to keep 100% coverage (#89)
     add 92f7794  Add @superset-ui/dimension (#88)
     add 1e1cf14  Add WordCloud plugin (#50)
     add bd3e702  add scripts to copy assets to dist folders (#90)
     add d16fa5d  make svg ignore pointer events in getTextDimension (#92)
     add 34f09f4  update change log
     add 55248c1  remove unnecessary dependencies
     add dc36385  specify npm client for lerna
     add 7a922f0  make lerna use yarn workspaces
     add 447537f  v0.9.3
     add 87a78de  Add storybooks for number-format and time-format (#93)
     add 9863d877 update @data-ui/config to fix build (#95)
     add 48c881f  update generator and bump build config version
     add 6c3a410  make id optional (#96)
     add d7da5ff  Merge branch 'kristw--template'
     add 74365f4  v0.9.4
     add b22f9b9  update change log and dependency (#97)
     add dba200a  Manage dependencies (#98)
     add 8029042  Remove unnecessary export types and reorganize types (#99)
     add 86cde58  v0.9.5
     add b17b350  fix superset-ui-chart peerDependencies
     add b175c28  v0.9.6
     add e2ff552  Update changelog and pin beemo version
     add d7f8394  seems not helpfing
     add dd9cf0d  Point to @superset-ui/build-config
     add e4cd35a  Rename FormData to ChartFormData (#100)
     add 11378a4  Fix: update build config version (#106)
     add 0f5e88e  Feat: Enable warnings when values are overwritten in registries (#107)
     add 0332e8d  Feat: Set default color scheme for the color registries (#108)
     add 8fe9e2f  refactor: Migrate word cloud to superset-ui-plugins (#110)
     add 0cde8a2  feat: Add SMART_NUMBER formatter and make it default (#109)
     add 1975277  v0.10.0
     add df86170  docs: update changelog
     add 3c85cd1  chore: add commitlint and commitizen config
     add ca04f8c  refactor: make @superset-ui/core peer dependency (#111)
     add e14d656  v0.10.1
     add 9454aed  feat: 🎾 add .clone() function to ChartMetadata (#112)
     add 3c53885  feat(superset-ui-connection): Allow PUT and PATCH in call API
     add 72772e9  docs: update changelog
     add b162aac  v0.10.2
     add e5d7e50  feat: add mergeMargin() function (#114)
     add 494f785  docs: update CHANGELOG
     add 349aded  docs: update CHANGELOG
     add 4c49331  v0.10.3
     add a98cde6  feat: re-export types from @superset-ui/dimension (#115)
     add ac241aa  feat: add dimension type (#117)
     add 01a411e  v0.10.4
     add 86c0c26  feat: 🎾 Improved QueryObject to handle more fields (#116)
     add facb0aa  docs(demo): Add TS support + CORS demo (#118)
     add 061faab  feat(chart): Add `<ChartDataProvider />` (#120)
     add 7ad0e1f  v0.10.5
     add 49efedb  v0.10.5
     add df18f3b  ✹ v0.10.5
     add 30cc661  ✹v0.10.5
     add fea7c58  chore(chart): remove faux @superset-ui/core TS declaration (#121)
     add 183547b  v0.10.6
     add 12ce877  fix(chart): import types from package, not monorepo (#122)
     add e8e54ad  v0.10.7
     add 9dd30b0  feat: getter function to return color mapping (#124)
     add fdd10fa  fix: 🐛 Fixed type definition for chart plugin (#123)
     add 3113023  v0.10.8
     add c9b9935  feat: add labels to color scheme (#125)
     add 82a142f  chore: enforce check on PR title to be conventional commit (#113)
     add e4beba9  v0.10.9
     add 27941b6  docs: update changelog
     add a63f947  feat: add support for conditional get requests (#119)
     add fef6466  v0.10.10
     add f71180e  Revert "Handle BigNumber conversions in JSON properly (without loss of precision) (#71)" (#126)
     add 684e56b  v0.11.0
     add bd8b699  docs: update changelog (#129)
     add 2ac3c08  feat: callback hooks for Reactified components (#131)
     add 49edfb4  v0.11.1
     add cbc1de5  fix: smartDateVerbose at seconds (#132)
     add 61c7e69  v0.11.2
     add 921fb90  chore: add config for no-response bot (#130)
     add 2feb894  build: migrate to storybook 5 (#133)
     add f878e62  docs: readme (#134)
     add 4d317fc  chore: create issue_label_bot.yaml (#135)
     add 99c2e4c  fix: bump peer dependencies (#136)
     add 847655a  v0.11.3
     add f0d55c3  docs: update changelog
     add 368ed3c  build: fix changelog script
     add a35f88a  fix: make translation module type check correctly (#140)
     add 3499761  v0.11.4
     add 6421d4b  build: update build config
     add d6f3933  fix: broken build due to failing unit tests (#141)
     add e5e09f9  feat: add chart companion components (#139)
     add 80c46b0  chore: prepare to publish chart-composition
     add 3c8dd8c  v0.11.5
     add a148a29  docs: update changelog
     add 8028c73  fix: lint (#144)
     add 3922193  docs: update Readme with missing yarn build command. (#156)
     add eaa7851  feat: add hooks (#158)
     add 58f606b  v0.11.6
     add aedc1b4  feat: improve margin merging (#159)
     add 5d0a693  build(deps): update @vx/responsive requirement from ^0.0.184 to ^0.0.188 (#145)
     add 01dd0f7  v0.11.7
     add c393bc8  build(deps): update @vx/responsive requirement from ^0.0.188 to ^0.0.189 (#160)
     add ed2c4a6  build(deps-dev): update fs-extra requirement from ^7.0.1 to ^8.0.1 (#155)
     add d68b3b9  build(deps-dev): update yeoman-test requirement from ^1.9.1 to ^2.0.0 (#161)
     add 4dad70e  build(deps): update @types/storybook__addon-knobs requirement (#147)
     add 1d42434  build(deps-dev): update husky requirement from ^1.1.2 to ^2.3.0 (#157)
     add c9e3e73  feat: update ChartFormData and QueryObject to support filters. (#164)
     add 0669fca  v0.11.8
     add 958e616  build(deps): update yeoman-generator requirement from ^3.1.1 to ^4.0.0 (#152)
     add 5d3d688  build(deps): update d3-scale requirement from ^2.1.2 to ^3.0.0 (#146)
     add e514f3e  build(deps-dev): update jest-mock-console requirement (#165)
     add 7d6d5dc  docs: update changelog
     add 70d210c  fix: remove padding in WithLegend
     add 4b711eb  v0.11.9
     add 9810dad  build: bump build-config (#167)
     add 62204a9  build: bump build-config with beemo 1.0.0
     add 09f9405  feat: allow chart plugin to be unregistered (#168)
     add bbf13fd  refactor: separate transform function types into a new file (#169)
     add 4f23311  test: extract mock plugins into separate file (#172)
     add 5a79a70  feat: add parseLength function to @superset-ui/dimension (#171)
     add 420321c  v0.11.10
     add 34d475f  feat: add error boundary and responsiveness to SuperChart (#175)
     add 135084c  v0.11.11
     add 9f8461b  feat: store reference to container and update bindings (#180)
     add 8d05924  build(deps-dev): update fast-glob requirement from ^2.2.6 to ^3.0.1 (#179)
     add b2b3bf6  v0.11.12
     add 34e2e62  docs: update changelog
     add 3d6d622  fix: wrong type for filters field (#183)
     add 9b82cd2  v0.11.13
     add 3fc8551  feat: support locale in number and time format (#182)
     add 3d6ef61  fix: move eslint disable comment in reactify test (#184)
     add e9c2b71  build(deps): update whatwg-fetch requirement from ^2.0.4 to ^3.0.0 (#150)
     add e1c635d  fix: clean up unneeded Promise.resolves() (#185)
     add 69238f0  build(deps-dev): update husky requirement from ^2.3.0 to ^3.0.1 (#195)
     add fb4a3c2  fix(connection): disable caching when on an insecure connection (#194)
     add e48b445  fix: eslint issues (#198)
     add 37e08a7  build(deps-dev): update lint-staged requirement from ^8.0.4 to ^9.2.1 (#197)
     add f0204ea  feat: allow reactify callbacks to access props (#200)
     add 0226566  v0.11.14
     add 5badd26  docs: update changelog
     add 77e7a53  feat: optimize functions for getting text dimension (#199)
     add 277c2fb  v0.11.15
     add fa70a61  docs: update change log
     add 9decd81  feat: split superset-ui/query from superset-ui/chart (#178)
     add 0fb91c0  feat: deprecate old SuperChart API that accepts chartProps (#202)
     add a7a12c7  feat: add control panel support to chart plugin (#203)
     add cb9e617  feat: Add types and type guards for encodeable (#201)
     add 3df26ae  refactor(chart): remove and rename fields in ChartProps (#174)
     add be65a04  feat: add functions for parsing formatters from encoding (#205)
     add 287ee47  v0.12.0
     add 129042b  docs: update changelog
     add 3e5789d  docs: update readme
     add 13ceb8d  fix: peerDependencies version (#210)
     add dc9d0a0  feat: add duration formatter (#209)
     add 3928e06  v0.12.1
     add bffc760  fix: remove is_prequery and prequeries (#208)
     add d70e634  v0.12.2
     add 51e6d05  docs: update changelog
     add 59affbc  build(deps): update @superset-ui/legacy-plugin-chart-sunburst requirement (#212)
     add 3138aaa  build(deps): update @superset-ui/legacy-preset-chart-big-number requirement (#213)
     add 024b318  feat: add functions for parsing scales (#207)
     add 7467962  refactor: rename encodeable to encodable (#214)
     add 10c1998  build(deps): update @superset-ui/legacy-plugin-chart-word-cloud requirement (#216)
     add ed45bdf  build(deps): update @superset-ui/legacy-plugin-chart-sankey requirement (#217)
     add 095c183  feat: add Wrapper support and bounding box for dynamic width/height (#215)
     add 9953244  build: add missing unit test for callApi (#218)
     add 885e4e9  fix: fix React.Fragment complaining about width/height (#219)
     add e5377ab  v0.12.3
     add ba9f4b7  docs: update changelog
     add e6c3fad  build: suppress logs from intentionally thrown/caught errors (#221)
     add c0c45c2  feat: add promiseTimeout (#223)
     add 1978d9b  feat(encodable): fill missing fields in user-specified channel definition (#222)
     add 6cd7bee  build: fix storybook type (#227)
     add be802de  docs: update README
     add be9a396  docs: update README
     add 2e607e7  docs: add contributing guidelines
     add 1f70765  docs: update storybook doc
     add 937a7ec  feat: Add channel encoder (#224)
     add e07b621  build: fix lint errors (#231)
     add e11071c  feat: Add Encoder (#230)
     add ac99cd0  fix: build error (#235)
     add 1e3f4bd  build(deps): bump @vx/responsive from 0.0.189 to 0.0.192 (#232)
     add a1aa26d  build: bump node version on travis
     add 6a5fcfd  build: fix vega and vega-lite version
     add 2923a93  feat: add function for getting legend information (#236)
     add a5a4f1b  build: fix lint (#245)
     add 9b0d77a  feat(time-format): bump d3-time-format (#244)
     add 20452b1  v0.12.4
     add f8bd7c6  fix: d3 scale types (#246)
     add 9300c2b  refactor(encodable): rename .getDomain() to .getDomainFromDataset() (#248)
     add 2726e4a  build: fix lodash type dependencies (#251)
     add f5f876f  build(deps): bump @types/lodash from 4.14.108 to 4.14.147 (#253)
     add b672373  feat(encodable): only set scale domain if both bounds are defined (#250)
     add 497a4b0  build(deps): bump chalk from 2.4.2 to 3.0.0 (#252)
     add f5f944b  feat(encodable): make applyDomain() able to handle domain from dataset (#254)
     add 9ef8318  feat(encodable): implement axis functions for ChannelEncoder (#247)
     add e719c19  feat(encodable): handle edge cases when making domain includes zero (#257)
     add 1772b67  feat(encodable): add function for setting domain (#256)
     add 2745d8b  build: migrate encodable to separate repo
     add 934d6a7  build(deps): bump @types/lodash from 4.14.147 to 4.14.149 (#259)
     add 4274520  feat: add @superset-ui/superset-ui package as one-stop install (#255)
     add 28acf60  v0.12.5
     add 6aedef7  docs: update readme and changelog
     add 62e801f  fix: typing issues surfaced by typescript 3.7 (#260)
     add 09442bb  v0.12.6
     add d6a46c1  fix(dimension): set 0 width/height in createHiddenSvgNode (#261)
     add 2d91764  v0.12.7
     add 7212d12  feat(number-format): bump pretty-ms to 5.1.0 (#262)
     add 00ede94  docs(number-format): add durationFormatter example README (#266)
     add 97f18e6  build: migrate build tool to nimbus (#281)
     add 75797fa  build(deps-dev): bump lint-staged from 9.5.0 to 10.0.3 (#285)
     add aabbb3d  build(deps-dev): bump husky from 3.1.0 to 4.2.1 (#283)
     add 6ae0511  build: fix lints (#289)
     add 5ddff8b  build(deps): bump @vx/responsive from 0.0.192 to 0.0.193 (#288)
     add 761b426  build(deps-dev): bump @types/jest from 24.9.1 to 25.1.1 (#287)
     add f40e06e  build: rename yarn type:dts to yarn type (#290)
     add 6720f42  build: update script in package.json
     add a03dd5a  docs: update readme
     add 18db591  build: remove babel transform runtime (#291)
     add a716fd1  docs: update frontend assets path in debugging doc (#292)
     add aa7ddd2  build(deps): bump @vx/responsive from 0.0.193 to 0.0.194 (#296)
     add 517020a  build: fix demo build (#298)
     add 06d7ad5  feat: add NoResultsComponent to charts (#305)
     add 94d8280  v0.12.8
     add 5776092  build: add force-release script
     add 83a1901  feat: make formatTime and formatNumber handle undefined format (#307)
     add 64dca92  v0.12.9
     add 5966ff1  feat: add more support for undefined format to number and time formatters (#308)
     add 3342bfd  v0.12.10
     add eef4699  fix: small rendering for no results message (#309)
     add b14de72  v0.12.11
     add 14013c3  build(deps): bump @vx/responsive from 0.0.194 to 0.0.195 (#297)
     add aa9d262  build(deps): bump pretty-ms from 5.1.0 to 6.0.1 (#304)
     add dbc9860  feat: add validator package (#322)
     add d32465d  v0.12.12
     add 5c2a277  build(deps): bump @storybook/addon-actions from 5.3.9 to 5.3.17 (#323)
     add 3e64d0d  build(deps): [security] bump acorn from 5.7.3 to 5.7.4 (#312)
     add 1238e78  build: try to merge superset-ui-plugins
     add 5f87db7  build: clean up tsbuild.info, too
     add 6f42844  Revert "build: clean up tsbuild.info, too"
     add 4d0d05f  Revert "build: try to merge superset-ui-plugins"
     add 98a5d0e  build: add codecov.yml
     add 6ffcfec  feat: add validator to umbrella package (#327)
     add a54c6a2  build: fix codecov.yml
     add 1cd8201  build: remove codecov for now so CI in master can pass
     add 23f5228  build: try to merge superset-ui-plugins (#333)
     add 8e8d1f7  fix: new line at end
     add 1158bc1  build(deps): bump d3-format from 1.4.3 to 1.4.4 (#335)
     add fc2cc23  build(deps-dev): bump fs-extra from 8.1.0 to 9.0.0 (#336)
     add 186b4be  build(deps): bump @types/storybook__react from 4.0.2 to 5.2.1 (#276)
     add 436b369  build(deps): bump @types/react from 16.9.31 to 16.9.32 (#339)
     add 21f82d2  fix(legacy-plugin-chart-table): time column formating (#340)
     add ddb9954  build(deps-dev): bump @airbnb/nimbus from 3.1.2 to 3.1.3 (#345)
     add ff51f20  build(deps-dev): bump @types/jest from 25.1.4 to 25.2.1 (#341)
     add cf18804  build(deps-dev): bump lint-staged from 10.1.1 to 10.1.2 (#342)
     add a3bd2ce  build(deps-dev): bump yeoman-test from 2.3.0 to 2.4.1 (#343)
     add 676979e  build(deps): bump chalk from 3.0.0 to 4.0.0 (#337)
     add 149405e  v0.12.13
     add a8f3923  feat: add calendar package and storybook (#356)
     add f8237fe  build(deps-dev): bump fork-ts-checker-webpack-plugin from 4.1.2 to 4.1.3 (#349)
     add c9f9f4a  build(deps-dev): bump husky from 4.2.3 to 4.2.5 (#355)
     add 33021bd  build(deps-dev): bump lint-staged from 10.1.2 to 10.1.3 (#351)
     add a7583bd  build(deps): bump core-js from 3.6.4 to 3.6.5 (#354)
     add a4d6dcc  build(deps): bump @types/react from 16.9.32 to 16.9.34 (#353)
     add 7e5b02e  build(deps-dev): bump @types/datatables.net from 1.10.18 to 1.10.19 (#346)
     add f97e2f3  build(deps): bump yeoman-generator from 4.7.2 to 4.8.0 (#348)
     add 98848b3  feat: allow toggling of table viz's bar chart backgrounds (#352)
     add e0bbdf9  v0.12.14
     add 78b61f71 build(deps): bump yeoman-generator from 4.8.0 to 4.8.2 (#360)
     add 4143713  build(deps): bump storybook-addon-jsx from 7.1.15 to 7.2.0 (#361)
     add 735e8b2  feat: make CategoricalScale compatible with D3 ScaleOrdinal (#357)
     add aa84115  feat: make time formatter handle number and fix formatters type warnings (#358)
     add f4eb082  v0.12.15
     add e6bfdfa  docs: update changelog
     add 5c2a57a  Disable commit lint (#363)
     add 11dbae7  feat: style package for theming and styled components (#362)
     add d71940b  docs: update readme
     add ec7a656  docs: update readme
     add 44dd59f  build: update yarn.lock
     add 536b0b8  v0.12.16
     add 1feab46  fix: publish settings
     add b491361  v0.12.17
     add d36b36e  feat: migrate legacy-plugin-chart-chord (#365)
     add 2c39ba1  docs: update readme
     add 9db2dd7  docs: update changelog
     add d5b5120  v0.12.18
     add 12bf14b  feat: migrate heatmap, horizon, iframe and markup (#367)
     add 365621e  build: add github workflow for build and test (#369)
     add 6adbfc6  build: disable travis (#373)
     add f2cf0a2  feat(style): add style to umbrella package (#366)
     add 89c2203  Merge pull request #368 from apache-superset/kristw--migrate-pivot
     add 7ee7b57  chore: update lerna config and release script
     add 170ff4f  chore: update npm script
     add aac4b05  chore(release): publish v0.12.19
     add 6796828  initial commit
     add 90479c9  update readme
     add 667678f  add script to build assets
     add 641d1e9  update dependency
     add 5c84dfa  add iframe and markup
     add 42ad17a  update package.json
     add 1a43d2a  hello storybook
     add 1747eb6  storybook working for iframe
     add f60c04b  storybook works for markup
     add bf3f81d  update import
     add 560d17f  Add storybook for chord
     add 4175a3d  add force-directed graph
     add 36b3628  add force-directed
     add 14b672e  resolve classname issue
     add 4175ca6  update class names
     add b5d82cd  add heatmap
     add 3995380  add heatmap demo
     add b5f5e1b  update vendor css
     add aad73e8  update readme
     add a8d57d1  add README for each package
     add ff9fd79  Add histogram
     add 1411ea0  Update READMEs
     add 392bc70  add horizon package
     add 83013f7  resolve package version issue
     add b72e17e  add horizon demo
     add 1d3e3c5  add calendar
     add b44a0b1  add world map package
     add 5392b64  Add treemap package
     add 4c6bf9f  Add table package
     add 06dfbee  Add calendar demo
     add 83889b9  Add world map demo
     add 3e191c6  Treemap demo WIP
     add 1b6615b  format treemap
     add 5c3b5c8  rewrite Treemap
     add 1ab50e3  Add table demo and fix table jquery issue.
     add 668dce9  fix lint
     add 9f91454  reduce preview size
     add 7586951  Add rose, sankey, sunburst.
     add ca4d274  add pivot table
     add 46034ed  add pivot table demo
     add 3ff5244  add rose demo
     add ed01ec3  add sankey demo
     add e0d3056  add sunburst demo
     add 1045b72  add partition and parallel coordinates
     add 6bd7556  add parallel coordinates demo
     add 3a8a00d  add t-test and partition demo
     add 9c1ce3b  add eventflow package
     add a831c74  add event flow demo
     add cc42297  add word cloud
     add f4f8dc7  add word cloud demo
     add 84532d4  add countrymap
     add 27890a1  make build work for country map
     add 55ffc5f  point to dist build
     add d5e7dd4  remove core from listed dependencies
     add ee5a2c7  update lerna config
     add b4c26ba  setup preset package
     add f6df47f  update readme
     add fa23ff7  Add storybook templates
     add a27771e  complete storybook for bignumber
     add c5fca87  fix lint and add missing dep
     add 6e9c74c  update test script
     add 5494379  v0.0.1-alpha.0
     add b5a3bb2  add npm badges for the packages
     add 15f8735  add preset bignumber
     add f3423ec  update build config
     add dcfd05b  Update bignumber css and demo
     add 23c726a  fix linting
     add c7a8502  fix lints
     add d76c5a7  fix all lints
     add 83272ec  fix lint errors
     add ade5521  add unit tests
     add 7d5e9e8  add area chart demo
     add 3750a3c  add type-specific css
     add 7e273b0  add bar demo
     add 83e5803  change storybook path
     add da057bc  put demos under preset dir
     add 0320e72  separate data files
     add 7376fda  add boxplot and bubble demo
     add 6385b6b  add storybooks for nvd3
     add d9176c4  add fallback for jquery
     add 5310987  add legacy flag and various fixes
     add 21cb7e8  rename dir
     add 104c5f0  v0.0.1
     add c626b8c  copy fix from superset
     add 15a5133  make storybook reference src instead of dist
     add c87e0b4  Fix table and pivot table jquery issues.
     add a05cd77  Update references
     add f5ef469  v0.0.2
     add 1907107  fix storybook
     add c8f53cc  add mapbox code
     add d06c990  add mapbox demo
     add be53054  v0.0.3
     add 10b6d86  update readme and changelog
     add d1cd56e  fix lint issue
     add 0f5d735  Fix extra_filters in LineMulti
     add 77ed857  v0.1.0
     add 6e442aa  enable live development through storybook
     add e856ebd  Update gitignore
     add 81a24f8  remove translation warning
     add 0db7f2c  remove devDependencies at package level that are duplicate of peerDependencies and move to top level
     add 6f14b65  wip
     add 0c7a17a  Update mapbox dependency and fix bug that crashes when zoom in
     add 5241011  minor refactor
     add c264fdc  v0.1.1
     add b2f523f  point calendar demo to dist
     add 423edbe  Implements Box Plot and XY Chart utilities (+10 squashed commits) Squashed commits: [878ed06] clean up some more [624bb7f] separate legend and chart [dfef0fa] working version [aaef60d] allow overflow [b696917] fix margins [2e12359] support top,left,bottom,right axes [278607b] create many utilities [88315c1] Many enhancements to BoxPlot [9d8eb80] box plot working [12d0d1e] new box plot working
     add f929239  update build config
     add cbec8da  Fix lints
     add 215707a  update build scripts
     add 26abd90  update package.json and README
     add 6dbddc9  update storybook navigation to separate legacy-
     add 8a82b7f  rename demo package
     add b253dd8  add to readme
     add ea1cda8  add badge
     add 96fbba6  build: update latest package version in lerna
     add 5586e58  build: add commitlint and commitizen (#4)
     add 8fa7bb5  chore: use build-config to pull commitlint and commitizen dependencies
     add 9809e85  docs: ✏ update dependency badges
     add dff5ab0  refactor: update package version according to 0.10.0
     add 6d6a43f  chore: style commitlint config file
     add 5c5a060  fix: resolve issues post `0.10.0`
     add 70ecef2  feat: bump data-ui/xy-chart version
     add 896657e  fix: 🐛 broken unit test due to missing babel-polyfill
     add abba9ae  refactor: 💡 move boxplot into preset-chart-xy
     add e1ed534  docs: ✏ update link from superset-ui-legacy to ui-plugins
     add 1d24aa9  refactor: 💡 move box plot files around
     add 7d3e683  feat: 🎾 line chart makes first appearance
     add 3e05f6f  feat: add country map of bulgaria in superset-ui-legacy-plugin-chart-country-map (#2)
     add 618f50b  Enable TypeScript live update in Storybook (#5)
     add 8c382ad  fix(legacy-preset-chart-nvd3): redraw markers after legend interaction (#6)
     add 79f5837  chore: enforce PR title to be conventional commit
     add 444bb03  fix(legacy-preset-chart-nvd3): redraw bar values after legend change (#7)
     add 70476b1  chore: đŸ€– enable hot reload for typescript in storybook (#9)
     add 53ab714  feat(legacy-preset-chart-nvd3): show negative values on bars (#8)
     add 0ecf719  fix(legacy-preset-chart-nvd3): tooltip's disappearance and stickiness (#1)
     add 4014ac8  docs: update CHANGELOG
     add 18b5c9e  v0.10.0
     add cc2ec90  docs: update CHANGELOG
     add 49cd2fe  feat: add properties for font sizing (#10)
     add 4215a80  feat: add typescript declaration for external packages (#12)
     add 270386b  chore: bump version (#14)
     add 4013721  feat: add tooltip and layout components for charts (#13)
     add 87be3e8  chore(histogram): update @data-ui/histogram for better bins (#16)
     add 54f15d7  fix: nvd3 line chart y axis bounds (#17)
     add 49a6951  fix: show only necessary tick labels on log scale (#19)
     add 7ea874c  fix: dual line chart color consistency for secondary y axis (#18)
     add a2209f2  fix: bar label for many bars and long labels (#21)
     add 45c7867  v0.10.1
     add 187e476  docs: update changelog
     add e53fbd5  docs: add nvd3 version badge to readme
     add 532feac  fix: y axis bounds when input are nan (#22)
     add c0708a2  v0.10.2
     add 2485ae5  docs: update CHANGELOG
     add d8e8dc4  fix: make pivot table handle null string (#23)
     add 2766975  feat: add encodeable utilities for chart (#15)
     add 8265ed4  v0.10.3
     add 773de69  refactor: remove new box plot code until refactored (#25)
     add 049b40b  feat: line chart with revised encodeable utilities (#26)
     add ec2c194  feat: improve the tooltip for the time pivot chart (#30)
     add 4bd482d  fix: line chart tooltip should use full datetime format (#24)
     add bcd6396  chore: add eslint react fragment rule (#32)
     add fa0d4ea  fix: fine tune time pivot chart tooltip (#33)
     add 818f462  feat: update tooltip and use selector (#31)
     add 2a57177  build: use shared commit config (#35)
     add 77396af  fix: exception thrown for charts without a x-axis (#36)
     add 66a5a5e  fix: big number with trendline fix (#34)
     add 1b4d911  fix: broken build due to file rename in vega-lite (#37)
     add 540fed2  docs: update changelog
     add b40fb63  v0.10.4
     add ad67c39  feat: update dependencies to make plugins compatible with 0.11 (#38)
     add 2b5d4d6  docs: update changelog
     add 8118ae8  v0.10.5
     add eaf61fa  style: add % to total to area chart tooltip (#27)
     add ee7a87d  v0.10.6
     add 06bf56f  fix(legacy-preset-chart-nvd3): stacked bar charts labels (#40)
     add 223c2f8  v0.10.7
     add 8b4bb80  fix: remove sticky tooltip when query returns no data in explore view (#42)
     add abc1ad4  chore: rename willUnmount hook to match the name in `superset-ui/chart` (#43)
     add 6fad7c0  v0.10.8
     add dde88df  fix: y-axis bounds for stacked viz types (#45)
     add 99112bc  v0.10.9
     add 5a643dd  feat: increment the version number (#44)
     add ec5be03  fix: use correct number format (#47)
     add fd84ea1  v0.10.10
     add 8e9cd50  build: migrate to storybook 5 (#46)
     add e2f32cb  fix: list css as side effects (#57)
     add e86706f  build: multi-level nesting in storybook (#58)
     add 7c58da9  build: allow xy-chart to publish (#59)
     add 8d701e9  docs: update readme
     add 353e3df  v0.10.11
     add c264b9f  chore: create issue_label_bot.yaml (#62)
     add 1a3b10e  feat: update line chart thumbnail and scale extraction (#61)
     add 2f19262  build: bump version and update changelog
     add 381d51d  fix: word cloud import bug (#65)
     add bbecb6d  feat: adding Canada into the list of country map choices (#48)
     add 1f33026  feat: improve line chart margin/axis and add buildquery (#66)
     add 2430aa1  fix: line chart does not handle temporal field correctly (#68)
     add 69d9545  docs: add chart xy to front page
     add fcee68a  docs: add chart xy to front page
     add 4dd87b5  v0.10.12
     add 911382f  fix: make line chart query operate in time series mode (#71)
     add 8273942  feat: update data format returned from query api and add getGroupBys (#72)
     add 0eafb6c  docs: add storybook page for testing query (#70)
     add 23c4aa3  feat: integrate line chart with build query and update typings (#73)
     add 417c86a  docs: update documentation for starting storybook (#67)
     add cbeb837  docs: update storybook readme
     add 7ca247c  v0.10.13
     add ede2e92  fix: lazily create metadata (#74)
     add 492b19c  feat: bump dependencies
     add ba42fab  v0.10.14
     add f17bb4a  fix: rename file from js to ts (#75)
     add f636615  v0.10.15
     add e230081  docs: update changelog
     add c0920f6  feat: add sankey chart with loops (#77)
     add 080cf17  v0.10.16
     add f1c113c  docs: update changelog
     add eefb1cf  fix: lint (#79)
     add 6c7533b  feat: add box plot (#78)
     add ff7ef2b  feat: allow legend overrides at multiple levels (#81)
     add f1164ae  fix: disable lazy import for line chart and box plot (#82)
     add 75a11b0  test: enable test in ci (#83)
     add be7623e  docs: update readme
     add 68ebb11  feat: bring lazy import back (#84)
     add 3a0dd27  feat: add scatter plot (#90)
     add b652510  fix: broken build due to vega type (#96)
     add 2961b15  build(deps): update @data-ui/xy-chart requirement (#94)
     add 9a98eb3  v0.10.17
     add 012f516  fix: gradient not working when y axis title has space (#98)
     add 1037ccf  refactor: rename channel color to stroke (#100)
     add 97a95ff  feat: support tooltip and legend overrides (#101)
     add fbfdbde  v0.10.18
     add 6d8ebc8  fix: invalid margin breaking chart (#102)
     add 04cd580  v0.10.19
     add de4c481  fix: line chart tooltip when there is only one lien (#103)
     add 9add9b8  refactor: use composition package (#104)
     add b6e5727  v0.10.20
     add 297b723  feat: add types to published list
     add d3e140c  v0.10.21
     add 41fc7dc  refactor: rename props
     add 729bc4d  v0.10.22
     add cfc20ba  docs: update changelog
     add 75d54d2  fix: gridlines
     add a2c1d69  feat: support line strokeWidth (#105)
     add 7745c3f  refactor: use selector in line chart rendering
     add f4f896a  refactor: create selector factories
     add 1ce151d  build(deps-dev): update husky requirement from ^1.1.2 to ^2.3.0 (#99)
     add 02d93ae  build: bump dependencies
     add c01f2a9  feat: support custom tooltip for scatterplot and box plot
     add 2770fdd  v0.10.23
     add 698778b  build(deps): update @types/storybook__addon-knobs requirement (#91)
     add 8acc021  build(deps): update @data-ui/theme requirement from ^0.0.77 to ^0.0.78 (#107)
     add d8290f8  build(deps): update @types/d3-array requirement from ^1.2.4 to ^2.0.0 (#85)
     add 3a055c5  build(deps-dev): update fs-extra requirement from ^7.0.1 to ^8.0.1 (#110)
     add a19137c  build(deps): update @data-ui/histogram requirement (#111)
     add d7a5d8a  feat: allow overriding ChartLegend, its style and LegendGroup style (#112)
     add 4259e44  feat: allow boolean as axis config
     add 0940943  v0.10.24
     add cf545ff  style: reduce gap between axis label and border (#113)
     add d490bc9  v0.10.25
     add f889a4f  fix: move padding
     add 8eaebc7  v0.10.26
     add 0dfaff8  fix: convert scale config to data-ui's config correctly (#115)
     add 2333030  v0.10.27
     add c691415  feat: implement labelFlush behavior for continuous axes (#117)
     add 45a3dfe  fix: lint
     add 740c7d1  v0.10.28
     add 814e572  fix: scale type category missing ordinal
     add 21307c2  v0.10.29
     add 06449c5  fix(preset-chart-xy): Pick LegendRenderer (#118)
     add 091789c  v0.10.30
     add 58fce4b  fix: move series in front of xy gridlines (#119)
     add 01264fd  feat: add getDomain to ChannelEncoder
     add 28ef524  feat: remove children from XYChartLayout parameter
     add 3331658  refactor: change how XYChartLayout are created
     add 7f89012  refactor: reduce amount of generic passed around
     add 7ef5701  refactor: improve how encodings are defined
     add 1c9c3ad  fix: legend types
     add c469e58  feat: channels can take array of definitions
     add 52d120a  feat: simplify Encoder creation
     add 852b9e6  feat: create reusable selector factory for Encoder
     add 15f2478  refactor: organize legend and its overrides
     add d02bf08  v0.10.31
     add 2d85b34  docs: update changelog
     add 5b5086b  fix: ignore disabled series in stacked bar values (#116)
     add 8be2149  build: bump beemo to 1.0.0
     add f114669  docs: add storybook local run instructions (#123)
     add 5fee703  build: bump @vx dependencies (#124)
     add 79ed4f3  v0.10.32
     add 9382077  docs: update changelog
     add 5d128e5  build(deps): update @data-ui/histogram requirement (#126)
     add 224c9bb  build(deps-dev): update fast-glob requirement from ^2.2.6 to ^3.0.1 (#128)
     add 1d4e5c0  build(deps): update @data-ui/event-flow requirement (#129)
     add bfc5178  fix: heatmap errors with null data
     add 474c7e3  v0.10.33
     add e4886d0  v0.10.34
     add 5bd3625  docs: update changelog
     add 7bf3587  fix: fixing tooltip for expanded area chart (#134)
     add 236a9a4  v0.10.35
     add 0ab7bef  docs: adding changelog for 0.10.35 (#138)
     add a6c10eb  fix: responsive y-axis on stacked charts (#141)
     add 3984af2  v0.10.36
     add 6c69c8c  docs: update changelog
     add fa11638  fix: disable lint error (#150)
     add e5d1e7c  fix: single y axis bounds (#148)
     add c5c0937  build(deps): update @vx/shape requirement from ^0.0.189 to ^0.0.190 (#144)
     add 5d80ce8  v0.10.37
     add 58b6085  docs: update changelog
     add 804af05  docs: update storybook to use new SuperChart props and convert to TS (+8 squashed commits) (#127)
     add 696e397  build(deps): update @vx/group requirement from ^0.0.189 to ^0.0.190 (#152)
     add 92e9c9d  build(deps): update @data-ui/histogram requirement (#153)
     add a20b199  build(deps): update @vx/scale requirement from ^0.0.189 to ^0.0.190 (#157)
     add c382480  build(deps): update @vx/axis requirement from ^0.0.189 to ^0.0.190 (#155)
     add dd2af3f  fix: nvd3 charts break on stateChange dispatch (#159)
     add b5e237f  v0.10.38
     add 708ef4a  docs: update changelog
     add 4760af2  feat: file skeleton necessary for icicle chart visualization (#162)
     add f4d01bd  fix: only remove tooltips relating to a single vis (#167)
     add fb85f6e  v0.10.39
     add 0c9478a  docs: update changelog
     add 53a9943  feat: add basic functionality for icicle chart to display static data (#165)
     add 8cd9e38  v0.10.40
     add c546935  build: speed up storybook build (#160)
     add f48e4a5  build(deps): update @data-ui/xy-chart requirement (#151)
     add 8d4ae5d  build(deps): update @data-ui/event-flow requirement (#164)
     add 53c4265  build(deps): update reactable-arc requirement from 0.14.42 to 0.15.0 (#95)
     add 516baac  build(deps-dev): update lint-staged requirement from ^8.0.4 to ^9.2.1 (#161)
     add 15316f5  build(deps): update d3-scale requirement from ^2.2.2 to ^3.0.1 (#168)
     add ebfb6d7  build(deps-dev): update husky requirement from ^2.3.0 to ^3.0.3 (#169)
     add 802ecee  build(deps): update @data-ui/theme requirement from ^0.0.78 to ^0.0.80 (#149)
     add c28b7bd  build(deps): update @vx/legend requirement from ^0.0.189 to ^0.0.190 (#173)
     add 5301cf8  build(deps-dev): update terser-webpack-plugin requirement (#170)
     add 11a6929  feat(tablevis): this pr is to add a new tablevis plguin to the system
     add 7522f28  feat(remove unused package): remove corejs and other unused package
     add aa7ef1a  feat: simply the data processing logic
     add c87a748  feat(code refactoring): code refactoring
     add 3d8cbd5  feat(added search bar): added search bar
     add 8245249  refactor(clean the code): clean the code
     add ad02316  fix(adjusted upstream break change): adjusted upstream break change
     add f814882  fix(bump lunar version of datatable): bump lunar version of datatable
     add a71b9f2  fix(memorize filter in state): memorize filter in state
     add 1a94ba0  style(fix link): fix lint
     add 10c7939  build(migrate to lunar 2*): migrate to lunar 2*
     add ea70378  build(bump the verions): bump the verions
     add bb501ad  feat: update type for line chart series (#175)
     add 6686d14  v0.10.41
     add b697285  refactor(address code review comments): address code review comments
     add d093920  docs: update change log
     add 02b9772  fix(tablevis): update datatable change
     add 18dfc53  test(added more tests): added more tests
     add 66ce93c  fix(fix types): fix types
     add d89512d  v0.10.42
     add 5edc288  docs: update thumbnails (#178)
     add 3970e2f  v0.10.43
     add 652d663  fix: move react to table peerdependency (#179)
     add 6f6de6d  v0.10.44
     add db4863d  fix(fix issues in superset): fix issues in superset
     add 138dfce  v0.10.45
     add 9468cfb  fix(force to publish new version): force to publish new version
     add 3441da0  v0.10.46
     add 9e47ea8  feat: upgrade @superset-ui to v0.12 (#183)
     add 58308d1  v0.11.0
     add d922d1e  fix(tablevis): Set proper width for each column (#189)
     add 89591bd  build: automate build & launch of storybook (#146)
     add 79c755e  fix: remove redundant target from sankey tooltip (#193)
     add 67cf3ec  build(deps): update @vx/axis requirement from ^0.0.190 to ^0.0.191 (#196)
     add 6911acd  v0.11.1
     add ddbd50f  fix(datatable): adding the consideration of padding (#198)
     add a937a2a  feat(datatable): render html correctly (#199)
     add 054b0df  v0.11.2
     add b0b0cdf  docs: clarify legacy vs non-legacy in README (#200)
     add a02a3be  docs: add npm link documentation for local development (#201)
     add a2a02ef  fix: add typings for @storybook/react (#203)
     add 35005d0  docs: update readme
     add 0ee6ffa  docs: update readme
     add 31a4b9c  docs: update readme
     add 26ef1b2  build(deps): update @data-ui/histogram requirement (#209)
     add 9f57b62  build(deps): update @data-ui/xy-chart requirement (#208)
     add e668e51  build(deps-dev): update terser-webpack-plugin requirement (#211)
     add 126d409  fix: Line not hidden after legend selection (#204)
     add f8358fc  fix(table): TableVis dynamic height enabled (#229)
     add a0760ac  v0.11.3
     add 57a747a  build(deps-dev): bump terser-webpack-plugin from 2.1.0 to 2.1.3 (#227)
     add a4df25f  build(deps): bump @vx/shape from 0.0.190 to 0.0.192 (#222)
     add 239f0cb  build(deps): bump @vx/group from 0.0.190 to 0.0.192 (#217)
     add 7d715ee  build(deps): bump @vx/scale from 0.0.190 to 0.0.192 (#221)
     add e69fc44  build(deps): update @data-ui/event-flow requirement (#213)
     add 770c95d  build(deps): update @types/storybook__react requirement (#205)
     add b608823  build(deps): bump dompurify from 1.0.11 to 2.0.6 (#234)
     add 25a333e  build(deps): bump @vx/responsive from 0.0.189 to 0.0.192 (#220)
     add 1126625  build(deps): bump @data-ui/theme from 0.0.80 to 0.0.81 (#237)
     add 8036fe7  build(deps): bump @vx/legend from 0.0.190 to 0.0.192 (#235)
     add bab5aeb  fix: change world map color scheme (#215)
     add f0b399d  build(deps): bump @vx/axis from 0.0.191 to 0.0.192 (#238)
     add 6c239af  build: fix vega-lite dependencies (#239)
     add bd84e26  feat: add Korea(South) to Country Maps (#230)
     add aa9f1c0  fix(table): fixed performance issue (#241)
     add 5ba5f4c  v0.11.4
     add d74394d  build(deps-dev): bump terser-webpack-plugin from 2.1.3 to 2.2.1 (#244)
     add 2e2a8e8  build: fix build config
     add 1621781  build(deps): bump @data-ui/event-flow from 0.0.81 to 0.0.82 (#249)
     add 180c72b  build(deps): bump @data-ui/xy-chart from 0.0.81 to 0.0.82 (#248)
     add ade25f4  fix: pass all props to transformProps in LineMulti chart (#247)
     add 381a16e  build(deps): bump @data-ui/histogram from 0.0.81 to 0.0.82 (#250)
     add 6ca9d8f  fix: lint
     add f01d32d  fix: lint
     add b2fc33c  v0.11.5
     add b56b2bb  feat: add india to country_map visualization (#182)
     add 39a8c79  docs: update table example to test larger dataset
     add b785b20  feat: improve table performance (#246)
     add 0da520c  build(deps): bump @types/dompurify from 0.0.33 to 2.0.0 (#252)
     add 7fff83e  fix(table): fix sorting, column width calculation, and text wrapping (#253)
     add b6f7cf6  v0.11.6
     add bfb6848  docs: update changelog
     add 823a661  docs: correct links to chart plugins (#255)
     add 33e9610  fix(table): fix rendering boolean (#256)
     add f3707f7  v0.11.7
     add 0fa2ecb  refactor: convert word cloud to full react (#240)
     add d41c473  build(deps): bump @data-ui/theme from 0.0.81 to 0.0.82 (#259)
     add bdf5a60  feat(legacy-plugin-chart-country-map): add Switzerland to country map chart (#260)
     add 8d808d8  chore: bump @data-ui/xy-chart@^0.0.84 (#264)
     add 0449e62  v0.11.8
     add 8392ad8  feat: add Liechtenstein to country map chart (#263)
     add 7019442  fix(legacy-plugin-chart-horizon): horizon chart should scroll when overflowing (#180)
     add b6e3fdf  feat(plugin-chart-word-cloud): convert word cloud to use encodable (#258)
     add 1c2b003  fix: minor wordcloud update
     add c8a9c68  build: fix dependencies
     add 297da9e  build(deps): bump @data-ui/event-flow from 0.0.82 to 0.0.84 (#266)
     add cc05d60  v0.11.9
     add a8a1788  docs: update changelog
     add 580c2ec  build: bump build tools (#269)
     add 101b83c  v0.11.10
     add 8dbdf57  docs: fix main README grammatical error (#271)
     add 7786a41  fix: GH issue 8669 NVD3 tooltip overflow (#278)
     add 929c546  fix: apply margins in nvd3 (#283)
     add 64c7937  fix: both the CSS and className were expecting true/false strings (#286)
     add e3da248  fix: JS exception: Cannot read property "dispatch" of undefined (#287)
     add 9e0bb45  v0.11.11
     add 765d5be  docs: update changelog
     add 9f54c06  build(deps): bump @data-ui/histogram from 0.0.82 to 0.0.84 (#289)
     add 652e430  fix: Making viz components respect D3 Format from metric (#280)
     add b46dad3  build: migrate to nimbus and fix build (#319)
     add 97735be  fix: Sunburst chart respects and prefers Metric's D3 Format (#282)
     add b0a620e  feat: Add Iran to countries (#306)
     add f4b86e8  build: add storybook script
     add 4ffcb60  build(deps-dev): bump husky from 3.1.0 to 4.2.1 (#316)
     add 1862a24  build(deps-dev): bump terser-webpack-plugin from 2.2.1 to 2.3.4 (#323)
     add 8f2937a  build: update script in package.json
     add 0fbbdb0  build(deps): bump @types/memoize-one from 4.1.1 to 5.1.2 (#243)
     add 8309a2a  build(deps): bump mustache from 3.2.1 to 4.0.0 (#314)
     add b50dca1  build(deps): bump @vx/shape from 0.0.192 to 0.0.193 (#324)
     add 3519c33  build(deps): bump @vx/legend from 0.0.192 to 0.0.193 (#325)
     add e60bf41  v0.11.12
     add 4613183  feat: support no data within BigNumber viz (#327)
     add 0d0a2f6  build(deps-dev): bump lint-staged from 9.5.0 to 10.0.7 (#328)
     add 6e731be  docs: update readme
     add 7a9d72f  fix: nvd3 tooltip bolding/non-linebreak on ONLY header row (#291)
     add 19ce4ad  build: check in yarn.lock
     add 29b2071  build: fix yarn.lock
     add cc167c0  build(deps): bump encodable from 0.1.0 to 0.2.0 (#329)
     add 1059a4e  build(deps): [security] bump mixin-deep from 1.3.1 to 1.3.2 (#335)
     add 77c8cd1  build(deps): bump @vx/responsive from 0.0.192 to 0.0.193 (#332)
     add 195ed3f  build(deps): bump @vx/group from 0.0.192 to 0.0.193 (#333)
     add d350dd2  feat: customize no data message in nvd3 charts (#330)
     add 01d8e53  build(deps): [security] bump set-value from 0.4.3 to 2.0.1 (#336)
     add 43f80c6  build(deps): bump @vx/axis from 0.0.192 to 0.0.193 (#334)
     add 0bf82e3  build(deps-dev): bump @airbnb/config-typescript from 2.2.2 to 2.2.3 (#344)
     add dba9c11  build(deps): bump @storybook/react from 5.0.11 to 5.3.13 (#343)
     add 8163869  build(deps-dev): bump @babel/core from 7.4.5 to 7.8.4 (#341)
     add ab25b3e  build(deps): bump @airbnb/lunar-icons from 2.7.1 to 2.8.1 (#339)
     add 84088ce  build(deps-dev): bump @types/enzyme from 3.10.4 to 3.10.5 (#338)
     add 91602a2  build(deps): [security] bump set-value from 0.4.3 to 2.0.1 (#337)
     add 2f665b9  build(deps): bump @storybook/addon-links from 5.0.11 to 5.3.13 (#340)
     add f8cec4d  build(deps-dev): bump @airbnb/nimbus from 2.2.3 to 2.2.4 (#345)
     add bce43cb  fix: Replace unsafe lifecycle methods (#285)
     add 35935d0  build: fix target browser (#346)
     add aae6e1b  build: update yarn.lock
     add d3f7ef5  v0.11.13
     add 55d5fb2  build(deps): bump @vx/shape from 0.0.193 to 0.0.194 (#353)
     add 2d509e5  build(deps-dev): bump @airbnb/config-prettier from 2.1.1 to 2.1.2 (#354)
     add 9298f9d  build(deps-dev): bump @airbnb/config-jest from 2.2.2 to 2.2.3 (#355)
     add c00a852  build(deps): bump @airbnb/lunar from 2.60.1 to 2.63.1 (#356)
     add fe8578c  build(deps-dev): bump enzyme-to-json from 3.4.3 to 3.4.4 (#348)
     add 30d6a04  build(deps): bump @vx/responsive from 0.0.193 to 0.0.194 (#360)
     add 06067e2  build(deps): bump @vx/group from 0.0.193 to 0.0.194 (#350)
     add b2986c0  build(deps): bump @data-ui/theme from 0.0.82 to 0.0.84 (#361)
     add a759e1d  build(deps): [security] bump serialize-javascript from 1.7.0 to 2.1.2 (#347)
     add 05316a1  build(deps): bump storybook-addon-jsx from 7.1.2 to 7.1.14 (#352)
     add 543647a  build(deps-dev): bump @types/jest from 24.9.1 to 25.1.3 (#362)
     add ad64d0f  build(deps): bump @vx/scale from 0.0.192 to 0.0.194 (#358)
     add 37e70f7  build(deps-dev): bump husky from 4.2.1 to 4.2.3 (#369)
     add cf6fc18  build(deps): bump @vx/legend from 0.0.193 to 0.0.194 (#357)
     add d505956  build(deps): bump @vx/axis from 0.0.193 to 0.0.194 (#363)
     add 6630d26  build(deps-dev): bump terser-webpack-plugin from 2.3.4 to 2.3.5 (#364)
     add 86084df  build(deps): bump encodable from 0.2.0 to 0.2.6 (#370)
     add f8263c4  build(deps): bump @airbnb/lunar from 2.63.1 to 2.64.0 (#367)
     add bca21dd  build(deps-dev): bump @airbnb/config-eslint from 2.5.1 to 2.5.2 (#365)
     add 4f41e3d  build(deps-dev): bump fast-glob from 3.1.1 to 3.2.2 (#371)
     add 2277583  fix: add container css for interval type annotation (#372)
     add 00ce00a  build: update yarn.lock
     add 751a2c2  v0.11.14
     add bb671af  build(deps): bump dompurify from 2.0.7 to 2.0.8 (#382)
     add 3297bdc  v0.11.15
     add ac313a8  build(deps): bump @vx/axis from 0.0.194 to 0.0.195 (#380)
     add fb5cc38  build(deps-dev): bump lint-staged from 10.0.7 to 10.0.8 (#377)
     add 6ae268a  build(deps): bump csstype from 2.6.8 to 2.6.9 (#374)
     add 2973c10  perf: faster legacy table chart (#385)
     add 43494f2  build: update yarn.lock
     add a8b5ffc  v0.11.16
     add 1fb0e40  build(deps): bump @vx/responsive from 0.0.194 to 0.0.195 (#386)
     add 51f7667  fix(legacy-table): avoid React DOM (#392)
     add 093df00  build(deps): bump @vx/scale from 0.0.194 to 0.0.195 (#394)
     add d831f3f  v0.11.17
     add b51674e  fix(legacy-table-chart): when data is empty (#397)
     add 2571d51  v0.11.18
     add 182d112  fix(legacy-table): container height on tall headers (#398)
     add c412978  v0.11.19
     add f45ab69  fix(legacy-table): adjust sort icon position (#399)
     add 5532c5e  v0.11.20
     add cb3206b  feat(big-number): format datetime according to granularity (#402)
     add 80b6e06  feat(big-number): allow fallback to last available value and fix time range for trend lines (#403)
     add 0176d1d  v0.11.21
     add 7497a61  chore: cleanup big number and table chart (#422)
     add 2aae804  fix: compatible with window (#426)
     add 493df5c  feat: migrate xy-chart to use encodable (#438)
     add dfb0451  chore: move unmigrated files
     add 8d688d5  chore: remove already migrated packages
     add f00c2ff  docs: update readme
     add b562418  docs: update url in package.json and readme
     add 41d62ba  docs: update readme
     add ca3897c  chore: move files
     add ff51929  build: add more scripts and pilot workflow
     add f28aa7d  build: update workflow
     add 51e27a6  build: update workflow
     add 7b641b9  build: update workflow
     add 53f9f84  build: update workflow
     add 3f24fb4  build: update workflow
     add 830e305  build: update workflow
     add 5aa5854  build: fix workflow
     add 0709181  build: fix ci
     add a45efd7  build: update workflow
     add f230f3b  build: configure publish workflow
     add 1e20393  chore(release): publish v0.12.20
     add 2bd63d9  build: disable version bumping
     add 81ca3b9  feat: migrate chart plugins (#375)
     add 084a1b3  build: remove demo page build
     add 8dd02b3  feat(legacy-plugin-chart-country-map): migrate and replace india map (#376)
     add aa2cdca  chore(release): publish v0.12.21
     add 9b009e7  feat(table): enable table filter and better typing (#344)
     add b711d3e  feat: add retry to callApi (#384)
     add 0293228  chore(release): publish v0.12.22
     add 0cb4e4f  fix: unset row_limit when it's not a number (#387)
     add aa4a8cf  chore(release): publish v0.12.23
     add e20e086  chore: ignore yarn.lock in child packages
     add 10e9db8  chore(legacy-table): move @types/datatables.net to dependencies
     add 1917d84  fix: make all filter operators uppercase (#378)
     add 8ab578e  fix(superset-ui-query): add unit tests for #387 (#390)
     add afed1a0  feat(preset-chart-xy): migrate from plugins repo (#377)
     add fb46642  feat(chart): add shared plugin controls utilities (#389)
     add 9aa7b6f  chore: bump pretty-ms (#398)
     add 6f2005d  build(deps): bump @types/lodash from 4.14.149 to 4.14.150 (#397)
     add 587e6e1  feat(preset-chart-nvd3): migration from plugins repo (#399)
     add 4739005  build(deps): bump @vx/legend from 0.0.194 to 0.0.195 (#396)
     add 0d2276d  build(deps): bump yeoman-generator from 4.8.2 to 4.9.0 (#395)
     add 145f7e4  build(deps): bump d3-color from 1.4.0 to 1.4.1 (#392)
     add 7ce8637  build(deps): bump @types/react-dom from 16.9.6 to 16.9.7 (#394)
     add c21ad5c  fix: export superset theme props (#391)
     add ea27fbb  chore: delete unused files (#412)
     add 4baff0f  build(deps-dev): bump lint-staged from 10.1.3 to 10.2.0 (#415)
     add 2be7b4b  feat(control-utils): add packages control-utils (#417)
     add 91d00ac  feat(plugin-word-cloud): change how wordcloud is exported (#418)
     add 7d746a4  chore(release): publish v0.13.0
     add 01701b6  docs: update changelog
     add f226e14  build: remove list changes which stop auto-publishing
     add 82503ce  fix: bump peer dependencies
     add 8e2732d  chore(release): publish v0.13.1
     add 5152708  fix: peer dependencies
     add 279f5d3  chore(release): publish v0.13.2
     add 79ffc1b  build: change config
     add ead6efe  chore(release): publish v0.13.3
     add 9c2495c  feat(legacy-plugin-chart-big-number): add control panel config for the BigNumber charts (#419)
     add c45a534  chore(release): publish v0.13.4
     add be6789f  chore(legacy-plugin-chart-table): rename directory (#422)
     add 1221302  build(deps): bump encodable from 0.3.4 to 0.3.5 (#425)
     add 9d732d4  build(deps-dev): bump @babel/core from 7.9.0 to 7.9.6 (#426)
     add a8d6b83  build(deps): bump @babel/runtime from 7.9.2 to 7.9.6 (#423)
     add 7cce8f0  feat(superset-ui): include control utils in the umbrella package (#421)
     add 445a446  chore(legacy-preset-chart-big-number): rename directory (#427)
     add 6190450  fix(plugin-chart-word-cloud): make wordcloud take current formdata (#428)
     add 62b2a50  fix: lint errors (#420)
     add 95cd9cc  chore(release): publish v0.13.5
     add ec061d1  docs: update changelog
     add 25cea1d  build(deps): bump moment from 2.24.0 to 2.25.0 (#430)
     add 561f309  add calendar control panel (#432)
     add 5ff9f22  fix(legacy-plugin-world-map): set useLegacyApi to true by default (#444)
     add 4322d1c  feat(query): Add force to QueryContext (#445)
     add 57ae5e4  chore(legacy-preset-chart-nvd3): move bullet chart option parsing from backend to frontend (#440)
     add e87bf3b  chore(release): publish v0.13.6
     add 9d946f0  feat(plugin-chart-sunburst): migrate control panel from incubator-superset (#443)
     add 68b16a9  build(deps): bump @vx/responsive from 0.0.195 to 0.0.196 (#436)
     add f75c378  chore(release): publish v0.13.7
     add 4fa971b  build(deps): bump @vx/scale from 0.0.195 to 0.0.196 (#434)
     add 82349fc  build(deps): bump moment from 2.25.0 to 2.25.3 (#441)
     add 5e54132  fix: Remove .ts suffix from NVD3 imports (#453)
     add 6d7de01  chore(release): publish v0.13.8
     add 67e15d0  fix: hundreds lint warning (#447)
     add ae13204  build(deps): bump @vx/axis from 0.0.195 to 0.0.196 (#450)
     add c2434dc  build(deps): bump yeoman-generator from 4.9.0 to 4.10.0 (#438)
     add 8d82317  build(deps-dev): bump lint-staged from 10.2.0 to 10.2.2 (#431)
     add bb985c3  build(deps): bump dompurify from 2.0.10 to 2.0.11 (#449)
     add d40a7d1  docs: update changelog
     add 307fb23  feat(control-utils): add infotooltipwithtrigger (#442)
     add 190d429  build(deps): bump @vx/legend from 0.0.195 to 0.0.196 (#439)
     add 7411a3c  build(deps-dev): bump yeoman-test from 2.4.1 to 2.6.0 (#451)
     add 49f4044  feat(plugin-chart-word-cloud): add control panel (#454)
     add 6ece03b  chore(release): publish v0.13.9
     add 3102d93  feat(plugin-chart-world-map): add control panel (#462)
     add 07dc493  feat(plugin-chart-treemap): add control panel (#461)
     add f077dd9  add control panel for the sankey chart (#460)
     add 72764bb  add control panel to pivot table (#457)
     add d11082f  migrate rose chart controls (#458)
     add 354422d  chore(release): publish v0.13.10
     add dc3f219  feat(plugin-chart-boxplot): add control panel (#464)
     add e487ec7  chore: enforce commit-lint on first commit in branch (#471)
     add 761b1d7  feat(style): adding typographic variables to theme (#463)
     add 8281ac9  feat(legacy-plugin-chart-nvd3): add control panels (#469)
     add 5b2b80b  test: be more lenient on jsx/tsx test coverage (#468)
     add 8f5fb6a  feat(legacy-plugin-chart-partition): add control panel (#470)
     add e7ebc24  build: resolving lerna commitlint/scoping issue (#480)
     add 75fe384  chore: publish v0.13.11
     add 66fea8c  feat(legacy-plugin-chart-markup): add controls to markup chart (#479)
     add 28de288  feat(control-utils): add shared controls + dependencies, convert to typescript (#459)
     add f910471  chore: publish v0.13.12
     add 4d55662  test: codecov ignore tsx/jsx (#482)
     add d76cd6b  feat(legacy-plugin-chart-chord): control panel (#481)
     add a0c5828  build(deps): bump @types/react-dom from 16.9.7 to 16.9.8 (#474)
     add 02cc68d  build(deps): bump @types/react from 16.9.34 to 16.9.35 (#472)
     add caf9a40  fix(legacy-plugin-chart-nvd3): disable bad linting rule (#488)
     add 3364f0f  feat(plugin-chart-word-cloud): allow minimum size (#487)
     add dfa166c  feat(generator-superset): add scaffolder for chart plugin (#456)
     add b12b32b  docs: update changelog
     add e3528df  chore: publish v0.13.13
     add a974e45  build(deps): bump @types/jest from 25.2.1 to 25.2.2 (#490)
     add b928d05  build(deps): bump @types/react from 16.9.34 to 16.9.35 (#491)
     add 4ba0555  build(deps): bump lerna from 3.20.2 to 3.21.0 (#484)
     add 995bbee  build(deps): bump yeoman-generator from 4.10.0 to 4.10.1 (#477)
     add 868ebbe  feat(time-format): add full-date to weekly time formatter (#486)
     add aefd587  chore: publish v0.13.14
     add dfb5ac4  feat(query): remove redundant metric label truncation (#492)
     add 7140b11  fix(time-format): remove week number (#493)
     add c9957f9  build(deps): bump @types/lodash from 4.14.150 to 4.14.151 (#495)
     add 318d04d  build(deps-dev): bump fork-ts-checker-webpack-plugin from 4.1.3 to 4.1.4 (#496)
     add f142bcf  build(deps-dev): bump ts-loader from 6.2.2 to 7.0.4 (#475)
     add 107cd27  build(deps): bump datatables.net-bs from 1.10.20 to 1.10.21 (#478)
     add ec3f7ed  chore: publish v0.13.15
     add 2cd7891  feat(legacy-plugin-chart-map-box): control panel (#507)
     add ffb9e87  feat(legacy-plugin-chart-iframe): control panel (#506)
     add 39655ff  feat(legacy-plugin-chart-horizon): control panel (#505)
     add 6e4dd8e  feat(legacy-plugin-chart-histogram): control panel (#504)
     add 081e223  feat(legacy-plugin-chart-force-directed): control panel (#502)
     add aee724b  feat(legacy-plugin-chart-heatmap): control panel (#503)
     add 53e8a4f  feat(legacy-plugin-chart-event-flow): control panel (#501)
     add 4faf443  chore: so 514 tablechart plugin controls migration (#508)
     add 6a50787  chore: publish v0.13.16
     add 54b0df5  feat: add control grouping functionality (#485)
     add 19b1e65  chore: publish v0.13.17
     add b6931fb  feat(legacy-preset-big-number): use emotion styling (#455)
     add 27bc742  feat(legacy-plugin-chart-parallel-coordinates): add control panels (#510)
     add d66daa6  chore: publish v0.13.18
     add 2078602  fix: missing bracket, little linty things (#517)
     add c2c9329  chore: paired t test chart plugin control migration (#515)
     add b3d6df7  chore: publish v0.13.19
     add 7ea1e54  remove .ts ext from import (#519)
     add ddc8ac9  chore: publish v0.13.20
     add ae6a1bb  feat(legacy-plugin-chart-event-flow): migrate package (#514)
     add 843ed92  chore(legacy-plugin-chart-table): cleanup fromFormData (#521)
     add 8776262  fix(legacy-plugin-chart-paired-t-test (#520)
     add 6d04279  fix(legacy-plugin-chart-table): parse numeric pageLength (#522)
     add 4cbc751  chore: publish v0.13.21
     add d63bc7c  chore(legacy-plugin-chart-country-map): add controls to chart (#516)
     add 78866b1  build(deps): bump @airbnb/config-jest from 3.0.1 to 3.0.2 (#526)
     add 2a89af7  build(deps): bump moment from 2.25.3 to 2.26.0 (#513)
     add 5868113  build(deps): bump @types/lodash from 4.14.151 to 4.14.152 (#511)
     add 71f9d33  build(deps): bump lint-staged from 10.2.2 to 10.2.6 (#525)
     add c46ef98  build(deps): bump @types/jest from 25.2.2 to 25.2.3 (#499)
     add fadf0d6  build(deps): bump @airbnb/nimbus from 3.1.3 to 3.1.4 (#523)
     add 17075ae  feat(time-format): improve support for formatting with granularity in mind (#509)
     add deed9dd  docs: update changelog
     add fd7521a  build(deps): bump @storybook/addon-info from 5.3.18 to 5.3.19 (#530)
     add 8561528  build(deps-dev): bump ts-loader from 7.0.4 to 7.0.5 (#535)
     add 5b56b72  build(deps): bump @storybook/addon-actions from 5.3.18 to 5.3.19 (#531)
     add 21ebb5b  chore: publish v0.13.22
     add 93212e9  fix: nvd3 annotation tooltip (#540)
     add c8cec08  chore: clean up useless file
     add a77029f  chore: publish v0.13.23
     add 72cc39b  feat: Word cloud typography update (#518)
     add 970f632  docs: simplified npm link for dev debugging (#546)
     add f2a053b  feat(color): support better color interpolation for sequential schemes (#547)
     add 38c424c  chore: publish v0.13.24
     add bdb0f50  feat(chart): adjust chartclient to point to new endpoints (#551)
     add 0a48d6e  feat(connection): allow developer to get supersetclient instance (#552)
     add b3dbd0e  chore: publish v0.13.25
     add 87f0090  feat(superset-ui-style): export ThemeProvider and useTheme from emotion-theming
     add be31aa4  Revert "feat(superset-ui-style): export ThemeProvider and useTheme from emotion-theming"
     add a39a058  feat(superset-ui-style): export ThemeProvider and useTheme (#553)
     add 5adb9aa  feat(demo): add helpers for resizable chart demo (#557)
     add 9a53bdf  feat(query): add functions to wrap api calls with typings (#555)
     add c966fc4  chore: publish v0.13.26
     add 72c2b7a  feat(plugin-chart-choropleth-map): add package (#560)
     add 964b005  build(deps-dev): bump @babel/core from 7.9.6 to 7.10.2 (#558)
     add 487244e  build(deps): bump @types/lodash from 4.14.152 to 4.14.154 (#559)
     add b492941  build(deps): bump lerna from 3.21.0 to 3.22.0 (#543)
     add 13ce959  build(deps): bump @storybook/react from 5.3.18 to 5.3.19 (#534)
     add b52865d  build(deps): bump @storybook/addon-links from 5.3.18 to 5.3.19 (#532)
     add a7fc00f  docs: update changelog
     add d1ec026  build(deps): bump d3-geo from 1.12.0 to 1.12.1 (#566)
     add 3843043  build(deps): bump lint-staged from 10.2.6 to 10.2.7 (#564)
     add 1fd72d5  build(deps): bump gh-pages from 2.2.0 to 3.0.0 (#565)
     add ac326de  build: allow building only one (or more) package (#571)
     add ed99565  build(deps-dev): bump typescript from 3.8.3 to 3.9.3 (#512)
     add d277421  feat(query): add more query wrappers (#570)
     add 9955156  feat(query): add new fields to QueryContext and QueryObject (#583)
     add 6fc4484  build(deps): bump @vx/clip-path from 0.0.196 to 0.0.197 (#581)
     add abc2188  build(deps): bump @vx/responsive from 0.0.196 to 0.0.197 (#577)
     add 69b9021  build(deps): bump @vx/zoom from 0.0.196 to 0.0.197 (#575)
     add ce6fe9e  build(deps): bump enzyme-to-json from 3.4.4 to 3.5.0 (#573)
     add 4b013c0  build(deps-dev): bump fork-ts-checker-webpack-plugin from 4.1.4 to 4.1.6 (#545)
     add 153cb2f  chore(legacy-plugin-chart-markup): add emotion styling to Markup chart (#567)
     add 5e3c6a9  style(control-utils): fix type reexport warning in babel (#586)
     add 7953441  chore: publish v0.13.27
     add 794c76b  fix: annotation PropType for formula annotations (#594)
     add ac90efa  chore(superset-ui-control-uitils): add MetricOption and dependencies to control utils (#593)
     add e3fa24e  chore: publish v0.13.28
     add 32802e7  chore: calender chart typography (#561)
     add f6fa5ad  chore(histogram): convert histogram css to emotion style (#572)
     add 2d31777  feat: add color pallettes defined in SIP-34 (#597)
     add 297343e  add emotion styling to chord (#578)
     add 64ffc17  feat(control-utils): better typing for control configs (#595)
     add 3566bb5  chore(legacy-plugin-chart-calendar): use domains from control (#592)
     add 20871d6  chore: publish v0.13.29
     add 84672b9  build: fix typing rebuild for single packages (#596)
     add e5feefe  build: optimize storybook config (#600)
     add b7f7d86  build(deps): bump @types/lodash from 4.14.154 to 4.14.155 (#574)
     add c55ae70  build(deps): bump @vx/tooltip from 0.0.196 to 0.0.197 (#589)
     add e90d214  build(deps): bump @vx/legend from 0.0.196 to 0.0.197 (#576)
     add 3177986  build(deps): bump @babel/runtime from 7.9.6 to 7.10.2 (#587)
     add b2652c4  build(deps): bump lint-staged from 10.2.7 to 10.2.10 (#599)
     add 1b5aa85  build(deps): bump @vx/axis from 0.0.196 to 0.0.197 (#590)
     add 8cc4399  feat: import theme colors (#601)
     add 2ebc9e6  chore: publish v0.13.30
     add 1846349  build(deps-dev): bump typescript from 3.9.3 to 3.9.5 (#607)
     add bd4a4a7  build(deps): bump @vx/pattern from 0.0.196 to 0.0.197 (#605)
     add 188c44b  build(deps): bump @vx/scale from 0.0.196 to 0.0.197 (#603)
     add 269a7df  chore: upgrade @types/react (#613)
     add f297a9b  build(deps): bump fast-glob from 3.2.2 to 3.2.4 (#604)
     add b182b64  fix: pointing nvd3 package to nvd3-fork (#615)
     add 6639b24  refactor(control-utils): reorganize files and refine typing (#610)
     add dacd58d  chore: publish v0.13.31
     add b0858ee  build: bump @types/react to 16.9.38 (#619)
     add 94579fc  build(deps): bump lerna from 3.22.0 to 3.22.1 (#617)
     add 261738c  refactor: rename control-utils to chart-controls (#620)
     add 716c235  build: clean package-lock.json before release (#621)
     add 0e6b3cf  chore: publish v0.14.0
     add 57c5f95  build: update package versions in peerDependencies (#622)
     add 05aca62  chore: publish v0.14.1
     add 2a28128  fix: got one color wrong when copy pasting (#624)
     add 92ac471  feat(plugin-chart-table): rewrite with react-table (#623)
     add aade5ef  feat(legacy-table-chart): add query mode switch (#609)
     add c8d5401  chore: publish v0.14.2
     add 9783fc0  chore: make @superset-ui/plugin-chart-table public
     add 45d57b7  chore(legacy-plugin-chart-country-map): use peerDependencies (#628)
     add c0bdeb8  add opacity and zIndex variables to theme (#632)
     add 313d9da  chore: publish v0.14.3
     add b28c690  build(deps): bump fs-extra from 9.0.0 to 9.0.1 (#618)
     add 8d18404  chore: upgrade react-table to v7.2.1 (#633)
     add 97805f3  build(deps-dev): bump @babel/core from 7.10.2 to 7.10.3 (#627)
     add c54524a  build(deps): bump lint-staged from 10.2.10 to 10.2.11 (#616)
     add 687f20b  build(deps): bump jest-mock-console from 1.0.0 to 1.0.1 (#626)
     add 3705512  build(deps): bump moment from 2.26.0 to 2.27.0 (#646)
     add e6c7c5e  build(deps): bump @babel/runtime from 7.10.2 to 7.10.3 (#645)
     add ed6084b  build(deps): bump gh-pages from 3.0.0 to 3.1.0 (#644)
     add fe819bf  build(deps): bump @vx/event from 0.0.196 to 0.0.197 (#647)
     add dfec795  build(deps): bump @types/lodash from 4.14.155 to 4.14.157 (#649)
     add 35f8815  build: bump nvd3-fork with tooltip fix (#653)
     add b2f4db4  chore: publish v0.14.4
     add c41a607  fix(plugin-chart-table): change default queryMode to null (#659)
     add c64335f  chore: publish v0.14.5
     add 771cf48  fix(plugin-chart-table): anchor should keep href (#661)
     add a540cc2  chore: publish v0.14.6
     add fb69984  feat: updated viz plugin generator (#636)
     add f96e617  chore: publish v0.14.7
     add 0e1ea12  fix(plugin-chart-table): formatting non-numeric metrics (#663)
     add e86319f  chore: publish v0.14.8
     add ddd9fb4  feat(connection): easier API for json payload (#634)
     add c9cc22c  chore(plugin-chart-table): fix typo and formatting
     add ba8c619  feat(connection): optimize typing and API for SupersetClient (#635)
     add 42d36dd  chore: migrate time table chart from superset-frontend (#630)
     add 2578974  build(deps-dev): bump @babel/core from 7.10.3 to 7.10.4 (#657)
     add 029c4dc  build(deps): bump chalk from 4.0.0 to 4.1.0 (#654)
     add 18dfdd2  feat(query): add `makeApi` API generator (#666)
     add 142544c  fix(plugin-chart-table): sort and search time column (#669)
     add 09a5858  chore: publish v0.14.9
     add 90ac8ca  chore: deprecate legacy table plugin (#674)
     add 2fd0caa  chore: publish v0.14.10
     add 106e98c  chore: requiresTime not required (#676)
     add d3bf534  chore: Cleaning up control overrides (#675)
     add 6730ee7  chore(chart-forced-directed): use emotion style (#643)
     add fbb94b8  chore(chart-worldmap): use emotion style (#652)
     add 9f28613  chore(chart-sankey): use emotion styling typography (#651)
     add 6f42079  build(deps-dev): bump fork-ts-checker-webpack-plugin from 4.1.6 to 5.0.7 (#671)
     add 8238123  build(deps): bump whatwg-fetch from 3.0.0 to 3.2.0 (#678)
     add 0365a5d  build(deps): bump @types/jest from 25.2.3 to 26.0.4 (#670)
     add 5ff6c30  build(deps): bump fetch-retry from 3.1.0 to 4.0.1 (#664)
     add 4b6aa11  feat(legacy-time-table): add time table to storybook (#680)
     add 7b7c8a0  fix(plugin-chart-table): value undefined when table name has dot (#686)
     add a62559e  chore: publish v0.14.11
     add ea72983  fix: implement extra filter logic (#688)
     add 3607532  chore: publish v0.14.12
     add 4eff7f6  fix(legacy-plugin-chart-treemap): incorrect template literal (#693)
     add 67a0543  chore: publish v0.14.13
     add 79c4f3f  feat(legacy-plugin-chart-rose): add time grain (#696)
     add 4306386  fix(legacy-plugin-chart-pivot-table): formatting non-numeric values (#695)
     add 018da38  chore: publish v0.14.14
     add 0e16cbb  fix(query): equals operator, duplicate filters and time range endpoints (#700)
     add cc73ad9  chore: publish v0.14.15
     add c783411  chore(plugin-chart-parallel-coordinates): convert para coords chart to emotion styling (#641)
     add 10cfeff  build(deps): bump @vx/event from 0.0.197 to 0.0.198 (#672)
     add a07c831  build(deps): bump @vx/legend from 0.0.197 to 0.0.198 (#673)
     add 33d2fa1  fix: charts rerender with zero-height during tab switch (#703)
     add da59465  chore: publish v0.14.16
     add d9a2808  feat(legacy-preset-chart-nvd3): add a new label type to pie chart (#699)
     add 48bf531  build(deps): bump @vx/axis from 0.0.197 to 0.0.198 (#683)
     add 2f724ea  chore: publish v0.14.17
     add 5908582  feat(legacy-plugin-chart-sunburst): add linear color scheme (#714)
     add bd83ba4  chore: publish v0.14.18
     add c244286  fix: add timeout value to error details in rejectAfterTimeout (#715)
     add e82f2fb  chore: publish v0.14.19
     add 4e5f69b  feat: style pkg exports emotion's css module (#718)
     add ac1f518  build: upgrade codecov-action and disable failing_ci_if_error (#723)
     add 835335d  feat: align metrics title to the right (#721)
     add 4317795  feat: improve world map colors (#711)
     add 6def6b4  feat: properly translate the table chart (#724)
     add 971eb03  chore: publish v0.14.20
     add 12bfdb2  fix: dist bar will render value multi times (#713)
     add 2fd1070  chore: update lock file
     add 86eedab  feat: logger supports console.table, with console.log fallback (#738)
     add baf2b68  feat(legacy-plugin-chart-pivot-table): add support for timestamp format (#734)
     add 5dd6e66  chore: publish v0.14.21
     add 4de1eb9  build(deps): bump storybook-addon-jsx from 7.2.3 to 7.3.4 (#736)
     add 0ac877d  build(deps): [security] bump lodash from 4.17.15 to 4.17.20 (#735)
     add 149c175  chore: remove iframe and markup viz type support (#746)
     add 3fa7675  feat: add certification icon to metrics (#748)
     add 5e8f67f  chore: publish v0.14.22
     add a7dfee8  chore(legacy-chart-nvd3): convert nvd3 to emotion style (#692)
     add 6ad0117  chore: silencing console errors by making things optional (#752)
     add 46ea739  chore: clean up a couple of TypeScript warnings (#754)
     add 9f1aafa  feat(color): add official ECharts color schemes (#751)
     add e916fd9  feat: Add ECharts Timeseries plugin (#737)
     add 13831d8  chore: publish v0.14.23
     add 9907d13  fix(style): throw if there is no theme (#761)
     add 8c2a91e  add `tooltip.confine = true` (#764)
     add 68c5beb  fix(legacy-preset-chart-nvd3): remove unnecessary control override (#767)
     add 415ce5e  refactor: merge core superset-ui packages (#768)
     add 1856dce  chore: publish v0.15.0
     add 44a8dbf  chore: url prop for MetricOption should be optional (#775)
     add 9cc96b9  chore: move @types/react to peerDependencies (#774)
     add 047ad3c  chore: compress thumbnail images with pngquant (#770)
     add f28cd3f  build: enable skipLibCheck for tsc (#769)
     add 1862341  refactor: convert legacy-plugin-chart-event-flow to typescript (#771)
     add 104c1b5  fix: add back nvd3 missing css (#776)
     add 4a3e11c  chore: publish v0.15.1
     add 99777a0  build(deps): bump @types/jest from 26.0.4 to 26.0.13 (#766)
     add 4004eaa  chore: move all superset-ui/core deps out of peerDependencies (#779)
     add 6ac6880  feat: make GET request work for fetchExploreJson, closes #668 (#777)
     add 2169a0b  feat: implement ECharts pie chart (#772)
     add 2f28131  build(deps): [security] bump markdown-to-jsx from 6.11.0 to 6.11.4 (#773)
     add 5a91f0a  chore: publish v0.15.2
     add 88595dc  chore: update pacakge version on generator template
     add ec1a1a2  fix: update lineMulti when queryData changes (#782)
     add e918c04  feat(plugin-chart-echarts): remove loading from timeseries tooltip (#787)
     add 9c427f0  chore: add more props to DatasourceMeta for chart-controls (#786)
     add e71af2f  fix(plugin-chart-word-cloud): make colors schemes work (#788)
     add 66e681c  feat(plugin-chart-echarts): add more robust formatting for series (#783)
     add c796493  chore: publish v0.15.3
     add 3c7320e  fix: copying controls from Sankey to Sankey Loop (#797)
     add 5d70fd3  fix(plugin-chart-echarts): fix incorrect groupby in buildQuery (#800)
     add fe2b871  chore: publish v0.15.4
     add f9c7d35  fix(generator-superset): add fixes to viz plugin generator (#803)
     add 88acb6b  feat(plugin-chart-echarts): add BoxPlot chart (#801)
     add ae31328  chore: publish v0.15.5
     add a8a910f  chore(plugin-chart-echarts): rename boxplot type to whisker_type (#804)
     add 601af08  chore: publish v0.15.6
     add adaa5f8  fix(plugin-chart-echarts): improve ECharts visuals (#806)
     add aec2d54  chore: publish v0.15.7
     add e5226c9  fix(legacy-preset-chart-nvd3): custom yAxisFormat for contribution (#808)
     add 16d14fd  chore: publish v0.15.8
     add 88c98cf  feat(core): add applied_time_extras to QueryObject (#809)
     add fdd8067  fix(plugin-chart-echarts): fix default y axis bounds (#810)
     add 5217f11  chore: publish v0.15.9
     add 757854b  feat(core): add support for annotations and url params (#812)
     add 0e20d15  chore: publish v0.15.10
     add 1d8f559  fix(plugin-chart-echarts): disable pie chart animation (#816)
     add fb30d68  fix(plugin-chart-echarts): improve yAxisBounds parsing (#815)
     add 43dca9e  chore: publish v0.15.11
     add 85f9cda  feat: update time_compare description and choices (#818)
     add 06ef549  feat(plugin-chart-echarts): add support for formula annotations (#817)
     add 7b212ea  build(deps): bump react-table from 7.2.1 to 7.6.1 (#814)
     add 387c863  feat(plugin-chart-echarts): make groupby optional (#820)
     add 6ee2c9a  chore: publish v0.15.12
     add 7a8275e  fix(plugin-chart-echarts): fix broken boxplot storybook example (#823)
     add 7cb79b3  build(deps): bump @types/lodash from 4.14.157 to 4.14.164 (#822)
     add f1a6e96  chore: bump yarn.lock (#826)
     add dc1f82d  fix: point version badge to npm page (#821)
     add c457db9  build(deps): bump xss from 1.0.6 to 1.0.8 (#824)
     add 3f20f0b  chore(chart-controls): clean up typing (#825)
     add 5f5e275  feat(legacy-plugin-chart-sankey): allow sort by metric (#831)
     add 8bfaf4e  feat(plugin-chart-echarts): implement event interval and timeseries annotations (#828)
     add b351e3d  chore: publish v0.15.13
     add 2a81e9f  chore: bump mathjs to latest version on all plugins (#832)
     add ad60fdd  chore: publish v0.15.14
     add 6a42164  fix(legacy-plugin-chart-pivot-table): remove nulls from table (#839)
     add c527f55  feat: add rison request type to makeApi (#843)
     add a52cd69  feat: native filter components (#840)
     add 250589f  feat: support multi queries request (#846)
     add 317ee22  chore: publish v0.15.15
     add 778a7a5  fix(legacy-preset-chart-nvd3): time compare and stacked area tooltips (#850)
     add 14b7ad4  chore: publish v0.15.16
     add 741ea10  refactor: Relocating/renaming various chart controls (#836)
     add a6d8f57  fix(demo): add antd css and implement action hook (#851)
     add 8c4c4ef  feat(plugin-chart-echarts): bump to version 5.0 (#852)
     add d995eaa  ci: add chromatic visual testing step (#849)
     add 3ef0f45  ci: remove `pull_request` trigger (#853)
     add 2a9dd04  chore: publish v0.15.17
     add b5f5bd1  fix(legacy-preset-chart-nvd3): make deep copy of queryData (#855)
     add 286255d  build: remove nimbus (#847)
     add e4ebd82  fix(legacy-plugin-chart-histogram): fixes legend overflow (#863)
     add 05f3354  test: use stable random for stories (#861)
     add b96586b  fix: add fetchRetryOptions in SupersetClientClass.request method (#867)
     add cb52d87  chore: publish v0.15.18
     add e794063  feat: introduce shared modules logic (#871)
     add 43a7291  chore: publish v0.15.19
     add 4e39e9e  chore(chart-controls): remove dedicated time section (#869)
     add ba067bc  test: disable Chromatic for VerifyCORS (#864)
     add dbe6df6  chore: publish v0.16.0
     add 55ee542  refactor: remove queryFields from formData and improve typing (#862)
     add ddfcb47  chore: publish v0.16.1
     add 146f9a4  fix: fix nvd3 and histogram regressions and migrate control panels to TS (#875)
     add 2afcb1e  build(deps): [security] bump ini from 1.3.5 to 1.3.8 (#865)
     add b9ad0e4  build(deps): [security] bump dompurify from 2.0.11 to 2.0.17 (#872)
     add b9b7f76  chore: publish v0.16.2
     add 1622513  chore(core): remove queryData and replace with queriesData (#874)
     add bc3aee2  chore: publish v0.16.3
     add f66caf5  build(deps): bump mathjs from 8.0.1 to 8.1.1 (#885)
     add c0e4d82  fix(core): 'AND undefined' error in sql query (#886)
     add c0a9fb7  chore: publish v0.16.4
     add 11d43e7  build(deps): [security] bump urijs from 1.19.2 to 1.19.4 (#883)
     add 336d648  ci: switch chromatic action to workflow_run (#884)
     add 066b830  chore: bumping nvd3-fork package (#891)
     add 93c37cd  chore: publish v0.16.5
     add b5e8c29  update layout control for rolling window (#890)
     add d3bc089  fix(legacy-plugin-chart-pivot-table): pivot table chart string aggregation empty values (#880)
     add 9e3c867  chore: Update controls for rolling window (#895)
     add 6bc1989  chore: publish v0.16.6
     add b695fc2  fix(plugin-chart-word-cloud): ensure top results are always displayed (#841)
     add d8e1bbb  chore: upgrade eslint and babel (#892)
     add c9e5d68  build(deps): bump @types/lodash from 4.14.164 to 4.14.167 (#887)
     add 1e8cb81  fix(plugin-chart-echarts): remove columns from formData (#901)
     add fb53780  chore: publish v0.16.7
     add 4e27daf  fix: subject Remove margin to fit last label (#900)
     add 09c890a  update big number options contorl (#896)
     add cf42782  chore: publish v0.16.8
     add 3170f24  fix(legacy-preset-chart-nvd3): make wide bar chart scrollable (#903)
     add bee49e7  feat(plugin-chart-echarts): Add xAxis label format && showMin and showMax labels (#894)
     add d02f17c  feat(legacy-preset-chart-nvd3): subject Add legend option to nvd3 chart (#904)
     add f059610  feat(legacy-plugin-chart-histogram): subject Add legend option to histogram chart (#905)
     add 54948a0  feat(plugin-chart-echarts): add legend customization options (#833)
     add 6db9aef  chore: publish v0.16.9
     add 368e198  fix(legacy-preset-chart-nvd3): remove data fetching from multiline chart (#899)
     add 4fb5047  chore: publish v0.16.10
     add 39acf65  build(deps-dev): bump @types/fetch-mock from 6.0.5 to 7.3.3 (#898)
     add 114d78e  chore: move all controls for NVD3 and Big Number charts to separate rows (#913)
     add 4db360c  fix: remove max-width from tooltip div (#909)
     add d58984a  feat(legacy-preset-chart-nvd3): subject Add Y bounds for nvd3 charts (#908)
     add 987bc30  build(deps): bump @vx/responsive from 0.0.197 to 0.0.199 (#780)
     add 6d4c24f  build(deps): bump @vx/tooltip from 0.0.197 to 0.0.199 (#785)
     add 75298ec  refactor(plugin-chart-table): migrate to API v1 (#889)
     add 1ca3cab  chore: publish v0.17.0
     add 2345e34  feat(plugin-chart-echarts): subject Add time formatter on the tooltip title (#912)
     add 3f9a5d2  feat(plugin-chart-echarts): subject Add rich tooltip (#906)
     add 60220d5  build(deps): bump core-js from 3.6.5 to 3.8.3 (#911)
     add 8a11eb9  build(deps): bump @types/react-bootstrap from 0.32.22 to 0.32.25 (#910)
     add 6f7ddf15 build(deps): bump @babel/preset-env from 7.12.7 to 7.12.11 (#917)
     add 1846be0  feat(core): add orderby to extractQueryFields (#919)
     add 0c06163  chore: publish v0.17.1
     add 83c0efe  fix(chart-controls): add a tooltip to span in ColumnOption, refactor RB Tooltips to Antd (#914)
     add d667c9f  chore: publish v0.17.2
     add b4bee55  fix(plugin-chart-table): unnecessary post_processing in raw records mode (#925)
     add 00b475e  chore: publish v0.17.3
     add 6b816c7  build(deps): [security] bump nested-object-assign from 1.0.3 to 1.0.4 (#927)
     add 51a7662  build(deps): bump @storybook/addon-knobs from 5.3.18 to 6.1.15 (#924)
     add b409a7e  build(deps): bump @babel/cli from 7.12.8 to 7.12.10 (#923)
     add b011c79  fix(plugin-chart-table): refine ordering logic (#930)
     add 92ce237  chore: publish v0.17.4
     add ea63b7c  fix(plugin-chart-table): always sort descending by first metric (#935)
     add 2a4cc71  chore: publish v0.17.5
     add d3d343d  feat(plugin-chart-echarts): subject Update echarts to v5.0.1 (#928)
     add 79f67fe  fix(plugin-chart-table): better rendering for temporal columns (#937)
     add 1816c7e  chore: publish v0.17.6
     add d3bb433  fix(plugin-chart-echarts): label type and hover bugs (#942)
     add df47d95  feat(plugin-chart-echarts): subject Add option to rotate label defaul 45 (#921)
     add bf2a80c  feat(plugin-chart-word-cloud): subject Add order by desc on metric (#939)
     add af68270  feat(legacy-plugin-chart-country-map): Add Uruguay map (#944)
     add ab2e6f3  feat(plugin-chart-echarts): subject add sort by metric for Pie Chart (#946)
     add 74d02a3  chore: publish v0.17.7
     add 25a98fb  feat(core): expand native filter hook and add chart metadata fields (#943)
     add 90e6a6f  chore: publish v0.17.8
     add b45cc00  feat(core): add custom_params to form_data (#929)
     add afa98bf  feat(legacy-preset-chart-nvd3): subject NVD3 Bar chart sort by (#947)
     add 4313a51  feat: Single metric sort (#953)
     add ef46c2e  chore: publish v0.17.9
     add b5627c7  feat(plugin-chart-table): add tooltip about multiple sort (#958)
     add b3f84f5  feat: add sort by metric for charts with multiple metrics (#952)
     add f11f2eb  feat(plugin-chart-echarts): subject fix tooltip format title (#956)
     add 9357d2b  fix(legacy-plugin-chart-pivot-table): fix displaying image inside rows (#954)
     add d142881  feat(plugin-chart-echarts): arrange legend and zoom (#920)
     add eb16861  fix(plugin-chart-table): hide cell bar for group by fields (#957)
     add 4db9249  fix(legacy-plugin-chart-paired-t-test): fix paired t-test table chart (#961)
     add d47f6ce  feat(plugin-chart-echarts): add graph echart (#918)
     add e903988  fix(legacy-plugin-chart-map-box): fix downloading map as image (#965)
     add 978af22  feat(legacy-plugin-chart-map-box): show all points in mapbox chart (#960)
     add e59f9ed  chore: publish v0.17.10
     add 20e8c07  refactor(chart-controls): improve typing and file organization (#962)
     add 61c2f0d  fix(chart-controls): expose datasource for some controls (#969)
     add 4de346c  chore: upgrade node to v14 (#970)
     add f192e09  chore: publish v0.17.11
     add 89c7d1d  feat: add dropGroupByControl (#967)
     add 2289c1e  chore: publish v0.17.12
     add 3930079  fix: remove duplicated group by field (#979)
     add 0e0f67a  feat(self-trigger): add backend pagination for the table (#959)
     add a4efedb  chore: publish v0.17.13
     add b202007  feat: implement Filter dnd (#978)
     add 0f8df43  feat(core): copy feature flags from main repo (#982)
     add 01b7054  refactor(SupersetClient): use new /api/v1/security/csrf_token/ endpoint (#980)
     add 93b0c18  fix: rename DnD types to match component names in Superset (#988)
     add 15be1fa  chore: publish v0.17.14
     add 103f8e4  feat: add BE pagination to table with pages (#985)
     add e67064e  feat: responsive heatmap (#989)
     add 2625698  feat: change font size on responsive for sankey and sunburst chart (#977)
     add 69a5c90  fix(plugin-chart-table): ignore duplicate percent metrics (#994)
     add a1093df  feat(core): add extra form data fields for native filters (#992)
     add 2ebd31b  chore: publish v0.17.15
     add 3fd7593  fix(plugin-chart-echarts): fix GraphViz crash with DnD control (#991)
     add fc149ce  fix: show question mark icon when can not infer datatype (#1001)
     add 3d25338  chore: publish v0.17.16
     add 4674748  refactor(chart-controls): optimize typing (#998)
     add 8ce06c2  chore: publish v0.17.17
     add bc30636  fix(core): don't add metrics to query object when in raw records mode (#995)
     add e6a92f2  chore: publish v0.17.18
     add 7c023cf  feat: implement Metrics dnd (#1004)
     add a628251  chore: publish v0.17.19
     add e03c4ee  fix(plugin-chart-table): metrics should be undefined (#1005)
     add 5cb4a41  chore: publish v0.17.20
     add 716a962  fix(table): Fix backend pagination table case (#1007)
     add 1c40ac5  feat(plugin-chart-echarts): add label date format for piechart and boxplot (#973)
     add 35e5608  chore: translation strings in histogram display (#981)
     add 9993b33  feat: support warning_markdown on metrics (#1011)
     add b354c15  fix: time formatter test (#1012)
     add e446fa3  chore: publish v0.17.21
     add 5da7a6c  feat: add syria to Country Maps (#1000)
     add acd23f3  feat(plugin-chart-echarts): Emit cross filters for pie and boxplot (#1010)
     add e861c7b  fix(plugin-chart-echarts): fill missing values when stacked chart (#1014)
     add 9559a69  fix: incorporating ScheduleQueries into featureFlags (#1020)
     add bb9fd65  chore: publish v0.17.22
     add 6e7e02e  fix(generator-superset): update plugin template to 0.17 standards (#1013)
     add 20aee01  fix(legacy-plugin-chart-country-map): Add Syria to control panel selection (#1025)
     add a101117  feat(plugin-chart-table): add column config control (#1019)
     add 75ef664  feat: add default series_limit (#1033)
     add 636dc28  fix: update yarn.lock for react-icons
     add 98d2502  chore: publish v0.17.23
     add 090e3b1  feat(plugin-chart-table): add small number formatter (#1028)
     add 65d04d0  chore: publish v0.17.24
     add cd5a957  fix(chart-controls): export/import DTTM_ALIAS properly (#1035)
     add 9b94f14  chore: publish v0.17.25
     add 6f3f377  fix(chart-controls): transform emotion css prop (#1036)
     add 943348b  chore: publish v0.17.26
     add e71d929  feat: extra_jwt support to be used in dashboard_rbac (#1021)
     add dfd2fda  chore: publish v0.17.27
     add 79d561d  fix(plugin-chart-table): add text align to table header (#1039)
     add 6290690  chore: publish v0.17.28
     add f4eeebf  feat(plugin-chart-table): Implement showing totals (#1034)
     add 803fd44  feat(feature-flag): add ALERTS_ATTACH_REPORTS feature flag (#1042)
     add 05bd319  feat(native-filters): add AppSection type (#1038)
     add 7019e0a  chore: publish v0.17.29
     add 9070ac9  feat: echarts gauge chart (#993)
     add fcd11cd  feat(plugin-chart-table): enable emitting cross-filters (#1041)
     add a0d60c0  fix(plugin-chart-table): fix empty metrics (#1047)
     add 53df21d  fix(plugin-chart-echarts): fix unnecessary chart clearing (#1044)
     add 6377933  fix(plugin-chart-echarts): add series deduplication (#1046)
     add ed87d47  fix(plugin-chart-echarts): default to standard x-axis format (#1043)
     add 5b8f9ef  fix(legacy-preset-chart-nvd3): fix tokenizer input type (#1049)
     add 6e01a25  chore: publish v0.17.30
     add cbaec13  fix(legacy-plugin-chart-country-map): higher quality geojson and re-arrange controls (#1045)
     add 93b259a  chore(legacy-plugin-chart-country-map): clean up dead code
     add 822ed0c  chore: publish v0.17.31
     add 1dc7538  refactor(native-filters): Update `dataMask` structure (#1040)
     add cca4b74  fix(plugin-chart-echarts): fix unnecessary highlight (#1052)
     add d1d1adf  chore(plugin-chart-table): add muted attribute of video tag to whitelist (#1051)
     add 8295e7a  feat(legacy-plugin-chart-country-map): Add Slovenia map (#1054)
     add 9b6f23d  feat(viz): Pivot table chart POC (#1023)
     add 2f391ae  chore(core): simplify ExtraFormData (#1053)
     add b0cd62f  chore: publish v0.17.32
     add ef75e7e  chore(legacy-plugin-chart-country-map): update notebook with Slovenia parameters (#1058)
     add 61d0e4b  chore(plugin-chart-pivot-table): change thumbnail and name (#1060)
     add 8fe9269  chore: publish v0.17.33
     add 0a4041f  Adding codecov script locally (#1059)
     add 18b1ef0  feat(plugin-chart-echarts): Radar chart POC (#1029)
     add 7670a90  feat(plugin-chart-echarts): add mixed timeseries chart (#1027)
     add 935c3af  chore: publish v0.17.34
     add 1e27e65  chore(plugin-chart-echarts): add time section for gauge chart (#1063)
     add 2bb19f1  feat: groupby filter (#1064)
     add ac6e73f  chore: publish v0.17.35
     add cce3486  chore: update documentation (#1065)
     add cc25094  feat: add tooltip for full metric names (#1066)
     add 8d1e28c  fix: update yarn.lock (#1067)
     add 58537ef  chore: publish v0.17.36
     add d97d706  chore(plugin-chart-echarts): bump echarts to 5.1.0 (#1062)
     add 31ca397  fix(plugin-chart-echarts): remove label line if below threshold (#1071)
     add ec45fa5  refactor: tick calculation (#1072)
     add a3bf281  chore: publish v0.17.37
     add 5f55e0b  chore(plugin-chart-echarts): bump echarts 5.1.1 (#1074)
     add 2038125  chore: publish v0.17.38
     add 3a1aee7  chore: adds Emotion's CacheProvider and createCache as exports from Core package (#1073)
     add 08a0d0a  feat(plugin-chart-table): disable show_totals by default (#1078)
     add 8f9c4ac  chore: publish v0.17.39
     add f72128f  chore: juggling imports/exports (#1080)
     add 5bae6a6  chore: publish v0.17.40
     add 6089bcf  fix(plugin-chart-table): resize and totals formatting bug (#1082)
     add 8531910  feat(plugin-chart-graph): add node/edge size and edge symbol control (#1084)
     add 3d3393c  chore: publish v0.17.41
     add 639c8ba  feat(plugin-chart-echarts): echarts funnel chart (#1006)
     add 99866e7  fix(plugin-chart-echarts): include label length in distance calculation (#1056)
     add c86ffd2  fix: interactiveGroupBy can works regardless to queryMode
     add 679b82b  fix(plugin-chart-table): hide column configs when no columns (#1085)
     add a89b78c  chore: upgrade to emotion@11 (#1086)
     add dd5a4bc  chore: explore more stuff from emotion/react
     add 112beb6  chore: publish v0.17.42
     add bce9e39  feat(plugin-chart-pivot-table): implement barchart highlight (#1089)
     add 139a067  feat(plugin-chart-pivot-table): enable cross filtering (#1083)
     add 556cd1c  fix(legacy-plugin-chart-sankey): ensure tooltip position is within chart (#1092)
     add f9f14a1  chore: publish v0.17.43
     add 33198ab  fix(plugin-chart-table): check if control values are set (#1095)
     add cb76b9d  fix: avoid unnecessary rerenders caused by ownState (#1096)
     add d1312ab  feat(plugin-chart-echart): New Tree chart (#1018)
     add 690c5ce  chore: publish v0.17.44
     add 902fcf4  feat(plugin-chart-echarts): hide/show dependent controls (#1097)
     add ac7dfad  feat(legacy-plugin-chart-country-map): added indonesia map (#1088)
     add 8d45a17  fix(legacy-plugin-chart-horizon): error on missing groupby (#1100)
     add e994fc0  fix(plugin-chart-echarts): add orderby to funnel chart (#1099)
     add 012e5dc  feat(plugin-chart-echarts): Echarts Treemap (#1094)
     add 379aeb8  chore: publish v0.17.45
     add e51f034  fix: use proper time grain when using native filters or filter box (#1104)
     add a622b1d  fix(core): clean up datatype logic (#1102)
     add 92b7693  chore: publish v0.17.46
     add 2fa01f7  feat(plugin-chart-echarts): Enhancements of treemap tooltip (#1103)
     add e6673f3  chore: publish v0.17.47
     add 0eaa79d  chore: removes react-bootstrap (#1108)
     add 8fcf38d  chore: publish v0.17.48
     add f73b9a4  feat(plugin-chart-echarts): sort by metric checkbox check by default (#1111)
     add dab8a4b  fix(plugin-chart-echarts): funnel chart improvements (#1110)
     add b6f2df9  fix(plugin-chart-echarts): disabling dragging treemap on the dashboard (#1109)
     add 62ec367  fix(plugin-chart-echarts): 'SORT BY METRIC' add checkbox to Gauge (#1113)
     add a60771f  fix: Fixes metric control when changing viz type to tree chart (#1116)
     add c2c84da  feat(core): add support for empty results and refresh indicator (#1121)
     add 25318c3  chore: publish v0.17.49
     add 6675e60  feat: add orderby shared control (#1122)
     add ade57cf  fix: making location of sorting arrows in Table more consistent. (#1124)
     add 32ebeff  feat(plugin-chart-echarts): add orderby on Radar chart (#1112)
     add a6cfaff  feat(core): add support for case insensitive LIKE operator (#1129)
     add c461abb  feat(chart-controls): implement drag&drop controls for all charts (#1127)
     add 2511c84  chore: publish v0.17.50
     add 78c915c  feat(plugin-chart-echarts): Treemap improvements (#1125)
     add 124cd34  fix(plugin-chart-pivot-table): fix displaying column labels (#1132)
     add a2b9ba9  chore: publish v0.17.51
     add 0a7e2da  feat(core): add new feature flags (#1133)
     add 1a4e3e8  feat(core): remove defaults for time range filter and Metrics (#1114)
     add b912b3f  chore: publish v0.17.52
     add 3d3c873  feat(plugin-chart-echarts): add x-filtering to treemap (#1115)
     add 47a5f34  feat: adding to feature flag enum (#1142)
     add b9194ad  fix(plugin-chart-echarts): fix tooltip format in mixed ts chart (#1143)
     add 48aa0c3  changed name to be more descriptive (#1145)
     add 7bd79d6  chore: publish v0.17.53
     add 6b4480b  feat: expose form_data to datasourceControl (#1148)
     add 2023dc0  fix(plugin-chart-echarts): order by timeseries limit metric (#1156)
     add 00617b9  chore: publish v0.17.54
     add 516209e  chore(core): add new fields to metadata class (#1149)
     add 5c0d196  fix: tooltips on nvd3 charts (#1162)
     add 800b8eb  fix: commit yarn lock change for release
     add 483e25b  chore: publish v0.17.55
     add c397355  Add ALLOW_FULL_CSV_EXPORT feature flag (#1165)
     add 5b4b05a  chore: publish v0.17.56
     add 8ded670  chore(plugin-chart-echarts): bump echarts to 5.1.2 (#1159)
     add cb5e908  feat(plugin-chart-pivot-table): enable metrics to be used as row groups (#1172)
     add 130e8a0  chore: publish v0.17.57
     add 1bd2ff6  fix(core): remove height and width requirement on SuperChart (#1176)
     add cfe9da4  chore: publish v0.17.58
     add 6d10d83  fix(plugin-chart-echarts): [treemap v2] the section color and disabling the zoom on the explore
     add fb8b7a2  chore(core): adjustments to chart metadata (#1177)
     add 25ec1e3  fix(plugin-chart-echarts): radar legend control is duplicated (#1180)
     add 9227b1e  fix(core): missing translation (#1144)
     add 28003ad  fix(plugin-chart-echarts): tree graph tooltip polish (#1182)
     add 1e6c0d2  chore: Add new plugin metadata (#1179)
     add 5b9b2b6  chore: publish v0.17.59
     add af43889  fix(plugin-chart-table): chinesee translation improve (#1189)
     add 360d4a5  fix(plugin-chart-echarts): [time-series][mixed timeseries] marker control does not work (#1187)
     add 29df573  feat(core): Registry listeners (#1191)
     add 4f1b768  chore: publish v0.17.60
     add 0949825  add malaysia map. created via jupyter. (#1193)
     add c160a4a  fix(legacy-preset-chart-big-number): example images got mixed up (#1196)
     add 895d9d3  fix(plugin-chart-echarts): sanitize series from html tags (#1126)
     add f27c2ee  fix(plugin-chart-echarts): enable animation to clear old nodes (#1200)
     add ab4a8eb  chore: fill in plugin metadata (#1199)
     add 1e70b2a  chore: publish v0.17.61
     add 784ff6d  chore: tweaking metadata (#1201)
     add 0e60157  chore: publish v0.17.62
     add bd2d5ef  chore: add/edit plugin descriptions (#1202)
     add b9ca94e  chore: publish v0.17.63
     add 2d408ce  fix(plugin-chart-echarts): fix time-series chart xAxisShowMin(Max)Label default value (#1161)
     add 9fdc8c3  feat(plugin-chart-echarts): Add cross filter for timeseries (#1016)
     add e96428e  feat: Normalize orderby clause (#1206)
     add 6d52c44  feat(plugin-chart-echarts): x-filtering improvement in radar chart (#1205)
     add d66ecb7  fix: remove console.log from timeseries chart (#1208)
     add 5601141  chore: publish v0.17.64
     add 4333a68  feat(plugin-chart-echarts): add x-filtering in gauge chart (#1203)
     add 4c6017e  feat(plugin-chart-echarts): single select by default for pie chart (#1204)
     add 0a56420  fix(plugin-chart-echarts): single select in boxPlot x-filtering (#1212)
     add f9a7226  chore: publish v0.17.65
     add 178986a  feat(plugin-chart-echarts): crossfilter with single selection in the funnel chart (#1211)
     add 3bfa709  feat(chart-controls): implement color formatters utils (#1215)
     add b608cba  chore: publish v0.17.66
     add db71620  chore(chart-controls): improve test coverage (#1219)
     add 4051fda  fix(plugin-chart-table): table clear x-filtering highlighting (#1222)
     add 18e5ab2  feat(plugin-chart-table): implement conditional formatting (#1218)
     add 4005789  fix: Reduce bundle sizes from react-icons (#1225)
     add 844c069  chore: publish v0.17.67
     add 89474f8  fix(plugin-chart-pivot-table): pivot table supports single select (#1221)
     add fe5f9b0  feat(plugin-chart-pivot-table): column, date and conditional formatting (#1217)
     add e2a393b  chore: publish v0.17.68
     add bf4c717  chore: change popular to Highly-used (#1227)
     add aecb94c  chore: change Popularity to Highly-used (#1228)
     add a94ef9f  feat(chart-controls): dnd version of time column (#1226)
     add eea1c57  chore: publish v0.17.69
     add 5614683  feat: added Highly-used tag (#1229)
     add 631c867  feat(plugin-chart-table): table x-filtering supports single select (#1220)
     add 473698b  chore: publish v0.17.70
     add 413d0da  chore(core): add UX_BETA feature flag (#1233)
     add 0433df8  feat(plugin-chart-pivot-table): multiple improvements (#1232)
     add db6b76a  fix: missing nan value in timeseries chart (#1231)
     add e362e13  chore: publish v0.17.71
     add 72ac9ab  chore: three charts to the correct category (#1235)
     add 11a52ea  chore(chart-controls): improve typing for mapStateToProps (#1171)
     add 5670e3b  chore: add tags and description metadata (#1236)
     add ea1d95e  chore: publish v0.17.72
     add 8e8a221  fix(plugin-chart-echarts): make filtered pie slices semi-transparent (#1239)
     add f36619d  chore: add translation for description (#1241)
     add 8d54c69  feat(plugin-chart-pivot-table): sort by metric (#1240)
     add 473a716  chore: publish v0.17.73
     add 7402b83  chore(core): move emotion deps to peer deps (#1242)
     add 5bff9a4  feat(plugin-chart-echarts): implement x-filter opacity in ts chart (#1244)
     add f9d3a73  feat: advanced analytics for timeseries in echart viz (#1170)
     add 6b4fe03  chore: publish v0.17.74
     add 21cd7a0  chore: only keey Distribution category (#1245)
     add dc889f7  add feature flag (#1246)
     add 185742a  chore: publish v0.17.75
     add 5a235ca  feat(plugin-chart-pivot-table): add sort by result to data pane (#1243)
     add 9fe5865  feat(chart-controls): move cross-filtering control to data panel (#1248)
     add 932d2cb  add feature flags to pag control (#1251)
     add 45e7ee0  chore: remove V2 and add Deprecated (#1250)
     add 2237f43  chore: publish v0.17.76
     add f083d28  Revert "chore: remove V2 and add Deprecated (#1250)" (#1253)
     add 8dd9104  chore: add echarts tag for pie and radar (#1255)
     add e54ae04  feat(plugin-chart-echarts): implement cross filter in mixd-timeseries chart (#1256)
     add e92b8ef  docs: update publishing instructions (#1254)
     add 072e494  fix(legacy-preset-chart-nvd3): dual line dnd control missing (#1259)
     add c2c6bb0  fix(plugin-chart-echarts): missing dnd control in tree chart (#1260)
     add 4492562  chore: publish v0.17.77
     add 35f061a  fix(plugin-chart-pivot-table): make date formatting clearable (#1261)
     add a109dc2  feat(plugin-chart-pivot-table): add automatic conditional formatter (#1264)
     add ca44905  fix(legacy-plugin-chart-sunburst): move color scheme controls to own row (#1263)
     add 094f35f  feat(plugin-chart-table): added emit target name (#1157)
     add 635c182  fix(plugin-chart-pivot-table): dont display nulls as 0 (#1265)
     add 7a4ef38  fix(plugin-chart-pivot-table): dont apply colors to subtotals (#1269)
     add 8e2de48  chore: publish v0.17.78
     add 7441009  feat(plugin-chart-echarts): create separate entry points for timeseries (2nd) (#1262)
     add 5ed2ba1  fix(plugin-chart-echarts): fix null labels on pie and funnel charts (#1270)
     add 71112b3  chore: Show tooltip conditionally and pass ref down (#1271)
     add e50f280  chore: publish v0.17.79
     add adff009  fix(legacy-preset-chart-nvd3): bar chart unexpected error (#1276)
     add 7040050  feat(plugin-chart-table): add support for temporal x-filter (#1281)
     add 90fa912  chore: publish v0.17.80
     add 128ec7e  fix(chart-controls): lower minOpacity in conditional formatting (#1284)
     add 55199e4  chore: change Highly-used back to Popular (#1285)
     add e693381  feat(legacy-plugin-chart-country-map): added finland map (#1258)
     add f68d465  feat(plugin-chart-echarts): Add support for series values to ECharts timeseries charts (#1279)
     add f0b5398  feat(legacy-plugin-chart-country-map): add Australia geojson file (#1268)
     add 16f0ef2  added austria map to country map charts (#1267)
     add fbdde90  chore(deps): [security] bump tar from 4.4.13 to 4.4.15 (#1266)
     add a4bc5ba  fix(legacy-plugin-chart-sankey-loop): clear element before redrawing (#1223)
     add 3aa71c8  chore(deps): [security] bump urijs from 1.19.6 to 1.19.7 (#1230)
     add ddf11fb  chore(deps): [security] bump set-getter from 0.1.0 to 0.1.1 (#1185)
     add fef99dc  chore(deps): bump @babel/compat-data from 7.13.12 to 7.14.7 (#1181)
     add 7ad293d  chore(deps): [security] bump postcss from 7.0.35 to 7.0.36 (#1174)
     add deae552  chore(deps): [security] bump ws from 5.2.2 to 5.2.3 (#1164)
     add a9f9206  chore(deps): [security] bump dns-packet from 1.3.1 to 1.3.4 (#1136)
     add a0b819c  chore(deps): [security] bump hosted-git-info from 2.8.8 to 2.8.9 (#1098)
     add d1d0453  Upgrade to GitHub-native Dependabot (#1081)
     add 4d2a7ee  chore: stacks and sorts Histogram controls (#1273)
     add 76828f7  chore: stacks Heatmap controls (#1272)
     add 50a5032  fix: Hide Safari default tooltip (#1283)
     add 353d7f4  fix: 0 indicator on radar viz (#1282)
     add 0072ed1  chore(deps): [security] bump ssri from 6.0.1 to 6.0.2 (#1061)
     add 584e36c  chore(core): add ENABLE_DND_WITH_CLICK_UX ff (#1297)
     add 3c0e438  chore(plugin-chart-pivot-table): change fontsize and border colors (#1286)
     add e2cce03  chore(deps): bump @types/lodash from 4.14.168 to 4.14.172 (#1294)
     add 9d43221  chore(deps): bump chalk from 4.1.0 to 4.1.2 (#1291)
     add 13519fd  chore: publish v0.17.81
     add c4bc66a  feat(legacy-preset-chart-big-number): add timestamp above number (#1278)
     add 5651923  chore: updating one metadata field (#1300)
     add c439d0f  chore: publish v0.17.82
     add 80ee334  chore: removing errant label from two charts that don't have AA (#1306)
     add 4d29bd4  chore: publish v0.17.83
     add c31892e  fix(plugin-chart-echarts): fix Time-series line x-filtering not working when not rich tooltip (#1302)
     add 15fbe4a  feat(chart-controls): d3 formatting with .2% #1274 (#1275)
     add 4de4fc3  fix: add advanced analytics to all of timeseries viz (#1308)
     add 1ee3f0d  initial commit (#1311)
     add dcd74aa  chore: publish v0.17.84
     add 10238c3  feat(plugin-chart-echarts): rich tooltip in ts chart supports scroll and highlighted (#1304)
     add 42d15c9  fix(plugin-chart-table): apply correct date formatting for time grain (#1315)
     add 912956b  chore: add a note to the pivot plugin (#1316)
     add 1411bee  fix(chart-controls): temporal col placeholder for hybrid dnd (#1317)
     add 6651f4d  chore: publish v0.17.85
     add 370f4c0  fix(legacy-plugin-chart-country-map): fix broken map of Finland (#1321)
     add 3276a65  fix: Improve big number time format UX (#1320)
     add 1e76ac6  chore: publish v0.17.86
     add 471f245  feat(plugin-chart-echarts): add only_total control to ts chart (#1313)
     add d20e08e  fix(plugin-chart-echarts): improve marksize range (#1323)
     add 884b8ec  feat(legacy-plugin-chart-country-map): add six new maps (#1327)
     add 18c0570  fix(plugin-chart-echarts): [scatter-plot] remove contribution mode (#1325)
     add 395b8a8  chore: publish v0.17.87
     add fdcc079  fix: Make the scrollbar appear inside the table (#1310)
     add b9504ed  feat: add certified icon to columoption (#1330)
     add 2b01890  chore: color schemes can be default theoretically (#1335)
     add 80fe8fd  chore: publish v0.18.0
     add d237bb6  feat(legacy-plugin-chart-country-map): add Vietnam map (#1334)
     add 03b1db9  fix: bignumber format by time formatter (#1307)
     add 6b1b142  fix(plugin-chart-echarts): [guage chart] filter indicator not shown (#1326)
     add b7e49fc  fix(plugin-chart-echarts): [feature-parity] display custom metrics (#1337)
     add dbfbb47  chore: publish v0.18.1
     add 70d3b11  chore(plugin-chart-echarts): bump to ECharts 5.2.0 (#1340)
     add ae6ef5b  chore(core): move @emotion/styled to peer dependency (#1347)
     add 9af408d  chore: publish v0.18.2
     add 3d3da9d  fix(legacy-plugin-chart-country-map): Correct ISO 3166-2 county codes for Estonia (#1344)
     add c651171  chore: isolate the one actual jquery dependency (#1339)
     add de9a1bb  chore: publish v0.18.3
     add e1944cf  Revert "chore: isolate the one actual jquery dependency (#1339)" (#1355)
     add e149c53  feat(plugin-chart-echarts): add x and y label support for 9 charts (#1351)
     add 463b153  chore: clean up mixed-timeseries chart (#1352)
     add 614e06d  feat(core): add support for non-temporal series limit (#1356)
     add 0db8831  chore: publish v0.18.4
     add 78bbc2c  chore: replace mathjs with mexp (#1362)
     add 93eb7f5  chore: do prettier for yaml file (#1363)
     add c7744d4  feat: add resample operator to advanced analytic (#1349)
     add eed58d6  chore: publish v0.18.5
     add 0f4a06d  refactor: improve code smell for postprocessing (#1368)
     add 055d9f8  chore(plugin-chart-echarts): bump to ECharts 5.2.1 (#1370)
     add 4352600  fix: pivot-table-fixed (#1360)
     add 8f56a1f  refactor(core): move mexp from plugins to core (#1371)
     add 3bcf23c  chore: publish v0.18.6
     add 10248b9  chore: Remove immutable.js from map-box (#1375)
     add 992b7e4  chore: publish v0.18.7
     add 827b361  chore: upgrade to Node 16 (#1374)
     add de86eb9  add y-axis control to bubble chart (#1377)
     add ff8979b  feat(plugin-chart-echarts): [feature-parity] support double clicking legend and series to view single selected series (#1324)
     add a783131  feat: added italian regions country map (#1319)
     add 8c4d75f  refactor: migrate timeseries_limit_metric to legacy_order_by (#1364)
     add f880b15  chore: publish v0.18.8
     add 98e2f74  feat(legacy-plugin-chart-histogram): cumulative histogram option (#1381)
     add d1461c6  fix: replace absolute difference with difference in legacy charts (#1384)
     add b309c6b  fix: replace absolute difference with difference in echart (#1383)
     add 927a9bd  add feature flag: ENABLE_FILTER_BOX_MIGRATION (#1388)
     add 50f9d84  chore: publish v0.18.9
     add f1613fd  feat(plugin-chart-echarts): add support for custom forecasts (#1389)
     add b5dcf1a  fix: rolling and cum operator in multiple series chart (#1386)
     add de7b1f7  chore: hide rolling_periods and min_periods (#1392)
     add fba5879  chore: publish v0.18.10
     add b0a4f87  fix: npm registry connection set to ssl (#1395)
     add 635bb79  chore(legacy-preset-chart-nvd3): deprecate MultiLine chart (#1394)
     add a1be5a3  chore: avoid importing from lib (#1399)
     add c28131a  inital commit (#1397)
     add d087982  chore: publish v0.18.11
     add 1f60320  chore: translate fractional time grains (#1404)
     add 0d1cda6  chore: publish v0.18.12
     add 213e486  chore: upgrade datatables library (#1402)
     add 8513645  add prop to SuperChart for select (#1408)
     add 7c9064d  chore: publish v0.18.13
     add c44df76  chore: upgrade storybook to 6.3.12 (#1409)
     add 4dc6443  add ref type for superchart (#1411)
     add e6ab2f7  chore: publish v0.18.14
     add 2e5d7d2  chore: adapte storybook 6 params (#1414)
     add f552aba  refactor: replace yarn with npm (#1405)
     add 4a8d783  chore: export module that use in main repo (#1425)
     add 58d0246  fix: remove package-lock.json (#1426)
     add 282a051  chore: publish v0.18.15
     add 2443df9  fix: lerna can't update package-lock.json (#1432)
     add 9565777  fix: remove npm logout (#1433)
     add 9b059b8  fix: unable bump new version (#1434)
     add 46b4eca  feat: add storybook for missing chart and fix broken treemap (#1427)
     add e494f00  feat(legacy-plugin-chart-country-map): add peru country map (#1424)
     add 8666f63  feat: adds the option to show values for mixed time-series (#1435)
     add 3a5bfa6  fix: show value on the selected series (#1429)
     add b307716  chore: export esModule from chart-controls (#1441)
     add 7f5249e  fix: can't update package-lock.json (#1442)
     add 9e0e560  chore: publish v0.18.16
     add 2029b37  fix: incorrect commit message (#1443)
     add a5d5f95  chore: pass datasource to metrics control (#1438)
     add 66b5b2c  chore: add Apache License for superset-ui (#1444)
     add 4e31029  fix: revert default series limit and update eligible choices (#1430)
     add 0d8ba7a  docs: update chart sorting control labels/descriptions (#1436)
     add 35c8b3a  chore: publish v0.18.17
     add 7193572  feat: support sort the rich tooltip by metric desc (#1445)
     add b80b220  chore(plugin-chart-echarts): bump echarts to 5.2.2 (#1440)
     add 28dff9b  feat: Add Saudi Arabia country map (#1416)
     add fb5e5af  fix(plugin-chart-echarts): fix tick labels and tooltip (#1447)
     add 25da47c  fix(plugin-chart-echarts): boxplot groupby incorrect (#1448)
     add b6bc25e  chore: publish v0.18.18
     add 57e90b1  fix: Color consistency (#1406)
     add 92a00d3  chore: publish v0.18.19
     add beb4376  chore: update lockfile (#1451)
     add 4a95b6a  chore: check node and npm version in release workflow (#1454)
     add 259ff67  feat(plugin-chart-echarts): support always show annotation label (#1449)
     add a71d3ca  feat(legacy-plugin-chart-calendar): increase the contrast of calendar heatmap color and label (#1452)
     add 069d411  chore: publish v0.18.20
     add 67f1083  feat: Set default for Accept field in header to take application/json (#1413)
     add 1896c84  chore: tweak unittest (#1460)
     add 0d21953  chore: merge tsconfig.json and tsconfig.options.json (#1459)
     add 3cc4861  chore: bump @typescript-eslint/eslint-plugin 5.3.0 (#1457)
     add c78551d  chore: refine prettier config as the main repository (#1456)
     add 4359ed0  feat: remove the default Y-axis truncate in bar chart (#1450)
     add e16a836  feat(core): add support for adhoc columns (#1342)
     add 490029a  chore: publish v0.18.21
     add 067fc8a  chore: coordinate superset-ui unittest with main repository (#1463)
     add e186adb  fix(plugin-chart-echarts): fix opacity on area chart (#1464)
     add 3894cb0  fix: update chart sorting control labels/descriptions (#1462)
     add b25e0d6  chore: publish v0.18.22
     add 852478b  chore: coordinate storybook with main repository (#1466)
     add 2b8e4a1  fix(plugin-chart-pivot-table): cross filtering by adhoc column (#1465)
     add 85e7d02  chore: publish v0.18.23
     add 22d976a  Pass dashboardId to control (#1467)
     add 0e60be4  chore: publish v0.18.24
     add d490ee8  chore: fix end-of-file (#1468)
     add 7f44a04  fix(plugin-chart-echarts): fix legend margin in radar and ts chart (#1470)
     add 2836c80  chore: publish v0.18.25
     add e7cc08a  chore: ignore temporary_superset_ui checking
     add fe1d910  chore: add .prettierignore and update pre-commit-config
     add b1af254  chore: update gitignore
     add 61a9517  chore: ignore temporary_superset_ui in jest config
     add 870d2ab  Merge pull request #17445 from zhaoyongjie/monorepo_relocate_superset_ui
     add ff68502  chore: disable merge commit option (#17561)
     add ebb3419  feat: trino support server-cert (#16346)
     add 11cf15f  chore: Fix deprecated unittest aliases for Python 3.11 compatibility. (#17562)
     add da75028  fix(superset.cli): superset cli group doesn't support superset extension app  (#17539)
     add 4cf429c  feat: add classNames for apply and clearAll buttons for superset filters (#17554)
     add 6604a6a  chore(translations): Add missing i18n (#17525)
     add 94e787e  chore: bump mysqlclient version (#17556)
     add a959e6d  fix: Visualizations don't load when using keyboard shortcuts (#17542)
     add bfba4f1  chore: migrate Fieldset component from jsx to tsx (#17474)
     add 3c41ff6  refactor(monorepo): move superset-ui to superset(stage 2) (#17552)
     add ac76def  chore(datasets): Sanitizing /save response (#17579)
     add acbda31  chore: temporarily update .asf.yml (#17584)
     add b09a549  add temporary_superset_ui
     add 3b7cec5  initial commit
     add ad74e60  feat: add deckgl files
     add b1074fc  fix: lint
     add 096454e  fix: lints (mostly disabled)
     add 9377688  fix: update package.json
     add c2f490a  refactor: rename packages
     add 5cad9d6  docs: update readme
     add 54b5be5  docs: clear changelog
     add fd6b2b6  docs: add storybook for arc
     add 5d5e68b  docs: add path demo
     add 853102c  docs: add grid demo
     add a872d9c  docs: add hex demo
     add f3f691f  docs: add scatter demo
     add b114a29  docs: add screengrid demo
     add 4c335a1  docs: add polygon demo
     add 46384d7  fix: bug due to name mangle when minifying
     add b98fecd  fix: lint
     add 976e88d  test: add unit test
     add ceba4f0  v0.1.0
     add 39be9ad  fix: peer dependency version
     add 168a88a  docs: update readme
     add f833c12  docs: update readme
     add 369021d  Update README.md
     add 6c895c9  Merge pull request #1 from apache-superset/upgrade_simple
     add 317f185  fix: remove storybook dependency (#3)
     add cac4e07  feat: add plugin for Kepler (#2)
     add b5fa25a  v0.1.1
     add b50ab75  docs: update readme
     add b7ec4bf  build: migrate to nimbus (#8)
     add 42cefc4  build: remove babel transform runtime (#9)
     add 55dc4f7  build: update browser target
     add 8a4e141  feat: change bundle to target modern browser (#10)
     add 1a93f58  v0.2.0
     add 940e449  feat: make polygon support geojson feature and fix autozoom (#11)
     add 4f0d4e0  v0.2.1
     add abc4a04  feat: support polygon tooltip independently from superset app (#12)
     add f3e5a10  v0.2.2
     add 8fbeba1  feat: make all deckgl charts handle their own tooltips (#13)
     add 9583a36  v0.2.3
     add 8256d99  feat: update dependencies to 0.13
     add 46db778  feat: update dependencies to 0.13
     add e45825d  v0.2.4
     add 24c1285  chore(legacy-deckgl): add deckgl control panels to deckgl monorepo (#17)
     add b6ae76e  build: update lock
     add c9b285a  v0.2.5
     add 080ddd2  chore: upgrade superset-ui packages and update tsc (#18)
     add 646293a  v0.3.0
     add 36c9805  chore: compress thumbnails with pngquant (#19)
     add 73856a3  chore: add command to cleanup tsc buildinfo
     add e0c28e3  v0.3.1
     add 667d56c  fix: missing groupby/dimension select options (#21)
     add 687b70d  v0.3.2
     add 9e10e04  chore: bump superset-ui and update references to queriesData (#22)
     add d374375  v0.4.0
     add d0add1a  Fixing multi layer controls (#24)
     add 13b73c9  chore: lint fix
     add d859aba  v0.4.1
     add e105a37  build(deps): bump urijs (#23)
     add 18d0c48  fix(superset-ui-legacy-preset-chart-deckgl): fix download map as image (#25)
     add 3ca1ea7  chore: upgrade superset-ui peerDependencies (#26)
     add f753447  v0.4.2
     add 1f09603  build: add commands to release via lerna (#27)
     add 67a75c0  chore: bump peerDependencies to 0.17.11
     add c075430  v0.4.3
     add 4d50245  build: add --extract to publish script
     add 6da8b7a  chore: bump peerDependencies to 0.17.12
     add 28f534a  v0.4.4
     add b88265e  chore: upgrade node to v14 and bump peerDependencies
     add 18604f4  v0.4.5
     add 2975acc  chore: bump demo package version
     add 1817f1c  chore: downgrade superset-ui/core to 0.17.11
     add 4df23a4  v0.4.6
     add 5e6af31  feat(chart-controls): implement dnd controls for all charts (#33)
     add 4a9cc52  v0.4.7
     add aae8927  chore: add Highly-used tag for charts (#36)
     add 9b8524c  chore: add tags and description for viz gallery (#38)
     add f0369fd  Fix issue with large timestamp arrays (#35)
     add 3d54d19  chore: fix lint
     add 89e214c  v0.4.8
     add 044789f  docs: add instructions for npm release (#39)
     add 7242c40  chore: fill descriptions and rearrange tags (#40)
     add bf39b28  chore: readme lint fix
     add 6ed2651  v0.4.9
     add aba0d0e  chore: bump deckgl and mapbox libs (#41)
     add 1ce0d83  chore(deps): bump libs
     add d96f84b  v0.4.10
     add 55b3c79  fix(hex): restore control panel to functioning state (#42)
     add c3e5edf  fix(scatter): fix legend and labels (#43)
     add c99e520  v0.4.11
     add 50a712c  chore: version bump (#45)
     add 23261ba  chore: bump superset-ui peer dependencies (#46)
     add ec44a2e  v0.4.12
     add 5baffa8  chore: import esmodule from chart-controls (#47)
     add c3ab372  v0.4.13
     add 21a8622  remove temporary_superset_ui
     add db42cea  fix EOF
     add e6212b1  Merge pull request #17582 from zhaoyongjie/relocate_deckgl
     add 0599fcb  chore: disable merge button (#17585)
     add 4e76637  initial fix (#17547)
     add 95177d7  feat: added option to set pod annotations on init-db pod to Helm chart. (#17581)
     add 8f52314  chore(deps-dev): bump mini-css-extract-plugin in /superset-frontend (#17535)
     add 08f28c8  chore(deps-dev): bump @types/enzyme in /superset-frontend (#17534)
     add 55d2bea  chore(deps-dev): bump @types/jquery in /superset-frontend (#17533)
     add c70ac1c  chore: auditing cupress-base dependencies (#17577)
     add d7e3a60  fix: Ch31968query context (#17600)
     add 2f2e8fe  feat: Adds a key-value endpoint to store the state of dashboard filters (#17536)
     add 78c5d9a  fix: Dashboard API flaky test (#17611)
     add 76cd7b0  fix: Dashboad export loading indicator (#17613)
     add 1cd07caa docs(exploring-data): various updates to match latest superset version (#17516)
     add c6ba9bf  chore: migrate EstimateQueryCostButton component from jsx to tsx (#17603)
     add 8963cca  Revert "fix(Dashboard): Only apply changes when editing properties (#17392)" (#17618)
     add 0544bee  fix(api): incorrect api schema definitions (#17620)
     add f949c8e  chore: bumping `polished` package (#17575)
     add 54b56fe  feat: Add single select and inverse selection to numeric range (#16722) (#17372)
     add ce92fc1  Update docstrings in presto.py (#17623)
     add 72f3215  feat(legacy-preset-chart-nvd3): add richtooltip in nvd3 bar chart (#17615)
     add a3cce57  feat(explore): support show annotation label [ID-8] (#17307)
     add b13d953  chore: Added unit test to query context change (#17624)
     add d9e9c3a  refactor: Add AutoSizer to react-virtualized `Grid` (#17606)
     add e8ce873  chore(plugin-chart-pivot-table): Add more descriptive tooltips for sorting [ID-29] (#17634)
     add b5d13d7  fix(dataset): modal sql editor error (#17612)
     add 13e1929  fix: allow for multiple columns in pivot table report (#17636)
     add 73e7928  chore(superset-ui): clean up legacy-plugin-chart-time-table (#17626)
     add b2ffa26  fix(sqla): make text clause escaping optional (#17641)
     add 07e8837  feat(explore): export csv data pivoted for Pivot Table [ID-9] (#17512)
     add 8ff95f1  chore(de-translations): Add and fix German translations (#17631)
     add 1377465  feat(alerts): Column for select tabs to send (#17604)
     add 05752e3  fix(sqllab): Floating numbers not sorting correctly in result column (#17573)
     add 4306289  refactor(monorepo): frontend code cleanup after monorepo (#17639)
     add 8e02d11  add a native filters section to the exploring data docs (#17605)
     add 2ae83fa  fix: Allows PUT and DELETE only for owners of dashboard filter state (#17644)
     add e660ea2  fix(legacy-plugin-chart-calendar): fix timestamp timezone in Calendar (#17664)
     add 9121e45  chore: Remove unreachable return statements (#17622)
     add 3350076  fix: javascript file suffixes to extract (#17673)
     add 418c0b4  Update query_context_processor.py (#17657)
     add cd88b8e  feat(prophet): enable confidence intervals and y_hat without forecast (#17658)
     add 12f1d91  chore: update babel doc (#17679)
     add c4b0495  feat: customize recent activity access (#17589)
     add 8c25f2f  fix: extract tables doesn't work with reserved keywords (#17654)
     add aee5c9a  chore: removing redundant docker-entrypoint (#17687)
     add 46cdc77  fix: Redirect on 401 (#17597)
     add aad2abe  Fix undefined error (#17692)
     add b7ae7f9  chore: convert feature flag tests to unit tests (#17689)
     add 04e3cfa  refactor(monorepo): relocate deckgl to Superset (#17596)
     add 1af99ea  chore: unblock ci on postgres lint (#17705)
     add 3a42071  chore(sql): clean up invalid filter clause exception types (#17702)
     add f476ba2  fix(select): select component sort functionality on certain options (#17638)
     add 12bd1fc  fix: Save properties after applying changes in Dashboard (#17570)
     add 3873cdf  feat: convert dataframe tests (#17655)
     add bdc4e7a  fix(explore): deck.gl Multiple chart broken (#17703)
     add dad8c20  fix(Dashboard): Copy dashboard with duplicating charts 500 error (#17707)
     add 8e69b2d  chore: Update TS tasklist script (#17691)
     add 8de9387  Fix flacky header (#17690)
     add b5b6ceb  fix(explore): don't apply time range filter to Samples table (#17711)
     add 4b96971  Rename CertifiedIcon to CertifiedBadge (#17715)
     add 6a7e649  fix(postgres): remove redundant tz factory (#17713)
     add 7192016  Add missing translations (#17693)
     add 485852d  ci: temp fix for mysqlclient on an OS regression bug (#17724)
     add 0d2299c  fix: migration out-of-scope bind (#17728)
     add e6db62c  fix: Change datatype of column type in BaseColumn to allow larger datatype names for complexed columns (#17360)
     add 67fdeff  fixed misspelling of apprear to appear (#17735)
     add 12d3079  chore: fixed spelling error on line 1342 of CONTRIBUTING.md (#17737)
     add fceabf6  fix: import dash with missing immune ID (#17732)
     add 89d0d38  fix(Mixed Timeseries Chart): Custom Metric Label  (#17649)
     add 07bbe84  refactor(monorepo): change coverage of core to 100% (#17698)
     add e2e7992  chore: bump FAB to 3.4.1 (#17723)
     add 2633bcc  fix: import dashboard stale filter_scopes (#17741)
     add 215ee08  feat: Update makefile with frontend build (#17734)
     add 63d9693  feat: add main datetime column to dataset editor (#17739)
     add 2a6e5e5  fix: import DB errors (#17748)
     add 37cc2c4  fix: column extra in import/export (#17738)
     add 142b5bc  fix: local warning in the frontend development (#17727)
     add 124af4c  chore(explore): Migrate BigNumber to v1 api [ID-28][ID-55] (#17587)
     add 6d97e89  chore: bump react-resize-detector (#17764)
     add ec24256  fix: add __init__.py to key_value (#17730)
     add 274fb37  fix: Remove positions from json_metadata (#17766)
     add 82b47ca  fix(plugin-chart-table): sort alphanumeric columns case insensitive (#17765)
     add 71e4131  fix: miss-spelling on CONTRIBUTING.md line 1351 (#17760)
     add 3aa1161  fix: change 401 response to a 403 for Security Exceptions (#17768)
     add b3db614  fix(alembic): Making Alembic logger config optional (#17774)
     add c18d486  chore: skip flaky test (#17772)
     add 961766e  fix(filter-sets): 404 on dashboard load (#17777)
     add a01c4c9  fix: [alert] should run alert query from report account (#17499)
     add 4fd6df9  fix: running dev-server on a different port (#17775)
     add 73ae892  feat: don't ask for password when DB exists (#17776)
     add bcd698d  chore: print test runtime (#17770)
     add 3657cbe  fix(dashboard): commit update once (#17781)
     add d9acb28  fix: New Members per Month time range (#17783)
     add afd2e9f  chore: update fixtures scope that are loading data into the analytical db (#17780)
     add 4beaa81  docs: Fix typo on line 967 (#17785)
     add c5af7a4  fix: [alert] allow decimal for alert threshold value (#17751)
     add 9c9edbe  chore(plugin-chart-pivot-table): migrate react-pivottable into superset codebase (#17769)
     add b5dca4e  chore(plugin-chart-pivot-table): swap order of Columns and Rows controls (#17798)
     add a2d8b94  chore(plugin-chart-table): move adhoc filters control closer to the metrics (#17797)
     add f396818  fix(docs): bump broken packages (#17800)
     add 53e2fa6  chore: updated screenshots in README.md and added recent events (#17650)
     add dc50578  doc: update contribuing docs (#17754)
     add b82da5c  accept null params for validation (#17788)
     add 61a6aa0f Map schemes json to SequentialScheme (#17813)
     add 0199104  fix: import typeddict from extensions (#17823)
     add 8fe2f5f  refactor(monorepo): migrate plugins release workflow (#17827)
     add 0a33fcf  chore: add lerna version (#17828)
     add e3b44f4  feat: Add Helm chart option for configOverrides through file (#17811)
     add 6edc183  chore: Refactor localstorage into typesafe version (#17832)
     add 5b0aa27  feat: Persist SQL Lab autocomplete setting across tabs and visits (#17708)
     add d5768ab  fix(explore): make SORT-Descending visible if Sort-by has value (#17726)
     add 19daf65  chore(generator-superset): migrate to monorepo (#17829)
     add 2c3f39f  feat(plugin-chart-pivot-table): support series limit (#17803)
     add cfd851a  fix: replace datamask with key from new key value api (#17680)
     add ec48dd5  fix(dashboard): update native filter info in metadata is not updated (#17842)
     add 9840fbf  refactor(monorepo): update plugin dependencies (#17837)
     add b7707e8  feat: bypass cache on screenshots for alerts (#17695)
     add c49545a  fix: dataset extra import/export (#17740)
     add d2ed1b7  chore: Help user to find the input fields in the dataset editor (#17824)
     add 30c0459  fix: extra column in metrics (#17784)
     add cb0b7a2  corrected misspelling in percent_metrics (#17856)
     add 2cd8054  feat: add force option to report screenshots (#17853)
     add 9baeafe  feat: configure force_screenshot (#17855)
     add 52f5dcb  fix(deckgl): deckgl unable to load map (#17851)
     add f8a65f8  Update UPDATING.md (#17717)
     add c6c4143  fix: show SCHEDULED_QUERIES when defined (#17854)
     add ef57bd1  fix: failed mypy (#17886)
     add 886e4ef  fix: tests can failed on different order executions (#17885)
     add 8ebec60  fix: Removes duplicated import in dashboard filter state tests (#17887)
     add 4954d52  ci: make presto hive tests to cover only chartData and sqljson (#17782)
     add 07998fe  fix(explore): simple tab content input problem (#17872)
     add 6e59a51  bump gunicorn 20.1.0 (#17894)
     add 6991417  feat: Helm - custom service account creation and management (#17880)
     add e0bd937  Compile translations (#17877)
     add 48d5dc1  fix(helm): service account apiVersion indent (#17920)
     add eff4d38  fix(cypress): flake cypress test case (#17918)
     add cac704d  chore: fix misspelling of button (#17924)
     add de3d397  fix: process color scheme configs correctly (#17786)
     add 4479fc9  fix: force_screenshot migration (#17928)
     add 97a78d3  refactor(storybok): upgrade to webpack5 in storybook of plugins (#17909)
     add ceecc70  chore: remove unused eslintrc (#17860)
     add 9e69940  feat: Update query states to use spinner vs. progress bar (#17804)
     add f75908b  Fixed spelling error (#17942)
     add 79b6dc2  fix: package.json local file dependencies (#17957)
     add 3b5cee4  chore(deps): bump urijs from 1.19.6 to 1.19.7 in /superset-frontend (#17962)
     add 53d8d38  chore: Moves the hooks folder to the src folder (#17896)
     add aa91662  chore: Moves the Menu to views/components folder (#17897)
     add e6ef7da  chore: Moves spec files to the src folder - iteration 8 (#17899)
     add eeaa573  chore: unbreak pip-compile-multi (#17963)
     add ea3a583  chore: bump FAB to 3.4.3 (#17964)
     add 2ae29c9  fix(Select): options will be overwritten due to seState (#17951)
     add 2098898  chore: Adding more viz category mappings for viz picker (#17956)
     add c95d6bf  Update clickhouse.mdx (#17937)
     add bb7e979  chore: Moves spec files to the src folder - iteration 9 (#17901)
     add 647bbf1  chore: Moves spec files to the src folder - iteration 10 (#17902)
     add 5bf9634  chore(deps): bump @storybook/addon-actions in /superset-frontend (#17904)
     add 765c72a  fix: update slug name (#17961)
     add be20b0d  chore(deps): bump babel from 2.5.3 to 2.9.1 in /superset/translations (#17958)
     add 8b1e44c  chore(deps): bump underscore from 1.12.0 to 1.12.1 in /superset-frontend (#17959)
     add cb97e37  refactor: import value name from root of superset-ui/core (#17947)
     add fecb6d9  chore: fixing annoying warning about escaping in Emotion styling (#17972)
     add c0a7695  chore: bump typescript to 4.5.4, and adjust storybook story. (#17971)
     add d2d4f8e  feat: Add support for Azure Data Explorer (Kusto) db engine spec (#17898)
     add d35da1f  fix: css template API response, less data (#17980)
     add 7964465  Close bracket on Helm chart reference (#17975)
     add 35f4c33  fix(native-filters): apply default value correctly when it's set (#17982)
     add 7329e3c  docs(contributing): update contributing section on docs page to match CONTRIBUTING.md (#17718)
     add bd9e123  fix(dashboard): scope status of filter not update in dashboard metadata (#17945)
     add 3a9bd12  fix: Returns 404 instead of 500 for unknown dashboard filter state keys (#17878)
     add 1e544ce  fix: null dates in table chart (#17974)
     add 05d9cde  feat: update time comparison choices (again) (#17968)
     add f6b9393  Tooltip no longer dancing (#17931)
     add df69920  Moved dataset editor lock to top of component (#17930)
     add c139312  fix:  dashboard full screen layout (#17985)
     add f7add54  Fixed error handling in Report modal (#17988)
     add 3d829fc  fix:  dashboard reload crash (#17992)
     add e91b9a6  refactor: move superset-ui dependencies to peerDependencies (#17965)
     add d8d47ce  chore: reenable lint for test files (#17979)
     add cdcdf11  fix(helm): pin correct psycopg2 version (#17999)
     add 44df04f  chore: use new FAB functionality for component schemas update OAS (#17967)
     add 3a58424  fix: API logger output (#17981)
     add 7fc6a2f  refactor: examples data loading for tests  (#17893)
     add 412189f  fix: Change default SECRET_KEY, improve docs and banner warning (#17984)
     add 46715b2  refactor: remove unused ts-jest (#17996)
     add bdc35a2  feat(alerts): Select tabs to send backend (#17749)
     add ce614ea  fix: Adhere to series limit ordering for prequery (#17388)
     new da3b889  pexdax refactor (#16333)
     new 18aa2f6  refactor progress (#16339)
     new d380493  fix: Header Actions test refactor (#16336)
     new 5d427b4  code dry (#16358)
     new 9b6b6e1  Fetch bug fixed (#16376)
     new 1183c00  continued refactoring (#16377)
     new f180e58  pexdax refactor (#16333)
     new 3811fdb  refactor progress (#16339)
     new 242930a  fix: Header Actions test refactor (#16336)
     new 95a6e32  code dry (#16358)
     new 07c487a  Fetch bug fixed (#16376)
     new 815321e  continued refactoring (#16377)
     new aa03a8a  refactor: Arash/new state report (#16987)
     new fc3bfc2  refactor: Reports code clean 10-29 (#17424)
     new c2ded1a  fix(Explore): Remove changes to the properties on cancel (#17184)
     new 0c86269  fix(dashboard): don't show report modal for anonymous user (#17106)
     new 7e4a9e1  fix(explore): Metric control breaks when saved metric deleted from dataset (#17503)
     new bbc8597  Add functionality is now working (#17578)

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   (ecea115)
            \
             N -- N -- N   refs/heads/refactorReports (bbc8597)

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.

The 18 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .codecov.yml                                       |    12 +
 .github/workflows/release.yml                      |    86 +
 .github/workflows/superset-frontend.yml            |    13 +
 .../workflows/superset-python-integrationtest.yml  |     9 +
 .github/workflows/superset-python-misc.yml         |    12 +
 .github/workflows/superset-python-presto-hive.yml  |    10 +-
 .github/workflows/superset-python-unittest.yml     |     5 +-
 .github/workflows/superset-translations.yml        |     5 +-
 .gitignore                                         |    18 +-
 .pre-commit-config.yaml                            |     1 +
 .rat-excludes                                      |     4 +-
 CONTRIBUTING.md                                    |   101 +-
 Dockerfile                                         |    13 +-
 Makefile                                           |     3 +
 README.md                                          |    79 +-
 UPDATING.md                                        |     9 +
 docker/docker-bootstrap.sh                         |     2 +-
 docker/docker-ci.sh                                |    15 +-
 docker/docker-entrypoint.sh                        |    34 -
 docker/run-server.sh                               |    32 +
 docs/doczrc.js                                     |     2 +-
 docs/gatsby-node.js                                |     7 +-
 docs/installation.rst                              |    17 +
 docs/package-lock.json                             | 34513 ++++++-
 docs/package.json                                  |     6 +-
 docs/src/components/footer.tsx                     |     2 +-
 .../docs/Connecting to Databases/clickhouse.mdx    |     2 +-
 .../docs/Connecting to Databases/elasticsearch.mdx |    20 +
 .../pages/docs/Connecting to Databases/index.mdx   |     1 +
 .../pages/docs/Connecting to Databases/kusto.mdx   |    21 +
 .../pages/docs/Connecting to Databases/pinot.mdx   |     2 +-
 .../pages/docs/Contributing/contributing-page.mdx  |    21 +
 .../docs/Contributing/conventions-and-typing.mdx   |    58 +
 .../pages/docs/Contributing/hooks-and-linting.mdx  |    62 +
 docs/src/pages/docs/Contributing/local-backend.mdx |   107 +
 .../docs/Contributing/pull-request-guidelines.mdx  |    97 +
 docs/src/pages/docs/Contributing/style-guide.mdx   |    55 +
 .../pages/docs/Contributing/testing-locally.mdx    |   276 +
 docs/src/pages/docs/Contributing/translations.mdx  |   104 +
 .../docs/Contributing/types-of-contributions.mdx   |    61 +
 .../exploring-data.mdx                             |   117 +-
 docs/src/pages/docs/Miscellaneous/chart-params.mdx |   148 +
 docs/src/pages/docs/contributing-page.mdx          |    24 -
 .../src/pages/docs/installation/alerts_reports.mdx |     2 +-
 .../docs/installation/async_queries_celery.mdx     |     2 +-
 .../docs/installation/building-viz-plugins.mdx     |     2 +-
 docs/src/pages/docs/installation/caching.mdx       |     2 +-
 docs/src/pages/docs/installation/configuring.mdx   |     7 +-
 .../pages/docs/installation/event-logging-page.mdx |     2 +-
 .../pages/docs/installation/frontend-assets.mdx    |    92 +
 .../pages/docs/installation/installing_scratch.mdx |     2 +-
 docs/src/pages/docs/installation/kubernetes.mdx    |    29 +-
 .../docs/installation/networking_settings.mdx      |     2 +-
 .../src/pages/docs/installation/sql_templating.mdx |     4 +-
 .../pages/docs/installation/upgrading_superset.mdx |     2 +-
 docs/src/resources/openapi.json                    |  8503 +-
 docs/static/images/add-data-upload.png             |   Bin 92207 -> 85781 bytes
 docs/static/images/count_column.png                |   Bin 0 -> 146056 bytes
 docs/static/images/create_pivot.png                |   Bin 80625 -> 0 bytes
 docs/static/images/create_pivot_v2.png             |   Bin 0 -> 367450 bytes
 docs/static/images/db-modal-advanced.png           |   Bin 0 -> 126450 bytes
 docs/static/images/native_filters_empty_panel.png  |   Bin 0 -> 19674 bytes
 docs/static/images/native_filters_menu_open.png    |   Bin 0 -> 17968 bytes
 docs/static/images/native_filters_modal.png        |   Bin 0 -> 196153 bytes
 docs/static/images/native_filters_num_range.png    |   Bin 0 -> 22073 bytes
 .../images/native_filters_origin_country.png       |   Bin 0 -> 196016 bytes
 .../native_filters_origin_country_dropdown.png     |   Bin 0 -> 71696 bytes
 docs/static/images/no_filter_on_time_filter.png    |   Bin 143531 -> 0 bytes
 docs/static/images/select_dates_pivot_table.png    |   Bin 165788 -> 0 bytes
 docs/static/images/select_dates_pivot_table_v2.png |   Bin 0 -> 162201 bytes
 docs/static/images/sum_cost_column.png             |   Bin 149040 -> 134523 bytes
 docs/static/images/tutorial_pivot_table.png        |   Bin 317996 -> 0 bytes
 docs/static/images/tutorial_pivot_table_v2.png     |   Bin 0 -> 446463 bytes
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/templates/_helpers.tpl               |    19 +
 helm/superset/templates/deployment-beat.yaml       |     1 +
 helm/superset/templates/deployment-worker.yaml     |     5 +-
 helm/superset/templates/deployment.yaml            |     5 +-
 helm/superset/templates/init-job.yaml              |     7 +
 helm/superset/templates/service-account.yaml       |    31 +
 helm/superset/values.yaml                          |    18 +-
 requirements/base.in                               |     1 +
 requirements/base.txt                              |    10 +-
 requirements/development.in                        |     2 +-
 requirements/development.txt                       |     4 +-
 requirements/integration.in                        |     1 -
 requirements/integration.txt                       |    10 +-
 requirements/testing.in                            |     1 -
 requirements/testing.txt                           |     2 +-
 scripts/babel_update.sh                            |    57 +
 scripts/generate_frontend_ts_tasklist.js           |     2 +-
 scripts/python_tests.sh                            |     8 +-
 setup.py                                           |    14 +-
 superset-frontend/.eslintignore                    |     6 +
 superset-frontend/.eslintrc.js                     |   100 +-
 superset-frontend/.prettierignore                  |    28 +
 superset-frontend/.storybook/main.js               |     2 -
 superset-frontend/babel.config.js                  |    19 +-
 .../integration/dashboard/edit_properties.test.ts  |     6 +-
 .../integration/dashboard/key_value.test.ts        |    54 +
 .../integration/dashboard/nativeFilters.test.ts    |    19 +-
 .../cypress/integration/dashboard/save.test.js     |     6 +-
 .../cypress/integration/explore/control.test.ts    |     6 +-
 .../explore/visualizations/big_number.test.js      |    12 +-
 .../visualizations/big_number_total.test.js        |    17 +-
 .../explore/visualizations/line.test.ts            |     2 +
 .../cypress-base/cypress/plugins/index.js          |     1 +
 .../cypress-base/cypress/utils/vizPlugins.ts       |     2 +
 superset-frontend/cypress-base/package-lock.json   |   200 +-
 superset-frontend/cypress-base/package.json        |     2 +
 superset-frontend/jest.config.js                   |    36 +-
 superset-frontend/jsconfig.json                    |     8 -
 superset-frontend/lerna.json                       |    23 +
 superset-frontend/package-lock.json                | 92250 ++++++++++---------
 superset-frontend/package.json                     |   117 +-
 .../packages/generator-superset/.gitattributes     |     1 +
 .../packages/generator-superset/CHANGELOG.md       |    27 +
 .../packages/generator-superset/README.md          |    52 +
 .../generator-superset/generators/app/index.js     |    39 +
 .../generators/plugin-chart/index.js               |   114 +
 .../generators/plugin-chart/templates/README.erb   |    52 +
 .../plugin-chart/templates/babel.config.erb        |    20 +
 .../plugin-chart/templates/jest.config.erb         |     6 +
 .../generators/plugin-chart/templates/package.erb  |    46 +
 .../plugin-chart/templates/src/MyChart.erb         |    81 +
 .../templates/src}/images/thumbnail.png            |   Bin
 .../plugin-chart/templates/src/index.erb           |    27 +
 .../templates/src/plugin/buildQuery.erb            |    44 +
 .../templates/src/plugin/controlPanel.erb          |   190 +
 .../plugin-chart/templates/src/plugin/index.erb    |    51 +
 .../templates/src/plugin/transformProps.erb        |    72 +
 .../plugin-chart/templates/src/types.erb           |    40 +
 .../templates/test}/__mocks__/mockExportString.js  |     0
 .../plugin-chart/templates/test/index.erb          |    33 +
 .../templates/test/plugin/buildQuery.test.erb      |    34 +
 .../templates/test/plugin/transformProps.test.erb  |    52 +
 .../plugin-chart/templates/tsconfig.json           |    44 +
 .../plugin-chart/templates/types/external.d.ts     |    23 +
 .../packages/generator-superset/jest.config.js     |    24 +
 .../packages/generator-superset/package.json       |    42 +
 .../packages/generator-superset/test/app.test.js   |    38 +
 .../generator-superset/test/plugin-chart.test.js   |    60 +
 .../packages/generator-superset/tsconfig.json      |    13 +
 .../superset-ui-chart-controls/CHANGELOG.md        |    30 +
 .../packages/superset-ui-chart-controls/README.md  |    42 +
 .../superset-ui-chart-controls/package.json        |    42 +
 .../src/components/CertifiedIconWithTooltip.tsx    |    71 +
 .../src/components/ColumnOption.tsx                |   101 +
 .../src/components/ColumnTypeLabel.tsx             |    58 +
 .../src/components/ControlForm/ControlFormItem.tsx |   124 +
 .../src/components/ControlForm/controls.tsx        |    92 +
 .../src/components/ControlForm/index.tsx           |   135 +
 .../src/components/ControlHeader.tsx               |   142 +
 .../src/components/InfoTooltipWithTrigger.tsx      |    79 +
 .../src/components/MetricOption.tsx                |   117 +
 .../src/components/Select.tsx                      |   107 +
 .../src/components/Tooltip.tsx                     |    58 +
 .../superset-ui-chart-controls/src/constants.ts    |    47 +
 .../superset-ui-chart-controls/src/index.ts        |    43 +
 .../src/operators/boxplotOperator.ts               |    66 +
 .../src/operators/contributionOperator.ts          |    34 +
 .../src/operators/index.ts                         |    29 +
 .../src/operators/pivotOperator.ts                 |    54 +
 .../src/operators/prophetOperator.ts               |    39 +
 .../src/operators/resampleOperator.ts              |    42 +
 .../src/operators/rollingWindowOperator.ts         |    93 +
 .../src/operators/sortOperator.ts                  |    41 +
 .../src/operators/timeCompareOperator.ts           |    46 +
 .../src/operators/timeComparePivotOperator.ts      |    70 +
 .../src/operators/types.ts                         |    23 +
 .../src/operators/utils/constants.ts               |    21 +
 .../src/operators/utils/getMetricOffsetsMap.ts     |    50 +
 .../src/operators/utils/index.ts                   |    22 +
 .../src/operators/utils/isValidTimeCompare.ts      |    35 +
 .../src/sections/advancedAnalytics.tsx             |   184 +
 .../src/sections/annotationsAndLayers.tsx          |    40 +
 .../src/sections/chartTitle.tsx                    |   103 +
 .../src/sections/forecastInterval.tsx              |   133 +
 .../src/sections/index.ts                          |    24 +
 .../src/sections/sections.tsx                      |   130 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |   181 +
 .../ColumnConfigControl/ColumnConfigItem.tsx       |    83 +
 .../ColumnConfigControl/ColumnConfigPopover.tsx    |    73 +
 .../components/ColumnConfigControl/constants.tsx   |   202 +
 .../components/ColumnConfigControl/index.tsx       |    24 +
 .../components/ColumnConfigControl/types.ts        |    57 +
 .../components/RadioButtonControl.tsx              |    85 +
 .../src/shared-controls/components/index.tsx       |    32 +
 .../src/shared-controls/components/types.ts        |    40 +
 .../src/shared-controls/dndControls.tsx            |   191 +
 .../src/shared-controls/emitFilterControl.tsx      |    37 +
 .../src/shared-controls/index.tsx                  |   526 +
 .../src/shared-controls/legacySortBy.tsx           |    37 +
 .../superset-ui-chart-controls/src/types.ts        |   403 +
 .../src/utils/D3Formatting.ts                      |    59 +
 .../src/utils/columnChoices.ts                     |    37 +
 .../src/utils/expandControlConfig.tsx              |   102 +
 .../src/utils/getColorFormatters.ts                |   209 +
 .../superset-ui-chart-controls/src/utils/index.ts  |    24 +
 .../src/utils/mainMetric.ts                        |    35 +
 .../src/utils/selectOptions.ts                     |    44 +
 .../test/components/ColumnOption.test.tsx          |   111 +
 .../test/components/ColumnTypeLabel.test.tsx       |    79 +
 .../components/InfoTooltipWithTrigger.test.tsx     |    58 +
 .../test/components/MetricOption.test.tsx          |    89 +
 .../superset-ui-chart-controls/test/index.test.ts  |    26 +
 .../shared-controls/emitFilterControl.test.tsx     |    26 +
 .../superset-ui-chart-controls/test/tsconfig.json  |    19 +
 .../superset-ui-chart-controls/test/types.test.ts  |    72 +
 .../test/utils/columnChoices.test.tsx              |    59 +
 .../test/utils/expandControlConfig.test.tsx        |    92 +
 .../test/utils/getColorFormatters.test.ts          |   382 +
 .../test/utils/mainMetric.test.ts                  |    38 +
 .../test/utils/operators/boxplotOperator.test.ts   |   115 +
 .../utils/operators/contributionOperator.test.ts   |    54 +
 .../test/utils/operators/pivotOperator.test.ts     |   144 +
 .../test/utils/operators/prophetOperator.test.ts   |    70 +
 .../test/utils/operators/resampleOperator.test.ts  |    97 +
 .../utils/operators/rollingWindowOperator.test.ts  |   166 +
 .../test/utils/operators/sortOperator.test.ts      |   127 +
 .../utils/operators/timeCompareOperator.test.ts    |   176 +
 .../test/utils/selectOptions.test.ts               |    65 +
 .../superset-ui-chart-controls/tsconfig.json       |    22 +
 .../packages/superset-ui-core/CHANGELOG.md         |    27 +
 .../packages/superset-ui-core/README.md            |    42 +
 .../packages/superset-ui-core/package.json         |    76 +
 .../src/chart-composition/ChartFrame.tsx           |    73 +
 .../src/chart-composition/index.ts                 |    23 +
 .../src/chart-composition/legend/WithLegend.tsx    |   146 +
 .../src/chart-composition/tooltip/TooltipFrame.tsx |    47 +
 .../src/chart-composition/tooltip/TooltipTable.tsx |    69 +
 .../src/chart/clients/ChartClient.ts               |   200 +
 .../src/chart/components/ChartDataProvider.tsx     |   170 +
 .../src/chart/components/FallbackComponent.tsx     |    58 +
 .../src/chart/components/NoResultsComponent.tsx    |    82 +
 .../src/chart/components/SuperChart.tsx            |   241 +
 .../src/chart/components/SuperChartCore.tsx        |   229 +
 .../src/chart/components/createLoadableRenderer.ts |    70 +
 .../src/chart/components/reactify.tsx              |   113 +
 .../packages/superset-ui-core/src/chart/index.ts   |    44 +
 .../src/chart/models/ChartControlPanel.ts          |    21 +
 .../src/chart/models/ChartMetadata.ts              |   134 +
 .../src/chart/models/ChartPlugin.ts                |   161 +
 .../src/chart/models/ChartProps.ts                 |   212 +
 .../registries/ChartBuildQueryRegistrySingleton.ts |    52 +
 .../registries/ChartComponentRegistrySingleton.ts  |    31 +
 .../ChartControlPanelRegistrySingleton.ts          |    34 +
 .../registries/ChartMetadataRegistrySingleton.ts   |    31 +
 .../ChartTransformPropsRegistrySingleton.ts        |    34 +
 .../superset-ui-core/src/chart/types/Annotation.ts |    23 +
 .../superset-ui-core/src/chart/types/Base.ts       |    55 +
 .../src/chart/types/QueryResponse.ts               |    52 +
 .../src/chart/types/TransformFunction.ts           |    54 +
 .../src/color/CategoricalColorNamespace.ts         |    95 +
 .../src/color/CategoricalColorScale.ts             |   184 +
 .../src/color/CategoricalScheme.ts                 |    22 +
 .../color/CategoricalSchemeRegistrySingleton.ts    |    35 +
 .../superset-ui-core/src/color/ColorScheme.ts      |    52 +
 .../src/color/ColorSchemeRegistry.ts               |    34 +
 .../superset-ui-core/src/color/SequentialScheme.ts |    96 +
 .../src/color/SequentialSchemeRegistrySingleton.ts |    35 +
 .../src/color/colorSchemes/categorical/airbnb.ts   |    52 +
 .../src/color/colorSchemes/categorical/d3.ts       |   119 +
 .../src/color/colorSchemes/categorical/echarts.ts  |    57 +
 .../src/color/colorSchemes/categorical/google.ts   |    67 +
 .../src/color/colorSchemes/categorical/index.ts    |    26 +
 .../src/color/colorSchemes/categorical/lyft.ts     |    41 +
 .../src/color/colorSchemes/categorical/preset.ts   |    53 +
 .../src/color/colorSchemes/categorical/superset.ts |    53 +
 .../src/color/colorSchemes/index.ts                |    21 +
 .../src/color/colorSchemes/sequential/common.ts    |   223 +
 .../src/color/colorSchemes/sequential/d3.ts        |   529 +
 .../src/color/colorSchemes/sequential/index.ts     |    21 +
 .../packages/superset-ui-core/src/color/index.ts   |    36 +
 .../superset-ui-core/src/color/stringifyAndTrim.ts |    26 +
 .../packages/superset-ui-core/src/color/types.ts   |    22 +
 .../packages/superset-ui-core/src/color/utils.ts   |    53 +
 .../src/components/SafeMarkdown.tsx                |    54 +
 .../superset-ui-core/src/components/constants.ts   |    28 +
 .../superset-ui-core/src/components/index.ts       |    21 +
 .../superset-ui-core/src/connection/README.md      |   106 +
 .../src/connection/SupersetClient.ts               |    53 +
 .../src/connection/SupersetClientClass.ts          |   226 +
 .../src/connection/callApi/callApi.ts              |   159 +
 .../callApi/callApiAndParseWithTimeout.ts          |    39 +
 .../src/connection/callApi/index.ts                |    20 +
 .../src/connection/callApi/parseResponse.ts        |    61 +
 .../src/connection/callApi/rejectAfterTimeout.ts   |    34 +
 .../superset-ui-core/src/connection/constants.ts   |    36 +
 .../superset-ui-core/src/connection/index.ts       |    25 +
 .../superset-ui-core/src/connection/types.ts       |   158 +
 .../src/dimension/computeMaxFontSize.ts            |    82 +
 .../src/dimension/getMultipleTextDimensions.ts     |    84 +
 .../src/dimension/getTextDimension.ts              |    61 +
 .../superset-ui-core/src/dimension/index.ts        |    27 +
 .../superset-ui-core/src/dimension/mergeMargin.ts  |    47 +
 .../superset-ui-core/src/dimension/parseLength.ts  |    41 +
 .../src/dimension/svg/LazyFactory.ts               |    60 +
 .../src/dimension/svg/constants.ts                 |    21 +
 .../src/dimension/svg/createHiddenSvgNode.ts       |    33 +
 .../src/dimension/svg/createTextNode.ts            |    24 +
 .../src/dimension/svg/factories.ts                 |    25 +
 .../src/dimension/svg/getBBoxCeil.ts               |    34 +
 .../src/dimension/svg/updateTextNode.ts            |    71 +
 .../superset-ui-core/src/dimension/types.ts        |    41 +
 .../superset-ui-core/src/dynamic-plugins/index.ts  |    20 +
 .../src/dynamic-plugins/shared-modules.ts          |    97 +
 .../packages/superset-ui-core/src/index.ts         |    35 +
 .../superset-ui-core/src/math-expression/index.ts  |   121 +
 .../src/models/ExtensibleFunction.ts               |    31 +
 .../packages/superset-ui-core/src/models/Plugin.ts |    53 +
 .../packages/superset-ui-core/src/models/Preset.ts |    56 +
 .../superset-ui-core/src/models/Registry.ts        |   281 +
 .../src/models/RegistryWithDefaultKey.ts           |    94 +
 .../packages/superset-ui-core/src/models/index.ts  |    23 +
 .../src/number-format/NumberFormats.ts             |    87 +
 .../src/number-format/NumberFormatter.ts           |    86 +
 .../src/number-format/NumberFormatterRegistry.ts   |    74 +
 .../NumberFormatterRegistrySingleton.ts            |    35 +
 .../superset-ui-core/src/number-format/README.md   |    82 +
 .../factories/createD3NumberFormatter.ts           |    61 +
 .../factories/createDurationFormatter.ts           |    39 +
 .../factories/createSiAtMostNDigitFormatter.ts     |    45 +
 .../factories/createSmartNumberFormatter.ts        |    70 +
 .../superset-ui-core/src/number-format/index.ts    |    33 +
 .../superset-ui-core/src/number-format/types.ts    |    20 +
 .../superset-ui-core/src/query/DatasourceKey.ts    |    44 +
 .../packages/superset-ui-core/src/query/README.md  |    30 +
 .../src/query/api/legacy/fetchExploreJson.ts       |    49 +
 .../src/query/api/legacy/getDatasourceMetadata.ts  |    39 +
 .../src/query/api/legacy/getFormData.ts            |    45 +
 .../superset-ui-core/src/query/api/legacy/index.ts |    25 +
 .../superset-ui-core/src/query/api/legacy/types.ts |    26 +
 .../superset-ui-core/src/query/api/types.ts        |    28 +
 .../src/query/api/v1/handleError.ts                |   106 +
 .../superset-ui-core/src/query/api/v1/index.ts     |    32 +
 .../superset-ui-core/src/query/api/v1/makeApi.ts   |   152 +
 .../superset-ui-core/src/query/api/v1/types.ts     |   141 +
 .../src/query/buildQueryContext.ts                 |    80 +
 .../superset-ui-core/src/query/buildQueryObject.ts |   127 +
 .../superset-ui-core/src/query/constants.ts        |    65 +
 .../superset-ui-core/src/query/convertFilter.ts    |    56 +
 .../superset-ui-core/src/query/extractExtras.ts    |    97 +
 .../src/query/extractQueryFields.ts                |   137 +
 .../superset-ui-core/src/query/extractTimegrain.ts |    38 +
 .../superset-ui-core/src/query/getColumnLabel.ts   |    30 +
 .../superset-ui-core/src/query/getMetricLabel.ts   |    35 +
 .../packages/superset-ui-core/src/query/index.ts   |    43 +
 .../superset-ui-core/src/query/normalizeOrderBy.ts |    80 +
 .../src/query/processExtraFormData.ts              |    49 +
 .../superset-ui-core/src/query/processFilters.ts   |    71 +
 .../src/query/types/AdvancedAnalytics.ts           |    43 +
 .../src/query/types/AnnotationLayer.ts             |   192 +
 .../superset-ui-core/src/query/types/Column.ts     |    60 +
 .../superset-ui-core/src/query/types/Datasource.ts |    46 +
 .../superset-ui-core/src/query/types/Filter.ts     |    91 +
 .../superset-ui-core/src/query/types/Metric.ts     |    81 +
 .../superset-ui-core/src/query/types/Operator.ts   |    72 +
 .../src/query/types/PostProcessing.ts              |   254 +
 .../superset-ui-core/src/query/types/Query.ts      |   169 +
 .../src/query/types/QueryFormData.ts               |   230 +
 .../src/query/types/QueryResponse.ts               |    95 +
 .../superset-ui-core/src/query/types/Time.ts       |    43 +
 .../superset-ui-core/src/query/types/index.ts      |    40 +
 .../packages/superset-ui-core/src/style/index.tsx  |   170 +
 .../superset-ui-core/src/time-format/README.md     |    68 +
 .../src/time-format/TimeFormats.ts                 |    38 +
 .../src/time-format/TimeFormatsForGranularity.ts   |    49 +
 .../src/time-format/TimeFormatter.ts               |    76 +
 .../src/time-format/TimeFormatterRegistry.ts       |    59 +
 .../time-format/TimeFormatterRegistrySingleton.ts  |    91 +
 .../src/time-format/TimeRangeFormatter.ts          |    68 +
 .../time-format/factories/createD3TimeFormatter.ts |    64 +
 .../time-format/factories/createMultiFormatter.ts  |   110 +
 .../src/time-format/formatters/smartDate.ts        |    37 +
 .../time-format/formatters/smartDateDetailed.ts    |    37 +
 .../src/time-format/formatters/smartDateVerbose.ts |    37 +
 .../superset-ui-core/src/time-format/index.ts      |    39 +
 .../superset-ui-core/src/time-format/types.ts      |    51 +
 .../src/time-format/utils/createTime.ts            |    40 +
 .../utils/createTimeRangeFromGranularity.ts        |   111 +
 .../src/time-format/utils/d3Time.ts                |   141 +
 .../src/time-format/utils/stringifyTimeInput.ts    |    29 +
 .../superset-ui-core/src/translation/README.md     |    71 +
 .../superset-ui-core/src/translation/Translator.ts |   105 +
 .../src/translation/TranslatorSingleton.ts         |    82 +
 .../superset-ui-core/src/translation/index.ts      |    25 +
 .../src/translation/types/index.ts                 |    73 +
 .../superset-ui-core/src/translation/types/jed.ts  |    56 +
 .../packages/superset-ui-core/src/types/index.ts   |    21 +
 .../src/utils/convertKeysToCamelCase.ts            |    35 +
 .../superset-ui-core/src/utils/ensureIsArray.ts    |    29 +
 .../superset-ui-core/src/utils/ensureIsInt.ts      |    27 +
 .../superset-ui-core/src/utils/featureFlags.ts     |    81 +
 .../packages/superset-ui-core/src/utils/index.ts   |    29 +
 .../superset-ui-core/src/utils/isDefined.ts        |    22 +
 .../superset-ui-core/src/utils/isRequired.ts       |    22 +
 .../packages/superset-ui-core/src/utils/logging.ts |    38 +
 .../superset-ui-core/src/utils/makeSingleton.ts    |    37 +
 .../superset-ui-core/src/utils/promiseTimeout.ts   |    32 +
 .../packages/superset-ui-core/src/utils/random.ts  |    27 +
 .../superset-ui-core/src/utils/removeDuplicates.ts |    38 +
 .../superset-ui-core/src/validator/index.ts        |    24 +
 .../src/validator/legacyValidateInteger.ts         |    34 +
 .../src/validator/legacyValidateNumber.ts          |    31 +
 .../src/validator/validateInteger.ts               |    33 +
 .../src/validator/validateNonEmpty.ts              |    32 +
 .../src/validator/validateNumber.ts                |    33 +
 .../test/__mocks__/resize-observer-polyfill.ts     |    51 +
 .../test/chart-composition/ChartFrame.test.tsx     |   127 +
 .../chart-composition/legend/WithLegend.test.tsx   |   204 +
 .../tooltip/TooltipFrame.test.tsx                  |    44 +
 .../tooltip/TooltipTable.test.tsx                  |    66 +
 .../test/chart/clients/ChartClient.test.ts         |   313 +
 .../chart/components/ChartDataProvider.test.tsx    |   330 +
 .../chart/components/FallbackComponent.test.tsx    |    59 +
 .../test/chart/components/MockChartPlugins.tsx     |   138 +
 .../chart/components/NoResultsComponent.test.tsx   |    35 +
 .../test/chart/components/SuperChart.test.tsx      |   422 +
 .../test/chart/components/SuperChartCore.test.tsx  |   209 +
 .../components/createLoadableRenderer.test.tsx     |   155 +
 .../test/chart/components/reactify.test.tsx        |   146 +
 .../test/chart/fixtures/constants.ts               |    20 +
 .../test/chart/fixtures/formData.ts                |    83 +
 .../superset-ui-core/test/chart/index.test.ts      |    50 +
 .../test/chart/models/ChartMetadata.test.ts        |    73 +
 .../test/chart/models/ChartPlugin.test.tsx         |   256 +
 .../test/chart/models/ChartProps.test.ts           |   142 +
 .../test/color/CategoricalColorNameSpace.test.ts   |   164 +
 .../test/color/CategoricalColorScale.test.ts       |   194 +
 .../CategoricalSchemeRegistrySingleton.test.ts     |    31 +
 .../test/color/ColorScheme.test.ts                 |    29 +
 .../test/color/ColorSchemeRegistry.test.ts         |    27 +
 .../test/color/SequentialScheme.test.ts            |   117 +
 .../SequentialSchemeRegistrySingleton.test.ts      |    31 +
 .../test/color/colorSchemes.test.ts                |    62 +
 .../superset-ui-core/test/color/index.test.ts      |    42 +
 .../superset-ui-core/test/color/utils.test.ts      |    63 +
 .../test/connection/SupersetClient.test.ts         |   134 +
 .../test/connection/SupersetClientClass.test.ts    |   513 +
 .../test/connection/callApi/callApi.test.ts        |   607 +
 .../callApi/callApiAndParseWithTimeout.test.ts     |   131 +
 .../test/connection/callApi/parseResponse.test.ts  |   158 +
 .../connection/callApi/rejectAfterTimeout.test.ts  |    38 +
 .../test/connection/fixtures/constants.ts          |    19 +
 .../test/dimension/computeMaxFontSize.test.ts      |    63 +
 .../test/dimension/getBBoxDummyFill.ts             |    83 +
 .../dimension/getMultipleTextDimensions.test.ts    |   221 +
 .../test/dimension/getTextDimension.test.ts        |   175 +
 .../test/dimension/mergeMargin.test.ts             |   209 +
 .../test/dimension/parseLength.test.ts             |    48 +
 .../test/dimension/svg/LazyFactory.test.ts         |    68 +
 .../test/dimension/svg/getBBoxCeil.test.ts         |    60 +
 .../test/dimension/svg/updateTextNode.test.ts      |   102 +
 .../test/dynamic-plugins/shared-modules.test.ts    |    93 +
 .../packages/superset-ui-core/test/fixtures.ts     |    39 +
 .../packages/superset-ui-core/test/index.test.ts   |    46 +
 .../test/math-expression/index.test.ts             |    99 +
 .../test/models/ExtensibleFunction.test.ts         |    87 +
 .../superset-ui-core/test/models/Plugin.test.ts    |    79 +
 .../superset-ui-core/test/models/Preset.test.ts    |    86 +
 .../superset-ui-core/test/models/Registry.test.ts  |   466 +
 .../test/models/RegistryWithDefaultKey.test.ts     |   190 +
 .../test/number-format/NumberFormatter.test.ts     |    90 +
 .../number-format/NumberFormatterRegistry.test.ts  |    87 +
 .../NumberFormatterRegistrySingleton.test.ts       |    58 +
 .../factories/createD3NumberFormatter.test.ts      |    88 +
 .../factories/createDurationFormatter.test.ts      |    58 +
 .../createSiAtMostNDigitFormatter.test.ts          |    70 +
 .../factories/createSmartNumberFormatter.test.ts   |   148 +
 .../test/number-format/index.test.ts               |    46 +
 .../test/query/DatasourceKey.test.ts               |    36 +
 .../test/query/api/legacy/fetchExploreJson.test.ts |    81 +
 .../query/api/legacy/getDatasourceMetadata.test.ts |    46 +
 .../test/query/api/legacy/getFormData.test.ts      |    68 +
 .../test/query/api/setupClientForTest.ts           |    28 +
 .../test/query/api/v1/getChartData.test.ts         |    48 +
 .../test/query/api/v1/handleError.test.ts          |   173 +
 .../test/query/api/v1/makeApi.test.ts              |   220 +
 .../test/query/buildQueryContext.test.ts           |   111 +
 .../test/query/buildQueryObject.test.ts            |   280 +
 .../test/query/convertFilter.test.ts               |    67 +
 .../test/query/extractExtras.test.ts               |   155 +
 .../test/query/extractQueryFields.test.ts          |   200 +
 .../test/query/extractTimegrain.test.ts            |    85 +
 .../test/query/getColumnLabel.test.ts              |    42 +
 .../test/query/getMetricLabel.test.ts              |    72 +
 .../test/query/normalizeOrderBy.test.ts            |   190 +
 .../test/query/processExtraFormData.test.ts        |   133 +
 .../test/query/processFilters.test.ts              |   184 +
 .../test/query/types/AnnotationLayer.test.ts       |   189 +
 .../test/query/types/Filter.test.ts                |    98 +
 .../test/query/types/PostProcessing.test.ts        |   223 +
 .../superset-ui-core/test/style/index.test.tsx     |    73 +
 .../test/time-format/TimeFormatter.test.ts         |    91 +
 .../test/time-format/TimeFormatterRegistry.test.ts |    81 +
 .../TimeFormatterRegistrySingleton.test.ts         |   187 +
 .../factories/createD3TimeFormatter.test.ts        |   132 +
 .../factories/createMultiFormatter.test.ts         |    55 +
 .../test/time-format/formatters/smartDate.test.ts  |    42 +
 .../formatters/smartDateDetailed.test.ts           |    56 +
 .../formatters/smartDateVerbose.test.ts            |    41 +
 .../test/time-format/index.test.ts                 |    50 +
 .../test/time-format/utils/createTime.test.ts      |    56 +
 .../utils/createTimeRangeFromGranularity.test.ts   |   191 +
 .../test/time-format/utils/d3Time.test.ts          |   142 +
 .../test/translation/Translator.test.ts            |   199 +
 .../test/translation/TranslatorSingleton.test.ts   |    86 +
 .../test/translation/index.test.ts                 |    35 +
 .../test/translation/languagePacks/en.ts           |    37 +
 .../test/translation/languagePacks/zh.ts           |    37 +
 .../packages/superset-ui-core/test/tsconfig.json   |    19 +
 .../test/utils/convertKeysToCamelCase.test.ts      |    52 +
 .../test/utils/ensureIsArray.test.ts               |    33 +
 .../test/utils/ensureIsInt.test.ts                 |    31 +
 .../test/utils/featureFlag.test.ts                 |    35 +
 .../superset-ui-core/test/utils/isDefined.test.ts  |    39 +
 .../superset-ui-core/test/utils/isRequired.test.ts |    26 +
 .../superset-ui-core/test/utils/logging.test.ts    |    77 +
 .../test/utils/makeSingleton.test.ts               |    59 +
 .../test/utils/promiseTimeout.test.ts              |    47 +
 .../superset-ui-core/test/utils/random.test.ts     |    32 +
 .../test/utils/removeDuplicates.test.ts            |    31 +
 .../test/validator/legacyValidateInteger.test.ts   |    40 +
 .../test/validator/legacyValidateNumber.test.ts    |    40 +
 .../superset-ui-core/test/validator/setup.ts       |    22 +
 .../test/validator/validateInteger.test.ts         |    38 +
 .../test/validator/validateNonEmpty.test.ts        |    35 +
 .../test/validator/validateNumber.test.ts          |    38 +
 .../packages/superset-ui-core/tsconfig.json        |    18 +
 .../packages/superset-ui-core/types/external.d.ts  |    22 +
 .../types/resize-observer-polyfill.d.ts            |    23 +
 .../packages/superset-ui-demo/.storybook/main.js   |    28 +
 .../superset-ui-demo/.storybook/preview.js         |    84 +
 .../superset-ui-demo/.storybook/storybook.css      |    15 +
 .../superset-ui-demo/.storybook/themeDecorator.js  |     9 +
 .../packages/superset-ui-demo/CHANGELOG.md         |    51 +
 .../packages/superset-ui-demo/README.md            |    72 +
 .../packages/superset-ui-demo/package.json         |    95 +
 .../storybook/shared/components/ErrorMessage.tsx   |    39 +
 .../storybook/shared/components/Expandable.tsx     |    61 +
 .../shared/components/ResizableChartDemo.tsx       |    76 +
 .../storybook/shared/components/ResizablePanel.tsx |    63 +
 .../storybook/shared/components/VerifyCORS.tsx     |   138 +
 .../shared/components/createQueryStory.tsx         |   103 +
 .../storybook/shared/dummyDatasource.ts            |    20 +
 .../legacy-plugin-chart-calendar/Stories.tsx       |    52 +
 .../plugins/legacy-plugin-chart-calendar/data.ts   |   119 +
 .../plugins/legacy-plugin-chart-chord/Stories.tsx  |    44 +
 .../plugins/legacy-plugin-chart-chord/data.ts      |    39 +
 .../CountryMapStories.tsx                          |    89 +
 .../legacy-plugin-chart-event-flow/Stories.jsx     |    51 +
 .../legacy-plugin-chart-force-directed/Stories.tsx |    39 +
 .../legacy-plugin-chart-force-directed/data.ts     |   447 +
 .../legacy-plugin-chart-heatmap/Stories.tsx        |   148 +
 .../plugins/legacy-plugin-chart-heatmap/data.ts    |   182 +
 .../legacy-plugin-chart-histogram/Stories.tsx      |    47 +
 .../plugins/legacy-plugin-chart-histogram/data.ts  |    32 +
 .../legacy-plugin-chart-horizon/Stories.tsx        |    42 +
 .../plugins/legacy-plugin-chart-horizon/data.ts    |   927 +
 .../legacy-plugin-chart-map-box/Stories.tsx        |    55 +
 .../plugins/legacy-plugin-chart-map-box/data.ts    |  5542 ++
 .../legacy-plugin-chart-paired-t-test/Stories.tsx  |    46 +
 .../legacy-plugin-chart-paired-t-test/data.ts      |   702 +
 .../Stories.tsx                                    |    48 +
 .../data.ts                                        |    81 +
 .../legacy-plugin-chart-partition/Stories.tsx      |    53 +
 .../plugins/legacy-plugin-chart-partition/data.ts  |   113 +
 .../legacy-plugin-chart-pivot-table/Stories.tsx    |   159 +
 .../plugins/legacy-plugin-chart-rose/Stories.tsx   |    46 +
 .../plugins/legacy-plugin-chart-rose/data.ts       |   950 +
 .../legacy-plugin-chart-sankey-loop/Stories.tsx    |    42 +
 .../legacy-plugin-chart-sankey-loop/data.ts        |    52 +
 .../plugins/legacy-plugin-chart-sankey/Stories.tsx |    59 +
 .../plugins/legacy-plugin-chart-sankey/data.ts     |    72 +
 .../legacy-plugin-chart-sunburst/Stories.tsx       |    63 +
 .../plugins/legacy-plugin-chart-sunburst/data.ts   |    32 +
 .../legacy-plugin-chart-treemap/Stories.tsx        |    44 +
 .../plugins/legacy-plugin-chart-treemap/data.ts    |    55 +
 .../legacy-plugin-chart-world-map/Stories.tsx      |    43 +
 .../plugins/legacy-plugin-chart-world-map/data.ts  |   323 +
 .../BigNumber/BigNumberStories.tsx                 |   131 +
 .../BigNumber/data.ts                              |    78 +
 .../BigNumberTotal/BigNumberTotalStories.tsx       |    60 +
 .../BigNumberTotal/data.ts                         |    24 +
 .../legacy-preset-chart-deckgl/Arc/Stories.tsx     |   101 +
 .../legacy-preset-chart-deckgl/Arc/payload.js      |   270 +
 .../legacy-preset-chart-deckgl/Grid/Stories.tsx    |    72 +
 .../legacy-preset-chart-deckgl/Grid/payload.js     |   114 +
 .../legacy-preset-chart-deckgl/Hex/Stories.tsx     |    73 +
 .../legacy-preset-chart-deckgl/Hex/payload.js      |   114 +
 .../legacy-preset-chart-deckgl/Path/Stories.tsx    |    81 +
 .../legacy-preset-chart-deckgl/Path/payload.js     |   228 +
 .../legacy-preset-chart-deckgl/Polygon/Stories.tsx |   141 +
 .../Polygon/geojsonPayload.js                      |   132 +
 .../legacy-preset-chart-deckgl/Polygon/payload.js  |   383 +
 .../legacy-preset-chart-deckgl/Scatter/Stories.tsx |    80 +
 .../legacy-preset-chart-deckgl/Scatter/payload.js  |   229 +
 .../Screengrid/Stories.tsx                         |    72 +
 .../Screengrid/payload.js                          |   136 +
 .../legacy-preset-chart-nvd3/Area/Stories.tsx      |    34 +
 .../plugins/legacy-preset-chart-nvd3/Area/data.ts  |  1147 +
 .../Area/stories/controlsShown.tsx                 |    54 +
 .../Area/stories/expanded.tsx                      |    54 +
 .../Area/stories/stacked.tsx                       |    55 +
 .../Area/stories/stackedWithBounds.tsx             |    93 +
 .../legacy-preset-chart-nvd3/Bar/Stories.tsx       |    31 +
 .../plugins/legacy-preset-chart-nvd3/Bar/data.ts   |   247 +
 .../stories/barWithPositiveAndNegativeValues.tsx   |    65 +
 .../Bar/stories/barWithValues.tsx                  |    55 +
 .../legacy-preset-chart-nvd3/Bar/stories/basic.tsx |    55 +
 .../Bar/stories/stackedBarWithValues.tsx           |    56 +
 .../legacy-preset-chart-nvd3/BoxPlot/Stories.tsx   |    28 +
 .../legacy-preset-chart-nvd3/BoxPlot/data.ts       |    77 +
 .../BoxPlot/stories/basic.tsx                      |    38 +
 .../legacy-preset-chart-nvd3/Bubble/Stories.tsx    |    28 +
 .../legacy-preset-chart-nvd3/Bubble/data.ts        |   357 +
 .../Bubble/stories/basic.tsx                       |    56 +
 .../legacy-preset-chart-nvd3/Bullet/Stories.tsx    |    28 +
 .../legacy-preset-chart-nvd3/Bullet/data.ts        |    29 +
 .../Bullet/stories/basic.tsx                       |    42 +
 .../legacy-preset-chart-nvd3/Compare/Stories.tsx   |    29 +
 .../legacy-preset-chart-nvd3/Compare/data.ts       |   927 +
 .../Compare/stories/basic.tsx                      |    49 +
 .../Compare/stories/timeFormat.tsx                 |   250 +
 .../legacy-preset-chart-nvd3/DistBar/Stories.tsx   |    29 +
 .../legacy-preset-chart-nvd3/DistBar/data.ts       |   112 +
 .../DistBar/stories/basic.tsx                      |    49 +
 .../DistBar/stories/manyBars.tsx                   |    59 +
 .../legacy-preset-chart-nvd3/DualLine/Stories.tsx  |    29 +
 .../legacy-preset-chart-nvd3/DualLine/data.ts      |   390 +
 .../DualLine/stories/basic.tsx                     |    40 +
 .../DualLine/stories/verifyConsistentColors.tsx    |    65 +
 .../legacy-preset-chart-nvd3/Line/Stories.tsx      |    31 +
 .../plugins/legacy-preset-chart-nvd3/Line/data.ts  |   927 +
 .../Line/stories/basic.tsx                         |    53 +
 .../Line/stories/logScale.tsx                      |    40 +
 .../Line/stories/markers.tsx                       |    53 +
 .../Line/stories/yAxisBounds.tsx                   |    98 +
 .../legacy-preset-chart-nvd3/Pie/Stories.tsx       |    29 +
 .../plugins/legacy-preset-chart-nvd3/Pie/data.ts   |    30 +
 .../legacy-preset-chart-nvd3/Pie/stories/basic.tsx |    43 +
 .../Pie/stories/noData.tsx                         |    42 +
 .../plugin-chart-echarts/BoxPlot/Stories.tsx       |    63 +
 .../plugins/plugin-chart-echarts/BoxPlot/data.ts   |   141 +
 .../plugin-chart-echarts/Funnel/Stories.tsx        |    73 +
 .../plugin-chart-echarts/Funnel/constants.ts       |    25 +
 .../plugins/plugin-chart-echarts/Gauge/Stories.tsx |    54 +
 .../plugins/plugin-chart-echarts/Gauge/data.ts     |    25 +
 .../plugins/plugin-chart-echarts/Graph/Stories.tsx |    56 +
 .../plugins/plugin-chart-echarts/Graph/data.ts     |   329 +
 .../MixedTimeseries/Stories.tsx                    |   111 +
 .../plugins/plugin-chart-echarts/Pie/Stories.tsx   |   108 +
 .../plugins/plugin-chart-echarts/Pie/data.ts       |   242 +
 .../plugins/plugin-chart-echarts/Radar/Stories.tsx |    69 +
 .../plugins/plugin-chart-echarts/Radar/data.ts     |    37 +
 .../plugin-chart-echarts/Timeseries/Stories.tsx    |    86 +
 .../plugin-chart-echarts/Timeseries/data.ts        |  3336 +
 .../plugins/plugin-chart-echarts/Tree/Stories.tsx  |    87 +
 .../plugins/plugin-chart-echarts/Tree/data.ts      |   123 +
 .../plugin-chart-echarts/Treemap/Stories.tsx       |    63 +
 .../plugins/plugin-chart-echarts/Treemap/data.ts   |    69 +
 .../plugins/plugin-chart-table/TableStories.tsx    |   146 +
 .../plugins/plugin-chart-table/birthNames.json     | 13356 +++
 .../stories/plugins/plugin-chart-table/testData.ts |   115 +
 .../plugins/plugin-chart-word-cloud/Stories.tsx    |   167 +
 .../plugins/plugin-chart-word-cloud/data.ts        |   422 +
 .../plugins/preset-chart-xy/BoxPlot/Stories.tsx    |    36 +
 .../plugins/preset-chart-xy/BoxPlot/constants.ts   |    21 +
 .../plugins/preset-chart-xy/BoxPlot/data.ts        |    99 +
 .../preset-chart-xy/BoxPlot/stories/Basic.tsx      |   109 +
 .../preset-chart-xy/BoxPlot/stories/Legacy.tsx     |    40 +
 .../plugins/preset-chart-xy/Line/Stories.tsx       |    42 +
 .../plugins/preset-chart-xy/Line/constants.ts      |    21 +
 .../plugins/preset-chart-xy/Line/data/data.js      |   242 +
 .../plugins/preset-chart-xy/Line/data/data2.js     |   110 +
 .../preset-chart-xy/Line/data/legacyData.js        |   927 +
 .../plugins/preset-chart-xy/Line/stories/basic.tsx |    84 +
 .../plugins/preset-chart-xy/Line/stories/flush.tsx |   152 +
 .../preset-chart-xy/Line/stories/legacy.tsx        |    86 +
 .../preset-chart-xy/Line/stories/missing.tsx       |    75 +
 .../plugins/preset-chart-xy/Line/stories/query.tsx |    83 +
 .../preset-chart-xy/Line/stories/timeShift.tsx     |    97 +
 .../preset-chart-xy/ScatterPlot/Stories.tsx        |    44 +
 .../preset-chart-xy/ScatterPlot/constants.ts       |    21 +
 .../preset-chart-xy/ScatterPlot/data/data.ts       |   197 +
 .../preset-chart-xy/ScatterPlot/data/legacyData.ts |   357 +
 .../preset-chart-xy/ScatterPlot/stories/basic.tsx  |    75 +
 .../preset-chart-xy/ScatterPlot/stories/bubble.tsx |    83 +
 .../preset-chart-xy/ScatterPlot/stories/legacy.tsx |    58 +
 .../superset-ui-chart/ChartDataProviderStories.tsx |   128 +
 .../superset-ui-chart/SuperChartStories.tsx        |   169 +
 .../superset-ui-color/ColorPallettesStories.jsx    |    57 +
 .../stories/superset-ui-color/RenderPalettes.jsx   |    55 +
 .../stories/superset-ui-color/color-styles.css     |    34 +
 .../superset-ui-connection/ConnectionStories.tsx   |    86 +
 .../superset-ui-number-format/BigNumberStories.jsx |   142 +
 .../stories/superset-ui-style/ThemeStories.jsx     |    49 +
 .../superset-ui-time-format/TimeFormatStories.jsx  |   132 +
 .../packages/superset-ui-demo/tsconfig.json        |    22 +
 .../legacy-plugin-chart-calendar/CHANGELOG.md      |    35 +
 .../plugins/legacy-plugin-chart-calendar/README.md |    52 +
 .../legacy-plugin-chart-calendar/package.json      |    41 +
 .../legacy-plugin-chart-calendar/src/Calendar.js   |   138 +
 .../src/ReactCalendar.jsx                          |    52 +
 .../src/controlPanel.ts                            |   196 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 9279 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 4750 bytes
 .../legacy-plugin-chart-calendar/src/index.js      |    52 +
 .../src/transformProps.js                          |    61 +
 .../legacy-plugin-chart-calendar/src/utils.ts      |    30 +
 .../src/vendor/cal-heatmap.css                     |   129 +
 .../src/vendor/cal-heatmap.js                      |  4045 +
 .../src/vendor/d3tip.css                           |    74 +
 .../test/getFormattedUTCTime.ts                    |    28 +
 .../legacy-plugin-chart-calendar/tsconfig.json     |    25 +
 .../plugins/legacy-plugin-chart-chord/CHANGELOG.md |    35 +
 .../plugins/legacy-plugin-chart-chord/README.md    |    52 +
 .../plugins/legacy-plugin-chart-chord/package.json |    39 +
 .../plugins/legacy-plugin-chart-chord/src/Chord.js |   143 +
 .../legacy-plugin-chart-chord/src/ReactChord.jsx   |    56 +
 .../legacy-plugin-chart-chord/src/controlPanel.ts  |    74 +
 .../legacy-plugin-chart-chord/src/images/chord.jpg |   Bin 0 -> 121575 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 38781 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 105458 bytes
 .../plugins/legacy-plugin-chart-chord/src/index.js |    55 +
 .../src/transformProps.js                          |    30 +
 .../legacy-plugin-chart-chord/tsconfig.json        |    25 +
 .../legacy-plugin-chart-country-map/CHANGELOG.md   |    35 +
 .../legacy-plugin-chart-country-map/README.md      |    62 +
 .../legacy-plugin-chart-country-map/package.json   |    39 +
 .../scripts/Country Map GeoJSON Generator.ipynb    |  1696 +
 .../src/CountryMap.css                             |    61 +
 .../src/CountryMap.js                              |   242 +
 .../src/ReactCountryMap.js                         |    22 +
 .../src/controlPanel.ts                            |    93 +
 .../src/countries.ts                               |   126 +
 .../src/countries/australia.geojson                |   125 +
 .../src/countries/austria.geojson                  |    15 +
 .../src/countries/belgium.geojson                  |    17 +
 .../src/countries/brazil.geojson                   |    33 +
 .../src/countries/bulgaria.geojson                 |    34 +
 .../src/countries/canada.geojson                   |    19 +
 .../src/countries/china.geojson                    |    41 +
 .../src/countries/denmark.geojson                  |    11 +
 .../src/countries/egypt.geojson                    |    33 +
 .../src/countries/estonia.geojson                  |    21 +
 .../src/countries/finland.geojson                  |    25 +
 .../src/countries/france.geojson                   |   102 +
 .../src/countries/germany.geojson                  |    22 +
 .../src/countries/iceland.geojson                  |    15 +
 .../src/countries/india.geojson                    |    41 +
 .../src/countries/indonesia.geojson                |    39 +
 .../src/countries/iran.geojson                     |    37 +
 .../src/countries/italy.geojson                    |   116 +
 .../src/countries/italy_regions.geojson            |    26 +
 .../src/countries/japan.geojson                    |    53 +
 .../src/countries/korea.geojson                    |    23 +
 .../src/countries/liechtenstein.geojson            |    17 +
 .../src/countries/malaysia.geojson                 |    22 +
 .../src/countries/morocco.geojson                  |    22 +
 .../src/countries/myanmar.geojson                  |    20 +
 .../src/countries/netherlands.geojson              |    18 +
 .../src/countries/norway.geojson                   |    26 +
 .../src/countries/peru.geojson                     |    33 +
 .../src/countries/poland.geojson                   |    22 +
 .../src/countries/portugal.geojson                 |    26 +
 .../src/countries/russia.geojson                   |    92 +
 .../src/countries/saudi_arabia.geojson             |     1 +
 .../src/countries/singapore.geojson                |    11 +
 .../src/countries/slovenia.geojson                 |   199 +
 .../src/countries/spain.geojson                    |    58 +
 .../src/countries/sweden.geojson                   |    27 +
 .../src/countries/switzerland.geojson              |    32 +
 .../src/countries/syria.geojson                    |    21 +
 .../src/countries/thailand.geojson                 |    83 +
 .../src/countries/timorleste.geojson               |    19 +
 .../src/countries/uk.geojson                       |   236 +
 .../src/countries/ukraine.geojson                  |    31 +
 .../src/countries/uruguay.geojson                  |    25 +
 .../src/countries/usa.geojson                      |    57 +
 .../src/countries/vietnam.geojson                  |    69 +
 .../src/countries/zambia.geojson                   |    16 +
 .../src/geojson.d.ts                               |    23 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 23928 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 60587 bytes
 .../legacy-plugin-chart-country-map/src/index.js   |    54 +
 .../src/transformProps.js                          |    31 +
 .../legacy-plugin-chart-country-map/tsconfig.json  |    25 +
 .../legacy-plugin-chart-event-flow/CHANGELOG.md    |    35 +
 .../legacy-plugin-chart-event-flow/README.md       |    52 +
 .../legacy-plugin-chart-event-flow/package.json    |    39 +
 .../src/EventFlow.tsx                              |    53 +
 .../src/controlPanel.tsx                           |   137 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 14095 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 26791 bytes
 .../legacy-plugin-chart-event-flow/src/index.ts    |    44 +
 .../src/transformProps.ts                          |    70 +
 .../src/types/external.d.ts                        |    21 +
 .../legacy-plugin-chart-event-flow/tsconfig.json   |    25 +
 .../CHANGELOG.md                                   |    27 +
 .../legacy-plugin-chart-force-directed/README.md   |    52 +
 .../package.json                                   |    39 +
 .../src/ForceDirected.js                           |   176 +
 .../src/ReactForceDirected.jsx                     |    56 +
 .../src/controlPanel.ts                            |   108 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 33535 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 94166 bytes
 .../src/index.js                                   |    41 +
 .../src/transformProps.js                          |    30 +
 .../tsconfig.json                                  |    25 +
 .../legacy-plugin-chart-heatmap/CHANGELOG.md       |    35 +
 .../plugins/legacy-plugin-chart-heatmap/README.md  |    52 +
 .../legacy-plugin-chart-heatmap/package.json       |    40 +
 .../legacy-plugin-chart-heatmap/src/Heatmap.css    |    72 +
 .../legacy-plugin-chart-heatmap/src/Heatmap.js     |   455 +
 .../src/ReactHeatmap.js                            |    22 +
 .../src/controlPanel.ts                            |   334 +
 .../src/images/channels.jpg                        |   Bin 0 -> 110639 bytes
 .../src/images/employment.jpg                      |   Bin 0 -> 46972 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 36826 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 126969 bytes
 .../src/images/transportation.jpg                  |   Bin 0 -> 39297 bytes
 .../legacy-plugin-chart-heatmap/src/index.js       |    60 +
 .../src/transformProps.js                          |    63 +
 .../src/vendor/d3tip.css                           |    74 +
 .../legacy-plugin-chart-heatmap/tsconfig.json      |    25 +
 .../legacy-plugin-chart-histogram/CHANGELOG.md     |    35 +
 .../legacy-plugin-chart-histogram/README.md        |    52 +
 .../legacy-plugin-chart-histogram/package.json     |    43 +
 .../src/Histogram.jsx                              |   157 +
 .../src/WithLegend.jsx                             |   153 +
 .../src/controlPanel.ts                            |   164 +
 .../src/images/example1.jpg                        |   Bin 0 -> 19127 bytes
 .../src/images/example2.jpg                        |   Bin 0 -> 23900 bytes
 .../src/images/example3.jpg                        |   Bin 0 -> 29240 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 6204 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 16038 bytes
 .../legacy-plugin-chart-histogram/src/index.js     |    52 +
 .../src/transformProps.js                          |    45 +
 .../legacy-plugin-chart-histogram/tsconfig.json    |    25 +
 .../legacy-plugin-chart-horizon/CHANGELOG.md       |    35 +
 .../plugins/legacy-plugin-chart-horizon/README.md  |    52 +
 .../legacy-plugin-chart-horizon/package.json       |    40 +
 .../src/HorizonChart.css                           |    38 +
 .../src/HorizonChart.jsx                           |   113 +
 .../legacy-plugin-chart-horizon/src/HorizonRow.jsx |   211 +
 .../src/controlPanel.ts                            |   111 +
 .../src/images/Horizon_Chart.jpg                   |   Bin 0 -> 69833 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 22388 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 44651 bytes
 .../legacy-plugin-chart-horizon/src/index.js       |    47 +
 .../src/transformProps.js                          |    30 +
 .../legacy-plugin-chart-horizon/tsconfig.json      |    25 +
 .../legacy-plugin-chart-map-box/CHANGELOG.md       |    35 +
 .../plugins/legacy-plugin-chart-map-box/README.md  |    52 +
 .../legacy-plugin-chart-map-box/package.json       |    42 +
 .../legacy-plugin-chart-map-box/src/MapBox.css     |    21 +
 .../legacy-plugin-chart-map-box/src/MapBox.jsx     |   157 +
 .../src/ScatterPlotGlowOverlay.jsx                 |   280 +
 .../src/controlPanel.ts                            |   331 +
 .../src/images/MapBox.jpg                          |   Bin 0 -> 124411 bytes
 .../src/images/MapBox2.jpg                         |   Bin 0 -> 129764 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 49956 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 44235 bytes
 .../legacy-plugin-chart-map-box/src/index.js       |    55 +
 .../src/transformProps.js                          |    98 +
 .../legacy-plugin-chart-map-box/src/utils/geo.js   |    33 +
 .../src/utils/luminanceFromRGB.js                  |    31 +
 .../src/utils/roundDecimal.js                      |    30 +
 .../legacy-plugin-chart-map-box/test/tsconfig.json |    19 +
 .../test/utils/roundDecimal.test.js                |    28 +
 .../legacy-plugin-chart-map-box/tsconfig.json      |    25 +
 .../legacy-plugin-chart-paired-t-test/CHANGELOG.md |    35 +
 .../legacy-plugin-chart-paired-t-test/README.md    |    52 +
 .../legacy-plugin-chart-paired-t-test/package.json |    40 +
 .../src/PairedTTest.css                            |    86 +
 .../src/PairedTTest.jsx                            |    72 +
 .../src/TTestTable.jsx                             |   302 +
 .../src/controlPanel.ts                            |   113 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 17215 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 54002 bytes
 .../legacy-plugin-chart-paired-t-test/src/index.js |    44 +
 .../src/transformProps.js                          |    39 +
 .../tsconfig.json                                  |    25 +
 .../CHANGELOG.md                                   |    35 +
 .../README.md                                      |    54 +
 .../package.json                                   |    39 +
 .../src/ParallelCoordinates.js                     |   129 +
 .../src/ReactParallelCoordinates.jsx               |    47 +
 .../src/controlPanel.ts                            |    82 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 44675 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 146821 bytes
 .../src/index.js                                   |    45 +
 .../src/transformProps.js                          |    44 +
 .../src/vendor/parcoords/d3.parcoords.css          |    79 +
 .../src/vendor/parcoords/d3.parcoords.js           |  2468 +
 .../src/vendor/parcoords/divgrid.js                |    77 +
 .../tsconfig.json                                  |    26 +
 .../legacy-plugin-chart-partition/CHANGELOG.md     |    35 +
 .../legacy-plugin-chart-partition/README.md        |    52 +
 .../legacy-plugin-chart-partition/package.json     |    41 +
 .../src/OptionDescription.tsx                      |    49 +
 .../src/Partition.css                              |    64 +
 .../legacy-plugin-chart-partition/src/Partition.js |   402 +
 .../src/ReactPartition.js                          |    22 +
 .../src/controlPanel.tsx                           |   401 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 9919 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 32111 bytes
 .../legacy-plugin-chart-partition/src/index.js     |    42 +
 .../src/transformProps.js                          |    52 +
 .../test/OptionDescription.test.jsx                |    48 +
 .../test/tsconfig.json                             |    19 +
 .../legacy-plugin-chart-partition/tsconfig.json    |    25 +
 .../legacy-plugin-chart-pivot-table/CHANGELOG.md   |    43 +
 .../legacy-plugin-chart-pivot-table/README.md      |    52 +
 .../legacy-plugin-chart-pivot-table/package.json   |    39 +
 .../src/PivotTable.js                              |   154 +
 .../src/ReactPivotTable.js                         |    22 +
 .../src/controlPanel.ts                            |   161 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 43066 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 127194 bytes
 .../legacy-plugin-chart-pivot-table/src/index.js   |    45 +
 .../src/transformProps.js                          |    37 +
 .../src/utils/fixTableHeight.js                    |    33 +
 .../src/utils/formatCells.ts                       |    71 +
 .../test/PivotTable.test.ts                        |    91 +
 .../legacy-plugin-chart-pivot-table/tsconfig.json  |    25 +
 .../plugins/legacy-plugin-chart-rose/CHANGELOG.md  |    35 +
 .../plugins/legacy-plugin-chart-rose/README.md     |    52 +
 .../plugins/legacy-plugin-chart-rose/package.json  |    40 +
 .../legacy-plugin-chart-rose/src/ReactRose.js      |    22 +
 .../plugins/legacy-plugin-chart-rose/src/Rose.css  |    43 +
 .../plugins/legacy-plugin-chart-rose/src/Rose.js   |   642 +
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |   284 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 27928 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 79413 bytes
 .../plugins/legacy-plugin-chart-rose/src/index.js  |    52 +
 .../legacy-plugin-chart-rose/src/transformProps.js |    39 +
 .../plugins/legacy-plugin-chart-rose/tsconfig.json |    25 +
 .../legacy-plugin-chart-sankey-loop/CHANGELOG.md   |    27 +
 .../legacy-plugin-chart-sankey-loop/README.md      |    52 +
 .../legacy-plugin-chart-sankey-loop/package.json   |    39 +
 .../src/ReactSankeyLoop.js                         |    22 +
 .../src/SankeyLoop.css                             |    57 +
 .../src/SankeyLoop.js                              |   142 +
 .../src/controlPanel.ts                            |    49 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 32791 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 32791 bytes
 .../legacy-plugin-chart-sankey-loop/src/index.js   |    41 +
 .../src/transformProps.js                          |    30 +
 .../legacy-plugin-chart-sankey-loop/tsconfig.json  |    25 +
 .../legacy-plugin-chart-sankey/CHANGELOG.md        |    35 +
 .../plugins/legacy-plugin-chart-sankey/README.md   |    52 +
 .../legacy-plugin-chart-sankey/package.json        |    40 +
 .../legacy-plugin-chart-sankey/src/ReactSankey.jsx |    74 +
 .../legacy-plugin-chart-sankey/src/Sankey.js       |   249 +
 .../legacy-plugin-chart-sankey/src/controlPanel.ts |    72 +
 .../src/images/Sankey.jpg                          |   Bin 0 -> 36804 bytes
 .../src/images/Sankey2.jpg                         |   Bin 0 -> 72626 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 37013 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 85497 bytes
 .../legacy-plugin-chart-sankey/src/index.js        |    58 +
 .../src/tests/utils.test.js                        |    93 +
 .../src/transformProps.js                          |    32 +
 .../legacy-plugin-chart-sankey/src/utils.ts        |    81 +
 .../legacy-plugin-chart-sankey/tsconfig.json       |    25 +
 .../legacy-plugin-chart-sunburst/CHANGELOG.md      |    35 +
 .../plugins/legacy-plugin-chart-sunburst/README.md |    52 +
 .../legacy-plugin-chart-sunburst/package.json      |    38 +
 .../src/ReactSunburst.js                           |    22 +
 .../legacy-plugin-chart-sunburst/src/Sunburst.css  |    70 +
 .../legacy-plugin-chart-sunburst/src/Sunburst.js   |   526 +
 .../src/controlPanel.ts                            |    87 +
 .../src/images/example.png                         |   Bin 0 -> 141954 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 21011 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 51408 bytes
 .../legacy-plugin-chart-sunburst/src/index.js      |    47 +
 .../src/transformProps.js                          |    43 +
 .../src/utils/wrapSvgText.js                       |    71 +
 .../legacy-plugin-chart-sunburst/tsconfig.json     |    25 +
 .../legacy-plugin-chart-treemap/CHANGELOG.md       |    35 +
 .../plugins/legacy-plugin-chart-treemap/README.md  |    52 +
 .../legacy-plugin-chart-treemap/package.json       |    39 +
 .../src/ReactTreemap.js                            |    22 +
 .../legacy-plugin-chart-treemap/src/Treemap.css    |    36 +
 .../legacy-plugin-chart-treemap/src/Treemap.js     |   190 +
 .../src/controlPanel.ts                            |    97 +
 .../src/images/Treemap.jpg                         |   Bin 0 -> 23739 bytes
 .../src/images/Treemap2.jpg                        |   Bin 0 -> 165612 bytes
 .../src/images/Treemap3.jpg                        |   Bin 0 -> 30761 bytes
 .../src/images/Treemap4.jpg                        |   Bin 0 -> 56770 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 13823 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 27164 bytes
 .../legacy-plugin-chart-treemap/src/index.js       |    61 +
 .../src/transformProps.js                          |    43 +
 .../legacy-plugin-chart-treemap/tsconfig.json      |    25 +
 .../legacy-plugin-chart-world-map/CHANGELOG.md     |    35 +
 .../legacy-plugin-chart-world-map/README.md        |    52 +
 .../legacy-plugin-chart-world-map/package.json     |    42 +
 .../src/ReactWorldMap.jsx                          |    43 +
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |   145 +
 .../src/controlPanel.ts                            |   135 +
 .../src/images/WorldMap1.jpg                       |   Bin 0 -> 40097 bytes
 .../src/images/WorldMap2.jpg                       |   Bin 0 -> 55425 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 22144 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 61481 bytes
 .../legacy-plugin-chart-world-map/src/index.js     |    59 +
 .../src/transformProps.js                          |    36 +
 .../legacy-plugin-chart-world-map/tsconfig.json    |    25 +
 .../plugins/legacy-preset-chart-deckgl/README.md   |    57 +
 .../legacy-preset-chart-deckgl/package.json        |    54 +
 .../src/AnimatableDeckGLContainer.jsx              |   117 +
 .../src/CategoricalDeckGLContainer.jsx             |   293 +
 .../src/DeckGLContainer.jsx                        |   141 +
 .../legacy-preset-chart-deckgl/src/Multi/Multi.jsx |   145 +
 .../src/Multi/controlPanel.js                      |    68 +
 .../src/Multi/images/thumbnail.png                 |   Bin 0 -> 96596 bytes
 .../src/Multi/images/thumbnailLarge.png            |   Bin 0 -> 257275 bytes
 .../legacy-preset-chart-deckgl/src/Multi/index.js  |    43 +
 .../legacy-preset-chart-deckgl/src/TooltipRow.jsx  |    40 +
 .../src/components/BootstrapSliderWrapper.css      |    25 +
 .../src/components/BootstrapSliderWrapper.jsx      |    30 +
 .../src/components/Legend.css                      |    44 +
 .../src/components/Legend.jsx                      |   117 +
 .../src/components/PlaySlider.css                  |    46 +
 .../src/components/PlaySlider.jsx                  |   202 +
 .../src/components/Tooltip.tsx                     |    79 +
 .../legacy-preset-chart-deckgl/src/css/deckgl.css  |    22 +
 .../legacy-preset-chart-deckgl/src/factory.tsx     |   169 +
 .../legacy-preset-chart-deckgl/src/index.js        |    28 +
 .../src/layers/Arc/Arc.jsx                         |    74 +
 .../src/layers/Arc/controlPanel.ts                 |   149 +
 .../src/layers/Arc/images/thumbnail.png            |   Bin 0 -> 27518 bytes
 .../src/layers/Arc/images/thumbnailLarge.png       |   Bin 0 -> 60234 bytes
 .../src/layers/Arc/index.js                        |    45 +
 .../src/layers/Geojson/Geojson.jsx                 |   180 +
 .../src/layers/Geojson/controlPanel.ts             |   102 +
 .../src/layers/Geojson/images/thumbnail.png        |   Bin 0 -> 29708 bytes
 .../src/layers/Geojson/images/thumbnailLarge.png   |   Bin 0 -> 78048 bytes
 .../src/layers/Geojson/index.js                    |    45 +
 .../src/layers/Grid/Grid.jsx                       |    78 +
 .../src/layers/Grid/controlPanel.ts                |    76 +
 .../src/layers/Grid/images/thumbnail.png           |   Bin 0 -> 131197 bytes
 .../src/layers/Grid/images/thumbnailLarge.png      |   Bin 0 -> 458513 bytes
 .../src/layers/Grid/index.js                       |    45 +
 .../src/layers/Hex/Hex.jsx                         |    77 +
 .../src/layers/Hex/controlPanel.ts                 |   101 +
 .../src/layers/Hex/images/thumbnail.png            |   Bin 0 -> 76992 bytes
 .../src/layers/Hex/images/thumbnailLarge.png       |   Bin 0 -> 213169 bytes
 .../src/layers/Hex/index.js                        |    45 +
 .../src/layers/Path/Path.jsx                       |    80 +
 .../src/layers/Path/controlPanel.ts                |    87 +
 .../src/layers/Path/images/thumbnail.png           |   Bin 0 -> 31685 bytes
 .../src/layers/Path/images/thumbnailLarge.png      |   Bin 0 -> 114341 bytes
 .../src/layers/Path/index.js                       |    43 +
 .../src/layers/Polygon/Polygon.jsx                 |   341 +
 .../src/layers/Polygon/controlPanel.ts             |   199 +
 .../src/layers/Polygon/images/thumbnail.png}       |   Bin
 .../src/layers/Polygon/images/thumbnailLarge.png   |   Bin 0 -> 127924 bytes
 .../src/layers/Polygon/index.js                    |    51 +
 .../src/layers/Scatter/Scatter.jsx                 |    95 +
 .../src/layers/Scatter/controlPanel.ts             |   170 +
 .../src/layers/Scatter/images/thumbnail.png        |   Bin 0 -> 84079 bytes
 .../src/layers/Scatter/images/thumbnailLarge.png   |   Bin 0 -> 192106 bytes
 .../src/layers/Scatter/index.js                    |    53 +
 .../src/layers/Screengrid/Screengrid.jsx           |   237 +
 .../src/layers/Screengrid/controlPanel.ts          |    81 +
 .../src/layers/Screengrid/images/thumbnail.png     |   Bin 0 -> 51372 bytes
 .../layers/Screengrid/images/thumbnailLarge.png    |   Bin 0 -> 186616 bytes
 .../src/layers/Screengrid/index.js                 |    51 +
 .../src/layers/common.jsx                          |    98 +
 .../legacy-preset-chart-deckgl/src/layers/index.js |    40 +
 .../legacy-preset-chart-deckgl/src/preset.js       |    47 +
 .../src/transformProps.js                          |    40 +
 .../legacy-preset-chart-deckgl/src/types.ts        |    23 +
 .../src/utilities/Shared_DeckGL.jsx                |   394 +
 .../src/utilities/controls.jsx                     |    56 +
 .../src/utilities/sharedDndControls.jsx            |    39 +
 .../src/utilities/utils.js                         |    90 +
 .../legacy-preset-chart-deckgl/src/utils.js        |   143 +
 .../legacy-preset-chart-deckgl/src/utils/colors.js |    29 +
 .../src/utils/computeBoundsFromPoints.ts           |    56 +
 .../src/utils/explore.js                           |    67 +
 .../src/utils/fitViewport.ts                       |    76 +
 .../legacy-preset-chart-deckgl/src/utils/geo.js    |    65 +
 .../src/utils/getPointsFromPolygon.ts              |    46 +
 .../src/utils/safeStringify.js                     |    50 +
 .../src/utils/sandbox.js                           |    52 +
 .../legacy-preset-chart-deckgl/src/utils/time.js   |   135 +
 .../legacy-preset-chart-deckgl/src/utils/utils.js  |    33 +
 .../test/utils/colors.test.js                      |    25 +
 .../test/utils/getPointsFromPolygon.test.ts        |    56 +
 .../legacy-preset-chart-deckgl/tsconfig.json       |    26 +
 .../legacy-preset-chart-deckgl/types/external.d.ts |    19 +
 .../plugins/legacy-preset-chart-nvd3/CHANGELOG.md  |    51 +
 .../plugins/legacy-preset-chart-nvd3/README.md     |    64 +
 .../plugins/legacy-preset-chart-nvd3/package.json  |    47 +
 .../src/Area/controlPanel.ts                       |    92 +
 .../src/Area/images/example1.jpg                   |   Bin 0 -> 82289 bytes
 .../src/Area/images/example2.jpg                   |   Bin 0 -> 69842 bytes
 .../src/Area/images/example3.jpg                   |   Bin 0 -> 56819 bytes
 .../src/Area/images/example4.jpg                   |   Bin 0 -> 53660 bytes
 .../src/Area/images/thumbnail.png                  |   Bin 0 -> 12421 bytes
 .../src/Area/images/thumbnailLarge.png             |   Bin 0 -> 26687 bytes
 .../legacy-preset-chart-nvd3/src/Area/index.js     |    70 +
 .../src/Bar/controlPanel.ts                        |    91 +
 .../src/Bar/images/Time_Series_Bar_Chart.jpg       |   Bin 0 -> 46925 bytes
 .../src/Bar/images/Time_Series_Bar_Chart2.jpg      |   Bin 0 -> 32806 bytes
 .../src/Bar/images/Time_Series_Bar_Chart3.jpg      |   Bin 0 -> 46467 bytes
 .../src/Bar/images/thumbnail.png                   |   Bin 0 -> 8559 bytes
 .../src/Bar/images/thumbnailLarge.png              |   Bin 0 -> 18901 bytes
 .../legacy-preset-chart-nvd3/src/Bar/index.js      |    61 +
 .../src/BoxPlot/images/thumbnail.png               |   Bin 0 -> 8293 bytes
 .../src/BoxPlot/images/thumbnailLarge.png          |   Bin 0 -> 19237 bytes
 .../legacy-preset-chart-nvd3/src/BoxPlot/index.js  |    39 +
 .../src/Bubble/controlPanel.ts                     |   133 +
 .../src/Bubble/images/thumbnail.png                |   Bin 0 -> 20423 bytes
 .../src/Bubble/images/thumbnailLarge.png           |   Bin 0 -> 45424 bytes
 .../legacy-preset-chart-nvd3/src/Bubble/index.js   |    54 +
 .../src/Bullet/controlPanel.ts                     |    99 +
 .../src/Bullet/images/thumbnail.png                |   Bin 0 -> 978 bytes
 .../src/Bullet/images/thumbnailLarge.png           |   Bin 0 -> 2362 bytes
 .../legacy-preset-chart-nvd3/src/Bullet/index.js   |    45 +
 .../src/Compare/controlPanel.ts                    |    67 +
 .../src/Compare/images/thumbnail.png               |   Bin 0 -> 32162 bytes
 .../src/Compare/images/thumbnailLarge.png          |   Bin 0 -> 90272 bytes
 .../legacy-preset-chart-nvd3/src/Compare/index.js  |    55 +
 .../src/DistBar/controlPanel.ts                    |   151 +
 .../src/DistBar/images/BarChart3.jpg               |   Bin 0 -> 61954 bytes
 .../src/DistBar/images/Bar_Chart.jpg               |   Bin 0 -> 48662 bytes
 .../src/DistBar/images/Bar_Chart_2.jpg             |   Bin 0 -> 44059 bytes
 .../src/DistBar/images/thumbnail.png               |   Bin 0 -> 6335 bytes
 .../src/DistBar/images/thumbnailLarge.png          |   Bin 0 -> 15336 bytes
 .../legacy-preset-chart-nvd3/src/DistBar/index.js  |    65 +
 .../src/DualLine/controlPanel.ts                   |    77 +
 .../src/DualLine/images/thumbnail.png              |   Bin 0 -> 15531 bytes
 .../src/DualLine/images/thumbnailLarge.png         |   Bin 0 -> 41864 bytes
 .../legacy-preset-chart-nvd3/src/DualLine/index.js |    45 +
 .../src/Line/controlPanel.ts                       |   101 +
 .../src/Line/images/LineChart.jpg                  |   Bin 0 -> 98773 bytes
 .../src/Line/images/LineChart2.jpg                 |   Bin 0 -> 104510 bytes
 .../src/Line/images/battery.jpg                    |   Bin 0 -> 51500 bytes
 .../src/Line/images/thumbnail.png                  |   Bin 0 -> 42191 bytes
 .../src/Line/images/thumbnailLarge.png             |   Bin 0 -> 119722 bytes
 .../legacy-preset-chart-nvd3/src/Line/index.js     |    59 +
 .../src/LineMulti/controlPanel.ts                  |   171 +
 .../src/LineMulti/images/thumbnail.png             |   Bin 0 -> 16441 bytes
 .../src/LineMulti/images/thumbnailLarge.png        |   Bin 0 -> 31697 bytes
 .../src/LineMulti/index.js                         |    53 +
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |   526 +
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |  1296 +
 .../src/Pie/controlPanel.ts                        |   127 +
 .../src/Pie/images/thumbnail.png                   |   Bin 0 -> 4259 bytes
 .../src/Pie/images/thumbnailLarge.png              |   Bin 0 -> 5967 bytes
 .../legacy-preset-chart-nvd3/src/Pie/index.js      |    41 +
 .../legacy-preset-chart-nvd3/src/PropTypes.js      |    82 +
 .../legacy-preset-chart-nvd3/src/ReactNVD3.jsx     |   177 +
 .../src/TimePivot/controlPanel.ts                  |   128 +
 .../src/TimePivot/images/thumbnail.png             |   Bin 0 -> 11158 bytes
 .../src/TimePivot/images/thumbnailLarge.png        |   Bin 0 -> 26764 bytes
 .../src/TimePivot/index.js                         |    43 +
 .../plugins/legacy-preset-chart-nvd3/src/index.js  |    32 +
 .../plugins/legacy-preset-chart-nvd3/src/preset.js |    53 +
 .../legacy-preset-chart-nvd3/src/transformProps.js |   199 +
 .../plugins/legacy-preset-chart-nvd3/src/utils.js  |   452 +
 .../legacy-preset-chart-nvd3/src/utils/isTruthy.js |    28 +
 .../legacy-preset-chart-nvd3/src/utils/tokenize.ts |    33 +
 .../src/vendor/superset/AnnotationTypes.js         |    83 +
 .../src/vendor/superset/exploreUtils.js            |    68 +
 .../legacy-preset-chart-nvd3/test/tsconfig.json    |    19 +
 .../legacy-preset-chart-nvd3/test/utils.test.js    |   197 +
 .../test/utils/isTruthy.test.js                    |    57 +
 .../test/utils/tokenize.test.js                    |    76 +
 .../plugins/legacy-preset-chart-nvd3/tsconfig.json |    25 +
 .../plugins/plugin-chart-echarts/CHANGELOG.md      |    47 +
 .../plugins/plugin-chart-echarts/README.md         |    59 +
 .../plugins/plugin-chart-echarts/package.json      |    39 +
 .../src/BigNumber/BigNumberTotal/buildQuery.ts     |    23 +
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |    99 +
 .../BigNumber/BigNumberTotal/images/BigNumber.jpg  |   Bin 0 -> 17977 bytes
 .../BigNumber/BigNumberTotal/images/BigNumber2.jpg |   Bin 0 -> 28338 bytes
 .../BigNumber/BigNumberTotal/images/thumbnail.png  |   Bin 0 -> 3900 bytes
 .../BigNumberTotal/images/thumbnailLarge.png       |   Bin 0 -> 6666 bytes
 .../src/BigNumber/BigNumberTotal/index.ts          |    64 +
 .../src/BigNumber/BigNumberTotal/transformProps.ts |    76 +
 .../src/BigNumber/BigNumberViz.tsx                 |   338 +
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |    92 +
 .../BigNumberWithTrendline/controlPanel.tsx        |   230 +
 .../images/Big_Number_Trendline.jpg                |   Bin 0 -> 29337 bytes
 .../BigNumberWithTrendline/images/thumbnail.png    |   Bin 0 -> 35030 bytes
 .../images/thumbnailLarge.png                      |   Bin 0 -> 13792 bytes
 .../src/BigNumber/BigNumberWithTrendline/index.ts  |    63 +
 .../BigNumberWithTrendline/transformProps.ts       |   252 +
 .../src/BigNumber/CHANGELOG.md                     |    46 +
 .../plugin-chart-echarts/src/BigNumber/index.ts    |    21 +
 .../src/BigNumber/sharedControls.ts                |    90 +
 .../plugin-chart-echarts/src/BigNumber/types.ts    |    57 +
 .../plugin-chart-echarts/src/BigNumber/utils.ts    |    46 +
 .../src/BoxPlot/EchartsBoxPlot.tsx                 |    91 +
 .../plugin-chart-echarts/src/BoxPlot/buildQuery.ts |    41 +
 .../src/BoxPlot/controlPanel.ts                    |   140 +
 .../src/BoxPlot/images/BoxPlot.jpg                 |   Bin 0 -> 52182 bytes
 .../src/BoxPlot/images/thumbnail.png               |   Bin 0 -> 38446 bytes
 .../plugin-chart-echarts/src/BoxPlot/index.ts      |    61 +
 .../src/BoxPlot/transformProps.ts                  |   288 +
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |    71 +
 .../src/Funnel/EchartsFunnel.tsx                   |    91 +
 .../plugin-chart-echarts/src/Funnel/buildQuery.ts  |    29 +
 .../src/Funnel/controlPanel.tsx                    |   148 +
 .../src/Funnel/images/thumbnail.png                |   Bin 0 -> 53513 bytes
 .../plugin-chart-echarts/src/Funnel/index.ts       |    66 +
 .../src/Funnel/transformProps.ts                   |   238 +
 .../plugin-chart-echarts/src/Funnel/types.ts       |    90 +
 .../src/Gauge/EchartsGauge.tsx                     |    91 +
 .../plugin-chart-echarts/src/Gauge/buildQuery.ts   |    30 +
 .../plugin-chart-echarts/src/Gauge/constants.ts    |    81 +
 .../src/Gauge/controlPanel.tsx                     |   314 +
 .../src/Gauge/images/thumbnail.png                 |   Bin 0 -> 21333 bytes
 .../plugin-chart-echarts/src/Gauge/index.ts        |    55 +
 .../src/Gauge/transformProps.ts                    |   299 +
 .../plugin-chart-echarts/src/Gauge/types.ts        |    87 +
 .../src/Graph/EchartsGraph.tsx                     |    29 +
 .../plugin-chart-echarts/src/Graph/buildQuery.ts   |    30 +
 .../plugin-chart-echarts/src/Graph/constants.ts    |    57 +
 .../src/Graph/controlPanel.tsx                     |   325 +
 .../src/Graph/images/thumbnail.png                 |   Bin 0 -> 42193 bytes
 .../plugin-chart-echarts/src/Graph/index.ts        |    53 +
 .../src/Graph/transformProps.ts                    |   316 +
 .../plugin-chart-echarts/src/Graph/types.ts        |    78 +
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |   119 +
 .../src/MixedTimeseries/buildQuery.ts              |    89 +
 .../src/MixedTimeseries/controlPanel.tsx           |   425 +
 .../src/MixedTimeseries/images/thumbnail.png       |   Bin 0 -> 160886 bytes
 .../src/MixedTimeseries/index.ts                   |    84 +
 .../src/MixedTimeseries/transformProps.ts          |   402 +
 .../src/MixedTimeseries/types.ts                   |   154 +
 .../plugin-chart-echarts/src/Pie/EchartsPie.tsx    |    91 +
 .../plugin-chart-echarts/src/Pie/buildQuery.ts     |    29 +
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |   246 +
 .../plugin-chart-echarts/src/Pie/images/Pie1.jpg   |   Bin 0 -> 57303 bytes
 .../plugin-chart-echarts/src/Pie/images/Pie2.jpg   |   Bin 0 -> 27527 bytes
 .../plugin-chart-echarts/src/Pie/images/Pie3.jpg   |   Bin 0 -> 50875 bytes
 .../plugin-chart-echarts/src/Pie/images/Pie4.jpg   |   Bin 0 -> 17000 bytes
 .../src/Pie/images/thumbnail.png                   |   Bin 0 -> 104865 bytes
 .../plugins/plugin-chart-echarts/src/Pie/index.ts  |    79 +
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   264 +
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |    98 +
 .../src/Radar/EchartsRadar.tsx                     |    91 +
 .../plugin-chart-echarts/src/Radar/buildQuery.ts   |    47 +
 .../src/Radar/controlPanel.tsx                     |   212 +
 .../src/Radar/images/thumbnail.png                 |   Bin 0 -> 248187 bytes
 .../plugin-chart-echarts/src/Radar/index.ts        |    68 +
 .../src/Radar/transformProps.ts                    |   248 +
 .../plugin-chart-echarts/src/Radar/types.ts        |    91 +
 .../src/Timeseries/Area/controlPanel.tsx           |   295 +
 .../src/Timeseries/Area/images/Area1.png           |   Bin 0 -> 45549 bytes
 .../src/Timeseries/Area/images/thumbnail.png       |   Bin 0 -> 57092 bytes
 .../src/Timeseries/Area/index.ts                   |    92 +
 .../src/Timeseries/EchartsTimeseries.tsx           |   208 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   258 +
 .../src/Timeseries/Regular/Bar/images/Bar1.png     |   Bin 0 -> 21538 bytes
 .../src/Timeseries/Regular/Bar/images/Bar2.png     |   Bin 0 -> 32205 bytes
 .../src/Timeseries/Regular/Bar/images/Bar3.png     |   Bin 0 -> 17369 bytes
 .../Timeseries/Regular/Bar/images/thumbnail.png    |   Bin 0 -> 24217 bytes
 .../src/Timeseries/Regular/Bar/index.ts            |    93 +
 .../src/Timeseries/Regular/Line/images/Line1.png   |   Bin 0 -> 78641 bytes
 .../src/Timeseries/Regular/Line/images/Line2.png   |   Bin 0 -> 54303 bytes
 .../Timeseries/Regular/Line/images/thumbnail.png   |   Bin 0 -> 83913 bytes
 .../src/Timeseries/Regular/Line/index.ts           |    84 +
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |   238 +
 .../Timeseries/Regular/Scatter/images/Scatter1.png |   Bin 0 -> 19210 bytes
 .../Regular/Scatter/images/thumbnail.png           |   Bin 0 -> 33785 bytes
 .../src/Timeseries/Regular/Scatter/index.ts        |    85 +
 .../Regular/SmoothLine/images/SmoothLine1.png      |   Bin 0 -> 41629 bytes
 .../Regular/SmoothLine/images/thumbnail.png        |   Bin 0 -> 72383 bytes
 .../src/Timeseries/Regular/SmoothLine/index.ts     |    84 +
 .../src/Timeseries/Regular/controlPanel.tsx        |   255 +
 .../src/Timeseries/Step/controlPanel.tsx           |   311 +
 .../src/Timeseries/Step/images/Step1.png           |   Bin 0 -> 12571 bytes
 .../src/Timeseries/Step/images/Step2.png           |   Bin 0 -> 30074 bytes
 .../src/Timeseries/Step/images/thumbnail.png       |   Bin 0 -> 41295 bytes
 .../src/Timeseries/Step/index.ts                   |    75 +
 .../src/Timeseries/buildQuery.ts                   |    79 +
 .../src/Timeseries/controlPanel.tsx                |   314 +
 .../src/Timeseries/images/Time-series_Chart.jpg    |   Bin 0 -> 27381 bytes
 .../src/Timeseries/images/thumbnail.png            |   Bin 0 -> 32691 bytes
 .../plugin-chart-echarts/src/Timeseries/index.ts   |    83 +
 .../src/Timeseries/transformProps.ts               |   372 +
 .../src/Timeseries/transformers.ts                 |   484 +
 .../plugin-chart-echarts/src/Timeseries/types.ts   |   129 +
 .../plugin-chart-echarts/src/Tree/EchartsTree.tsx  |    29 +
 .../plugin-chart-echarts/src/Tree/buildQuery.ts    |    29 +
 .../plugin-chart-echarts/src/Tree/constants.ts     |    30 +
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |   290 +
 .../src/Tree/images/thumbnail.png                  |   Bin 0 -> 300230 bytes
 .../plugin-chart-echarts/src/Tree/images/tree.png  |   Bin 0 -> 63309 bytes
 .../plugins/plugin-chart-echarts/src/Tree/index.ts |    52 +
 .../src/Tree/transformProps.ts                     |   219 +
 .../plugins/plugin-chart-echarts/src/Tree/types.ts |    55 +
 .../src/Treemap/EchartsTreemap.tsx                 |    98 +
 .../plugin-chart-echarts/src/Treemap/buildQuery.ts |    30 +
 .../plugin-chart-echarts/src/Treemap/constants.ts  |    38 +
 .../src/Treemap/controlPanel.tsx                   |   142 +
 .../src/Treemap/images/thumbnail.png               |   Bin 0 -> 167011 bytes
 .../src/Treemap/images/treemap_v2_1.png            |   Bin 0 -> 501128 bytes
 .../src/Treemap/images/treemap_v2_2.jpg            |   Bin 0 -> 63502 bytes
 .../plugin-chart-echarts/src/Treemap/index.ts      |    71 +
 .../src/Treemap/transformProps.ts                  |   325 +
 .../plugin-chart-echarts/src/Treemap/types.ts      |    87 +
 .../plugin-chart-echarts/src/components/Echart.tsx |   104 +
 .../plugins/plugin-chart-echarts/src/constants.ts  |    61 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |   188 +
 .../plugins/plugin-chart-echarts/src/defaults.ts   |    38 +
 .../plugins/plugin-chart-echarts/src/index.ts      |    58 +
 .../plugins/plugin-chart-echarts/src/types.ts      |   140 +
 .../plugin-chart-echarts/src/utils/annotation.ts   |   132 +
 .../plugin-chart-echarts/src/utils/controls.ts     |    38 +
 .../plugin-chart-echarts/src/utils/prophet.ts      |   140 +
 .../plugin-chart-echarts/src/utils/series.ts       |   228 +
 .../test/BigNumber/transformProps.test.ts          |   150 +
 .../test/BoxPlot/buildQuery.test.ts                |    58 +
 .../test/BoxPlot/transformProps.test.ts            |   117 +
 .../test/Funnel/buildQuery.test.ts                 |    36 +
 .../test/Funnel/transformProps.test.ts             |   135 +
 .../test/Gauge/buildQuery.test.ts                  |    48 +
 .../test/Gauge/transformProps.test.ts              |   334 +
 .../test/Graph/buildQuery.test.ts                  |    95 +
 .../test/Graph/transformProps.test.ts              |   236 +
 .../test/Pie/buildQuery.test.ts                    |    36 +
 .../test/Pie/transformProps.test.ts                |   139 +
 .../test/Timeseries/buildQuery.test.ts             |    61 +
 .../test/Timeseries/transformProps.test.ts         |   246 +
 .../test/Tree/buildQuery.test.ts                   |    51 +
 .../test/Tree/transformProps.test.ts               |   420 +
 .../test/Treemap/buildQuery.test.ts                |    36 +
 .../test/Treemap/transformProps.test.ts            |    74 +
 .../plugin-chart-echarts/test/index.test.ts        |    37 +
 .../plugin-chart-echarts/test/tsconfig.json        |    22 +
 .../test/utils/annotation.test.ts                  |   174 +
 .../test/utils/controls.test.ts                    |    37 +
 .../test/utils/prophet.test.ts                     |   194 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   385 +
 .../plugins/plugin-chart-echarts/tsconfig.json     |    25 +
 .../plugin-chart-echarts/types/external.d.ts       |    25 +
 .../plugins/plugin-chart-pivot-table/CHANGELOG.md  |    38 +
 .../plugins/plugin-chart-pivot-table/README.md     |    77 +
 .../plugins/plugin-chart-pivot-table/package.json  |    42 +
 .../src/PivotTableChart.tsx                        |   376 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 396171 bytes
 .../plugins/plugin-chart-pivot-table/src/index.ts  |    27 +
 .../src/plugin/buildQuery.ts                       |    50 +
 .../src/plugin/controlPanel.tsx                    |   371 +
 .../plugin-chart-pivot-table/src/plugin/index.ts   |    67 +
 .../src/plugin/transformProps.ts                   |   168 +
 .../src/react-pivottable/PivotTable.jsx            |    33 +
 .../src/react-pivottable/Styles.js                 |   139 +
 .../src/react-pivottable/TableRenderers.jsx        |   890 +
 .../src/react-pivottable/index.js                  |    21 +
 .../src/react-pivottable/utilities.js              |   853 +
 .../plugins/plugin-chart-pivot-table/src/types.ts  |    84 +
 .../plugin-chart-pivot-table/test/index.test.ts    |    33 +
 .../test/plugin/buildQuery.test.ts                 |    56 +
 .../test/plugin/transformProps.test.ts             |    95 +
 .../plugins/plugin-chart-pivot-table/tsconfig.json |    25 +
 .../plugin-chart-pivot-table/types/external.d.ts   |    23 +
 .../plugins/plugin-chart-table/CHANGELOG.md        |    35 +
 .../plugins/plugin-chart-table/README.md           |    52 +
 .../plugins/plugin-chart-table/package.json        |    47 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |   357 +
 .../plugin-chart-table/src/DataTable/README.md     |    25 +
 .../src/DataTable/components/GlobalFilter.tsx      |    82 +
 .../src/DataTable/components/Pagination.tsx        |   121 +
 .../src/DataTable/components/SelectPageSize.tsx    |    99 +
 .../src/DataTable/hooks/useSticky.tsx              |   435 +
 .../plugin-chart-table/src/DataTable/index.tsx     |    25 +
 .../src/DataTable/types/react-table.d.ts           |   105 +
 .../src/DataTable/utils/externalAPIs.ts            |    32 +
 .../src/DataTable/utils/getScrollBarSize.ts        |    48 +
 .../src/DataTable/utils/needScrollBar.ts           |    39 +
 .../utils/sortAlphanumericCaseInsensitive.ts       |    37 +
 .../src/DataTable/utils/useAsyncState.ts           |    51 +
 .../src/DataTable/utils/useMountedMemo.ts          |    40 +
 .../plugins/plugin-chart-table/src/Styles.tsx      |   100 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   503 +
 .../plugins/plugin-chart-table/src/buildQuery.ts   |   198 +
 .../plugins/plugin-chart-table/src/consts.ts       |    32 +
 .../plugin-chart-table/src/controlPanel.tsx        |   510 +
 .../plugins/plugin-chart-table/src/i18n.ts         |    66 +
 .../plugin-chart-table/src/images/Table.jpg        |   Bin 0 -> 14644 bytes
 .../plugin-chart-table/src/images/Table2.jpg       |   Bin 0 -> 86101 bytes
 .../plugin-chart-table/src/images/Table3.jpg       |   Bin 0 -> 144695 bytes
 .../plugin-chart-table/src/images/thumbnail.png    |   Bin 0 -> 16447 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 32431 bytes
 .../plugins/plugin-chart-table/src/index.ts        |    69 +
 .../plugin-chart-table/src/transformProps.ts       |   271 +
 .../plugins/plugin-chart-table/src/types.ts        |   114 +
 .../src/utils/DateWithFormatter.ts                 |    60 +
 .../plugins/plugin-chart-table/src/utils/extent.ts |    45 +
 .../plugin-chart-table/src/utils/formatValue.ts    |   100 +
 .../plugin-chart-table/src/utils/isEqualArray.ts   |    31 +
 .../plugin-chart-table/src/utils/isEqualColumns.ts |    43 +
 .../plugin-chart-table/test/TableChart.test.tsx    |   109 +
 .../plugin-chart-table/test/buildQuery.test.ts     |    85 +
 .../plugins/plugin-chart-table/test/enzyme.tsx     |    67 +
 .../test/sortAlphanumericCaseInsensitive.test.ts   |   135 +
 .../plugins/plugin-chart-table/test/testData.ts    |   172 +
 .../plugins/plugin-chart-table/test/tsconfig.json  |    19 +
 .../plugins/plugin-chart-table/tsconfig.json       |    25 +
 .../plugins/plugin-chart-table/types/external.d.ts |    22 +
 .../plugins/plugin-chart-word-cloud/CHANGELOG.md   |    35 +
 .../plugins/plugin-chart-word-cloud/README.md      |    52 +
 .../plugins/plugin-chart-word-cloud/package.json   |    43 +
 .../plugin-chart-word-cloud/src/chart/Encoder.ts   |    18 +
 .../src/chart/WordCloud.tsx                        |   250 +
 .../src/configureEncodable.ts                      |    83 +
 .../src/images/Word_Cloud.jpg                      |   Bin 0 -> 166467 bytes
 .../src/images/Word_Cloud_2.jpg                    |   Bin 0 -> 96357 bytes
 .../src/images/thumbnail.png                       |   Bin 0 -> 22325 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 42757 bytes
 .../plugins/plugin-chart-word-cloud/src/index.ts   |    24 +
 .../src/legacyPlugin/index.ts                      |    43 +
 .../src/legacyPlugin/transformProps.ts             |    81 +
 .../src/legacyPlugin/types.ts                      |    29 +
 .../src/plugin/buildQuery.ts                       |    33 +
 .../src/plugin/controlPanel.ts                     |   108 +
 .../plugin-chart-word-cloud/src/plugin/index.ts    |    61 +
 .../src/plugin/transformProps.ts                   |    35 +
 .../plugins/plugin-chart-word-cloud/src/types.ts   |    28 +
 .../plugin-chart-word-cloud/test/index.test.ts     |    29 +
 .../test/legacyPlugin/transformProps.test.ts       |    73 +
 .../test/plugin/buildQuery.test.ts                 |    36 +
 .../plugin-chart-word-cloud/test/tsconfig.json     |    19 +
 .../plugins/plugin-chart-word-cloud/tsconfig.json  |    25 +
 .../plugin-chart-word-cloud/types/external.d.ts    |    21 +
 .../plugins/preset-chart-xy/CHANGELOG.md           |    27 +
 .../plugins/preset-chart-xy/README.md              |    54 +
 .../plugins/preset-chart-xy/package.json           |    47 +
 .../preset-chart-xy/src/BoxPlot/controlPanel.ts    |    81 +
 .../preset-chart-xy/src/BoxPlot/createMetadata.ts  |    31 +
 .../src/BoxPlot/images/thumbnail.png               |   Bin 0 -> 10747 bytes
 .../plugins/preset-chart-xy/src/BoxPlot/index.ts   |    36 +
 .../preset-chart-xy/src/BoxPlot/legacy/index.ts    |    36 +
 .../src/BoxPlot/legacy/transformProps.ts           |   122 +
 .../preset-chart-xy/src/BoxPlot/transformProps.ts  |    90 +
 .../preset-chart-xy/src/Line/ChartFormData.ts      |    26 +
 .../plugins/preset-chart-xy/src/Line/buildQuery.ts |    37 +
 .../preset-chart-xy/src/Line/createMetadata.ts     |    30 +
 .../preset-chart-xy/src/Line/images/thumbnail.png  |   Bin 0 -> 9474 bytes
 .../src/Line/images/thumbnailLarge.png             |   Bin 0 -> 9474 bytes
 .../plugins/preset-chart-xy/src/Line/index.ts      |    35 +
 .../preset-chart-xy/src/Line/legacy/index.ts       |    32 +
 .../src/Line/legacy/transformProps.ts              |    83 +
 .../preset-chart-xy/src/Line/transformProps.ts     |    56 +
 .../src/ScatterPlot/createMetadata.ts              |    30 +
 .../src/ScatterPlot/images/thumbnail.png           |   Bin 0 -> 7413 bytes
 .../preset-chart-xy/src/ScatterPlot/index.ts       |    32 +
 .../src/ScatterPlot/legacy/index.ts                |    32 +
 .../src/ScatterPlot/legacy/transformProps.ts       |   116 +
 .../src/ScatterPlot/transformProps.ts              |    48 +
 .../src/components/BoxPlot/BoxPlot.tsx             |   167 +
 .../components/BoxPlot/DefaultTooltipRenderer.tsx  |    69 +
 .../src/components/BoxPlot/Encoder.ts              |    44 +
 .../src/components/BoxPlot/types.ts                |    42 +
 .../Line/DefaultLegendItemMarkRenderer.tsx         |    45 +
 .../src/components/Line/DefaultTooltipRenderer.tsx |    71 +
 .../preset-chart-xy/src/components/Line/Encoder.ts |    59 +
 .../preset-chart-xy/src/components/Line/Line.tsx   |   321 +
 .../ScatterPlot/DefaultTooltipRenderer.tsx         |    78 +
 .../src/components/ScatterPlot/Encoder.ts          |    64 +
 .../src/components/ScatterPlot/ScatterPlot.tsx     |   149 +
 .../src/components/legend/DefaultLegend.tsx        |    71 +
 .../src/components/legend/DefaultLegendGroup.tsx   |    65 +
 .../src/components/legend/DefaultLegendItem.tsx    |    70 +
 .../src/components/legend/createRenderLegend.tsx   |    51 +
 .../preset-chart-xy/src/components/legend/types.ts |    80 +
 .../preset-chart-xy/src/configureEncodable.ts      |    83 +
 .../plugins/preset-chart-xy/src/index.ts           |    26 +
 .../preset-chart-xy/src/utils/XYChartLayout.tsx    |   200 +
 .../preset-chart-xy/src/utils/computeAxisLayout.ts |   137 +
 .../src/utils/convertScaleToDataUIScaleShape.ts    |    82 +
 .../src/utils/createMarginSelector.tsx             |    45 +
 .../src/utils/createTickComponent.tsx              |   110 +
 .../src/utils/createTickLabelProps.ts              |    47 +
 .../src/utils/createXYChartLayoutWithTheme.ts      |    45 +
 .../plugins/preset-chart-xy/test/index.test.ts     |    48 +
 .../plugins/preset-chart-xy/test/tsconfig.json     |    19 +
 .../plugins/preset-chart-xy/tsconfig.json          |    25 +
 .../types/@data-ui/theme/index.d.ts                |   128 +
 .../types/@data-ui/xy-chart/index.d.ts             |    59 +
 .../plugins/preset-chart-xy/types/external.d.ts    |    23 +
 superset-frontend/scripts/build.js                 |   139 +
 superset-frontend/scripts/commitlint.js            |    44 +
 superset-frontend/scripts/copyAssets.js            |    56 +
 superset-frontend/scripts/lernaVersion.sh          |    67 +
 superset-frontend/scripts/tsc.sh                   |    26 +
 superset-frontend/spec/fixtures/mockDatasource.js  |     1 +
 superset-frontend/spec/fixtures/mockState.js       |     2 +-
 .../spec/fixtures/mockStateWithoutUser.tsx         |     2 +-
 superset-frontend/spec/helpers/Cache.ts            |    42 +
 superset-frontend/spec/helpers/CacheStorage.ts     |    35 +
 .../spec/helpers/setupSupersetClient.js            |     4 +-
 superset-frontend/spec/helpers/shim.ts             |     6 +-
 .../dashboard/components/PropertiesModal_spec.jsx  |   336 -
 .../components/gridComponents/ChartHolder_spec.jsx |   143 -
 .../dashboard/util/getDashboardUrl_spec.js         |    97 -
 .../util/getFormDataWithExtraFilters_spec.ts       |   104 -
 .../components/ExploreActionButtons_spec.jsx       |    85 -
 .../components/ExploreAdditionalActionsMenu.jsx    |    57 -
 .../explore/components/SelectControl_spec.jsx      |   179 -
 .../spec/javascripts/explore/controlUtils_spec.tsx |   220 -
 superset-frontend/src/CRUD/Field.test.tsx          |    56 +
 superset-frontend/src/CRUD/Field.tsx               |     6 +-
 superset-frontend/src/CRUD/Fieldset.jsx            |    67 -
 superset-frontend/src/CRUD/Fieldset.tsx            |    67 +
 superset-frontend/src/SqlLab/actions/sqlLab.js     |     4 +-
 .../components/EstimateQueryCostButton/index.jsx   |   112 -
 .../components/EstimateQueryCostButton/index.tsx   |   113 +
 .../SqlLab/components/ResultSet/ResultSet.test.jsx |    18 +
 .../src/SqlLab/components/ResultSet/index.tsx      |     9 +-
 .../RunQueryActionButton.test.jsx}                 |     0
 .../src/SqlLab/components/SqlEditor/index.jsx      |    22 +-
 .../SqlLab/components/TabbedSqlEditors/index.jsx   |     6 +-
 .../components/TemplateParamsEditor/index.tsx      |     4 +-
 superset-frontend/src/assets/images/firebolt.png   |   Bin 0 -> 27249 bytes
 superset-frontend/src/assets/images/rockset.png    |   Bin 0 -> 23189 bytes
 .../src/assets/images/screenshots/bank_dash.png    |   Bin 379892 -> 0 bytes
 .../src/assets/images/screenshots/deckgl_dash.png  |   Bin 493439 -> 0 bytes
 .../src/assets/images/screenshots/explore.png      |   Bin 445619 -> 0 bytes
 .../images/screenshots/explore_visualizations.jpg  |   Bin 485516 -> 0 bytes
 .../src/assets/images/screenshots/gallery.jpg      |   Bin 281558 -> 413974 bytes
 .../src/assets/images/screenshots/gallery.png      |   Bin 281558 -> 0 bytes
 .../assets/images/screenshots/geospatial_dash.jpg  |   Bin 493439 -> 0 bytes
 .../src/assets/images/screenshots/slack_dash.jpg   |   Bin 379892 -> 360464 bytes
 .../src/assets/images/screenshots/sqllab.png       |   Bin 415938 -> 0 bytes
 .../assets/images/screenshots/visualizations.png   |   Bin 485516 -> 0 bytes
 superset-frontend/src/assets/images/timescale.png  |   Bin 0 -> 16120 bytes
 superset-frontend/src/chart/Chart.jsx              |     6 +-
 superset-frontend/src/chart/ChartErrorMessage.tsx  |     2 +-
 superset-frontend/src/common/components/.eslintrc  |    34 -
 superset-frontend/src/common/components/index.tsx  |    19 +-
 .../src/common/hooks/useUrlShortener.ts            |    39 -
 superset-frontend/src/components/.eslintrc         |    34 -
 .../CertifiedBadge/CertifiedBadge.stories.tsx      |    42 +
 .../CertifiedBadge/CertifiedBadge.test.tsx         |    47 +
 .../src/components/CertifiedBadge/index.tsx        |    57 +
 .../CertifiedIcon/CertifiedIcon.stories.tsx        |    42 -
 .../CertifiedIcon/CertifiedIcon.test.tsx           |    47 -
 .../src/components/CertifiedIcon/index.tsx         |    57 -
 .../src/components/Datasource/DatasourceEditor.jsx |   132 +-
 .../Datasource/DatasourceEditor.test.jsx           |    35 +-
 .../src/components/EditableTitle/index.tsx         |    19 +-
 .../ErrorMessage/DatabaseErrorMessage.tsx          |     9 +-
 .../ErrorMessage/TimeoutErrorMessage.tsx           |     7 +-
 .../src/components/FaveStar/index.tsx              |     2 +-
 .../FilterableTable/FilterableTable.test.tsx       |   188 +
 .../components/FilterableTable/FilterableTable.tsx |    85 +-
 .../src/components/FlashProvider/index.tsx         |     2 +-
 superset-frontend/src/components/Form/Form.tsx     |     2 +-
 superset-frontend/src/components/Form/index.tsx    |     3 +-
 superset-frontend/src/components/Icons/index.tsx   |     2 +-
 .../src/components/ListViewCard/index.tsx          |     4 +-
 superset-frontend/src/components/Menu/Menu.tsx     |   360 -
 .../src/components/Menu/MenuRight.tsx              |   237 -
 superset-frontend/src/components/Menu/SubMenu.tsx  |   251 -
 .../components/MessageToasts/ToastPresenter.tsx    |     1 +
 .../ModalTrigger/ModalTrigger.stories.tsx          |     2 +-
 .../src/components/OmniContainer/index.tsx         |     2 +-
 .../src/components/ReportModal/index.tsx           |    77 +-
 .../src/components/Select/DeprecatedSelect.tsx     |     4 +-
 .../src/components/Select/NativeSelect.tsx         |     2 +-
 superset-frontend/src/components/Select/Select.tsx |    52 +-
 superset-frontend/src/components/Select/styles.tsx |     6 +-
 superset-frontend/src/components/Slider/index.tsx  |     2 +-
 superset-frontend/src/components/Switch/index.tsx  |     2 +-
 .../components/TableLoader/TableLoader.test.tsx    |    32 +-
 .../src/components/TableLoader/index.tsx           |    17 +-
 .../src/components/TableSelector/index.tsx         |     4 +-
 superset-frontend/src/constants.ts                 |     4 +
 superset-frontend/src/dashboard/.eslintrc          |    31 -
 .../dashboard/actions/dashboardLayout.test.js}     |     0
 .../src/dashboard/actions/dashboardState.js        |   221 +-
 .../dashboard/actions/dashboardState.test.js}      |     0
 superset-frontend/src/dashboard/actions/hydrate.js |     6 +-
 .../src/dashboard/actions/nativeFilters.ts         |    28 +-
 .../dashboard/components/Dashboard.test.jsx}       |     0
 .../DashboardBuilder/DashboardBuilder.test.jsx}    |     0
 .../DashboardBuilder/DashboardBuilder.tsx          |     4 +-
 .../dashboard/components/DashboardBuilder/utils.ts |     2 +-
 .../src/dashboard/components/DashboardGrid.jsx     |     4 +-
 .../dashboard/components/DashboardGrid.test.jsx}   |     0
 .../components/FiltersBadge/FiltersBadge.test.tsx} |     0
 .../dashboard/components/FiltersBadge/index.tsx    |     2 +-
 .../dashboard/components/Header/Header.test.tsx    |    64 +-
 .../HeaderActionsDropdown.test.tsx                 |    11 +-
 .../Header/HeaderActionsDropdown/index.jsx         |     4 +-
 .../src/dashboard/components/Header/index.jsx      |    74 +-
 .../dashboard/components/MissingChart.test.tsx}    |     0
 .../PropertiesModal/PropertiesModal.test.jsx       |   337 +
 .../PropertiesModal/PropertiesModal.test.tsx       |    20 +-
 .../dashboard/components/PropertiesModal/index.jsx |   614 -
 .../dashboard/components/PropertiesModal/index.tsx |   608 +
 .../components/RefreshIntervalModal.test.tsx}      |     0
 .../src/dashboard/components/SaveModal.tsx         |    23 +-
 .../src/dashboard/components/SliceAdder.jsx        |     2 +-
 .../dashboard/components/SliceAdder.test.jsx}      |     0
 .../components/SliceHeaderControls/index.tsx       |     2 +-
 .../components/dnd/DragDroppable.test.jsx}         |     0
 .../src/dashboard/components/dnd/DragHandle.jsx    |    58 -
 .../src/dashboard/components/dnd/DragHandle.tsx    |    49 +
 .../components/gridComponents/Chart.test.jsx}      |     0
 .../components/gridComponents/ChartHolder.jsx      |     3 +-
 .../components/gridComponents/ChartHolder.test.jsx |   138 +
 .../components/gridComponents/ChartHolder.test.tsx |     2 +-
 .../components/gridComponents/Column.test.jsx}     |     0
 .../components/gridComponents/Divider.test.jsx}    |     0
 .../components/gridComponents/Header.test.jsx}     |     0
 .../components/gridComponents/Markdown.test.jsx}   |     0
 .../components/gridComponents/Row.test.jsx}        |     0
 .../components/gridComponents/Tab.test.jsx}        |     0
 .../components/gridComponents/Tabs.test.jsx}       |     0
 .../components/gridComponents/Tabs.test.tsx        |     2 +-
 .../new/DraggableNewComponent.test.jsx}            |     0
 .../gridComponents/new/NewColumn.test.jsx}         |     0
 .../gridComponents/new/NewDivider.test.jsx}        |     0
 .../gridComponents/new/NewHeader.test.jsx}         |     0
 .../components/gridComponents/new/NewRow.test.jsx} |     0
 .../gridComponents/new/NewTabs.test.jsx}           |     0
 .../dashboard/components/menu/HoverMenu.test.tsx}  |     0
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |     4 +-
 .../components/menu/ShareMenuItems/index.tsx       |    32 +-
 .../components/menu/WithPopoverMenu.test.jsx}      |     0
 .../CascadeFilterControl.test.tsx                  |     2 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |     4 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |     4 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    38 +-
 .../nativeFilters/FilterBar/keyValue.tsx           |    54 +
 .../components/nativeFilters/FilterBar/state.ts    |     1 -
 .../components/nativeFilters/FilterBar/utils.ts    |     1 -
 .../FiltersConfigForm/ColumnSelect.test.tsx        |     6 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |     2 +-
 .../FiltersConfigForm/DefaultValue.tsx             |     2 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |     2 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    73 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |    10 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |     3 +-
 .../NativeFiltersModal.test.tsx}                   |     0
 .../nativeFilters/FiltersConfigModal/state.ts      |     2 +-
 .../resizable/ResizableContainer.test.tsx}         |     0
 .../components/resizable/ResizableHandle.test.tsx} |     0
 .../src/dashboard/containers/Dashboard.ts          |     4 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    61 +-
 .../dashboard/fixtures/mockNativeFilters.ts        |     0
 .../dashboard/reducers/dashboardFilters.test.js}   |     0
 .../dashboard/reducers/dashboardLayout.test.js}    |     0
 .../dashboard/reducers/dashboardState.test.js}     |     0
 .../dashboard/reducers/sliceEntities.test.js}      |     0
 .../dashboard/util/componentIsResizable.test.ts}   |     0
 .../dashboard/util/dnd-reorder.test.js}            |     0
 .../dashboard/util/dropOverflowsParent.test.js}    |     0
 .../util/findFirstParentContainer.test.js}         |     0
 .../dashboard/util/findParentId.test.js}           |     0
 .../util/findTabIndexByComponentId.test.js}        |     0
 .../getChartAndLabelComponentIdFromPath.test.js}   |     0
 .../dashboard/util/getChartIdsFromLayout.test.js}  |     0
 .../src/dashboard/util/getDashboardUrl.test.js     |    93 +
 .../src/dashboard/util/getDashboardUrl.ts          |    14 +-
 .../util/getDetailedComponentWidth.test.js}        |     0
 .../dashboard/util/getDropPosition.test.js}        |     0
 .../util/getEffectiveExtraFilters.test.js}         |     0
 .../util/getFilterConfigsFromFormdata.test.js}     |     0
 .../util/getFilterScopeFromNodesTree.test.js}      |     0
 .../util/getFormDataWithExtraFilters.test.ts       |   104 +
 .../util/getLeafComponentIdFromPath.test.js}       |     0
 .../dashboard/util/isDashboardEmpty.test.ts}       |     0
 .../dashboard/util/isValidChild.test.ts}           |     0
 .../dashboard/util/newComponentFactory.test.js}    |     0
 .../dashboard/util/newEntitiesFromDrop.test.js}    |     0
 .../util/updateComponentParentsList.test.js}       |     0
 superset-frontend/src/dataMask/actions.ts          |     6 +
 superset-frontend/src/dataMask/reducer.ts          |     9 +-
 .../explore/actions/exploreActions.test.js}        |     0
 .../components/ControlPanelsContainer.test.tsx}    |     0
 .../explore/components/ControlRow.test.tsx}        |     0
 .../explore/components/DataTablesPane/index.tsx    |    23 +-
 .../explore/components/EmbedCodeButton.test.jsx}   |     0
 .../components/ExploreActionButtons.test.jsx       |   117 +
 .../explore/components/ExploreActionButtons.tsx    |    85 +-
 .../ExploreAdditionalActionsMenu.test.jsx          |    59 +
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     9 +
 .../components/ExploreChartHeader/index.jsx        |    10 +-
 .../src/explore/components/ExploreChartPanel.jsx   |    17 +-
 .../explore/components/ExploreChartPanel.test.jsx} |     0
 .../explore/components/ExploreViewContainer.jsx    |   112 +-
 .../components/ExploreViewContainer.test.jsx}      |     0
 .../ExportToCSVDropdown.test.tsx                   |    75 +
 .../components/ExportToCSVDropdown/index.tsx       |    90 +
 .../PropertiesModal/PropertiesModal.test.tsx       |    29 +-
 .../explore/components/QueryAndSaveBtns.test.jsx}  |     0
 .../explore/components/RowCountLabel.test.jsx}     |     0
 .../explore/components/SaveModal.test.jsx}         |     0
 .../AnnotationLayerControl/AnnotationLayer.jsx     |    16 +-
 .../components/controls/BoundsControl.test.jsx}    |     0
 .../components/controls/CheckboxControl.test.tsx}  |     0
 .../controls/ColorPickerControl.test.tsx}          |     0
 .../ColorSchemeControl/ColorScheme.test.jsx}       |     0
 .../ConditionalFormattingControl.tsx               |     2 +-
 .../DatasourceControl/DatasourceControl.test.jsx}  |     0
 .../controls/DateFilterControl/utils/constants.ts  |    16 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |     2 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |     2 +-
 .../FilterBoxItemControl.test.jsx}                 |     0
 .../index.tsx                                      |    12 +-
 .../controls/MetricControl/AdhocMetric.test.js}    |     0
 .../AdhocMetricEditPopover.test.jsx}               |     0
 .../AdhocMetricEditPopoverTitle.test.jsx}          |     0
 .../MetricControl/AdhocMetricOption.test.jsx}      |     0
 .../MetricControl/AggregateOption.test.tsx}        |     0
 .../MetricControl/FilterDefinitionOption.test.jsx} |     0
 .../MetricControl/MetricDefinitionOption.test.jsx} |     0
 .../MetricControl/MetricDefinitionValue.test.jsx}  |     0
 .../controls/MetricControl/MetricsControl.jsx      |     2 +-
 .../MetricControl/MetricsControl.test.jsx}         |     0
 .../controls/SelectAsyncControl/index.tsx          |     2 +-
 .../explore/components/controls/SelectControl.jsx  |     6 +-
 .../components/controls/SelectControl.test.jsx     |   212 +
 .../components/controls/TextAreaControl.test.jsx}  |     0
 .../components/controls/ViewportControl.test.jsx}  |     0
 .../VizTypeControl/VizTypeControl.test.jsx}        |     0
 .../controls/withAsyncVerification.test.tsx}       |     0
 superset-frontend/src/explore/constants.ts         |     2 -
 .../src/explore/controlPanels/sections.tsx         |     4 +
 .../src/explore/controlUtils/controlUtils.test.tsx |   220 +
 .../explore/exploreUtils/exploreUtils.test.jsx}    |     0
 .../explore/exploreUtils/getExploreLongUrl.test.ts |    19 +-
 .../src/explore/exploreUtils/index.js              |    16 +-
 .../{spec/javascripts => src}/explore/fixtures.tsx |     0
 .../src/explore/reducers/getInitialState.ts        |     1 +
 .../store_spec.jsx => src/explore/store.test.jsx}  |     0
 superset-frontend/src/featureFlags.ts              |     3 +-
 .../components/Range/RangeFilterPlugin.test.tsx    |    58 +
 .../filters/components/Range/RangeFilterPlugin.tsx |   162 +-
 .../filters/components/Range/SingleValueType.ts    |    24 +
 .../src/filters/components/Range/controlPanel.ts   |    11 +
 .../components/Select/SelectFilterPlugin.tsx       |     3 +-
 superset-frontend/src/filters/utils.test.ts        |     7 +-
 superset-frontend/src/filters/utils.ts             |    13 +-
 .../hooks/apiResources/apiResources.test.ts        |     0
 .../hooks/apiResources/apiResources.ts             |     0
 .../src/{common => }/hooks/apiResources/charts.ts  |     0
 .../{common => }/hooks/apiResources/dashboards.ts  |     0
 .../src/{common => }/hooks/apiResources/index.ts   |     0
 .../{common => }/hooks/useChangeEffect/index.ts    |     0
 .../hooks/useChangeEffect/useChangeEffect.test.ts  |     0
 .../hooks/useChangeEffect/useChangeEffect.ts       |     0
 .../hooks/useComponentDidMount/index.ts            |     0
 .../useComponentDidMount.test.ts                   |     0
 .../useComponentDidMount/useComponentDidMount.ts   |     0
 .../hooks/useComponentDidUpdate/index.ts           |     0
 .../useComponentDidUpdate.test.ts                  |     0
 .../useComponentDidUpdate/useComponentDidUpdate.ts |     0
 .../{common => }/hooks/useElementOnScreen/index.ts |     0
 .../src/{common => }/hooks/usePrevious/index.ts    |     0
 .../hooks/usePrevious/usePrevious.test.ts          |     0
 .../{common => }/hooks/usePrevious/usePrevious.ts  |     0
 superset-frontend/src/hooks/useUrlShortener.ts     |    39 +
 superset-frontend/src/middleware/asyncEvent.ts     |    25 +-
 superset-frontend/src/reports/actions/reports.js   |    21 +-
 superset-frontend/src/setup/setupColors.ts         |    25 +-
 .../src/utils/getClientErrorObject.ts              |     1 +
 .../src/utils/localStorageHelpers.test.ts          |    43 +
 superset-frontend/src/utils/localStorageHelpers.ts |    91 +-
 superset-frontend/src/utils/urlUtils.ts            |     5 +-
 superset-frontend/src/views/App.tsx                |     2 +-
 .../src/views/CRUD/alert/AlertList.test.jsx        |     2 +-
 .../src/views/CRUD/alert/AlertList.tsx             |     2 +-
 .../src/views/CRUD/alert/AlertReportModal.tsx      |    61 +-
 .../src/views/CRUD/alert/ExecutionLog.tsx          |     2 +-
 superset-frontend/src/views/CRUD/alert/types.ts    |     1 +
 .../views/CRUD/annotation/AnnotationList.test.jsx  |     2 +-
 .../src/views/CRUD/annotation/AnnotationList.tsx   |     2 +-
 .../annotationlayers/AnnotationLayersList.test.jsx |     2 +-
 .../CRUD/annotationlayers/AnnotationLayersList.tsx |     2 +-
 .../src/views/CRUD/chart/ChartCard.tsx             |     2 +-
 .../src/views/CRUD/chart/ChartList.tsx             |    23 +-
 .../CRUD/csstemplates/CssTemplatesList.test.jsx    |     2 +-
 .../views/CRUD/csstemplates/CssTemplatesList.tsx   |     2 +-
 .../src/views/CRUD/dashboard/DashboardCard.tsx     |     2 +-
 .../src/views/CRUD/dashboard/DashboardList.tsx     |    13 +-
 .../views/CRUD/data/database/DatabaseList.test.jsx |     2 +-
 .../src/views/CRUD/data/database/DatabaseList.tsx  |     4 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |    22 +-
 .../CRUD/data/database/DatabaseModal/index.tsx     |    84 +-
 .../src/views/CRUD/data/dataset/DatasetList.tsx    |     8 +-
 .../src/views/CRUD/data/query/QueryList.tsx        |     2 +-
 .../CRUD/data/savedquery/SavedQueryList.test.jsx   |     4 +-
 .../views/CRUD/data/savedquery/SavedQueryList.tsx  |     4 +-
 superset-frontend/src/views/CRUD/storageKeys.ts    |    24 -
 superset-frontend/src/views/CRUD/utils.test.tsx    |    28 +
 superset-frontend/src/views/CRUD/utils.tsx         |     9 +-
 .../src/views/CRUD/welcome/ActivityTable.tsx       |    38 +-
 .../src/views/CRUD/welcome/ChartTable.tsx          |    23 +-
 .../src/views/CRUD/welcome/DashboardTable.tsx      |    31 +-
 .../src/views/CRUD/welcome/EmptyState.tsx          |    10 +-
 .../src/views/CRUD/welcome/SavedQueries.test.tsx   |     2 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |     6 +-
 .../src/views/CRUD/welcome/Welcome.tsx             |    25 +-
 .../components}/LanguagePicker.test.tsx            |     0
 .../Menu => views/components}/LanguagePicker.tsx   |     0
 .../Menu => views/components}/Menu.test.tsx        |     0
 superset-frontend/src/views/components/Menu.tsx    |   365 +
 .../src/views/components/MenuRight.tsx             |   240 +
 .../Menu => views/components}/SubMenu.test.tsx     |     0
 superset-frontend/src/views/components/SubMenu.tsx |   250 +
 superset-frontend/src/views/menu.tsx               |     2 +-
 .../visualizations/FilterBox/FilterBox.test.jsx}   |     0
 .../src/visualizations/TimeTable/SparklineCell.jsx |   203 -
 .../src/visualizations/TimeTable/SparklineCell.tsx |   201 +
 ...TableChartPlugin.js => TimeTableChartPlugin.ts} |     0
 .../src/visualizations/TimeTable/transformProps.js |    62 -
 .../src/visualizations/TimeTable/transformProps.ts |    84 +
 .../src/visualizations/TimeTable/types.d.ts        |    19 +
 .../src/visualizations/presets/MainPreset.js       |     6 +-
 .../superset-ui-plugins-deckgl/.github/CODEOWNERS  |    12 +
 .../.github/ISSUE_TEMPLATE/bug_report.md           |    29 +
 .../.github/ISSUE_TEMPLATE/feature_request.md      |    17 +
 .../.github/ISSUE_TEMPLATE/question.md             |     8 +
 .../.github/PULL_REQUEST_TEMPLATE.md               |     9 +
 .../.github/issue_label_bot.yaml                   |     4 +
 .../.github/semantic.yml                           |     2 +
 .../superset-ui-plugins-deckgl/.gitignore          |    57 +
 .../superset-ui-plugins-deckgl/.npmrc              |     1 +
 .../superset-ui-plugins-deckgl}/.nvmrc             |     0
 .../superset-ui-plugins-deckgl/.travis.yml         |    24 +
 .../superset-ui-plugins-deckgl/CHANGELOG.md        |     0
 .../superset-ui-plugins-deckgl/LICENSE             |   201 +
 .../superset-ui-plugins-deckgl/README.md           |    42 +
 .../commitlint.config.js                           |     1 +
 .../superset-ui-plugins-deckgl/lerna.json          |     9 +
 .../superset-ui-plugins-deckgl/package.json        |   158 +
 .../README.md                                      |    40 +
 .../package.json                                   |    44 +
 .../src/Kepler.css                                 |    20 +
 .../src/Kepler.jsx                                 |   146 +
 .../src/KeplerChartPlugin.js                       |    38 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 18421 bytes
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 58662 bytes
 .../src/index.js                                   |     2 +
 .../src/preset.js                                  |    29 +
 .../src/store.js                                   |    81 +
 .../src/transformProps.js                          |    34 +
 .../superset-ui-plugins-demo/.storybook/addons.js  |     5 +
 .../superset-ui-plugins-demo/.storybook/config.js  |    26 +
 .../.storybook/storybook.css                       |     8 +
 .../.storybook/webpack.config.js                   |    76 +
 .../packages/superset-ui-plugins-demo/README.md    |    53 +
 .../packages/superset-ui-plugins-demo/package.json |    55 +
 .../storybook/shared/dummyDatasource.ts            |     1 +
 .../storybook/stories/index.js                     |    75 +
 .../scripts/buildAssets.js                         |    23 +
 .../superset-ui-plugins-deckgl/yarn.lock           | 18825 ++++
 .../superset-ui/.eslintignore                      |     9 +
 .../temporary_superset_ui/superset-ui/.eslintrc.js |   296 +
 .../superset-ui/.github/CODEOWNERS                 |    12 +
 .../.github/ISSUE_TEMPLATE/bug_report.md           |    35 +
 .../.github/ISSUE_TEMPLATE/feature_request.md      |    18 +
 .../superset-ui/.github/ISSUE_TEMPLATE/question.md |     8 +
 .../superset-ui/.github/PULL_REQUEST_TEMPLATE.md   |     9 +
 .../superset-ui/.github/config.yml                 |    14 +
 .../superset-ui/.github/dependabot.yml             |    53 +
 .../superset-ui/.github/issue_label_bot.yaml       |     4 +
 .../superset-ui/.github/semantic.yml               |     2 +
 .../superset-ui/.github/workflows/chromatic.yml    |    44 +
 .../superset-ui/.github/workflows/ci.yml           |    69 +
 .../superset-ui/.github/workflows/codecov.sh       |  1903 +
 .../temporary_superset_ui/superset-ui/.gitignore   |    49 +
 .../temporary_superset_ui/superset-ui}/.nvmrc      |     0
 .../superset-ui/.prettierignore                    |    17 +
 .../superset-ui/.rat-excludes                      |    66 +
 .../temporary_superset_ui/superset-ui/CHANGELOG.md |  1313 +
 .../superset-ui/CONTRIBUTING.md                    |    71 +
 .../temporary_superset_ui/superset-ui/LICENSE      |   201 +
 .../temporary_superset_ui/superset-ui/README.md    |    80 +
 .../superset-ui/babel.config.js                    |    49 +
 .../temporary_superset_ui/superset-ui/codecov.yml  |    22 +
 .../superset-ui/commitlint.config.js               |    25 +
 .../superset-ui/docs/debugging.md                  |    27 +
 .../superset-ui/docs/storybook.md                  |    13 +
 .../superset-ui/jest.config.js                     |    77 +
 .../temporary_superset_ui/superset-ui/lerna.json   |    26 +
 .../superset-ui/package-lock.json                  | 83384 +++++++++++++++++
 .../temporary_superset_ui/superset-ui/package.json |   167 +
 .../superset-ui}/prettier.config.js                |     0
 .../superset-ui/temporary-plugins/README.md        |     5 +
 .../README.md                                      |    33 +
 .../package.json                                   |    37 +
 .../src/ReactWordCloud.js                          |    22 +
 .../src/WordCloud.js                               |   100 +
 .../src/images/thumbnail.png}                      |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin 0 -> 117846 bytes
 .../src/index.js                                   |    39 +
 .../src/transformProps.js                          |    42 +
 .../superset-ui-plugin-chart-table/README.md       |    33 +
 .../superset-ui-plugin-chart-table/package.json    |    40 +
 .../superset-ui-plugin-chart-table/src/Table.tsx   |   360 +
 .../src/TableFormData.ts                           |    31 +
 .../src/buildQuery.ts                              |    54 +
 .../src/components/HTMLRenderer.tsx                |    40 +
 .../src/createMetadata.ts                          |    31 +
 .../src/getRenderer.tsx                            |   171 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 31342 bytes
 .../superset-ui-plugin-chart-table/src/index.ts    |    40 +
 .../src/legacy/index.ts                            |    38 +
 .../src/legacy/transformProps.ts                   |    93 +
 .../src/processColumns.ts                          |   137 +
 .../src/processData.ts                             |    76 +
 .../src/processMetrics.ts                          |    57 +
 .../src/transformProps.ts                          |   162 +
 .../superset-ui-plugin-chart-table/src/types.ts    |    22 +
 .../test/buildQuery.test.ts                        |    40 +
 .../test/processData.test.ts                       |    78 +
 .../test/processMetrics.test.ts                    |    53 +
 .../types/external.d.ts                            |    20 +
 .../plugin-chart-choropleth-map/README.md          |    33 +
 .../plugin-chart-choropleth-map/package.json       |    51 +
 .../src/chart/ChoroplethMap.tsx                    |   342 +
 .../src/chart/Encoder.ts                           |    69 +
 .../src/chart/MapMetadata.ts                       |    57 +
 .../src/chart/MapTooltip.tsx                       |    85 +
 .../src/chart/Projection.ts                        |    36 +
 .../src/chart/components.ts                        |    67 +
 .../src/chart/loadMap.ts                           |    30 +
 .../src/configureEncodable.ts                      |    83 +
 .../src/images/thumbnail.png                       |   Bin 0 -> 1165 bytes
 .../plugin-chart-choropleth-map/src/index.ts       |    22 +
 .../src/maps/belgium-topo.json                     |  3131 +
 .../src/maps/brazil-topo.json                      |  3930 +
 .../src/maps/bulgaria-topo.json                    | 16396 ++++
 .../src/maps/canada-topo.json                      |  8227 ++
 .../src/maps/china-topo.json                       |  4597 +
 .../src/maps/france-topo.json                      |  8740 ++
 .../src/maps/germany-topo.json                     |  1850 +
 .../plugin-chart-choropleth-map/src/maps/index.ts  |   235 +
 .../src/maps/india-topo.json                       | 15073 +++
 .../src/maps/iran-topo.json                        |  2390 +
 .../src/maps/italy-topo.json                       |  5584 ++
 .../src/maps/japan-topo.json                       |  7724 ++
 .../src/maps/korea-topo.json                       |  2471 +
 .../src/maps/liechtenstein-topo.json               |  1605 +
 .../src/maps/morocco-topo.json                     |  3077 +
 .../src/maps/myanmar-topo.json                     |  5148 ++
 .../src/maps/netherlands-topo.json                 |  1332 +
 .../src/maps/portugal-topo.json                    |  1911 +
 .../src/maps/russia-topo.json                      |  8430 ++
 .../src/maps/singapore-topo.json                   |  7518 ++
 .../src/maps/spain-topo.json                       |  3329 +
 .../src/maps/switzerland-topo.json                 | 11333 +++
 .../src/maps/thailand-topo.json                    |  9644 ++
 .../src/maps/timorleste-topo.json                  |  1585 +
 .../src/maps/uk-topo.json                          | 12370 +++
 .../src/maps/ukraine-topo.json                     |  2877 +
 .../src/maps/usa-topo.json                         | 22866 +++++
 .../src/maps/world-topo.json                       | 27322 ++++++
 .../src/maps/zambia-topo.json                      |  3951 +
 .../src/plugin/index.ts                            |    37 +
 .../src/plugin/transformProps.ts                   |    33 +
 .../plugin-chart-choropleth-map/src/types.ts       |    43 +
 .../stories/ChoroplethMap.stories.tsx              |   126 +
 .../stories/generateFakeMapData.ts                 |    45 +
 .../stories/useFakeMapData.ts                      |    33 +
 .../plugin-chart-choropleth-map/test/index.test.ts |    26 +
 .../plugin-chart-choropleth-map/test/tsconfig.json |    19 +
 .../plugin-chart-choropleth-map/tsconfig.json      |    25 +
 .../types/external.d.ts                            |    20 +
 .../superset-ui/temporary-plugins/setupJest.js     |    25 +
 .../superset-ui-plugins-demo/.storybook/addons.js  |     5 +
 .../superset-ui-plugins-demo/.storybook/config.js  |    26 +
 .../.storybook/storybook.css                       |    20 +
 .../superset-ui-plugins-demo/README.md             |    53 +
 .../superset-ui-plugins-demo/package.json          |    55 +
 .../legacy-plugin-chart-word-cloud/Stories.tsx     |    46 +
 .../stories/legacy-plugin-chart-word-cloud/data.js |   422 +
 .../legacy-plugin-chart-word-cloud/index.js        |    27 +
 .../test}/__mocks__/mockExportObject.js            |     0
 .../test}/__mocks__/mockExportString.js            |     0
 .../superset-ui/test}/__mocks__/svgrMock.tsx       |     0
 .../superset-ui/test/setup.ts                      |    26 +
 .../superset-ui/tsconfig.eslint.json               |    12 +
 .../superset-ui/tsconfig.json                      |   151 +
 superset-frontend/tsconfig.json                    |    87 +-
 superset-frontend/webpack.config.js                |    93 +-
 superset/charts/commands/export.py                 |     8 +-
 superset/charts/commands/importers/v1/__init__.py  |     8 +-
 superset/charts/data/api.py                        |     3 +-
 superset/charts/post_processing.py                 |     7 +-
 superset/charts/schemas.py                         |    17 +-
 superset/cli.py                                    |    39 +-
 superset/common/query_actions.py                   |     2 +
 superset/common/query_context.py                   |     3 +
 superset/common/query_context_factory.py           |     2 +
 superset/common/query_context_processor.py         |     8 +
 superset/common/query_object.py                    |    16 +-
 superset/config.py                                 |    26 +-
 superset/connectors/base/models.py                 |    10 +-
 superset/connectors/sqla/models.py                 |    68 +-
 superset/connectors/sqla/utils.py                  |     4 +-
 superset/constants.py                              |     2 +-
 superset/css_templates/api.py                      |     4 +-
 superset/dashboards/api.py                         |    16 +-
 superset/dashboards/commands/importers/v1/utils.py |     6 +-
 superset/dashboards/commands/update.py             |    11 +-
 superset/dashboards/dao.py                         |   144 +-
 .../dashboards/filter_state}/__init__.py           |     0
 superset/dashboards/filter_state/api.py            |   239 +
 .../dashboards/filter_state/commands}/__init__.py  |     0
 .../dashboards/filter_state/commands/create.py     |    38 +
 .../dashboards/filter_state/commands/delete.py     |    42 +
 superset/dashboards/filter_state/commands/entry.py |    22 +
 superset/dashboards/filter_state/commands/get.py   |    31 +
 .../dashboards/filter_state/commands/update.py     |    46 +
 superset/dashboards/schemas.py                     |     2 +
 superset/databases/schemas.py                      |     8 +-
 superset/datasets/commands/export.py               |    17 +-
 superset/datasets/commands/importers/v1/utils.py   |    33 +-
 superset/datasets/schemas.py                       |    48 +-
 superset/db_engine_specs/athena.py                 |     5 +-
 superset/db_engine_specs/base.py                   |    28 +-
 superset/db_engine_specs/bigquery.py               |     4 +-
 superset/db_engine_specs/clickhouse.py             |     6 +-
 superset/db_engine_specs/crate.py                  |     6 +-
 superset/db_engine_specs/databricks.py             |     8 +-
 superset/db_engine_specs/dremio.py                 |     6 +-
 superset/db_engine_specs/drill.py                  |     6 +-
 superset/db_engine_specs/druid.py                  |     4 +-
 superset/db_engine_specs/elasticsearch.py          |    37 +-
 superset/db_engine_specs/firebird.py               |     6 +-
 superset/db_engine_specs/firebolt.py               |     6 +-
 superset/db_engine_specs/hana.py                   |     6 +-
 superset/db_engine_specs/hive.py                   |     4 +-
 superset/db_engine_specs/impala.py                 |     6 +-
 superset/db_engine_specs/kusto.py                  |   164 +
 superset/db_engine_specs/kylin.py                  |     6 +-
 superset/db_engine_specs/mssql.py                  |     4 +-
 superset/db_engine_specs/mysql.py                  |     5 +-
 superset/db_engine_specs/oracle.py                 |     6 +-
 superset/db_engine_specs/postgres.py               |    13 +-
 superset/db_engine_specs/presto.py                 |     8 +-
 superset/db_engine_specs/rockset.py                |     6 +-
 superset/db_engine_specs/snowflake.py              |     4 +-
 superset/db_engine_specs/sqlite.py                 |     4 +-
 superset/db_engine_specs/trino.py                  |    31 +-
 superset/errors.py                                 |     1 +
 .../configs/charts/New_Members_per_Month.yaml      |     2 +-
 .../datasets/examples/cleaned_sales_data.yaml      |     2 +-
 superset/exceptions.py                             |     6 +-
 superset/initialization/__init__.py                |    18 +
 .../common => superset/key_value}/__init__.py      |     0
 superset/key_value/api.py                          |   125 +
 .../key_value/commands}/__init__.py                |     0
 superset/key_value/commands/create.py              |    56 +
 superset/key_value/commands/delete.py              |    49 +
 superset/key_value/commands/exceptions.py          |    45 +
 superset/key_value/commands/get.py                 |    52 +
 superset/key_value/commands/update.py              |    54 +
 superset/key_value/schemas.py                      |    29 +
 superset/key_value/utils.py                        |    23 +
 superset/migrations/env.py                         |     4 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |    95 +
 ...cbaac5_change_datatype_of_type_in_basecolumn.py |    46 +
 ...e27eaf93db_add_extra_config_column_to_alerts.py |    50 +
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |    65 +
 ...5b9441_rename_big_viz_total_form_data_fields.py |   100 +
 superset/models/alerts.py                          |     2 +-
 superset/models/core.py                            |     8 +-
 superset/models/helpers.py                         |     4 +
 superset/models/reports.py                         |    17 +-
 superset/models/sql_types/base.py                  |    12 +-
 superset/reports/api.py                            |     2 +
 superset/reports/commands/alert.py                 |     7 +-
 superset/reports/commands/create.py                |    20 +
 superset/reports/commands/execute.py               |    88 +-
 superset/reports/notifications/base.py             |     2 +-
 superset/reports/notifications/email.py            |    32 +-
 superset/reports/notifications/slack.py            |    31 +-
 superset/reports/schemas.py                        |     6 +-
 superset/security/manager.py                       |    15 +
 superset/sql_parse.py                              |    38 +-
 .../fab_overrides/list_with_checkboxes.html        |     2 +-
 superset/translations/babel.cfg                    |    13 +
 superset/translations/de/LC_MESSAGES/messages.json |  7282 +-
 superset/translations/de/LC_MESSAGES/messages.po   | 22223 +++--
 superset/translations/en/LC_MESSAGES/messages.po   | 15980 +++-
 superset/translations/es/LC_MESSAGES/messages.po   | 19856 ++--
 superset/translations/fr/LC_MESSAGES/messages.po   | 22019 +++--
 superset/translations/it/LC_MESSAGES/messages.po   | 17854 ++--
 superset/translations/ja/LC_MESSAGES/messages.po   | 18620 ++--
 superset/translations/ko/LC_MESSAGES/messages.po   | 17520 ++--
 superset/translations/messages.pot                 | 16388 ++--
 .../translations/pt_BR/LC_MESSAGES/messages.po     | 20689 +++--
 superset/translations/requirements.txt             |     2 +-
 superset/translations/ru/LC_MESSAGES/messages.po   | 20154 ++--
 superset/translations/sk/LC_MESSAGES/messages.po   | 16230 +++-
 superset/translations/sl/LC_MESSAGES/messages.po   | 25475 +++--
 superset/translations/zh/LC_MESSAGES/messages.po   | 20595 +++--
 superset/utils/async_query_manager.py              |    12 +-
 superset/utils/cache_manager.py                    |    12 +
 superset/utils/core.py                             |     2 +-
 superset/utils/encrypt.py                          |   121 +-
 superset/utils/network.py                          |     6 +-
 superset/utils/pandas_postprocessing.py            |     4 +-
 superset/utils/webdriver.py                        |     6 -
 superset/views/base.py                             |     1 +
 superset/views/base_api.py                         |    31 +-
 superset/views/core.py                             |    86 +-
 superset/views/datasource/views.py                 |     5 +-
 superset/views/utils.py                            |     9 +
 superset/viz.py                                    |    13 +
 tests/common/example_data_generator/__init__.py    |    25 +
 .../example_data_generator/base_generator.py       |    34 +
 .../example_data_generator/birth_names/__init__.py |    33 +
 .../birth_names/birth_names_generator.py           |   119 +
 .../birth_names/birth_names_generator_factory.py   |    74 +
 tests/common/example_data_generator/consts.py      |    69 +
 .../example_data_generator/string_generator.py     |    42 +
 .../string_generator_factory.py                    |    46 +
 .../example_data_generator/tests/__init__.py       |    25 +
 .../tests/test_string_generator.py                 |    35 +
 tests/common/query_context_generator.py            |     9 +-
 tests/integration_tests/access_tests.py            |     3 +
 tests/integration_tests/alerts_tests.py            |     3 +
 tests/integration_tests/base_api_tests.py          |     1 +
 tests/integration_tests/base_tests.py              |     8 +-
 tests/integration_tests/cache_tests.py             |     1 +
 tests/integration_tests/celery_tests.py            |    13 +-
 tests/integration_tests/charts/api_tests.py        |     9 +-
 tests/integration_tests/charts/commands_tests.py   |    76 +-
 tests/integration_tests/charts/data/api_tests.py   |    50 +-
 tests/integration_tests/charts/schema_tests.py     |     1 +
 tests/integration_tests/cli_tests.py               |     1 +
 tests/integration_tests/core_tests.py              |    57 +-
 tests/integration_tests/css_templates/api_tests.py |    20 +-
 tests/integration_tests/dashboard_tests.py         |     4 +
 tests/integration_tests/dashboard_utils.py         |    36 +-
 tests/integration_tests/dashboards/api_tests.py    |    52 +-
 .../integration_tests/dashboards/commands_tests.py |     1 +
 tests/integration_tests/dashboards/dao_tests.py    |     1 +
 .../dashboards/filter_state}/__init__.py           |     0
 .../dashboards/filter_state/api_tests.py           |   195 +
 .../dashboards/security/security_dataset_tests.py  |     1 +
 .../dashboards/security/security_rbac_tests.py     |     7 +-
 tests/integration_tests/databases/api_tests.py     |    12 +-
 .../integration_tests/databases/commands_tests.py  |     2 +
 tests/integration_tests/dataframe_test.py          |    53 -
 tests/integration_tests/datasets/api_tests.py      |    98 +-
 tests/integration_tests/datasets/commands_tests.py |     7 +-
 tests/integration_tests/datasource_tests.py        |     1 +
 .../db_engine_specs/athena_tests.py                |    57 -
 .../db_engine_specs/base_engine_spec_tests.py      |    12 +-
 .../db_engine_specs/bigquery_tests.py              |     3 +-
 .../db_engine_specs/elasticsearch_tests.py         |    38 +-
 .../db_engine_specs/mssql_tests.py                 |     2 +-
 .../db_engine_specs/trino_tests.py                 |    35 +
 tests/integration_tests/feature_flag_tests.py      |    83 -
 tests/integration_tests/fixtures/__init__.py       |     2 +-
 .../fixtures/birth_names_dashboard.py              |   183 +-
 .../integration_tests/fixtures/energy_dashboard.py |    55 +-
 tests/integration_tests/fixtures/importexport.py   |     2 +-
 tests/integration_tests/fixtures/query_context.py  |    11 +-
 .../integration_tests/fixtures/tabbed_dashboard.py |    77 +
 .../fixtures/unicode_dashboard.py                  |    52 +-
 .../fixtures/world_bank_dashboard.py               |    64 +-
 tests/integration_tests/import_export_tests.py     |     3 +
 tests/integration_tests/log_api_tests.py           |     4 +-
 tests/integration_tests/model_tests.py             |    22 +-
 .../pandas_postprocessing_tests.py                 |    24 +-
 .../queries/saved_queries/api_tests.py             |     4 +-
 tests/integration_tests/query_context_tests.py     |     1 +
 tests/integration_tests/reports/api_tests.py       |    80 +-
 tests/integration_tests/reports/commands_tests.py  |   176 +-
 tests/integration_tests/reports/utils.py           |     6 +-
 tests/integration_tests/schedules_test.py          |     1 +
 tests/integration_tests/security_tests.py          |    20 +-
 tests/integration_tests/sql_parse_tests.py         |   757 -
 tests/integration_tests/sql_validator_tests.py     |    31 +
 tests/integration_tests/sqla_models_tests.py       |     5 +-
 tests/integration_tests/sqllab_tests.py            |     2 +
 tests/integration_tests/strategy_tests.py          |     8 +-
 .../integration_tests/tasks/async_queries_tests.py |     1 +
 tests/integration_tests/utils_tests.py             |     2 +
 tests/unit_tests/charts/test_post_processing.py    |   583 +
 tests/unit_tests/conftest.py                       |    53 +-
 .../unit_tests/{common => dashboards}/__init__.py  |     0
 .../{common => dashboards/commands}/__init__.py    |     0
 .../commands/importers}/__init__.py                |     0
 .../commands/importers/v1}/__init__.py             |     0
 .../dashboards/commands/importers/v1/utils_test.py |    74 +
 tests/unit_tests/dataframe_test.py                 |    55 +
 tests/unit_tests/{common => datasets}/__init__.py  |     0
 .../{common => datasets/commands}/__init__.py      |     0
 tests/unit_tests/datasets/commands/export_test.py  |   198 +
 .../commands/importers}/__init__.py                |     0
 .../commands/importers/v1}/__init__.py             |     0
 .../datasets/commands/importers/v1/import_test.py  |   209 +
 tests/unit_tests/db_engine_specs/test_athena.py    |    87 +
 tests/unit_tests/db_engine_specs/test_base.py      |    58 +
 tests/unit_tests/db_engine_specs/test_kusto.py     |   155 +
 tests/unit_tests/feature_flag_test.py              |    65 +
 tests/unit_tests/fixtures/common.py                |    25 +
 tests/unit_tests/sql_parse_tests.py                |  1116 +-
 tox.ini                                            |     2 +-
 2210 files changed, 737217 insertions(+), 142334 deletions(-)
 create mode 100644 .github/workflows/release.yml
 delete mode 100755 docker/docker-entrypoint.sh
 create mode 100644 docker/run-server.sh
 create mode 100644 docs/src/pages/docs/Connecting to Databases/kusto.mdx
 create mode 100644 docs/src/pages/docs/Contributing/contributing-page.mdx
 create mode 100644 docs/src/pages/docs/Contributing/conventions-and-typing.mdx
 create mode 100644 docs/src/pages/docs/Contributing/hooks-and-linting.mdx
 create mode 100644 docs/src/pages/docs/Contributing/local-backend.mdx
 create mode 100644 docs/src/pages/docs/Contributing/pull-request-guidelines.mdx
 create mode 100644 docs/src/pages/docs/Contributing/style-guide.mdx
 create mode 100644 docs/src/pages/docs/Contributing/testing-locally.mdx
 create mode 100644 docs/src/pages/docs/Contributing/translations.mdx
 create mode 100644 docs/src/pages/docs/Contributing/types-of-contributions.mdx
 create mode 100644 docs/src/pages/docs/Miscellaneous/chart-params.mdx
 delete mode 100644 docs/src/pages/docs/contributing-page.mdx
 create mode 100644 docs/src/pages/docs/installation/frontend-assets.mdx
 create mode 100644 docs/static/images/count_column.png
 delete mode 100644 docs/static/images/create_pivot.png
 create mode 100644 docs/static/images/create_pivot_v2.png
 create mode 100644 docs/static/images/db-modal-advanced.png
 create mode 100644 docs/static/images/native_filters_empty_panel.png
 create mode 100644 docs/static/images/native_filters_menu_open.png
 create mode 100644 docs/static/images/native_filters_modal.png
 create mode 100644 docs/static/images/native_filters_num_range.png
 create mode 100644 docs/static/images/native_filters_origin_country.png
 create mode 100644 docs/static/images/native_filters_origin_country_dropdown.png
 delete mode 100644 docs/static/images/no_filter_on_time_filter.png
 delete mode 100644 docs/static/images/select_dates_pivot_table.png
 create mode 100644 docs/static/images/select_dates_pivot_table_v2.png
 delete mode 100644 docs/static/images/tutorial_pivot_table.png
 create mode 100644 docs/static/images/tutorial_pivot_table_v2.png
 create mode 100755 helm/superset/templates/service-account.yaml
 create mode 100755 scripts/babel_update.sh
 create mode 100644 superset-frontend/.prettierignore
 create mode 100644 superset-frontend/cypress-base/cypress/integration/dashboard/key_value.test.ts
 delete mode 100644 superset-frontend/jsconfig.json
 create mode 100644 superset-frontend/lerna.json
 create mode 100644 superset-frontend/packages/generator-superset/.gitattributes
 create mode 100644 superset-frontend/packages/generator-superset/CHANGELOG.md
 create mode 100644 superset-frontend/packages/generator-superset/README.md
 create mode 100644 superset-frontend/packages/generator-superset/generators/app/index.js
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/index.js
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/README.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/babel.config.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/jest.config.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/package.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/MyChart.erb
 copy superset-frontend/{src/filters/components/TimeGrain => packages/generator-superset/generators/plugin-chart/templates/src}/images/thumbnail.png (100%)
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/index.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/plugin/buildQuery.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/plugin/controlPanel.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/plugin/index.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/plugin/transformProps.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/src/types.erb
 copy superset-frontend/{spec => packages/generator-superset/generators/plugin-chart/templates/test}/__mocks__/mockExportString.js (100%)
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/test/index.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/test/plugin/buildQuery.test.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/test/plugin/transformProps.test.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/tsconfig.json
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/types/external.d.ts
 create mode 100644 superset-frontend/packages/generator-superset/jest.config.js
 create mode 100644 superset-frontend/packages/generator-superset/package.json
 create mode 100644 superset-frontend/packages/generator-superset/test/app.test.js
 create mode 100644 superset-frontend/packages/generator-superset/test/plugin-chart.test.js
 create mode 100644 superset-frontend/packages/generator-superset/tsconfig.json
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/CHANGELOG.md
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/README.md
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/package.json
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/CertifiedIconWithTooltip.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnOption.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ControlForm/ControlFormItem.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ControlForm/controls.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ControlForm/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/ControlHeader.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/InfoTooltipWithTrigger.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/MetricOption.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/Select.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/boxplotOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/contributionOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/pivotOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/prophetOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/resampleOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/rollingWindowOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/sortOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/timeCompareOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/utils/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/utils/getMetricOffsetsMap.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/utils/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/operators/utils/isValidTimeCompare.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/advancedAnalytics.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/annotationsAndLayers.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/chartTitle.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/forecastInterval.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/sections/sections.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigControl.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigItem.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigPopover.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/constants.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/RadioButtonControl.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/dndControls.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/emitFilterControl.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/legacySortBy.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/D3Formatting.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/columnChoices.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/expandControlConfig.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/getColorFormatters.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/mainMetric.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/selectOptions.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnOption.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnTypeLabel.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/components/InfoTooltipWithTrigger.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/components/MetricOption.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/emitFilterControl.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/tsconfig.json
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/types.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/columnChoices.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/expandControlConfig.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/getColorFormatters.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/mainMetric.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/boxplotOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/contributionOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/pivotOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/prophetOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/resampleOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/rollingWindowOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/sortOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/timeCompareOperator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/selectOptions.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/tsconfig.json
 create mode 100644 superset-frontend/packages/superset-ui-core/CHANGELOG.md
 create mode 100644 superset-frontend/packages/superset-ui-core/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/package.json
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart-composition/ChartFrame.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart-composition/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart-composition/legend/WithLegend.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart-composition/tooltip/TooltipFrame.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart-composition/tooltip/TooltipTable.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/clients/ChartClient.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/ChartDataProvider.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/FallbackComponent.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/NoResultsComponent.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/SuperChart.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/SuperChartCore.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/createLoadableRenderer.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/components/reactify.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/models/ChartControlPanel.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/models/ChartMetadata.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/models/ChartPlugin.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/models/ChartProps.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/registries/ChartBuildQueryRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/registries/ChartComponentRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/registries/ChartControlPanelRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/registries/ChartMetadataRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/registries/ChartTransformPropsRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/types/Annotation.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/types/Base.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/types/QueryResponse.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/chart/types/TransformFunction.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/CategoricalColorNamespace.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/CategoricalColorScale.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/CategoricalScheme.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/CategoricalSchemeRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/ColorScheme.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/ColorSchemeRegistry.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/SequentialScheme.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/SequentialSchemeRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/airbnb.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/d3.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/echarts.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/google.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/lyft.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/preset.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/categorical/superset.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/sequential/common.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/sequential/d3.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/colorSchemes/sequential/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/stringifyAndTrim.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/color/utils.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/SafeMarkdown.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/SupersetClient.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/callApi/callApi.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/callApi/callApiAndParseWithTimeout.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/callApi/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/callApi/parseResponse.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/callApi/rejectAfterTimeout.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/computeMaxFontSize.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/getMultipleTextDimensions.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/getTextDimension.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/mergeMargin.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/parseLength.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/LazyFactory.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/createHiddenSvgNode.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/createTextNode.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/factories.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/getBBoxCeil.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/svg/updateTextNode.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dimension/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dynamic-plugins/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/dynamic-plugins/shared-modules.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/math-expression/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/ExtensibleFunction.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/Plugin.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/Preset.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/Registry.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/RegistryWithDefaultKey.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/models/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/NumberFormats.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/NumberFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/NumberFormatterRegistry.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/NumberFormatterRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/factories/createD3NumberFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/factories/createDurationFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/factories/createSiAtMostNDigitFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/factories/createSmartNumberFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/DatasourceKey.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/legacy/fetchExploreJson.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/legacy/getDatasourceMetadata.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/legacy/getFormData.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/legacy/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/legacy/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/v1/handleError.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/v1/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/v1/makeApi.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/api/v1/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/buildQueryContext.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/buildQueryObject.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/convertFilter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/extractExtras.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/extractQueryFields.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/extractTimegrain.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/getColumnLabel.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/getMetricLabel.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/normalizeOrderBy.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/processExtraFormData.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/processFilters.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/AdvancedAnalytics.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/AnnotationLayer.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Column.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Datasource.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Filter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Metric.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Operator.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/PostProcessing.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Query.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/QueryFormData.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/QueryResponse.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/Time.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/query/types/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/style/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeFormats.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeFormatsForGranularity.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeFormatterRegistry.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeFormatterRegistrySingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/TimeRangeFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/factories/createD3TimeFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/factories/createMultiFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/formatters/smartDate.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/formatters/smartDateDetailed.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/formatters/smartDateVerbose.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/types.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/utils/createTime.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/utils/createTimeRangeFromGranularity.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/utils/d3Time.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/time-format/utils/stringifyTimeInput.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/README.md
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/Translator.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/TranslatorSingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/types/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/translation/types/jed.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/types/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/convertKeysToCamelCase.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/ensureIsArray.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/ensureIsInt.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/featureFlags.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/isDefined.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/isRequired.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/logging.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/makeSingleton.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/promiseTimeout.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/random.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/removeDuplicates.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/index.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/legacyValidateInteger.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/legacyValidateNumber.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/validateInteger.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/validateNonEmpty.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/validator/validateNumber.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/__mocks__/resize-observer-polyfill.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart-composition/ChartFrame.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart-composition/legend/WithLegend.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart-composition/tooltip/TooltipFrame.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart-composition/tooltip/TooltipTable.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/clients/ChartClient.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/ChartDataProvider.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/FallbackComponent.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/MockChartPlugins.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/NoResultsComponent.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/SuperChart.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/SuperChartCore.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/createLoadableRenderer.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/components/reactify.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/fixtures/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/fixtures/formData.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/models/ChartMetadata.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/models/ChartPlugin.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/chart/models/ChartProps.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/CategoricalColorNameSpace.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/CategoricalColorScale.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/CategoricalSchemeRegistrySingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/ColorScheme.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/ColorSchemeRegistry.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/SequentialScheme.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/SequentialSchemeRegistrySingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/colorSchemes.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/utils.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/SupersetClient.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/callApi/callApi.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/callApi/callApiAndParseWithTimeout.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/callApi/parseResponse.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/callApi/rejectAfterTimeout.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/fixtures/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/computeMaxFontSize.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/getBBoxDummyFill.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/getMultipleTextDimensions.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/getTextDimension.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/mergeMargin.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/parseLength.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/svg/LazyFactory.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/svg/getBBoxCeil.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dimension/svg/updateTextNode.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/dynamic-plugins/shared-modules.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/fixtures.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/math-expression/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/models/ExtensibleFunction.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/models/Plugin.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/models/Preset.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/models/Registry.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/models/RegistryWithDefaultKey.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/NumberFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/NumberFormatterRegistry.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/NumberFormatterRegistrySingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createD3NumberFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createDurationFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createSiAtMostNDigitFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createSmartNumberFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/DatasourceKey.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/legacy/fetchExploreJson.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/legacy/getDatasourceMetadata.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/legacy/getFormData.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/setupClientForTest.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/v1/getChartData.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/v1/handleError.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/api/v1/makeApi.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/buildQueryContext.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/buildQueryObject.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/convertFilter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/extractExtras.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/extractQueryFields.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/extractTimegrain.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/getColumnLabel.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/getMetricLabel.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/normalizeOrderBy.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/processExtraFormData.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/processFilters.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/types/AnnotationLayer.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/types/Filter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/query/types/PostProcessing.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/style/index.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/TimeFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/TimeFormatterRegistry.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/TimeFormatterRegistrySingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/factories/createD3TimeFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/factories/createMultiFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/formatters/smartDate.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/formatters/smartDateDetailed.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/formatters/smartDateVerbose.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/utils/createTime.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/utils/createTimeRangeFromGranularity.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-format/utils/d3Time.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/translation/Translator.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/translation/index.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/translation/languagePacks/en.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/translation/languagePacks/zh.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/tsconfig.json
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/convertKeysToCamelCase.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/ensureIsArray.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/ensureIsInt.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/featureFlag.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/isDefined.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/isRequired.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/logging.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/makeSingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/promiseTimeout.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/random.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/removeDuplicates.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/legacyValidateInteger.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/legacyValidateNumber.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/setup.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/validateInteger.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/validateNonEmpty.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/validateNumber.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/tsconfig.json
 create mode 100644 superset-frontend/packages/superset-ui-core/types/external.d.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/types/resize-observer-polyfill.d.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/main.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/preview.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/storybook.css
 create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/CHANGELOG.md
 create mode 100644 superset-frontend/packages/superset-ui-demo/README.md
 create mode 100644 superset-frontend/packages/superset-ui-demo/package.json
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/ErrorMessage.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/Expandable.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/ResizableChartDemo.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/ResizablePanel.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/VerifyCORS.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/components/createQueryStory.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/shared/dummyDatasource.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-country-map/CountryMapStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-event-flow/Stories.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-heatmap/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-heatmap/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-histogram/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-histogram/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-pivot-table/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sankey-loop/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sankey-loop/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sankey/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sankey/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sunburst/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-sunburst/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-treemap/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-treemap/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/BigNumberStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal/BigNumberTotalStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/geojsonPayload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/payload.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/stories/controlsShown.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/stories/expanded.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/stories/stacked.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Area/stories/stackedWithBounds.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/stories/barWithPositiveAndNegativeValues.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/stories/barWithValues.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bar/stories/stackedBarWithValues.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/timeFormat.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DistBar/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DistBar/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DistBar/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DistBar/stories/manyBars.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DualLine/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DualLine/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DualLine/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/DualLine/stories/verifyConsistentColors.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/stories/logScale.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/stories/markers.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Line/stories/yAxisBounds.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Pie/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Pie/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Pie/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Pie/stories/noData.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedTimeseries/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/TableStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/birthNames.json
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/testData.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/BoxPlot/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/BoxPlot/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/BoxPlot/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/BoxPlot/stories/Basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/BoxPlot/stories/Legacy.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/data/data.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/data/data2.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/data/legacyData.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/flush.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/legacy.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/missing.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/query.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/Line/stories/timeShift.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/Stories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/constants.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/data/data.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/data/legacyData.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/stories/basic.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/stories/bubble.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/preset-chart-xy/ScatterPlot/stories/legacy.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/ChartDataProviderStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/SuperChartStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-color/ColorPallettesStories.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-color/RenderPalettes.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-color/color-styles.css
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-connection/ConnectionStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-number-format/BigNumberStories.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-style/ThemeStories.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-time-format/TimeFormatStories.jsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/Calendar.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/ReactCalendar.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/utils.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/cal-heatmap.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/cal-heatmap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/d3tip.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/test/getFormattedUTCTime.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/Chord.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/ReactChord.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/images/chord.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-chord/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map GeoJSON Generator.ipynb
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/CountryMap.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/CountryMap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/controlPanel.ts
 create mode 100755 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/australia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/austria.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/belgium.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/brazil.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/bulgaria.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/canada.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/china.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/denmark.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/egypt.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/estonia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/finland.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/france.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/germany.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/iceland.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/india.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/indonesia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/iran.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/italy.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/italy_regions.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/japan.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/korea.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/liechtenstein.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/malaysia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/morocco.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/myanmar.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/netherlands.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/norway.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/peru.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/poland.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/portugal.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/russia.geojson
 create mode 100755 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/saudi_arabia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/singapore.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/slovenia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/spain.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/sweden.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/switzerland.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/syria.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/thailand.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/timorleste.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/uk.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/ukraine.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/uruguay.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/usa.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/vietnam.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/zambia.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/geojson.d.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/EventFlow.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/index.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/transformProps.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/types/external.d.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/Heatmap.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/Heatmap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/images/channels.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/images/employment.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/images/transportation.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/src/vendor/d3tip.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-heatmap/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/Histogram.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/WithLegend.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/images/example1.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/images/example2.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/images/example3.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-histogram/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/HorizonChart.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/HorizonChart.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/HorizonRow.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/images/Horizon_Chart.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/MapBox.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/MapBox.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/ScatterPlotGlowOverlay.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/images/MapBox.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/images/MapBox2.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/geo.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/luminanceFromRGB.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/roundDecimal.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/utils/roundDecimal.test.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/PairedTTest.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/PairedTTest.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/TTestTable.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ParallelCoordinates.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ReactParallelCoordinates.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/d3.parcoords.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/d3.parcoords.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/divgrid.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/OptionDescription.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/Partition.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/Partition.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/test/OptionDescription.test.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-partition/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/PivotTable.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/ReactPivotTable.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/utils/fixTableHeight.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/src/utils/formatCells.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/test/PivotTable.test.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-pivot-table/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/Rose.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/Rose.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/SankeyLoop.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/SankeyLoop.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey-loop/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/ReactSankey.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/Sankey.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/images/Sankey.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/images/Sankey2.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/tests/utils.test.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/src/utils.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sankey/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/Sunburst.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/Sunburst.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/images/example.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/src/utils/wrapSvgText.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-sunburst/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/ReactTreemap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/Treemap.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/Treemap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/Treemap.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/Treemap2.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/Treemap3.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/Treemap4.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-treemap/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/README.md
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/package.json
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/ReactWorldMap.jsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/WorldMap.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/images/WorldMap1.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/images/WorldMap2.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/README.md
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/package.json
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/AnimatableDeckGLContainer.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/CategoricalDeckGLContainer.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/DeckGLContainer.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/Multi.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/controlPanel.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/TooltipRow.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/BootstrapSliderWrapper.css
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/BootstrapSliderWrapper.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.css
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/PlaySlider.css
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/PlaySlider.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Tooltip.tsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/css/deckgl.css
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/factory.tsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/Grid.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/Hex.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/Path.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/controlPanel.ts
 copy superset-frontend/{src/assets/images/viz_thumbnails/deck_polygon.png => plugins/legacy-preset-chart-deckgl/src/layers/Polygon/images/thumbnail.png} (100%)
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/common.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/preset.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/types.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/Shared_DeckGL.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/controls.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/sharedDndControls.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/utils.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/colors.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/computeBoundsFromPoints.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/explore.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/fitViewport.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/geo.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/getPointsFromPolygon.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/safeStringify.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/sandbox.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/time.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/utils/utils.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/test/utils/colors.test.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/test/utils/getPointsFromPolygon.test.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/types/external.d.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/README.md
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/package.json
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/example1.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/example2.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/example3.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/example4.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Area/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/images/Time_Series_Bar_Chart.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/images/Time_Series_Bar_Chart2.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/images/Time_Series_Bar_Chart3.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/images/BarChart3.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/images/Bar_Chart.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/images/Bar_Chart_2.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DualLine/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DualLine/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DualLine/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DualLine/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/images/LineChart.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/images/LineChart2.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/images/battery.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/LineMulti/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/LineMulti/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/LineMulti/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/LineMulti/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Vis.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Pie/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Pie/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Pie/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Pie/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/PropTypes.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.jsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/controlPanel.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/index.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/preset.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/transformProps.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/isTruthy.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/tokenize.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/AnnotationTypes.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/exploreUtils.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils.test.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/isTruthy.test.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/tokenize.test.js
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/package.json
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/controlPanel.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/images/BigNumber.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/images/BigNumber2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberViz.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/images/Big_Number_Trendline.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/sharedControls.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/utils.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/EchartsBoxPlot.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/images/BoxPlot.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/EchartsFunnel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/EchartsGauge.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/constants.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/EchartsGraph.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/constants.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/EchartsMixedTimeseries.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/EchartsPie.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/images/Pie1.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/images/Pie2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/images/Pie3.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/images/Pie4.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Pie/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/EchartsRadar.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/images/Area1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/EchartsTimeseries.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/images/Bar1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/images/Bar2.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/images/Bar3.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/images/Line1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/images/Line2.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/images/Scatter1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/images/SmoothLine1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/images/Step1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/images/Step2.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/images/Time-series_Chart.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformers.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/EchartsTree.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/constants.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/images/tree.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Tree/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/EchartsTreemap.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/constants.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/images/treemap_v2_1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/images/treemap_v2_2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Treemap/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/components/Echart.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/constants.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/defaults.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/annotation.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/controls.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/prophet.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Funnel/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Funnel/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Gauge/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Gauge/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Graph/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Graph/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Pie/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Pie/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Tree/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Tree/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Treemap/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Treemap/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/index.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/annotation.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/controls.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/prophet.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/series.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/types/external.d.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/package.json
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/PivotTableChart.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/PivotTable.jsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/Styles.js
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/TableRenderers.jsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/index.js
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/index.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/types/external.d.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/plugin-chart-table/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-table/package.json
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/DataTable.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/components/GlobalFilter.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/components/Pagination.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/components/SelectPageSize.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/hooks/useSticky.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/index.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/types/react-table.d.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/externalAPIs.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/getScrollBarSize.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/needScrollBar.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/sortAlphanumericCaseInsensitive.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/useAsyncState.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/DataTable/utils/useMountedMemo.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/Styles.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/consts.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/controlPanel.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/i18n.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/images/Table.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/images/Table2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/images/Table3.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/DateWithFormatter.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/extent.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/formatValue.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/isEqualArray.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/isEqualColumns.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/enzyme.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/sortAlphanumericCaseInsensitive.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/testData.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-table/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-table/types/external.d.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/package.json
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/chart/Encoder.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/configureEncodable.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/images/Word_Cloud.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/images/Word_Cloud_2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/index.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/legacyPlugin/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/plugin/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/tsconfig.json
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/types/external.d.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/CHANGELOG.md
 create mode 100644 superset-frontend/plugins/preset-chart-xy/README.md
 create mode 100644 superset-frontend/plugins/preset-chart-xy/package.json
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/legacy/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/legacy/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/BoxPlot/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/ChartFormData.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/buildQuery.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/images/thumbnailLarge.png
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/legacy/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/legacy/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/Line/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/legacy/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/legacy/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/transformProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/BoxPlot/BoxPlot.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/BoxPlot/DefaultTooltipRenderer.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/BoxPlot/Encoder.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/BoxPlot/types.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/Line/DefaultLegendItemMarkRenderer.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/Line/DefaultTooltipRenderer.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/Line/Encoder.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/Line/Line.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/ScatterPlot/DefaultTooltipRenderer.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/ScatterPlot/Encoder.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/ScatterPlot/ScatterPlot.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/legend/DefaultLegend.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/legend/DefaultLegendGroup.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/legend/DefaultLegendItem.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/legend/createRenderLegend.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/components/legend/types.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/configureEncodable.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/index.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/XYChartLayout.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/computeAxisLayout.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/convertScaleToDataUIScaleShape.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/createMarginSelector.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/createTickComponent.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/createTickLabelProps.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/src/utils/createXYChartLayoutWithTheme.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/test/index.test.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/test/tsconfig.json
 create mode 100644 superset-frontend/plugins/preset-chart-xy/tsconfig.json
 create mode 100644 superset-frontend/plugins/preset-chart-xy/types/@data-ui/theme/index.d.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/types/@data-ui/xy-chart/index.d.ts
 create mode 100644 superset-frontend/plugins/preset-chart-xy/types/external.d.ts
 create mode 100644 superset-frontend/scripts/build.js
 create mode 100755 superset-frontend/scripts/commitlint.js
 create mode 100644 superset-frontend/scripts/copyAssets.js
 create mode 100755 superset-frontend/scripts/lernaVersion.sh
 create mode 100755 superset-frontend/scripts/tsc.sh
 create mode 100644 superset-frontend/spec/helpers/Cache.ts
 create mode 100644 superset-frontend/spec/helpers/CacheStorage.ts
 delete mode 100644 superset-frontend/spec/javascripts/dashboard/components/PropertiesModal_spec.jsx
 delete mode 100644 superset-frontend/spec/javascripts/dashboard/components/gridComponents/ChartHolder_spec.jsx
 delete mode 100644 superset-frontend/spec/javascripts/dashboard/util/getDashboardUrl_spec.js
 delete mode 100644 superset-frontend/spec/javascripts/dashboard/util/getFormDataWithExtraFilters_spec.ts
 delete mode 100644 superset-frontend/spec/javascripts/explore/components/ExploreActionButtons_spec.jsx
 delete mode 100644 superset-frontend/spec/javascripts/explore/components/ExploreAdditionalActionsMenu.jsx
 delete mode 100644 superset-frontend/spec/javascripts/explore/components/SelectControl_spec.jsx
 delete mode 100644 superset-frontend/spec/javascripts/explore/controlUtils_spec.tsx
 create mode 100644 superset-frontend/src/CRUD/Field.test.tsx
 delete mode 100644 superset-frontend/src/CRUD/Fieldset.jsx
 create mode 100644 superset-frontend/src/CRUD/Fieldset.tsx
 delete mode 100644 superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.jsx
 create mode 100644 superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.tsx
 rename superset-frontend/{spec/javascripts/explore/components/RunQueryActionButton_spec.jsx => src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx} (100%)
 create mode 100644 superset-frontend/src/assets/images/firebolt.png
 create mode 100644 superset-frontend/src/assets/images/rockset.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/bank_dash.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/deckgl_dash.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/explore.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/explore_visualizations.jpg
 delete mode 100644 superset-frontend/src/assets/images/screenshots/gallery.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/geospatial_dash.jpg
 delete mode 100644 superset-frontend/src/assets/images/screenshots/sqllab.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/visualizations.png
 create mode 100644 superset-frontend/src/assets/images/timescale.png
 delete mode 100644 superset-frontend/src/common/components/.eslintrc
 delete mode 100644 superset-frontend/src/common/hooks/useUrlShortener.ts
 delete mode 100644 superset-frontend/src/components/.eslintrc
 create mode 100644 superset-frontend/src/components/CertifiedBadge/CertifiedBadge.stories.tsx
 create mode 100644 superset-frontend/src/components/CertifiedBadge/CertifiedBadge.test.tsx
 create mode 100644 superset-frontend/src/components/CertifiedBadge/index.tsx
 delete mode 100644 superset-frontend/src/components/CertifiedIcon/CertifiedIcon.stories.tsx
 delete mode 100644 superset-frontend/src/components/CertifiedIcon/CertifiedIcon.test.tsx
 delete mode 100644 superset-frontend/src/components/CertifiedIcon/index.tsx
 delete mode 100644 superset-frontend/src/components/Menu/Menu.tsx
 delete mode 100644 superset-frontend/src/components/Menu/MenuRight.tsx
 delete mode 100644 superset-frontend/src/components/Menu/SubMenu.tsx
 delete mode 100644 superset-frontend/src/dashboard/.eslintrc
 rename superset-frontend/{spec/javascripts/dashboard/actions/dashboardLayout_spec.js => src/dashboard/actions/dashboardLayout.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/actions/dashboardState_spec.js => src/dashboard/actions/dashboardState.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/Dashboard_spec.jsx => src/dashboard/components/Dashboard.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/DashboardBuilder_spec.jsx => src/dashboard/components/DashboardBuilder/DashboardBuilder.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/DashboardGrid_spec.jsx => src/dashboard/components/DashboardGrid.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/FiltersBadge_spec.tsx => src/dashboard/components/FiltersBadge/FiltersBadge.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/MissingChart_spec.tsx => src/dashboard/components/MissingChart.test.tsx} (100%)
 create mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/PropertiesModal.test.jsx
 delete mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/index.jsx
 create mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/index.tsx
 rename superset-frontend/{spec/javascripts/dashboard/components/RefreshIntervalModal_spec.tsx => src/dashboard/components/RefreshIntervalModal.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/SliceAdder_spec.jsx => src/dashboard/components/SliceAdder.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/dnd/DragDroppable_spec.jsx => src/dashboard/components/dnd/DragDroppable.test.jsx} (100%)
 delete mode 100644 superset-frontend/src/dashboard/components/dnd/DragHandle.jsx
 create mode 100644 superset-frontend/src/dashboard/components/dnd/DragHandle.tsx
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Chart_spec.jsx => src/dashboard/components/gridComponents/Chart.test.jsx} (100%)
 create mode 100644 superset-frontend/src/dashboard/components/gridComponents/ChartHolder.test.jsx
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Column_spec.jsx => src/dashboard/components/gridComponents/Column.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Divider_spec.jsx => src/dashboard/components/gridComponents/Divider.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Header_spec.jsx => src/dashboard/components/gridComponents/Header.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Markdown_spec.jsx => src/dashboard/components/gridComponents/Markdown.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Row_spec.jsx => src/dashboard/components/gridComponents/Row.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Tab_spec.jsx => src/dashboard/components/gridComponents/Tab.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Tabs_spec.jsx => src/dashboard/components/gridComponents/Tabs.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/DraggableNewComponent_spec.jsx => src/dashboard/components/gridComponents/new/DraggableNewComponent.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewColumn_spec.jsx => src/dashboard/components/gridComponents/new/NewColumn.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewDivider_spec.jsx => src/dashboard/components/gridComponents/new/NewDivider.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewHeader_spec.jsx => src/dashboard/components/gridComponents/new/NewHeader.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewRow_spec.jsx => src/dashboard/components/gridComponents/new/NewRow.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewTabs_spec.jsx => src/dashboard/components/gridComponents/new/NewTabs.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/menu/HoverMenu_spec.tsx => src/dashboard/components/menu/HoverMenu.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/menu/WithPopoverMenu_spec.jsx => src/dashboard/components/menu/WithPopoverMenu.test.jsx} (100%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/keyValue.tsx
 rename superset-frontend/{spec/javascripts/dashboard/components/nativeFilters/NativeFiltersModal_spec.tsx => src/dashboard/components/nativeFilters/FiltersConfigModal/NativeFiltersModal.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.tsx => src/dashboard/components/resizable/ResizableContainer.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/resizable/ResizableHandle_spec.tsx => src/dashboard/components/resizable/ResizableHandle.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts => src}/dashboard/fixtures/mockNativeFilters.ts (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardFilters_spec.js => src/dashboard/reducers/dashboardFilters.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardLayout_spec.js => src/dashboard/reducers/dashboardLayout.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardState_spec.js => src/dashboard/reducers/dashboardState.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/sliceEntities_spec.js => src/dashboard/reducers/sliceEntities.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/componentIsResizable_spec.ts => src/dashboard/util/componentIsResizable.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/dnd-reorder_spec.js => src/dashboard/util/dnd-reorder.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/dropOverflowsParent_spec.js => src/dashboard/util/dropOverflowsParent.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findFirstParentContainer_spec.js => src/dashboard/util/findFirstParentContainer.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findParentId_spec.js => src/dashboard/util/findParentId.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findTabIndexByComponentId_spec.js => src/dashboard/util/findTabIndexByComponentId.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getChartAndLabelComponentIdFromPath_spec.js => src/dashboard/util/getChartAndLabelComponentIdFromPath.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getChartIdsFromLayout_spec.js => src/dashboard/util/getChartIdsFromLayout.test.js} (100%)
 create mode 100644 superset-frontend/src/dashboard/util/getDashboardUrl.test.js
 rename superset-frontend/{spec/javascripts/dashboard/util/getDetailedComponentWidth_spec.js => src/dashboard/util/getDetailedComponentWidth.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getDropPosition_spec.js => src/dashboard/util/getDropPosition.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getEffectiveExtraFilters_spec.js => src/dashboard/util/getEffectiveExtraFilters.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js => src/dashboard/util/getFilterConfigsFromFormdata.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getFilterScopeFromNodesTree_spec.js => src/dashboard/util/getFilterScopeFromNodesTree.test.js} (100%)
 create mode 100644 superset-frontend/src/dashboard/util/getFormDataWithExtraFilters.test.ts
 rename superset-frontend/{spec/javascripts/dashboard/util/getLeafComponentIdFromPath_spec.js => src/dashboard/util/getLeafComponentIdFromPath.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/isDashboardEmpty_spec.ts => src/dashboard/util/isDashboardEmpty.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/isValidChild_spec.ts => src/dashboard/util/isValidChild.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/newComponentFactory_spec.js => src/dashboard/util/newComponentFactory.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js => src/dashboard/util/newEntitiesFromDrop.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/updateComponentParentsList_spec.js => src/dashboard/util/updateComponentParentsList.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/exploreActions_spec.js => src/explore/actions/exploreActions.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ControlPanelsContainer_spec.tsx => src/explore/components/ControlPanelsContainer.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ControlRow_spec.tsx => src/explore/components/ControlRow.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/EmbedCodeButton_spec.jsx => src/explore/components/EmbedCodeButton.test.jsx} (100%)
 create mode 100644 superset-frontend/src/explore/components/ExploreActionButtons.test.jsx
 create mode 100644 superset-frontend/src/explore/components/ExploreAdditionalActionsMenu/ExploreAdditionalActionsMenu.test.jsx
 rename superset-frontend/{spec/javascripts/explore/components/ExploreChartPanel_spec.jsx => src/explore/components/ExploreChartPanel.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ExploreViewContainer_spec.jsx => src/explore/components/ExploreViewContainer.test.jsx} (100%)
 create mode 100644 superset-frontend/src/explore/components/ExportToCSVDropdown/ExportToCSVDropdown.test.tsx
 create mode 100644 superset-frontend/src/explore/components/ExportToCSVDropdown/index.tsx
 rename superset-frontend/{spec/javascripts/explore/components/QueryAndSaveBtns_spec.jsx => src/explore/components/QueryAndSaveBtns.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/RowCountLabel_spec.jsx => src/explore/components/RowCountLabel.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/SaveModal_spec.jsx => src/explore/components/SaveModal.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/BoundsControl_spec.jsx => src/explore/components/controls/BoundsControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/CheckboxControl_spec.tsx => src/explore/components/controls/CheckboxControl.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ColorPickerControl_spec.tsx => src/explore/components/controls/ColorPickerControl.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ColorScheme_spec.jsx => src/explore/components/controls/ColorSchemeControl/ColorScheme.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/DatasourceControl_spec.jsx => src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx => src/explore/components/controls/FilterBoxItemControl/FilterBoxItemControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/AdhocMetric_spec.js => src/explore/components/controls/MetricControl/AdhocMetric.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricEditPopover_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricEditPopover/AdhocMetricEditPopover.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricEditPopoverTitle_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricEditPopoverTitle.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricOption_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AggregateOption_spec.tsx => src/explore/components/controls/MetricControl/AggregateOption.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/FilterDefinitionOption_spec.jsx => src/explore/components/controls/MetricControl/FilterDefinitionOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricDefinitionOption_spec.jsx => src/explore/components/controls/MetricControl/MetricDefinitionOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricDefinitionValue_spec.jsx => src/explore/components/controls/MetricControl/MetricDefinitionValue.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricsControl_spec.jsx => src/explore/components/controls/MetricControl/MetricsControl.test.jsx} (100%)
 create mode 100644 superset-frontend/src/explore/components/controls/SelectControl.test.jsx
 rename superset-frontend/{spec/javascripts/explore/components/TextArea_spec.jsx => src/explore/components/controls/TextAreaControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ViewportControl_spec.jsx => src/explore/components/controls/ViewportControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/VizTypeControl_spec.jsx => src/explore/components/controls/VizTypeControl/VizTypeControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/withAsyncVerification_spec.tsx => src/explore/components/controls/withAsyncVerification.test.tsx} (100%)
 create mode 100644 superset-frontend/src/explore/controlUtils/controlUtils.test.tsx
 rename superset-frontend/{spec/javascripts/explore/utils_spec.jsx => src/explore/exploreUtils/exploreUtils.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts => src}/explore/fixtures.tsx (100%)
 rename superset-frontend/{spec/javascripts/explore/store_spec.jsx => src/explore/store.test.jsx} (100%)
 create mode 100644 superset-frontend/src/filters/components/Range/SingleValueType.ts
 rename superset-frontend/src/{common => }/hooks/apiResources/apiResources.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/apiResources.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/charts.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/dashboards.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/useChangeEffect.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/useChangeEffect.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/useComponentDidMount.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/useComponentDidMount.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/useComponentDidUpdate.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useElementOnScreen/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/usePrevious.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/usePrevious.ts (100%)
 create mode 100644 superset-frontend/src/hooks/useUrlShortener.ts
 create mode 100644 superset-frontend/src/utils/localStorageHelpers.test.ts
 delete mode 100644 superset-frontend/src/views/CRUD/storageKeys.ts
 rename superset-frontend/src/{components/Menu => views/components}/LanguagePicker.test.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/LanguagePicker.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/Menu.test.tsx (100%)
 create mode 100644 superset-frontend/src/views/components/Menu.tsx
 create mode 100644 superset-frontend/src/views/components/MenuRight.tsx
 rename superset-frontend/src/{components/Menu => views/components}/SubMenu.test.tsx (100%)
 create mode 100644 superset-frontend/src/views/components/SubMenu.tsx
 rename superset-frontend/{spec/javascripts/explore/components/FilterBox_spec.jsx => src/visualizations/FilterBox/FilterBox.test.jsx} (100%)
 delete mode 100644 superset-frontend/src/visualizations/TimeTable/SparklineCell.jsx
 create mode 100644 superset-frontend/src/visualizations/TimeTable/SparklineCell.tsx
 rename superset-frontend/src/visualizations/TimeTable/{TimeTableChartPlugin.js => TimeTableChartPlugin.ts} (100%)
 delete mode 100644 superset-frontend/src/visualizations/TimeTable/transformProps.js
 create mode 100644 superset-frontend/src/visualizations/TimeTable/transformProps.ts
 create mode 100644 superset-frontend/src/visualizations/TimeTable/types.d.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/CODEOWNERS
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/ISSUE_TEMPLATE/bug_report.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/ISSUE_TEMPLATE/feature_request.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/ISSUE_TEMPLATE/question.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/PULL_REQUEST_TEMPLATE.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/issue_label_bot.yaml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.github/semantic.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.gitignore
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.npmrc
 copy {superset-websocket/utils/client-ws-app => superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl}/.nvmrc (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/.travis.yml
 copy superset/static/.gitkeep => superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/CHANGELOG.md (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/LICENSE
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/commitlint.config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/lerna.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/Kepler.css
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/Kepler.jsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/KeplerChartPlugin.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/images/thumbnail.png
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/index.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/preset.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/store.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-legacy-preset-chart-kepler/src/transformProps.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/.storybook/addons.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/.storybook/config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/.storybook/storybook.css
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/.storybook/webpack.config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/storybook/shared/dummyDatasource.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/packages/superset-ui-plugins-demo/storybook/stories/index.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/scripts/buildAssets.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl/yarn.lock
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.eslintignore
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.eslintrc.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/CODEOWNERS
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/ISSUE_TEMPLATE/bug_report.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/ISSUE_TEMPLATE/feature_request.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/ISSUE_TEMPLATE/question.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/PULL_REQUEST_TEMPLATE.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/config.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/dependabot.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/issue_label_bot.yaml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/semantic.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/workflows/chromatic.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.github/workflows/ci.yml
 create mode 100755 superset-frontend/temporary_superset_ui/superset-ui/.github/workflows/codecov.sh
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.gitignore
 copy {superset-websocket/utils/client-ws-app => superset-frontend/temporary_superset_ui/superset-ui}/.nvmrc (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.prettierignore
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/.rat-excludes
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/CHANGELOG.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/CONTRIBUTING.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/LICENSE
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/babel.config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/codecov.yml
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/commitlint.config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/docs/debugging.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/docs/storybook.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/jest.config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/lerna.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/package-lock.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/package.json
 copy superset-frontend/{ => temporary_superset_ui/superset-ui}/prettier.config.js (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/ReactWordCloud.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/WordCloud.js
 copy superset-frontend/{src/assets/images/viz_thumbnails/word_cloud.png => temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/images/thumbnail.png} (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/images/thumbnailLarge.png
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/index.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-legacy-plugin-chart-word-cloud/src/transformProps.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/Table.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/TableFormData.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/buildQuery.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/components/HTMLRenderer.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/createMetadata.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/getRenderer.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/images/thumbnail.png
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/index.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/legacy/index.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/legacy/transformProps.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/processColumns.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/processData.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/processMetrics.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/transformProps.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/src/types.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/test/buildQuery.test.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/test/processData.test.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/test/processMetrics.test.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/hold-potentially-deprecate/superset-ui-plugin-chart-table/types/external.d.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/ChoroplethMap.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/Encoder.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/MapMetadata.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/MapTooltip.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/Projection.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/components.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/chart/loadMap.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/configureEncodable.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/images/thumbnail.png
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/index.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/belgium-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/brazil-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/bulgaria-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/canada-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/china-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/france-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/germany-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/index.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/india-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/iran-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/italy-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/japan-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/korea-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/liechtenstein-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/morocco-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/myanmar-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/netherlands-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/portugal-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/russia-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/singapore-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/spain-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/switzerland-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/thailand-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/timorleste-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/uk-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/ukraine-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/usa-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/world-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/maps/zambia-topo.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/plugin/index.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/plugin/transformProps.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/src/types.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/stories/ChoroplethMap.stories.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/stories/generateFakeMapData.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/stories/useFakeMapData.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/test/index.test.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/test/tsconfig.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/tsconfig.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/plugin-chart-choropleth-map/types/external.d.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/setupJest.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/.storybook/addons.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/.storybook/config.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/.storybook/storybook.css
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/README.md
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/package.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-word-cloud/Stories.tsx
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-word-cloud/data.js
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/temporary-plugins/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-word-cloud/index.js
 copy superset-frontend/{spec => temporary_superset_ui/superset-ui/test}/__mocks__/mockExportObject.js (100%)
 copy superset-frontend/{spec => temporary_superset_ui/superset-ui/test}/__mocks__/mockExportString.js (100%)
 copy superset-frontend/{spec => temporary_superset_ui/superset-ui/test}/__mocks__/svgrMock.tsx (100%)
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/test/setup.ts
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/tsconfig.eslint.json
 create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/tsconfig.json
 copy {tests/unit_tests/common => superset/dashboards/filter_state}/__init__.py (100%)
 create mode 100644 superset/dashboards/filter_state/api.py
 copy {tests/unit_tests/common => superset/dashboards/filter_state/commands}/__init__.py (100%)
 create mode 100644 superset/dashboards/filter_state/commands/create.py
 create mode 100644 superset/dashboards/filter_state/commands/delete.py
 create mode 100644 superset/dashboards/filter_state/commands/entry.py
 create mode 100644 superset/dashboards/filter_state/commands/get.py
 create mode 100644 superset/dashboards/filter_state/commands/update.py
 create mode 100644 superset/db_engine_specs/kusto.py
 copy {tests/unit_tests/common => superset/key_value}/__init__.py (100%)
 create mode 100644 superset/key_value/api.py
 copy {tests/unit_tests/common => superset/key_value/commands}/__init__.py (100%)
 create mode 100644 superset/key_value/commands/create.py
 create mode 100644 superset/key_value/commands/delete.py
 create mode 100644 superset/key_value/commands/exceptions.py
 create mode 100644 superset/key_value/commands/get.py
 create mode 100644 superset/key_value/commands/update.py
 create mode 100644 superset/key_value/schemas.py
 create mode 100644 superset/key_value/utils.py
 create mode 100644 superset/migrations/versions/31bb738bd1d2_move_pivot_table_v2_legacy_order_by_to_.py
 create mode 100644 superset/migrations/versions/3ba29ecbaac5_change_datatype_of_type_in_basecolumn.py
 create mode 100644 superset/migrations/versions/abe27eaf93db_add_extra_config_column_to_alerts.py
 create mode 100644 superset/migrations/versions/bb38f40aa3ff_add_force_screenshot_to_alerts_reports.py
 create mode 100644 superset/migrations/versions/fe23025b9441_rename_big_viz_total_form_data_fields.py
 create mode 100644 tests/common/example_data_generator/__init__.py
 create mode 100644 tests/common/example_data_generator/base_generator.py
 create mode 100644 tests/common/example_data_generator/birth_names/__init__.py
 create mode 100644 tests/common/example_data_generator/birth_names/birth_names_generator.py
 create mode 100644 tests/common/example_data_generator/birth_names/birth_names_generator_factory.py
 create mode 100644 tests/common/example_data_generator/consts.py
 create mode 100644 tests/common/example_data_generator/string_generator.py
 create mode 100644 tests/common/example_data_generator/string_generator_factory.py
 create mode 100644 tests/common/example_data_generator/tests/__init__.py
 create mode 100644 tests/common/example_data_generator/tests/test_string_generator.py
 copy tests/{unit_tests/common => integration_tests/dashboards/filter_state}/__init__.py (100%)
 create mode 100644 tests/integration_tests/dashboards/filter_state/api_tests.py
 delete mode 100644 tests/integration_tests/dataframe_test.py
 delete mode 100644 tests/integration_tests/db_engine_specs/athena_tests.py
 delete mode 100644 tests/integration_tests/feature_flag_tests.py
 create mode 100644 tests/integration_tests/fixtures/tabbed_dashboard.py
 delete mode 100644 tests/integration_tests/sql_parse_tests.py
 copy tests/unit_tests/{common => dashboards}/__init__.py (100%)
 copy tests/unit_tests/{common => dashboards/commands}/__init__.py (100%)
 copy tests/unit_tests/{common => dashboards/commands/importers}/__init__.py (100%)
 copy tests/unit_tests/{common => dashboards/commands/importers/v1}/__init__.py (100%)
 create mode 100644 tests/unit_tests/dashboards/commands/importers/v1/utils_test.py
 create mode 100644 tests/unit_tests/dataframe_test.py
 copy tests/unit_tests/{common => datasets}/__init__.py (100%)
 copy tests/unit_tests/{common => datasets/commands}/__init__.py (100%)
 create mode 100644 tests/unit_tests/datasets/commands/export_test.py
 copy tests/unit_tests/{common => datasets/commands/importers}/__init__.py (100%)
 copy tests/unit_tests/{common => datasets/commands/importers/v1}/__init__.py (100%)
 create mode 100644 tests/unit_tests/datasets/commands/importers/v1/import_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_athena.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_base.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_kusto.py
 create mode 100644 tests/unit_tests/feature_flag_test.py
 create mode 100644 tests/unit_tests/fixtures/common.py

[superset] 02/18: refactor progress (#16339)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 18aa2f61697c3816adb90790c32b919a18610c04
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Thu Aug 19 12:19:33 2021 -0500

    refactor progress (#16339)
---
 .../HeaderReportActionsDropdown/index.tsx          | 97 +++++++++++++---------
 .../src/components/ReportModal/index.tsx           | 19 +++--
 .../src/dashboard/components/Header/index.jsx      | 17 ++--
 superset-frontend/src/reports/actions/reports.js   |  4 +-
 4 files changed, 74 insertions(+), 63 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 4d9ceb8..bbc30c8 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -26,6 +26,7 @@ import { Menu, NoAnimationDropdown } from 'src/common/components';
 import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 
 import DeleteModal from 'src/components/DeleteModal';
+import ReportModal from 'src/components/ReportModal';
 import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
 
 const deleteColor = (theme: SupersetTheme) => css`
@@ -33,13 +34,13 @@ const deleteColor = (theme: SupersetTheme) => css`
 `;
 
 export default function HeaderReportActionsDropDown({
-  showReportModal,
   toggleActive,
   deleteActiveReport,
+  dashboardId,
 }: {
-  showReportModal: () => void;
   toggleActive: (data: AlertObject, checked: boolean) => void;
   deleteActiveReport: (data: AlertObject) => void;
+  dashboardId?: number;
 }) {
   const reports: Record<number, AlertObject> = useSelector<any, AlertObject>(
     state => state.reports,
@@ -55,6 +56,7 @@ export default function HeaderReportActionsDropDown({
     setCurrentReportDeleting,
   ] = useState<AlertObject | null>(null);
   const theme = useTheme();
+  const [showModal, setShowModal] = useState(false);
 
   const toggleActiveKey = async (data: AlertObject, checked: boolean) => {
     if (data?.id) {
@@ -96,7 +98,9 @@ export default function HeaderReportActionsDropDown({
           css={{ marginLeft: theme.gridUnit * 2 }}
         />
       </Menu.Item>
-      <Menu.Item onClick={showReportModal}>{t('Edit email report')}</Menu.Item>
+      <Menu.Item onClick={() => setShowModal(true)}>
+        {t('Edit email report')}
+      </Menu.Item>
       <Menu.Item
         onClick={() => setCurrentReportDeleting(report)}
         css={deleteColor}
@@ -106,48 +110,59 @@ export default function HeaderReportActionsDropDown({
     </Menu>
   );
 
-  return canAddReports() ? (
-    report ? (
+  return (
+    canAddReports() && (
       <>
-        <NoAnimationDropdown
-          // ref={ref}
-          overlay={menu()}
-          trigger={['click']}
-          getPopupContainer={(triggerNode: any) =>
-            triggerNode.closest('.action-button')
-          }
-        >
-          <span role="button" className="action-button" tabIndex={0}>
+        <ReportModal
+          show={showModal}
+          onHide={() => setShowModal(false)}
+          userId={user.userId}
+          userEmail={user.email}
+          dashboardId={dashboardId}
+        />
+        {report ? (
+          <>
+            <NoAnimationDropdown
+              // ref={ref}
+              overlay={menu()}
+              trigger={['click']}
+              getPopupContainer={(triggerNode: any) =>
+                triggerNode.closest('.action-button')
+              }
+            >
+              <span role="button" className="action-button" tabIndex={0}>
+                <Icons.Calendar />
+              </span>
+            </NoAnimationDropdown>
+            {currentReportDeleting && (
+              <DeleteModal
+                description={t(
+                  'This action will permanently delete %s.',
+                  currentReportDeleting.name,
+                )}
+                onConfirm={() => {
+                  if (currentReportDeleting) {
+                    handleReportDelete(currentReportDeleting);
+                  }
+                }}
+                onHide={() => setCurrentReportDeleting(null)}
+                open
+                title={t('Delete Report?')}
+              />
+            )}
+          </>
+        ) : (
+          <span
+            role="button"
+            title={t('Schedule email report')}
+            tabIndex={0}
+            className="action-button"
+            onClick={() => setShowModal(true)}
+          >
             <Icons.Calendar />
           </span>
-        </NoAnimationDropdown>
-        {currentReportDeleting && (
-          <DeleteModal
-            description={t(
-              'This action will permanently delete %s.',
-              currentReportDeleting.name,
-            )}
-            onConfirm={() => {
-              if (currentReportDeleting) {
-                handleReportDelete(currentReportDeleting);
-              }
-            }}
-            onHide={() => setCurrentReportDeleting(null)}
-            open
-            title={t('Delete Report?')}
-          />
         )}
       </>
-    ) : (
-      <span
-        role="button"
-        title={t('Schedule email report')}
-        tabIndex={0}
-        className="action-button"
-        onClick={showReportModal}
-      >
-        <Icons.Calendar />
-      </span>
     )
-  ) : null;
+  );
 }
diff --git a/superset-frontend/src/components/ReportModal/index.tsx b/superset-frontend/src/components/ReportModal/index.tsx
index 240d317..79c2e19 100644
--- a/superset-frontend/src/components/ReportModal/index.tsx
+++ b/superset-frontend/src/components/ReportModal/index.tsx
@@ -98,7 +98,6 @@ interface ReportProps {
   userEmail: string;
   dashboardId?: number;
   chart?: ChartObject;
-  creationMethod: string;
   props: any;
 }
 
@@ -182,10 +181,14 @@ const ReportModal: FunctionComponent<ReportProps> = ({
   onReportAdd,
   onHide,
   show = false,
+  dashboardId,
+  chart,
+  userId,
+  userEmail,
   ...props
 }) => {
-  const vizType = props.props.chart?.sliceFormData?.viz_type;
-  const isChart = !!props.props.chart;
+  const vizType = chart?.sliceFormData?.viz_type;
+  const isChart = !!chart;
   const defaultNotificationFormat =
     isChart && TEXT_BASED_VISUALIZATION_TYPES.includes(vizType)
       ? NOTIFICATION_FORMATS.TEXT
@@ -221,19 +224,19 @@ const ReportModal: FunctionComponent<ReportProps> = ({
     // Create new Report
     const newReportValues: Partial<ReportObject> = {
       crontab: currentReport?.crontab,
-      dashboard: props.props.dashboardId,
-      chart: props.props.chart?.id,
+      dashboard: dashboardId,
+      chart: chart?.id,
       description: currentReport?.description,
       name: currentReport?.name,
-      owners: [props.props.userId],
+      owners: [userId],
       recipients: [
         {
-          recipient_config_json: { target: props.props.userEmail },
+          recipient_config_json: { target: userEmail },
           type: 'Email',
         },
       ],
       type: 'Report',
-      creation_method: props.props.creationMethod,
+      creation_method: dashboardId ? 'dashboards' : 'charts',
       active: true,
       report_format: currentReport?.report_format || defaultNotificationFormat,
       timezone: currentReport?.timezone,
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 516359a..00feb09 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -163,8 +163,6 @@ class Header extends React.PureComponent {
     this.overwriteDashboard = this.overwriteDashboard.bind(this);
     this.showPropertiesModal = this.showPropertiesModal.bind(this);
     this.hidePropertiesModal = this.hidePropertiesModal.bind(this);
-    this.showReportModal = this.showReportModal.bind(this);
-    this.hideReportModal = this.hideReportModal.bind(this);
   }
 
   componentDidMount() {
@@ -178,7 +176,6 @@ class Header extends React.PureComponent {
           'dashboard_id',
           'dashboards',
           dashboardInfo.id,
-          user.email,
         );
       }
     }
@@ -215,8 +212,12 @@ class Header extends React.PureComponent {
         user?.userId,
         'dashboard_id',
         'dashboards',
+<<<<<<< HEAD
         nextProps?.dashboardInfo?.id,
         user?.email,
+=======
+        nextProps.dashboardInfo.id,
+>>>>>>> refactor progress (#16339)
       );
     }
   }
@@ -402,14 +403,6 @@ class Header extends React.PureComponent {
     this.setState({ showingPropertiesModal: false });
   }
 
-  showReportModal() {
-    this.setState({ showingReportModal: true });
-  }
-
-  hideReportModal() {
-    this.setState({ showingReportModal: false });
-  }
-
   canAddReports() {
     if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
       return false;
@@ -596,9 +589,9 @@ class Header extends React.PureComponent {
                 </span>
               )}
               <HeaderReportActionsDropdown
-                showReportModal={this.showReportModal}
                 toggleActive={this.props.toggleActive}
                 deleteActiveReport={this.props.deleteActiveReport}
+                dashboardId={dashboardInfo.id}
               />
             </>
           )}
diff --git a/superset-frontend/src/reports/actions/reports.js b/superset-frontend/src/reports/actions/reports.js
index 8f23e28..26a1631 100644
--- a/superset-frontend/src/reports/actions/reports.js
+++ b/superset-frontend/src/reports/actions/reports.js
@@ -33,14 +33,14 @@ export function fetchUISpecificReport(
   userId,
   filter_field,
   creation_method,
-  dashboardId,
+  resourceId,
 ) {
   const queryParams = rison.encode({
     filters: [
       {
         col: filter_field,
         opr: 'eq',
-        value: dashboardId,
+        value: resourceId,
       },
       {
         col: 'creation_method',

[superset] 17/18: fix(explore): Metric control breaks when saved metric deleted from dataset (#17503)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 7e4a9e166b84f0b2a28c5696d6cc9503977cf06f
Author: Kamil Gabryjelski <ka...@gmail.com>
AuthorDate: Wed Nov 24 13:06:11 2021 +0100

    fix(explore): Metric control breaks when saved metric deleted from dataset (#17503)
---
 .../HeaderReportActionsDropdown/index.tsx          | 20 +++++++----
 .../src/components/ReportModal/index.tsx           |  4 +++
 .../src/dashboard/components/Header/index.jsx      |  7 ++++
 .../components/ExploreChartHeader/index.jsx        | 39 ++++++++++------------
 superset-frontend/src/reports/reducers/reports.js  | 20 ++++++-----
 5 files changed, 53 insertions(+), 37 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index f558010..b9de984 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -46,15 +46,21 @@ export default function HeaderReportActionsDropDown({
   chart?: ChartState;
 }) {
   const dispatch = useDispatch();
-  const reports: Record<number, AlertObject> = useSelector<any, AlertObject>(
-    state => state.reports,
-  );
-  const report: AlertObject = Object.values(reports).filter(report => {
+  const report: AlertObject = useSelector<any, AlertObject>(state => {
     if (dashboardId) {
-      return report.dashboard_id === dashboardId;
+      return state.reports.dashboards?.[dashboardId];
+    }
+    if (chart?.id) {
+      return state.reports.charts?.[chart.id];
     }
-    return report.chart_id === chart?.id;
-  })[0];
+    return {};
+  });
+  // const report: ReportObject = Object.values(reports).filter(report => {
+  //   if (dashboardId) {
+  //     return report.dashboards?.[dashboardId];
+  //   }
+  //   // return report.charts?.[chart?.id]
+  // })[0];
 
   const user: UserWithPermissionsAndRoles = useSelector<
     any,
diff --git a/superset-frontend/src/components/ReportModal/index.tsx b/superset-frontend/src/components/ReportModal/index.tsx
index 33feb11..79f471c 100644
--- a/superset-frontend/src/components/ReportModal/index.tsx
+++ b/superset-frontend/src/components/ReportModal/index.tsx
@@ -84,7 +84,11 @@ interface ReportProps {
   userEmail: string;
   dashboardId?: number;
   chart?: ChartState;
+<<<<<<< HEAD
   props?: any;
+=======
+  props: any;
+>>>>>>> be2e1ecf6... code dry (#16358)
 }
 
 interface ReportPayloadType {
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 57e61d1..a1cdf01 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -167,6 +167,13 @@ class Header extends React.PureComponent {
     this.startPeriodicRender(refreshFrequency * 1000);
   }
 
+  componentDidUpdate(prevProps) {
+    if (this.props.refreshFrequency !== prevProps.refreshFrequency) {
+      const { refreshFrequency } = this.props;
+      this.startPeriodicRender(refreshFrequency * 1000);
+    }
+  }
+
   UNSAFE_componentWillReceiveProps(nextProps) {
     if (
       UNDO_LIMIT - nextProps.undoLength <= 0 &&
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index d77b97b..656d2db 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -124,31 +124,26 @@ export class ExploreChartHeader extends React.PureComponent {
 
   async fetchChartDashboardData() {
     const { dashboardId, slice } = this.props;
-    await SupersetClient.get({
+    const response = await SupersetClient.get({
       endpoint: `/api/v1/chart/${slice.slice_id}`,
-    })
-      .then(res => {
-        const response = res?.json?.result;
-        if (response && response.dashboards && response.dashboards.length) {
-          const { dashboards } = response;
-          const dashboard =
-            dashboardId &&
-            dashboards.length &&
-            dashboards.find(d => d.id === dashboardId);
+    });
+    const chart = response.json.result;
+    const dashboards = chart.dashboards || [];
+    const dashboard =
+      dashboardId &&
+      dashboards.length &&
+      dashboards.find(d => d.id === dashboardId);
 
-          if (dashboard && dashboard.json_metadata) {
-            // setting the chart to use the dashboard custom label colors if any
-            const labelColors =
-              JSON.parse(dashboard.json_metadata).label_colors || {};
-            const categoricalNamespace = CategoricalColorNamespace.getNamespace();
+    if (dashboard && dashboard.json_metadata) {
+      // setting the chart to use the dashboard custom label colors if any
+      const labelColors =
+        JSON.parse(dashboard.json_metadata).label_colors || {};
+      const categoricalNamespace = CategoricalColorNamespace.getNamespace();
 
-            Object.keys(labelColors).forEach(label => {
-              categoricalNamespace.setColor(label, labelColors[label]);
-            });
-          }
-        }
-      })
-      .catch(() => {});
+      Object.keys(labelColors).forEach(label => {
+        categoricalNamespace.setColor(label, labelColors[label]);
+      });
+    }
   }
 
   getSliceName() {
diff --git a/superset-frontend/src/reports/reducers/reports.js b/superset-frontend/src/reports/reducers/reports.js
index de23f57..a18d72e 100644
--- a/superset-frontend/src/reports/reducers/reports.js
+++ b/superset-frontend/src/reports/reducers/reports.js
@@ -43,14 +43,13 @@ export default function reportsReducer(state = {}, action) {
     [SET_REPORT]() {
       // Grabs the first report with a dashboard id that
       // matches the parameter report's dashboard_id
-      const reportWithDashboard = action.report.result.find(
+      const reportWithDashboard = action.report.result?.find(
         report => !!report.dashboard_id,
       );
-
       // Grabs the first report with a chart id that
       // matches the parameter report's chart.id
-      const reportWithChart = action.report.result.find(
-        report => !!report.chart.id,
+      const reportWithChart = action.report.result?.find(
+        report => !!report.chart?.id,
       );
 
       // This organizes report by its type, dashboard or chart
@@ -64,12 +63,17 @@ export default function reportsReducer(state = {}, action) {
           },
         };
       }
+      if (reportWithChart) {
+        return {
+          ...state,
+          charts: {
+            ...state.chart,
+            [reportWithChart.chart.id]: reportWithChart,
+          },
+        };
+      }
       return {
         ...state,
-        charts: {
-          ...state.chart,
-          [reportWithChart.chart.id]: reportWithChart,
-        },
       };
     },
 

[superset] 15/18: fix(Explore): Remove changes to the properties on cancel (#17184)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit c2ded1ac6306a68fb5e84ea41e4e489b68ed0f4b
Author: Geido <60...@users.noreply.github.com>
AuthorDate: Tue Nov 2 19:27:56 2021 +0200

    fix(Explore): Remove changes to the properties on cancel (#17184)
    
    * Remove on close
    
    * Fix lint
    
    * Add tests
---
 .../ExploreChartHeader/ExploreChartHeader.test.tsx           | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/ExploreChartHeader.test.tsx b/superset-frontend/src/explore/components/ExploreChartHeader/ExploreChartHeader.test.tsx
index 2033d33..702498d 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/ExploreChartHeader.test.tsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/ExploreChartHeader.test.tsx
@@ -21,8 +21,12 @@ import React from 'react';
 import { Slice } from 'src/types/Chart';
 import { render, screen } from 'spec/helpers/testing-library';
 import userEvent from '@testing-library/user-event';
+
+import fetchMock from 'fetch-mock';
 import ExploreHeader from '.';
 
+fetchMock.get('http://localhost/api/v1/chart/318', {});
+
 const createProps = () => ({
   chart: {
     latestQueryFormData: {
@@ -45,7 +49,11 @@ const createProps = () => ({
     },
     chartStatus: 'rendered',
   },
+<<<<<<< HEAD
   slice: {
+=======
+  slice: ({
+>>>>>>> fix(Explore): Remove changes to the properties on cancel (#17184)
     cache_timeout: null,
     changed_on: '2021-03-19T16:30:56.750230',
     changed_on_humanized: '7 days ago',
@@ -82,7 +90,11 @@ const createProps = () => ({
     slice_id: 318,
     slice_name: 'Age distribution of respondents',
     slice_url: '/superset/explore/?form_data=%7B%22slice_id%22%3A%20318%7D',
+<<<<<<< HEAD
   } as unknown as Slice,
+=======
+  } as unknown) as Slice,
+>>>>>>> fix(Explore): Remove changes to the properties on cancel (#17184)
   slice_name: 'Age distribution of respondents',
   actions: {
     postChartFormData: () => null,

[superset] 05/18: Fetch bug fixed (#16376)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 9b6b6e1d72bb260a21404bb40d3dcae3819d4ef6
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Fri Aug 20 12:51:29 2021 -0500

    Fetch bug fixed (#16376)
---
 .../HeaderReportActionsDropdown/index.tsx          |  1 +
 .../dashboard/components/Header/Header.test.tsx    |  1 -
 .../src/dashboard/components/Header/index.jsx      |  1 -
 .../components/ExploreChartHeader/index.jsx        |  8 ++------
 superset-frontend/src/reports/actions/reports.js   | 24 +++++++++++-----------
 5 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index cf2ae7f..6e42b07 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -55,6 +55,7 @@ export default function HeaderReportActionsDropDown({
   >(state => state.user || state.explore?.user);
   const reportsIds = Object.keys(reports || []);
   const report: AlertObject = reports?.[reportsIds[0]];
+  console.log(report);
   const [
     currentReportDeleting,
     setCurrentReportDeleting,
diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
index 1a7ae85..ea94ace 100644
--- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx
+++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
@@ -57,7 +57,6 @@ const createProps = () => ({
   dashboardTitle: 'Dashboard Title',
   charts: {},
   layout: {},
-  reports: {},
   expandedSlices: {},
   css: '',
   customCss: '',
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 61d7570..2137d90 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -74,7 +74,6 @@ const propTypes = {
   onChange: PropTypes.func.isRequired,
   fetchFaveStar: PropTypes.func.isRequired,
   fetchCharts: PropTypes.func.isRequired,
-  fetchUISpecificReport: PropTypes.func.isRequired,
   saveFaveStar: PropTypes.func.isRequired,
   savePublished: PropTypes.func.isRequired,
   updateDashboardTitle: PropTypes.func.isRequired,
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index 104b1a6..83d1b16 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -28,11 +28,7 @@ import {
   t,
 } from '@superset-ui/core';
 import { Tooltip } from 'src/components/Tooltip';
-import {
-  fetchUISpecificReport,
-  toggleActive,
-  deleteActiveReport,
-} from 'src/reports/actions/reports';
+import { toggleActive, deleteActiveReport } from 'src/reports/actions/reports';
 import HeaderReportActionsDropdown from 'src/components/ReportModal/HeaderReportActionsDropdown';
 import { chartPropShape } from 'src/dashboard/util/propShapes';
 import EditableTitle from 'src/components/EditableTitle';
@@ -308,7 +304,7 @@ ExploreChartHeader.propTypes = propTypes;
 
 function mapDispatchToProps(dispatch) {
   return bindActionCreators(
-    { sliceUpdated, fetchUISpecificReport, toggleActive, deleteActiveReport },
+    { sliceUpdated, toggleActive, deleteActiveReport },
     dispatch,
   );
 }
diff --git a/superset-frontend/src/reports/actions/reports.js b/superset-frontend/src/reports/actions/reports.js
index cdf9102..669c720 100644
--- a/superset-frontend/src/reports/actions/reports.js
+++ b/superset-frontend/src/reports/actions/reports.js
@@ -78,22 +78,22 @@ const structureFetchAction = (dispatch, getState) => {
   const { user, dashboardInfo, charts, explore } = state;
   if (dashboardInfo) {
     dispatch(
-      fetchUISpecificReport(
-        user.userId,
-        'dashboard_id',
-        'dashboards',
-        dashboardInfo.id,
-      ),
+      fetchUISpecificReport({
+        userId: user.userId,
+        filterField: 'dashboard_id',
+        creationMethod: 'dashboards',
+        resourceId: dashboardInfo.id,
+      }),
     );
   } else {
     const [chartArr] = Object.keys(charts);
     dispatch(
-      fetchUISpecificReport(
-        explore.user.userId,
-        'chart_id',
-        'charts',
-        charts[chartArr].id,
-      ),
+      fetchUISpecificReport({
+        userId: explore.user.userId,
+        filterField: 'chart_id',
+        creationMethod: 'charts',
+        resourceId: charts[chartArr].id,
+      }),
     );
   }
 };

[superset] 11/18: Fetch bug fixed (#16376)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 07c487a1c7e74ab87f419565f7787483c13ee4bc
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Fri Aug 20 12:51:29 2021 -0500

    Fetch bug fixed (#16376)
---
 .../components/ReportModal/HeaderReportActionsDropdown/index.tsx    | 1 +
 superset-frontend/src/dashboard/components/Header/Header.test.tsx   | 1 -
 .../src/explore/components/ExploreChartHeader/index.jsx             | 6 +-----
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index f9fdca0..5c46798 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -55,6 +55,7 @@ export default function HeaderReportActionsDropDown({
   >(state => state.user || state.explore?.user);
   const reportsIds = Object.keys(reports || []);
   const report: AlertObject = reports?.[reportsIds[0]];
+  console.log(report);
   const [
     currentReportDeleting,
     setCurrentReportDeleting,
diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
index 1a7ae85..ea94ace 100644
--- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx
+++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
@@ -57,7 +57,6 @@ const createProps = () => ({
   dashboardTitle: 'Dashboard Title',
   charts: {},
   layout: {},
-  reports: {},
   expandedSlices: {},
   css: '',
   customCss: '',
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index 2d1ecf3..d77b97b 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -29,11 +29,7 @@ import {
   t,
 } from '@superset-ui/core';
 import { Tooltip } from 'src/components/Tooltip';
-import {
-  fetchUISpecificReport,
-  toggleActive,
-  deleteActiveReport,
-} from 'src/reports/actions/reports';
+import { toggleActive, deleteActiveReport } from 'src/reports/actions/reports';
 import HeaderReportActionsDropdown from 'src/components/ReportModal/HeaderReportActionsDropdown';
 import { chartPropShape } from 'src/dashboard/util/propShapes';
 import EditableTitle from 'src/components/EditableTitle';

[superset] 10/18: code dry (#16358)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 95a6e3204f660ebecf9d060bef5750367f3b3ed3
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Fri Aug 20 13:09:40 2021 -0400

    code dry (#16358)
---
 .../ReportModal/HeaderReportActionsDropdown/index.tsx         |  2 +-
 superset-frontend/src/dashboard/components/Header/index.jsx   | 11 -----------
 .../src/explore/components/ExploreChartHeader/index.jsx       |  7 +++++--
 3 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index aa03727..f9fdca0 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -27,8 +27,8 @@ import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 import DeleteModal from 'src/components/DeleteModal';
 import ReportModal from 'src/components/ReportModal';
 import { ChartState } from 'src/explore/types';
-import { fetchUISpecificReport } from 'src/reports/actions/reports';
 import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
+import { fetchUISpecificReport } from 'src/reports/actions/reports';
 
 const deleteColor = (theme: SupersetTheme) => css`
   color: ${theme.colors.error.base};
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 3d9eaf8..64f353d 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -165,17 +165,6 @@ class Header extends React.PureComponent {
   componentDidMount() {
     const { refreshFrequency } = this.props;
     this.startPeriodicRender(refreshFrequency * 1000);
-    if (this.canAddReports()) {
-      // this is in case there is an anonymous user.
-      if (Object.entries(dashboardInfo).length) {
-        this.props.fetchUISpecificReport(
-          user.userId,
-          'dashboard_id',
-          'dashboards',
-          dashboardInfo.id,
-        );
-      }
-    }
   }
 
   componentDidUpdate(prevProps) {
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index 6a1764f..2d1ecf3 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -22,7 +22,6 @@ import { bindActionCreators } from 'redux';
 import PropTypes from 'prop-types';
 import Icons from 'src/components/Icons';
 import { Tooltip } from 'src/components/Tooltip';
-import ReportModal from 'src/components/ReportModal';
 import {
   CategoricalColorNamespace,
   SupersetClient,
@@ -30,7 +29,11 @@ import {
   t,
 } from '@superset-ui/core';
 import { Tooltip } from 'src/components/Tooltip';
-import { toggleActive, deleteActiveReport } from 'src/reports/actions/reports';
+import {
+  fetchUISpecificReport,
+  toggleActive,
+  deleteActiveReport,
+} from 'src/reports/actions/reports';
 import HeaderReportActionsDropdown from 'src/components/ReportModal/HeaderReportActionsDropdown';
 import { chartPropShape } from 'src/dashboard/util/propShapes';
 import EditableTitle from 'src/components/EditableTitle';

[superset] 03/18: fix: Header Actions test refactor (#16336)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit d3804934244df79c5a8e959138b7bf5b93777244
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Thu Aug 19 13:23:42 2021 -0400

    fix: Header Actions test refactor (#16336)
    
    * fixed tests
    
    * Update index.tsx
    
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
---
 .../src/components/ReportModal/HeaderReportActionsDropdown/index.tsx  | 4 ++--
 superset-frontend/src/dashboard/components/Header/Header.test.tsx     | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index bbc30c8..026a262 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -49,8 +49,8 @@ export default function HeaderReportActionsDropDown({
     any,
     UserWithPermissionsAndRoles
   >(state => state.user || state.explore?.user);
-  const reportsIds = Object.keys(reports);
-  const report: AlertObject = reports[reportsIds[0]];
+  const reportsIds = Object.keys(reports || []);
+  const report: AlertObject = reports?.[reportsIds[0]];
   const [
     currentReportDeleting,
     setCurrentReportDeleting,
diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
index ea94ace..1a7ae85 100644
--- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx
+++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
@@ -57,6 +57,7 @@ const createProps = () => ({
   dashboardTitle: 'Dashboard Title',
   charts: {},
   layout: {},
+  reports: {},
   expandedSlices: {},
   css: '',
   customCss: '',

[superset] 12/18: continued refactoring (#16377)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 815321e2ea1e16ae699af2fdbda7ba2d9c322135
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Fri Aug 20 18:04:57 2021 -0400

    continued refactoring (#16377)
---
 .../src/components/ReportModal/HeaderReportActionsDropdown/index.tsx     | 1 -
 1 file changed, 1 deletion(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 5c46798..f9fdca0 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -55,7 +55,6 @@ export default function HeaderReportActionsDropDown({
   >(state => state.user || state.explore?.user);
   const reportsIds = Object.keys(reports || []);
   const report: AlertObject = reports?.[reportsIds[0]];
-  console.log(report);
   const [
     currentReportDeleting,
     setCurrentReportDeleting,

[superset] 07/18: pexdax refactor (#16333)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit f180e58b9f299a4e8892809375dba01e39ada09f
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Wed Aug 18 15:58:10 2021 -0400

    pexdax refactor (#16333)
---
 .../HeaderReportActionsDropdown/index.tsx          |  2 +-
 .../src/dashboard/components/Header/index.jsx      | 60 +++++++++++-----------
 .../components/ExploreChartHeader/index.jsx        |  2 +
 3 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index f9fdca0..aa03727 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -27,8 +27,8 @@ import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 import DeleteModal from 'src/components/DeleteModal';
 import ReportModal from 'src/components/ReportModal';
 import { ChartState } from 'src/explore/types';
-import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
 import { fetchUISpecificReport } from 'src/reports/actions/reports';
+import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
 
 const deleteColor = (theme: SupersetTheme) => css`
   color: ${theme.colors.error.base};
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 2137d90..a1975ed 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -160,6 +160,8 @@ class Header extends React.PureComponent {
     this.overwriteDashboard = this.overwriteDashboard.bind(this);
     this.showPropertiesModal = this.showPropertiesModal.bind(this);
     this.hidePropertiesModal = this.hidePropertiesModal.bind(this);
+    this.showReportModal = this.showReportModal.bind(this);
+    this.hideReportModal = this.hideReportModal.bind(this);
   }
 
   componentDidMount() {
@@ -382,27 +384,6 @@ class Header extends React.PureComponent {
     this.setState({ showingPropertiesModal: false });
   }
 
-<<<<<<< HEAD
-  canAddReports() {
-    if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
-      return false;
-    }
-    const { user } = this.props;
-    if (!user?.userId) {
-      // this is in the case that there is an anonymous user.
-      return false;
-    }
-    const roles = Object.keys(user.roles || []);
-    const permissions = roles.map(key =>
-      user.roles[key].filter(
-        perms => perms[0] === 'menu_access' && perms[1] === 'Manage',
-      ),
-    );
-    return permissions[0].length > 0;
-  }
-
-=======
->>>>>>> code dry (#16358)
   render() {
     const {
       dashboardTitle,
@@ -578,16 +559,33 @@ class Header extends React.PureComponent {
             </>
           )}
 
-          <PropertiesModal
-            dashboardId={dashboardInfo.id}
-            dashboardInfo={dashboardInfo}
-            dashboardTitle={dashboardTitle}
-            show={this.state.showingPropertiesModal}
-            onHide={this.hidePropertiesModal}
-            colorScheme={this.props.colorScheme}
-            onSubmit={handleOnPropertiesChange}
-            onlyApply
-          />
+          {this.state.showingPropertiesModal && (
+            <PropertiesModal
+              dashboardId={dashboardInfo.id}
+              show={this.state.showingPropertiesModal}
+              onHide={this.hidePropertiesModal}
+              colorScheme={this.props.colorScheme}
+              onSubmit={updates => {
+                const {
+                  dashboardInfoChanged,
+                  dashboardTitleChanged,
+                } = this.props;
+                dashboardInfoChanged({
+                  slug: updates.slug,
+                  metadata: JSON.parse(updates.jsonMetadata),
+                });
+                setColorSchemeAndUnsavedChanges(updates.colorScheme);
+                dashboardTitleChanged(updates.title);
+                if (updates.slug) {
+                  window.history.pushState(
+                    { event: 'dashboard_properties_changed' },
+                    '',
+                    `/superset/dashboard/${updates.slug}/`,
+                  );
+                }
+              }}
+            />
+          )}
 
           {this.state.showingReportModal && (
             <ReportModal
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index 83d1b16..6a1764f 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -21,6 +21,8 @@ import { connect } from 'react-redux';
 import { bindActionCreators } from 'redux';
 import PropTypes from 'prop-types';
 import Icons from 'src/components/Icons';
+import { Tooltip } from 'src/components/Tooltip';
+import ReportModal from 'src/components/ReportModal';
 import {
   CategoricalColorNamespace,
   SupersetClient,

[superset] 08/18: refactor progress (#16339)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 3811fdbf3446b5e108bdc284c984dffb12d2597f
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Thu Aug 19 12:19:33 2021 -0500

    refactor progress (#16339)
---
 superset-frontend/src/dashboard/components/Header/index.jsx | 2 --
 1 file changed, 2 deletions(-)

diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index a1975ed..3d9eaf8 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -160,8 +160,6 @@ class Header extends React.PureComponent {
     this.overwriteDashboard = this.overwriteDashboard.bind(this);
     this.showPropertiesModal = this.showPropertiesModal.bind(this);
     this.hidePropertiesModal = this.hidePropertiesModal.bind(this);
-    this.showReportModal = this.showReportModal.bind(this);
-    this.hideReportModal = this.hideReportModal.bind(this);
   }
 
   componentDidMount() {

[superset] 14/18: refactor: Reports code clean 10-29 (#17424)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit fc3bfc2e18dd927fbe18dedf081fbd283892ddb2
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Fri Nov 19 11:31:20 2021 -0600

    refactor: Reports code clean 10-29 (#17424)
    
    * Add delete functionality
    
    * Report schema restructure progress
    
    * Fix lint
    
    * Removed console.log
---
 .../HeaderReportActionsDropdown/index.tsx          |   2 +-
 superset-frontend/src/reports/actions/reports.js   |   7 +-
 superset-frontend/src/reports/reducers/reports.js  | 145 +++++++++++++++++++--
 3 files changed, 140 insertions(+), 14 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 5eb4448..c85262f 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -155,7 +155,7 @@ export default function HeaderReportActionsDropDown({
           dashboardId={dashboardId}
           chart={chart}
         />
-        {reports ? (
+        {report ? (
           <>
             <NoAnimationDropdown
               // ref={ref}
diff --git a/superset-frontend/src/reports/actions/reports.js b/superset-frontend/src/reports/actions/reports.js
index 669c720..158d8a8 100644
--- a/superset-frontend/src/reports/actions/reports.js
+++ b/superset-frontend/src/reports/actions/reports.js
@@ -29,6 +29,11 @@ export function setReport(report) {
   return { type: SET_REPORT, report };
 }
 
+export const DELETE_REPORT = 'DELETE_REPORT';
+export function deleteReport(reportId) {
+  return { type: DELETE_REPORT, reportId };
+}
+
 export function fetchUISpecificReport({
   userId,
   filterField,
@@ -159,7 +164,7 @@ export function deleteActiveReport(report) {
         dispatch(addDangerToast(t('Your report could not be deleted')));
       })
       .finally(() => {
-        dispatch(structureFetchAction);
+        dispatch(deleteReport(report.id));
         dispatch(addSuccessToast(t('Deleted: %s', report.name)));
       });
   };
diff --git a/superset-frontend/src/reports/reducers/reports.js b/superset-frontend/src/reports/reducers/reports.js
index 54cf493..de23f57 100644
--- a/superset-frontend/src/reports/reducers/reports.js
+++ b/superset-frontend/src/reports/reducers/reports.js
@@ -17,36 +17,157 @@
  * under the License.
  */
 /* eslint-disable camelcase */
-import { SET_REPORT, ADD_REPORT, EDIT_REPORT } from '../actions/reports';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { report } from 'process';
+// import { allowCrossDomain } from 'src/utils/hostNamesConfig';
+import {
+  SET_REPORT,
+  ADD_REPORT,
+  EDIT_REPORT,
+  DELETE_REPORT,
+} from '../actions/reports';
 
-// Talk about the delete
+/* -- Report schema --
+reports: {
+  dashboards: {
+    [dashboardId]: {...reportObject}
+  },
+  charts: {
+    [chartId]: {...reportObject}
+  },
+}
+*/
 
 export default function reportsReducer(state = {}, action) {
   const actionHandlers = {
     [SET_REPORT]() {
+      // Grabs the first report with a dashboard id that
+      // matches the parameter report's dashboard_id
+      const reportWithDashboard = action.report.result.find(
+        report => !!report.dashboard_id,
+      );
+
+      // Grabs the first report with a chart id that
+      // matches the parameter report's chart.id
+      const reportWithChart = action.report.result.find(
+        report => !!report.chart.id,
+      );
+
+      // This organizes report by its type, dashboard or chart
+      // and indexes it by the dashboard/chart id
+      if (reportWithDashboard) {
+        return {
+          ...state,
+          dashboards: {
+            ...state.dashboards,
+            [reportWithDashboard.dashboard_id]: reportWithDashboard,
+          },
+        };
+      }
       return {
         ...state,
-        ...action.report.result.reduce(
-          (obj, report) => ({ ...obj, [report.id]: report }),
-          {},
-        ),
+        charts: {
+          ...state.chart,
+          [reportWithChart.chart.id]: reportWithChart,
+        },
       };
     },
+
     [ADD_REPORT]() {
-      const report = action.json.result;
-      report.id = action.json.id;
+      // Grab first matching report by matching dashboard id
+      const reportWithDashboard = action.json.result.find(
+        report => !!report.dashboard_id,
+      );
+      // Assign the report's id
+      reportWithDashboard.id = action.json.id;
+
+      // Grab first matching report by matching chart id
+      const reportWithChart = action.json.result.find(
+        report => !!report.chart.id,
+      );
+      // Assign the report's id
+      reportWithChart.id = action.json.id;
+
+      // This adds the report by its type, dashboard or chart
+      if (reportWithDashboard) {
+        return {
+          ...state,
+          dashboards: {
+            ...state.dashboards,
+            [reportWithDashboard.dashboard_id]: report,
+          },
+        };
+      }
       return {
         ...state,
-        [action.json.id]: report,
+        charts: {
+          ...state.chart,
+          [reportWithChart.chart.id]: report,
+        },
       };
     },
+
     [EDIT_REPORT]() {
-      const report = action.json.result;
-      report.id = action.json.id;
+      // Grab first matching report by matching dashboard id
+      const reportWithDashboard = action.json.result.find(
+        report => !!report.dashboard_id,
+      );
+      // Assign the report's id
+      reportWithDashboard.id = action.json.id;
+
+      // Grab first matching report by matching chart id
+      const reportWithChart = action.json.result.find(
+        report => !!report.chart.id,
+      );
+      // Assign the report's id
+      reportWithChart.id = action.json.id;
+
+      // This updates the report by its type, dashboard or chart
+      if (reportWithDashboard) {
+        return {
+          ...state,
+          dashboards: {
+            ...state.dashboards,
+            [reportWithDashboard.dashboard_id]: report,
+          },
+        };
+      }
+      return {
+        ...state,
+        charts: {
+          ...state.chart,
+          [reportWithChart.chart.id]: report,
+        },
+      };
+    },
+
+    [DELETE_REPORT]() {
+      // Grabs the first report with a dashboard id that
+      // matches the parameter report's dashboard_id
+      const reportWithDashboard = action.report.result.find(
+        report => !!report.dashboard_id,
+      );
+
+      // This deletes the report by its type, dashboard or chart
+      if (reportWithDashboard) {
+        return {
+          ...state,
+          dashboards: {
+            ...state.dashboards.filter(report => report.id !== action.reportId),
+          },
+        };
+      }
       return {
         ...state,
-        [action.json.id]: report,
+        charts: {
+          ...state.charts.filter(chart => chart.id !== action.reportId),
+        },
       };
+
+      // state.users.filter(item => item.id !== action.payload)
+      // return {
+      //   ...state.filter(report => report.id !== action.reportId),
+      // };
     },
   };
 

[superset] 16/18: fix(dashboard): don't show report modal for anonymous user (#17106)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 0c8626989ebdfe01cd3e790efb7da1e1266bf9b6
Author: Mayur <ma...@gmail.com>
AuthorDate: Thu Nov 11 16:20:12 2021 +0530

    fix(dashboard): don't show report modal for anonymous user (#17106)
    
    * Added sunburst echart
    
    * fix(dashboard):Hide reports modal for anonymous users
    
    * Address comments
    
    * Make prettier happy
    
    Co-authored-by: Mayur <ma...@kpmg.com>
---
 .../components/ReportModal/HeaderReportActionsDropdown/index.tsx  | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index c85262f..f558010 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -60,10 +60,8 @@ export default function HeaderReportActionsDropDown({
     any,
     UserWithPermissionsAndRoles
   >(state => state.user || state.explore?.user);
-  const [
-    currentReportDeleting,
-    setCurrentReportDeleting,
-  ] = useState<AlertObject | null>(null);
+  const [currentReportDeleting, setCurrentReportDeleting] =
+    useState<AlertObject | null>(null);
   const theme = useTheme();
   const [showModal, setShowModal] = useState<boolean>(false);
   const toggleActiveKey = async (data: AlertObject, checked: boolean) => {
@@ -81,7 +79,7 @@ export default function HeaderReportActionsDropDown({
     if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
       return false;
     }
-    if (!user) {
+    if (!user?.userId) {
       // this is in the case that there is an anonymous user.
       return false;
     }

[superset] 04/18: code dry (#16358)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 5d427b438777f97a511fa7c9de3dffdf97b4af5b
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Fri Aug 20 13:09:40 2021 -0400

    code dry (#16358)
---
 .../HeaderReportActionsDropdown/index.tsx          | 24 ++++++++--
 .../src/components/ReportModal/index.tsx           | 22 ++-------
 .../src/dashboard/components/Header/index.jsx      | 25 ++--------
 .../explore/components/DataTablesPane/index.tsx    |  2 +-
 .../components/ExploreChartHeader/index.jsx        | 53 +---------------------
 superset-frontend/src/reports/actions/reports.js   | 12 ++---
 6 files changed, 37 insertions(+), 101 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 026a262..cf2ae7f 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -16,18 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import React, { useState } from 'react';
-import { useSelector } from 'react-redux';
+import React, { useState, useEffect } from 'react';
+import { useSelector, useDispatch } from 'react-redux';
 import { t, SupersetTheme, css, useTheme } from '@superset-ui/core';
 import Icons from 'src/components/Icons';
 import { Switch } from 'src/components/Switch';
 import { AlertObject } from 'src/views/CRUD/alert/types';
 import { Menu, NoAnimationDropdown } from 'src/common/components';
 import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
-
 import DeleteModal from 'src/components/DeleteModal';
 import ReportModal from 'src/components/ReportModal';
+import { ChartState } from 'src/explore/types';
 import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
+import { fetchUISpecificReport } from 'src/reports/actions/reports';
 
 const deleteColor = (theme: SupersetTheme) => css`
   color: ${theme.colors.error.base};
@@ -37,11 +38,14 @@ export default function HeaderReportActionsDropDown({
   toggleActive,
   deleteActiveReport,
   dashboardId,
+  chart,
 }: {
   toggleActive: (data: AlertObject, checked: boolean) => void;
   deleteActiveReport: (data: AlertObject) => void;
   dashboardId?: number;
+  chart?: ChartState;
 }) {
+  const dispatch = useDispatch();
   const reports: Record<number, AlertObject> = useSelector<any, AlertObject>(
     state => state.reports,
   );
@@ -86,6 +90,19 @@ export default function HeaderReportActionsDropDown({
     return permissions[0].length > 0;
   };
 
+  useEffect(() => {
+    if (canAddReports()) {
+      dispatch(
+        fetchUISpecificReport({
+          userId: user.userId,
+          filterField: dashboardId ? 'dashboard_id' : 'chart_id',
+          creationMethod: dashboardId ? 'dashboards' : 'charts',
+          resourceId: dashboardId || chart?.id,
+        }),
+      );
+    }
+  }, []);
+
   const menu = () => (
     <Menu selectable={false} css={{ width: '200px' }}>
       <Menu.Item>
@@ -119,6 +136,7 @@ export default function HeaderReportActionsDropDown({
           userId={user.userId}
           userEmail={user.email}
           dashboardId={dashboardId}
+          chart={chart}
         />
         {report ? (
           <>
diff --git a/superset-frontend/src/components/ReportModal/index.tsx b/superset-frontend/src/components/ReportModal/index.tsx
index 79c2e19..8362f24 100644
--- a/superset-frontend/src/components/ReportModal/index.tsx
+++ b/superset-frontend/src/components/ReportModal/index.tsx
@@ -37,6 +37,7 @@ import Icons from 'src/components/Icons';
 import withToasts from 'src/components/MessageToasts/withToasts';
 import { CronError } from 'src/components/CronPicker';
 import { RadioChangeEvent } from 'src/common/components';
+import { ChartState } from 'src/explore/types';
 import {
   StyledModal,
   StyledTopSection,
@@ -75,20 +76,6 @@ export interface ReportObject {
   force_screenshot: boolean;
   error?: string;
 }
-
-interface ChartObject {
-  id: number;
-  chartAlert: string;
-  chartStatus: string;
-  chartUpdateEndTime: number;
-  chartUpdateStartTime: number;
-  latestQueryFormData: object;
-  queryController: { abort: () => {} };
-  queriesResponse: object;
-  triggerQuery: boolean;
-  lastRendered: number;
-}
-
 interface ReportProps {
   addReport: (report?: ReportObject) => {};
   onHide: () => {};
@@ -97,7 +84,7 @@ interface ReportProps {
   userId: number;
   userEmail: string;
   dashboardId?: number;
-  chart?: ChartObject;
+  chart?: ChartState;
   props: any;
 }
 
@@ -185,12 +172,11 @@ const ReportModal: FunctionComponent<ReportProps> = ({
   chart,
   userId,
   userEmail,
-  ...props
 }) => {
   const vizType = chart?.sliceFormData?.viz_type;
   const isChart = !!chart;
   const defaultNotificationFormat =
-    isChart && TEXT_BASED_VISUALIZATION_TYPES.includes(vizType)
+    vizType && TEXT_BASED_VISUALIZATION_TYPES.includes(vizType)
       ? NOTIFICATION_FORMATS.TEXT
       : NOTIFICATION_FORMATS.PNG;
   const [currentReport, setCurrentReport] = useReducer<
@@ -302,7 +288,7 @@ const ReportModal: FunctionComponent<ReportProps> = ({
           }}
           value={currentReport?.report_format || defaultNotificationFormat}
         >
-          {TEXT_BASED_VISUALIZATION_TYPES.includes(vizType) && (
+          {vizType && TEXT_BASED_VISUALIZATION_TYPES.includes(vizType) && (
             <StyledRadio value={NOTIFICATION_FORMATS.TEXT}>
               {t('Text embedded in email')}
             </StyledRadio>
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 00feb09..61d7570 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -28,8 +28,6 @@ import {
   LOG_ACTIONS_FORCE_REFRESH_DASHBOARD,
   LOG_ACTIONS_TOGGLE_EDIT_DASHBOARD,
 } from 'src/logger/LogUtils';
-import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
-
 import Icons from 'src/components/Icons';
 import Button from 'src/components/Button';
 import EditableTitle from 'src/components/EditableTitle';
@@ -166,7 +164,7 @@ class Header extends React.PureComponent {
   }
 
   componentDidMount() {
-    const { refreshFrequency, user, dashboardInfo } = this.props;
+    const { refreshFrequency } = this.props;
     this.startPeriodicRender(refreshFrequency * 1000);
     if (this.canAddReports()) {
       // this is in case there is an anonymous user.
@@ -189,7 +187,6 @@ class Header extends React.PureComponent {
   }
 
   UNSAFE_componentWillReceiveProps(nextProps) {
-    const { user } = this.props;
     if (
       UNDO_LIMIT - nextProps.undoLength <= 0 &&
       !this.state.didNotifyMaxUndoHistoryToast
@@ -203,23 +200,6 @@ class Header extends React.PureComponent {
     ) {
       this.props.setMaxUndoHistoryExceeded();
     }
-    if (
-      this.canAddReports() &&
-      nextProps.dashboardInfo.id !== this.props.dashboardInfo.id
-    ) {
-      // this is in case there is an anonymous user.
-      this.props.fetchUISpecificReport(
-        user?.userId,
-        'dashboard_id',
-        'dashboards',
-<<<<<<< HEAD
-        nextProps?.dashboardInfo?.id,
-        user?.email,
-=======
-        nextProps.dashboardInfo.id,
->>>>>>> refactor progress (#16339)
-      );
-    }
   }
 
   componentWillUnmount() {
@@ -403,6 +383,7 @@ class Header extends React.PureComponent {
     this.setState({ showingPropertiesModal: false });
   }
 
+<<<<<<< HEAD
   canAddReports() {
     if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
       return false;
@@ -421,6 +402,8 @@ class Header extends React.PureComponent {
     return permissions[0].length > 0;
   }
 
+=======
+>>>>>>> code dry (#16358)
   render() {
     const {
       dashboardTitle,
diff --git a/superset-frontend/src/explore/components/DataTablesPane/index.tsx b/superset-frontend/src/explore/components/DataTablesPane/index.tsx
index be0409f..2d91b03 100644
--- a/superset-frontend/src/explore/components/DataTablesPane/index.tsx
+++ b/superset-frontend/src/explore/components/DataTablesPane/index.tsx
@@ -278,7 +278,7 @@ export const DataTablesPane = ({
     },
     [queryFormData, columnNames],
   );
-
+  console.log(queryFormData);
   useEffect(() => {
     setItem(LocalStorageKeys.is_datapanel_open, panelOpen);
   }, [panelOpen]);
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index a9b536e..104b1a6 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -28,13 +28,11 @@ import {
   t,
 } from '@superset-ui/core';
 import { Tooltip } from 'src/components/Tooltip';
-import ReportModal from 'src/components/ReportModal';
 import {
   fetchUISpecificReport,
   toggleActive,
   deleteActiveReport,
 } from 'src/reports/actions/reports';
-import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 import HeaderReportActionsDropdown from 'src/components/ReportModal/HeaderReportActionsDropdown';
 import { chartPropShape } from 'src/dashboard/util/propShapes';
 import EditableTitle from 'src/components/EditableTitle';
@@ -114,27 +112,14 @@ export class ExploreChartHeader extends React.PureComponent {
     super(props);
     this.state = {
       isPropertiesModalOpen: false,
-      showingReportModal: false,
     };
     this.openPropertiesModal = this.openPropertiesModal.bind(this);
     this.closePropertiesModal = this.closePropertiesModal.bind(this);
-    this.showReportModal = this.showReportModal.bind(this);
-    this.hideReportModal = this.hideReportModal.bind(this);
     this.fetchChartDashboardData = this.fetchChartDashboardData.bind(this);
   }
 
   componentDidMount() {
     const { dashboardId } = this.props;
-    if (this.canAddReports()) {
-      const { user, chart } = this.props;
-      // this is in the case that there is an anonymous user.
-      this.props.fetchUISpecificReport(
-        user.userId,
-        'chart_id',
-        'charts',
-        chart.id,
-      );
-    }
     if (dashboardId) {
       this.fetchChartDashboardData();
     }
@@ -198,32 +183,6 @@ export class ExploreChartHeader extends React.PureComponent {
     });
   }
 
-  showReportModal() {
-    this.setState({ showingReportModal: true });
-  }
-
-  hideReportModal() {
-    this.setState({ showingReportModal: false });
-  }
-
-  canAddReports() {
-    if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
-      return false;
-    }
-    const { user } = this.props;
-    if (!user?.userId) {
-      // this is in the case that there is an anonymous user.
-      return false;
-    }
-    const roles = Object.keys(user.roles || []);
-    const permissions = roles.map(key =>
-      user.roles[key].filter(
-        perms => perms[0] === 'menu_access' && perms[1] === 'Manage',
-      ),
-    );
-    return permissions[0].length > 0;
-  }
-
   render() {
     const { user, form_data: formData, slice } = this.props;
     const {
@@ -324,20 +283,10 @@ export class ExploreChartHeader extends React.PureComponent {
             status={CHART_STATUS_MAP[chartStatus]}
           />
           <HeaderReportActionsDropdown
-            showReportModal={this.showReportModal}
+            chart={this.props.chart}
             toggleActive={this.props.toggleActive}
             deleteActiveReport={this.props.deleteActiveReport}
           />
-          <ReportModal
-            show={this.state.showingReportModal}
-            onHide={this.hideReportModal}
-            props={{
-              userId: this.props.user.userId,
-              userEmail: this.props.user.email,
-              chart: this.props.chart,
-              creationMethod: 'charts',
-            }}
-          />
           <ExploreActionButtons
             actions={{
               ...this.props.actions,
diff --git a/superset-frontend/src/reports/actions/reports.js b/superset-frontend/src/reports/actions/reports.js
index 26a1631..cdf9102 100644
--- a/superset-frontend/src/reports/actions/reports.js
+++ b/superset-frontend/src/reports/actions/reports.js
@@ -29,23 +29,23 @@ export function setReport(report) {
   return { type: SET_REPORT, report };
 }
 
-export function fetchUISpecificReport(
+export function fetchUISpecificReport({
   userId,
-  filter_field,
-  creation_method,
+  filterField,
+  creationMethod,
   resourceId,
-) {
+}) {
   const queryParams = rison.encode({
     filters: [
       {
-        col: filter_field,
+        col: filterField,
         opr: 'eq',
         value: resourceId,
       },
       {
         col: 'creation_method',
         opr: 'eq',
-        value: creation_method,
+        value: creationMethod,
       },
       {
         col: 'created_by',

[superset] 01/18: pexdax refactor (#16333)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit da3b8892133173b871412c4ee73961e31f5d18e7
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Wed Aug 18 15:58:10 2021 -0400

    pexdax refactor (#16333)
---
 .../HeaderReportActionsDropdown/index.tsx          | 106 ++++++++++++++-------
 .../src/dashboard/components/Header/index.jsx      |  57 ++++-------
 .../components/ExploreChartHeader/index.jsx        |  34 ++-----
 3 files changed, 96 insertions(+), 101 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 6fc3928..4d9ceb8 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -26,6 +26,7 @@ import { Menu, NoAnimationDropdown } from 'src/common/components';
 import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 
 import DeleteModal from 'src/components/DeleteModal';
+import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
 
 const deleteColor = (theme: SupersetTheme) => css`
   color: ${theme.colors.error.base};
@@ -40,11 +41,19 @@ export default function HeaderReportActionsDropDown({
   toggleActive: (data: AlertObject, checked: boolean) => void;
   deleteActiveReport: (data: AlertObject) => void;
 }) {
-  const reports = useSelector<any, AlertObject>(state => state.reports);
+  const reports: Record<number, AlertObject> = useSelector<any, AlertObject>(
+    state => state.reports,
+  );
+  const user: UserWithPermissionsAndRoles = useSelector<
+    any,
+    UserWithPermissionsAndRoles
+  >(state => state.user || state.explore?.user);
   const reportsIds = Object.keys(reports);
-  const report = reports[reportsIds[0]];
-  const [currentReportDeleting, setCurrentReportDeleting] =
-    useState<AlertObject | null>(null);
+  const report: AlertObject = reports[reportsIds[0]];
+  const [
+    currentReportDeleting,
+    setCurrentReportDeleting,
+  ] = useState<AlertObject | null>(null);
   const theme = useTheme();
 
   const toggleActiveKey = async (data: AlertObject, checked: boolean) => {
@@ -58,6 +67,23 @@ export default function HeaderReportActionsDropDown({
     setCurrentReportDeleting(null);
   };
 
+  const canAddReports = () => {
+    if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
+      return false;
+    }
+    if (!user) {
+      // this is in the case that there is an anonymous user.
+      return false;
+    }
+    const roles = Object.keys(user.roles || []);
+    const permissions = roles.map(key =>
+      user.roles[key].filter(
+        perms => perms[0] === 'menu_access' && perms[1] === 'Manage',
+      ),
+    );
+    return permissions[0].length > 0;
+  };
+
   const menu = () => (
     <Menu selectable={false} css={{ width: '200px' }}>
       <Menu.Item>
@@ -80,36 +106,48 @@ export default function HeaderReportActionsDropDown({
     </Menu>
   );
 
-  return isFeatureEnabled(FeatureFlag.ALERT_REPORTS) ? (
-    <>
-      <NoAnimationDropdown
-        // ref={ref}
-        overlay={menu()}
-        trigger={['click']}
-        getPopupContainer={(triggerNode: any) =>
-          triggerNode.closest('.action-button')
-        }
+  return canAddReports() ? (
+    report ? (
+      <>
+        <NoAnimationDropdown
+          // ref={ref}
+          overlay={menu()}
+          trigger={['click']}
+          getPopupContainer={(triggerNode: any) =>
+            triggerNode.closest('.action-button')
+          }
+        >
+          <span role="button" className="action-button" tabIndex={0}>
+            <Icons.Calendar />
+          </span>
+        </NoAnimationDropdown>
+        {currentReportDeleting && (
+          <DeleteModal
+            description={t(
+              'This action will permanently delete %s.',
+              currentReportDeleting.name,
+            )}
+            onConfirm={() => {
+              if (currentReportDeleting) {
+                handleReportDelete(currentReportDeleting);
+              }
+            }}
+            onHide={() => setCurrentReportDeleting(null)}
+            open
+            title={t('Delete Report?')}
+          />
+        )}
+      </>
+    ) : (
+      <span
+        role="button"
+        title={t('Schedule email report')}
+        tabIndex={0}
+        className="action-button"
+        onClick={showReportModal}
       >
-        <span role="button" className="action-button" tabIndex={0}>
-          <Icons.Calendar />
-        </span>
-      </NoAnimationDropdown>
-      {currentReportDeleting && (
-        <DeleteModal
-          description={t(
-            'This action will permanently delete %s.',
-            currentReportDeleting.name,
-          )}
-          onConfirm={() => {
-            if (currentReportDeleting) {
-              handleReportDelete(currentReportDeleting);
-            }
-          }}
-          onHide={() => setCurrentReportDeleting(null)}
-          open
-          title={t('Delete Report?')}
-        />
-      )}
-    </>
+        <Icons.Calendar />
+      </span>
+    )
   ) : null;
 }
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index a670618..516359a 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -165,7 +165,6 @@ class Header extends React.PureComponent {
     this.hidePropertiesModal = this.hidePropertiesModal.bind(this);
     this.showReportModal = this.showReportModal.bind(this);
     this.hideReportModal = this.hideReportModal.bind(this);
-    this.renderReportModal = this.renderReportModal.bind(this);
   }
 
   componentDidMount() {
@@ -411,29 +410,6 @@ class Header extends React.PureComponent {
     this.setState({ showingReportModal: false });
   }
 
-  renderReportModal() {
-    const attachedReportExists = !!Object.keys(this.props.reports).length;
-    return attachedReportExists ? (
-      <HeaderReportActionsDropdown
-        showReportModal={this.showReportModal}
-        toggleActive={this.props.toggleActive}
-        deleteActiveReport={this.props.deleteActiveReport}
-      />
-    ) : (
-      <>
-        <span
-          role="button"
-          title={t('Schedule email report')}
-          tabIndex={0}
-          className="action-button"
-          onClick={this.showReportModal}
-        >
-          <Icons.Calendar />
-        </span>
-      </>
-    );
-  }
-
   canAddReports() {
     if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
       return false;
@@ -488,7 +464,6 @@ class Header extends React.PureComponent {
     const userCanSaveAs =
       dashboardInfo.dash_save_perm &&
       filterboxMigrationState !== FILTER_BOX_MIGRATION_STATES.REVIEWING;
-    const shouldShowReport = !editMode && this.canAddReports();
     const refreshLimit =
       dashboardInfo.common?.conf?.SUPERSET_DASHBOARD_PERIODICAL_REFRESH_LIMIT;
     const refreshWarning =
@@ -602,27 +577,31 @@ class Header extends React.PureComponent {
               )}
             </div>
           )}
-          {editMode && (
+          {editMode ? (
             <UndoRedoKeyListeners
               onUndo={this.handleCtrlZ}
               onRedo={this.handleCtrlY}
             />
-          )}
-
-          {!editMode && userCanEdit && (
+          ) : (
             <>
-              <span
-                role="button"
-                title={t('Edit dashboard')}
-                tabIndex={0}
-                className="action-button"
-                onClick={this.toggleEditMode}
-              >
-                <Icons.EditAlt />
-              </span>
+              {userCanEdit && (
+                <span
+                  role="button"
+                  title={t('Edit dashboard')}
+                  tabIndex={0}
+                  className="action-button"
+                  onClick={this.toggleEditMode}
+                >
+                  <Icons.EditAlt />
+                </span>
+              )}
+              <HeaderReportActionsDropdown
+                showReportModal={this.showReportModal}
+                toggleActive={this.props.toggleActive}
+                deleteActiveReport={this.props.deleteActiveReport}
+              />
             </>
           )}
-          {shouldShowReport && this.renderReportModal()}
 
           <PropertiesModal
             dashboardId={dashboardInfo.id}
diff --git a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
index 6f73361..a9b536e 100644
--- a/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartHeader/index.jsx
@@ -120,7 +120,6 @@ export class ExploreChartHeader extends React.PureComponent {
     this.closePropertiesModal = this.closePropertiesModal.bind(this);
     this.showReportModal = this.showReportModal.bind(this);
     this.hideReportModal = this.hideReportModal.bind(this);
-    this.renderReportModal = this.renderReportModal.bind(this);
     this.fetchChartDashboardData = this.fetchChartDashboardData.bind(this);
   }
 
@@ -159,8 +158,7 @@ export class ExploreChartHeader extends React.PureComponent {
             // setting the chart to use the dashboard custom label colors if any
             const labelColors =
               JSON.parse(dashboard.json_metadata).label_colors || {};
-            const categoricalNamespace =
-              CategoricalColorNamespace.getNamespace();
+            const categoricalNamespace = CategoricalColorNamespace.getNamespace();
 
             Object.keys(labelColors).forEach(label => {
               categoricalNamespace.setColor(label, labelColors[label]);
@@ -208,30 +206,6 @@ export class ExploreChartHeader extends React.PureComponent {
     this.setState({ showingReportModal: false });
   }
 
-  renderReportModal() {
-    const attachedReportExists = !!Object.keys(this.props.reports).length;
-    return attachedReportExists ? (
-      <HeaderReportActionsDropdown
-        showReportModal={this.showReportModal}
-        hideReportModal={this.hideReportModal}
-        toggleActive={this.props.toggleActive}
-        deleteActiveReport={this.props.deleteActiveReport}
-      />
-    ) : (
-      <>
-        <span
-          role="button"
-          title={t('Schedule email report')}
-          tabIndex={0}
-          className="action-button"
-          onClick={this.showReportModal}
-        >
-          <Icons.Calendar />
-        </span>
-      </>
-    );
-  }
-
   canAddReports() {
     if (!isFeatureEnabled(FeatureFlag.ALERT_REPORTS)) {
       return false;
@@ -349,7 +323,11 @@ export class ExploreChartHeader extends React.PureComponent {
             isRunning={chartStatus === 'loading'}
             status={CHART_STATUS_MAP[chartStatus]}
           />
-          {this.canAddReports() && this.renderReportModal()}
+          <HeaderReportActionsDropdown
+            showReportModal={this.showReportModal}
+            toggleActive={this.props.toggleActive}
+            deleteActiveReport={this.props.deleteActiveReport}
+          />
           <ReportModal
             show={this.state.showingReportModal}
             onHide={this.hideReportModal}

[superset] 06/18: continued refactoring (#16377)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 1183c0010ae7ed1b2f24725f226585684da6fbb3
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Fri Aug 20 18:04:57 2021 -0400

    continued refactoring (#16377)
---
 .../HeaderReportActionsDropdown/index.tsx          | 22 +++++++++++++++++++---
 .../explore/components/DataTablesPane/index.tsx    |  1 -
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index 6e42b07..f9fdca0 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import React, { useState, useEffect } from 'react';
+import React, { useState, useEffect, useRef } from 'react';
 import { useSelector, useDispatch } from 'react-redux';
 import { t, SupersetTheme, css, useTheme } from '@superset-ui/core';
 import Icons from 'src/components/Icons';
@@ -55,14 +55,13 @@ export default function HeaderReportActionsDropDown({
   >(state => state.user || state.explore?.user);
   const reportsIds = Object.keys(reports || []);
   const report: AlertObject = reports?.[reportsIds[0]];
-  console.log(report);
   const [
     currentReportDeleting,
     setCurrentReportDeleting,
   ] = useState<AlertObject | null>(null);
   const theme = useTheme();
   const [showModal, setShowModal] = useState(false);
-
+  const dashboardIdRef = useRef(dashboardId);
   const toggleActiveKey = async (data: AlertObject, checked: boolean) => {
     if (data?.id) {
       toggleActive(data, checked);
@@ -104,6 +103,23 @@ export default function HeaderReportActionsDropDown({
     }
   }, []);
 
+  useEffect(() => {
+    if (
+      canAddReports() &&
+      dashboardId &&
+      dashboardId !== dashboardIdRef.current
+    ) {
+      dispatch(
+        fetchUISpecificReport({
+          userId: user.userId,
+          filterField: 'dashboard_id',
+          creationMethod: 'dashboards',
+          resourceId: dashboardId,
+        }),
+      );
+    }
+  }, [dashboardId]);
+
   const menu = () => (
     <Menu selectable={false} css={{ width: '200px' }}>
       <Menu.Item>
diff --git a/superset-frontend/src/explore/components/DataTablesPane/index.tsx b/superset-frontend/src/explore/components/DataTablesPane/index.tsx
index 2d91b03..533d14c 100644
--- a/superset-frontend/src/explore/components/DataTablesPane/index.tsx
+++ b/superset-frontend/src/explore/components/DataTablesPane/index.tsx
@@ -278,7 +278,6 @@ export const DataTablesPane = ({
     },
     [queryFormData, columnNames],
   );
-  console.log(queryFormData);
   useEffect(() => {
     setItem(LocalStorageKeys.is_datapanel_open, panelOpen);
   }, [panelOpen]);

[superset] 13/18: refactor: Arash/new state report (#16987)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit aa03a8adde970364fcecb0280c6527dbfd0027e8
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Thu Oct 28 16:39:14 2021 -0400

    refactor: Arash/new state report (#16987)
    
    * code dry (#16358)
    
    * pexdax refactor (#16333)
    
    * refactor progress (#16339)
    
    * fix: Header Actions test refactor (#16336)
    
    * fixed tests
    
    * Update index.tsx
    
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
    
    * Fetch bug fixed (#16376)
    
    * continued refactoring (#16377)
    
    * refactor(reports): Arash/refactor reports (#16855)
    
    * pexdax refactor (#16333)
    
    * refactor progress (#16339)
    
    * fix: Header Actions test refactor (#16336)
    
    * fixed tests
    
    * Update index.tsx
    
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
    
    * code dry (#16358)
    
    * Fetch bug fixed (#16376)
    
    * continued refactoring (#16377)
    
    * refactor: Reports - ReportModal (#16622)
    
    * refactoring progress
    
    * removed consoles
    
    * Working, but with 2 fetches
    
    * report pickup
    
    Co-authored-by: Lyndsi Kay Williams <55...@users.noreply.github.com>
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
    
    * refactor(reports):  Arash/again refactor reports (#16872)
    
    * pexdax refactor (#16333)
    
    * refactor progress (#16339)
    
    * fix: Header Actions test refactor (#16336)
    
    * fixed tests
    
    * Update index.tsx
    
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
    
    * code dry (#16358)
    
    * Fetch bug fixed (#16376)
    
    * continued refactoring (#16377)
    
    * refactor: Reports - ReportModal (#16622)
    
    * refactoring progress
    
    * removed consoles
    
    * Working, but with 2 fetches
    
    * it is still not working
    
    Co-authored-by: Lyndsi Kay Williams <55...@users.noreply.github.com>
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
    
    * next changes
    
    Co-authored-by: Lyndsi Kay Williams <55...@users.noreply.github.com>
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
---
 .../HeaderReportActionsDropdown/index.tsx          | 32 +++++++++++-----------
 .../src/components/ReportModal/index.tsx           | 18 +++++-------
 .../src/dashboard/components/Header/index.jsx      |  8 +-----
 superset-frontend/src/reports/reducers/reports.js  |  3 ++
 superset-frontend/src/views/CRUD/alert/types.ts    |  2 ++
 superset/reports/api.py                            |  2 ++
 6 files changed, 31 insertions(+), 34 deletions(-)

diff --git a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
index f9fdca0..5eb4448 100644
--- a/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
+++ b/superset-frontend/src/components/ReportModal/HeaderReportActionsDropdown/index.tsx
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import React, { useState, useEffect, useRef } from 'react';
+import React, { useState, useEffect } from 'react';
 import { useSelector, useDispatch } from 'react-redux';
 import { t, SupersetTheme, css, useTheme } from '@superset-ui/core';
 import Icons from 'src/components/Icons';
@@ -49,19 +49,23 @@ export default function HeaderReportActionsDropDown({
   const reports: Record<number, AlertObject> = useSelector<any, AlertObject>(
     state => state.reports,
   );
+  const report: AlertObject = Object.values(reports).filter(report => {
+    if (dashboardId) {
+      return report.dashboard_id === dashboardId;
+    }
+    return report.chart_id === chart?.id;
+  })[0];
+
   const user: UserWithPermissionsAndRoles = useSelector<
     any,
     UserWithPermissionsAndRoles
   >(state => state.user || state.explore?.user);
-  const reportsIds = Object.keys(reports || []);
-  const report: AlertObject = reports?.[reportsIds[0]];
   const [
     currentReportDeleting,
     setCurrentReportDeleting,
   ] = useState<AlertObject | null>(null);
   const theme = useTheme();
-  const [showModal, setShowModal] = useState(false);
-  const dashboardIdRef = useRef(dashboardId);
+  const [showModal, setShowModal] = useState<boolean>(false);
   const toggleActiveKey = async (data: AlertObject, checked: boolean) => {
     if (data?.id) {
       toggleActive(data, checked);
@@ -104,17 +108,13 @@ export default function HeaderReportActionsDropDown({
   }, []);
 
   useEffect(() => {
-    if (
-      canAddReports() &&
-      dashboardId &&
-      dashboardId !== dashboardIdRef.current
-    ) {
+    if (canAddReports()) {
       dispatch(
         fetchUISpecificReport({
           userId: user.userId,
-          filterField: 'dashboard_id',
-          creationMethod: 'dashboards',
-          resourceId: dashboardId,
+          filterField: dashboardId ? 'dashboard_id' : 'chart_id',
+          creationMethod: dashboardId ? 'dashboards' : 'charts',
+          resourceId: dashboardId || chart?.id,
         }),
       );
     }
@@ -148,14 +148,14 @@ export default function HeaderReportActionsDropDown({
     canAddReports() && (
       <>
         <ReportModal
-          show={showModal}
-          onHide={() => setShowModal(false)}
           userId={user.userId}
+          showModal={showModal}
+          onHide={() => setShowModal(false)}
           userEmail={user.email}
           dashboardId={dashboardId}
           chart={chart}
         />
-        {report ? (
+        {reports ? (
           <>
             <NoAnimationDropdown
               // ref={ref}
diff --git a/superset-frontend/src/components/ReportModal/index.tsx b/superset-frontend/src/components/ReportModal/index.tsx
index 8362f24..33feb11 100644
--- a/superset-frontend/src/components/ReportModal/index.tsx
+++ b/superset-frontend/src/components/ReportModal/index.tsx
@@ -25,9 +25,8 @@ import React, {
   FunctionComponent,
 } from 'react';
 import { t, SupersetTheme } from '@superset-ui/core';
+import { useDispatch, useSelector } from 'react-redux';
 import { getClientErrorObject } from 'src/utils/getClientErrorObject';
-import { bindActionCreators } from 'redux';
-import { connect, useDispatch, useSelector } from 'react-redux';
 import { addReport, editReport } from 'src/reports/actions/reports';
 import { AlertObject } from 'src/views/CRUD/alert/types';
 
@@ -78,14 +77,14 @@ export interface ReportObject {
 }
 interface ReportProps {
   addReport: (report?: ReportObject) => {};
-  onHide: () => {};
+  onHide: () => void;
   onReportAdd: (report?: ReportObject) => {};
-  show: boolean;
+  showModal: boolean;
   userId: number;
   userEmail: string;
   dashboardId?: number;
   chart?: ChartState;
-  props: any;
+  props?: any;
 }
 
 interface ReportPayloadType {
@@ -167,7 +166,7 @@ const reportReducer = (
 const ReportModal: FunctionComponent<ReportProps> = ({
   onReportAdd,
   onHide,
-  show = false,
+  showModal = false,
   dashboardId,
   chart,
   userId,
@@ -306,7 +305,7 @@ const ReportModal: FunctionComponent<ReportProps> = ({
 
   return (
     <StyledModal
-      show={show}
+      show={showModal}
       onHide={onHide}
       title={wrappedTitle}
       footer={renderModalFooter}
@@ -394,7 +393,4 @@ const ReportModal: FunctionComponent<ReportProps> = ({
   );
 };
 
-const mapDispatchToProps = (dispatch: any) =>
-  bindActionCreators({ addReport, editReport }, dispatch);
-
-export default connect(null, mapDispatchToProps)(withToasts(ReportModal));
+export default withToasts(ReportModal);
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 64f353d..57e61d1 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -167,13 +167,6 @@ class Header extends React.PureComponent {
     this.startPeriodicRender(refreshFrequency * 1000);
   }
 
-  componentDidUpdate(prevProps) {
-    if (this.props.refreshFrequency !== prevProps.refreshFrequency) {
-      const { refreshFrequency } = this.props;
-      this.startPeriodicRender(refreshFrequency * 1000);
-    }
-  }
-
   UNSAFE_componentWillReceiveProps(nextProps) {
     if (
       UNDO_LIMIT - nextProps.undoLength <= 0 &&
@@ -539,6 +532,7 @@ class Header extends React.PureComponent {
                 </span>
               )}
               <HeaderReportActionsDropdown
+                key={dashboardInfo.id}
                 toggleActive={this.props.toggleActive}
                 deleteActiveReport={this.props.deleteActiveReport}
                 dashboardId={dashboardInfo.id}
diff --git a/superset-frontend/src/reports/reducers/reports.js b/superset-frontend/src/reports/reducers/reports.js
index 8b582d0..54cf493 100644
--- a/superset-frontend/src/reports/reducers/reports.js
+++ b/superset-frontend/src/reports/reducers/reports.js
@@ -19,10 +19,13 @@
 /* eslint-disable camelcase */
 import { SET_REPORT, ADD_REPORT, EDIT_REPORT } from '../actions/reports';
 
+// Talk about the delete
+
 export default function reportsReducer(state = {}, action) {
   const actionHandlers = {
     [SET_REPORT]() {
       return {
+        ...state,
         ...action.report.result.reduce(
           (obj, report) => ({ ...obj, [report.id]: report }),
           {},
diff --git a/superset-frontend/src/views/CRUD/alert/types.ts b/superset-frontend/src/views/CRUD/alert/types.ts
index ef320b5..99a9c48 100644
--- a/superset-frontend/src/views/CRUD/alert/types.ts
+++ b/superset-frontend/src/views/CRUD/alert/types.ts
@@ -62,10 +62,12 @@ export type AlertObject = {
   chart?: MetaObject;
   changed_by?: user;
   changed_on_delta_humanized?: string;
+  chart_id: number;
   created_by?: user;
   created_on?: string;
   crontab?: string;
   dashboard?: MetaObject;
+  dashboard_id?: number;
   database?: MetaObject;
   description?: string;
   force_screenshot: boolean;
diff --git a/superset/reports/api.py b/superset/reports/api.py
index 7d8d548..e925511 100644
--- a/superset/reports/api.py
+++ b/superset/reports/api.py
@@ -124,12 +124,14 @@ class ReportScheduleRestApi(BaseSupersetModelRestApi):
         "changed_by.last_name",
         "changed_on",
         "changed_on_delta_humanized",
+        "chart_id",
         "created_by.first_name",
         "created_by.last_name",
         "created_on",
         "creation_method",
         "crontab",
         "crontab_humanized",
+        "dashboard_id",
         "description",
         "id",
         "last_eval_dttm",

[superset] 18/18: Add functionality is now working (#17578)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit bbc8597612434421836c59e4401c9b5d812a0a3d
Author: Lyndsi Kay Williams <55...@users.noreply.github.com>
AuthorDate: Tue Dec 7 15:17:47 2021 -0600

    Add functionality is now working (#17578)
---
 superset-frontend/src/reports/reducers/reports.js | 41 ++++++++++-------------
 1 file changed, 17 insertions(+), 24 deletions(-)

diff --git a/superset-frontend/src/reports/reducers/reports.js b/superset-frontend/src/reports/reducers/reports.js
index a18d72e..fc8f575 100644
--- a/superset-frontend/src/reports/reducers/reports.js
+++ b/superset-frontend/src/reports/reducers/reports.js
@@ -19,7 +19,6 @@
 /* eslint-disable camelcase */
 // eslint-disable-next-line import/no-extraneous-dependencies
 import { report } from 'process';
-// import { allowCrossDomain } from 'src/utils/hostNamesConfig';
 import {
   SET_REPORT,
   ADD_REPORT,
@@ -78,49 +77,43 @@ export default function reportsReducer(state = {}, action) {
     },
 
     [ADD_REPORT]() {
-      // Grab first matching report by matching dashboard id
-      const reportWithDashboard = action.json.result.find(
-        report => !!report.dashboard_id,
-      );
-      // Assign the report's id
-      reportWithDashboard.id = action.json.id;
+      const { result, id } = action.json;
+      const report = { ...result, id };
 
-      // Grab first matching report by matching chart id
-      const reportWithChart = action.json.result.find(
-        report => !!report.chart.id,
-      );
-      // Assign the report's id
-      reportWithChart.id = action.json.id;
-
-      // This adds the report by its type, dashboard or chart
-      if (reportWithDashboard) {
+      if (result.dashboard) {
         return {
           ...state,
           dashboards: {
             ...state.dashboards,
-            [reportWithDashboard.dashboard_id]: report,
+            [report.id]: report,
+          },
+        };
+      }
+      if (result.chart) {
+        return {
+          ...state,
+          charts: {
+            ...state.chart,
+            [report.id]: report,
           },
         };
       }
       return {
         ...state,
-        charts: {
-          ...state.chart,
-          [reportWithChart.chart.id]: report,
-        },
       };
     },
 
     [EDIT_REPORT]() {
       // Grab first matching report by matching dashboard id
-      const reportWithDashboard = action.json.result.find(
+      // FIX THESE, THEY'RE OBJECTS, NOT ARRAYS, NO FIND
+      const reportWithDashboard = action.json.result?.find(
         report => !!report.dashboard_id,
       );
       // Assign the report's id
       reportWithDashboard.id = action.json.id;
 
       // Grab first matching report by matching chart id
-      const reportWithChart = action.json.result.find(
+      const reportWithChart = action.json.result?.find(
         report => !!report.chart.id,
       );
       // Assign the report's id
@@ -148,7 +141,7 @@ export default function reportsReducer(state = {}, action) {
     [DELETE_REPORT]() {
       // Grabs the first report with a dashboard id that
       // matches the parameter report's dashboard_id
-      const reportWithDashboard = action.report.result.find(
+      const reportWithDashboard = action.report.result?.find(
         report => !!report.dashboard_id,
       );
 

[superset] 09/18: fix: Header Actions test refactor (#16336)

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch refactorReports
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 242930a528ff1803a91e1575da4b6d83389d039a
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Thu Aug 19 13:23:42 2021 -0400

    fix: Header Actions test refactor (#16336)
    
    * fixed tests
    
    * Update index.tsx
    
    Co-authored-by: Elizabeth Thompson <es...@gmail.com>
---
 superset-frontend/src/dashboard/components/Header/Header.test.tsx | 1 +
 1 file changed, 1 insertion(+)

diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
index ea94ace..1a7ae85 100644
--- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx
+++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx
@@ -57,6 +57,7 @@ const createProps = () => ({
   dashboardTitle: 'Dashboard Title',
   charts: {},
   layout: {},
+  reports: {},
   expandedSlices: {},
   css: '',
   customCss: '',