PromucFlow_constructor/app/client
Abhinav Jha e05313c943
feat: Anvil themeing and Anvil vertical alignment (#29907)
## Description
This PR adds the features of proper vertical alignment and themeing to
Anvil.
- A separate `Container` component is created for Anvil, that is used as
the layer on top of which the themeing tokens are applied.
- A default `min-height` is set using tokens for all widgets in Anvil. 
- Anvil now stops considering any `min-height` configurations provided
by the widgets. It is the widgets responsibility to take care of their
own heights, and Anvil will accommodate them -- no matter the height.
- Table widget's default height is now set to the min height that was
configured for it earlier.
- `AnvilFlexComponent` now has `overflow:visible` to allow the shadows
for zones and sections to not be cut-off.
- All widgets are aligned center vertically by default. This will apply
if they're smaller than the set `min-height`
- Zones and Sections have elevation styles applied suing the `Container`
component mentioned above.
- Zones and Sections don't have any styling property other than
`Background`, we'll add more as we understand more about the product.
   

> Conditional vertical margin applied to widgets.
> If in a row of widgets (.aligned-widget-row), one of the widgets has a
label ([data-field-label-wrapper]), then
> all widgets (.anvil-widget-wrapper) in the row other than the widget
with the label, will shift down using the
> margin-block-start property. This is to ensure that the widgets are
aligned vertically.
> The value of the margin-block-start property is calculated based on
the spacing tokens used by the labels in input
>     like components
> 

#### PR fixes following issue(s)
Fixes #29073 
Fixes #28591
Fixes #28592 
Fixes #28593


#### Media
![Screenshot 2023-12-28 at 3 55
05 AM](https://github.com/appsmithorg/appsmith/assets/103687/30b04bc7-62af-40af-9f4c-50774bec3fdf)


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

#### Test Plan

#### Issues raised during DP testing
## 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 conditional vertical margins for widgets to ensure
alignment within rows.
- Added a new `Container` component for thematic elevation styles in
Anvil widgets.
- Implemented elevation style options and semantic background settings
for Section and Zone widgets.

- **Enhancements**
- Improved visual layout and alignment of AnvilFlexComponent with
updated styling properties.
- Added `className` properties to various layout components for enhanced
CSS targeting.

- **Style**
- Updated widget styles to accommodate new background and elevation
features.

- **Refactor**
	- Simplified padding logic in WDSParagraphWidget.
	- Streamlined dimensions calculation in WDSTableWidget.

- **Documentation**
- Renamed sections in property panes to better reflect background
styling options.

- **Chores**
- Added `Elevations` enum to manage elevation values consistently across
components.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-29 08:41:05 +05:30
..
.husky fix:lint staged (#27992) 2023-10-12 20:35:54 +03:00
.yarn
cypress fix: undo action and highlight positions on right and bottom edges (#29909) 2023-12-29 08:11:49 +05:30
docker/templates chore: frontend and backend telemetry updates for execute flow #28800 and #28805 (#28936) 2023-11-24 13:09:02 +05:30
generators chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
packages chore: Split Text widget (#29789) 2023-12-22 15:08:00 +03:00
perf
public chore: frontend and backend telemetry updates for execute flow #28800 and #28805 (#28936) 2023-11-24 13:09:02 +05:30
src feat: Anvil themeing and Anvil vertical alignment (#29907) 2023-12-29 08:41:05 +05:30
test chore: Refactor entity explorer to support displaying module instances in the list (#28855) 2023-11-16 17:03:59 +05:30
typings
.babelrc
.dockerignore
.editorconfig
.eslintrc.base.json chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
.eslintrc.js chore:add eslint rules (#27878) 2023-10-09 16:54:06 +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 chore: custom widget (#28926) 2023-12-28 12:16:28 +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: frontend and backend telemetry updates for execute flow #28800 and #28805 (#28936) 2023-11-24 13:09:02 +05:30
package.json chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
README.md
README.old.md
start-https.sh
tailwind.config.js
tsconfig.json
tsconfig.path.json
vercel.json
yarn.lock chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

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