PromucFlow_constructor/app/client
Abhinav Jha 1ea5938cef
feat: Asymmetric padding in Anvil (#30964)
## Description
To make the Anvil layout system capable of rendering dense layouts,
we're using asymmetric padding to remove paddings when not necessary. It
works as follows
- If a section doesn't have a background, it doesn't have a padding
- If all zones in a section don't have a background, they all don't have
vertical padding

Other changes:
- Moved the logic for clearing all selections on click of Canvas from
`AnvilCanvas` to `AnvilMainCanvas`, as it is only necessary in the
editor.
- Removed default `min-height` from widgets so that changes in padding
don't misalign widgets
- Changed the selection borders to use 2px borders instead of box
shadows.
- Removed borders around widget name component
- Removed elevation shadows from zones and sections
- Removed the zone widget from showing up in the widgets panel

#### PR fixes following issue(s)
Fixes #31103

#### Media
![Screenshot 2024-02-13 at 10 37
23 PM](https://github.com/appsmithorg/appsmith/assets/103687/db1aa6bb-516d-48a8-aea9-c3af9c0d8d16)

#### Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## Testing
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress

## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new click event listener in `AnvilMainCanvas` for
clearing selections when clicking outside a widget.
    - Added a new constant `AnvilCanvasClassName` in `constants.ts`.

- **Refactor**
- Simplified `AnvilCanvas` component by using `React.forwardRef` and
updating event handling.
- Updated logic in `useClickToClearSelections.ts` for more dynamic click
event handling.
- Enhanced `AnvilMainCanvas` with improved event handling using hooks.

- **Bug Fixes**
- Addressed issues with widget selection and border styles for a better
user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-16 17:13:37 +05:30
..
.husky
.yarn
cypress fix: [custom widget] height issue in auto layout (#31176) 2024-02-16 13:53:14 +05:30
docker/templates chore: Remove unused services (#30292) 2024-01-23 05:43:16 +05:30
generators chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
packages chore: bug: adjust WDS caption text style (#31167) 2024-02-16 14:39:51 +03:00
perf
public chore: Initiate execution of google.api script at editor level (#30837) 2024-02-08 15:17:19 +05:30
src feat: Asymmetric padding in Anvil (#30964) 2024-02-16 17:13:37 +05:30
test chore: Remove unused services (#30292) 2024-01-23 05:43:16 +05:30
typings
.babelrc
.dockerignore
.editorconfig
.eslintrc.base.json fix: add testing library eslint rules (#31028) 2024-02-12 18:59:10 +03:00
.eslintrc.js fix: add testing library eslint rules (#31028) 2024-02-12 18:59:10 +03:00
.gitignore
.lintstagedrc.json chore: Switch to gitleaks from git-secrets (#29103) 2023-11-28 06:32:20 +05:30
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh
craco.build.config.js
craco.common.config.js feat: [custom widget] support SCSS syntax (#31042) 2024-02-12 17:25:30 +05:30
craco.dev.config.js
cypress_ci_custom.config.ts test: Cypress - Added cypress grep library (#29259) 2023-12-07 18:23:27 +05:30
cypress_ci_hosted.config.ts test: Cypress - Added cypress grep library (#29259) 2023-12-07 18:23:27 +05:30
cypress_ci.config.ts test: Cypress - Added cypress grep library (#29259) 2023-12-07 18:23:27 +05:30
cypress-add-tags.js test: Cypress - Added cypress grep library (#29259) 2023-12-07 18:23:27 +05:30
cypress.config.ts test: Cypress - Added cypress grep library (#29259) 2023-12-07 18:23:27 +05:30
download-assets.js
jest.config.js chore: Show commit SHA instead of SNAPSHOT version (#30850) 2024-02-02 09:52:34 +05:30
package.json fix: add testing library eslint rules (#31028) 2024-02-12 18:59:10 +03:00
README.md
README.old.md
start-https.sh chore: Remove unused services (#30292) 2024-01-23 05:43:16 +05:30
tailwind.config.js
tsconfig.json
tsconfig.path.json
vercel.json
yarn.lock fix: add testing library eslint rules (#31028) 2024-02-12 18:59:10 +03:00

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide