## Description Replace emotion/sheet to emotion/css. **Motivation** During performance testing, it was revealed that creating a separate class for each component is slow. Rendering 10k elements <img width="269" alt="Снимок экрана 2023-10-05 в 13 34 12" src="https://github.com/appsmithorg/appsmith/assets/11555074/a881b188-b7d6-4fff-bc79-e7a81e37ffac"> As part of the task, an approach using styles through attributes was also tested, it works well, but we still need to create a separate class in runtime if we work with container queries. Because of this, I think it's best to use a ready-made solution from emotion/css, since it creates only one class out of the box for elements with the same styles, which allows to render elements with good performance. Rendering 80k elements  #### PR fixes following issue(s) Fixes #27750 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag
29 lines
752 B
JSON
29 lines
752 B
JSON
{
|
|
"name": "@design-system/widgets",
|
|
"version": "1.0.0",
|
|
"main": "src/index.ts",
|
|
"author": "Valera Melnikov <valera@appsmith.com>, Pawan Kumar <pawan@appsmith.com>",
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"lint": "yarn g:lint",
|
|
"prettier": "yarn g:prettier",
|
|
"test:unit": "yarn g:jest"
|
|
},
|
|
"dependencies": {
|
|
"@design-system/headless": "workspace:^",
|
|
"@design-system/theming": "workspace:^",
|
|
"@emotion/css": "^11.11.2",
|
|
"@react-aria/utils": "^3.16.0",
|
|
"@react-aria/visually-hidden": "^3.8.0",
|
|
"clsx": "^2.0.0",
|
|
"colorjs.io": "^0.4.3",
|
|
"lodash": "*"
|
|
},
|
|
"devDependencies": {
|
|
"eslint-plugin-storybook": "^0.6.10"
|
|
},
|
|
"peerDependencies": {
|
|
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
|
|
}
|
|
}
|