## Description
Add hover and focus for WDS link component.
https://github.com/appsmithorg/appsmith/assets/11555074/51e50841-b347-4585-aa5a-2fd54e13cf06
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9401315193>
> Commit: 1a10e18ab16d30be828eeb931a2d5c22448fa096
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9401315193&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Improved the appearance of links with new CSS properties, enhancing
hover and focus states for better user experience.
- **Refactor**
- Reordered JSX elements within the Link component for cleaner and more
maintainable code structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Creates a new property control for Modal widgets. `closeOnSubmit`.
- This property (default `true`) configures if the modal must close on
the submit button click.
Fixes#33240
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9299980305>
> Commit: 59fc2957f0b4ff3c47788480b0d82adf99596265
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9299980305&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
1. WDS menu component has been completely refactored. WDS headless
component has been removed, we use `react-aria-components` instead. The
menu component now has the ability to use submenus and icons for items.
2. Rename components `ActionGroup` to `ToolbarButtons and `ButtonGroup`
to `InlineButtons`
3. Make API of the `ToolbarButtons`, `Menu`, `InlineButtons`, `Select`
consistent.
4. Cosmetic refactoring of `ToolbarButtons` and `InlineButtons` and
related widgets.
Fixes:
#32299#32109
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9210315418>
> Commit: b11c0029c656b4fbf61b9760d16f77564478d053
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9210315418&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
---------
Co-authored-by: Pawan Kumar <pawan@appsmith.com>
## Description
Refactoring wds button component
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8788334412>
> Commit: 3e11d5f7800eaf492cb42f049f42980ed33cd774
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8788334412&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the design system by switching the `Button` component imports
to `react-aria-components` across various components for improved
accessibility and performance.
- **Style Updates**
- Revised multiple CSS properties across components, improving visual
consistency and user interface aesthetics.
- **Refactor**
- Updated various components to use `ForwardedRef<HTMLButtonElement>`
replacing previous ref types, aligning with modern React patterns and
improving component interoperability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Update Storybook and related dependencies
- Delete the stories for old widget components
- Rewrite stories for new widgets(mdx to tsx)
Note: local chromatic doesn't work because of this
https://github.com/storybookjs/storybook/issues/22531
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new component stories across various packages to enhance
design system documentation and user experience.
- **Documentation**
- Updated `.gitignore` files to optimize version control settings for
Storybook and build logs.
- **Refactor**
- Modified UI element positioning in Storybook theming for improved
layout management.
- **Style**
- Adjusted CSS properties for the `Select` component to ensure better
visual presentation.
- **Chores**
- Updated dependencies and scripts in package configurations to maintain
up-to-date development tools.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#32308
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced text styling in flex layouts to improve spacing and
alignment.
- Updated the WDSParagraphWidget to include a Flex container, enhancing
the structural layout and rendering of text elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
Fixes#28466
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced customizable `Select` component with enhanced dropdown
features including error messages, loading state, and contextual help.
- Added a new `className` prop to the `Button` component for custom
class name manipulation.
- **Enhancements**
- Updated the design system package to include exports for new
components like `Select` and `ContextualHelp`.
- Improved accessibility and cohesive user interface across components.
- **Bug Fixes**
- Corrected import paths for `ContextualHelp` in various components to
ensure consistent functionality.
- **Documentation**
- Updated component documentation to reflect new features and props.
- **Style Updates**
- Added comprehensive styles for the new `Select` component, including
form fields and error text styling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced typography styling with dynamic font size adjustments.
- Introduced feature flag checks for new functionalities.
- Implemented `VirtualTableBody` for efficient data rendering.
- Added `onClickRow` functionality in table rows for improved
interactivity.
- Improved table accessibility with explicit cell roles.
- Added pagination controls refinement in table headers.
- **Refactor**
- Simplified table header and body component structures for better
maintainability.
- Streamlined feature flag usage for cleaner logic.
- Refined `WDSTableWidget` component by optimizing width calculations
and event handling.
- **Style**
- Introduced a new CSS module for comprehensive table styling.
- Removed outdated styling configurations to align with updated design
system.
- **Bug Fixes**
- Fixed accessibility issues by adding proper roles to table cells.
- **Chores**
- Removed unused functions and properties related to theme and styling
adjustments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
Fixed the alignment of the content inside the input
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced `prefix` and `suffix` props for better customization in
TextInput components, replacing `startIcon` and `endIcon`.
- Added examples for using menus as prefixes/suffixes and for type
password functionality in TextInput stories.
- Implemented loading indicator functionality with priority over icons
in TextInput.
- Added support for disabled and readonly states with icon prefixes and
suffixes in TextInput.
- **Bug Fixes**
- Adjusted styles for autofill, focus states, and padding in input
fields to improve user experience.
- **Documentation**
- Updated TextInput component documentation to reflect new `prefix` and
`suffix` props usage and examples.
- **Refactor**
- Removed `startIcon` and `endIcon` properties from TextInputProps and
updated rendering logic.
- Replaced `startIcon` with `prefix` in CurrencyInputComponent and
PhoneInputComponent.
- Changed `startIcon` and `endIcon` to `prefix` and `suffix` in
InputComponent.
- **Style**
- Removed specific styling for `[data-field-input-group]` affecting
display and alignment.
- Updated text-input module CSS to enhance the appearance of prefix and
suffix elements and small-sized input fields.
- **Chores**
- Added `MULTI_LINE_TEXT` constant to the `InputTypes` object.
- Updated the label for the "Icon" property in WDSInputWidget's
propertyPaneStyleConfig.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Adds WDS components in Table Header
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced utility functions for handling table data, including
downloading and transforming data into CSV or Excel formats.
- Added a new `TableHeader` component for the `WDSTableWidget` with
features like search, actions, adding new rows, and pagination.
- **Enhancements**
- Enhanced feature flag checks for "ab_wds_enabled" and
"release_anvil_enabled" to prioritize specific flags before general
lookup.
- Updated `ActionGroup` component to include a `size` property for the
`IconButton`.
- **Refactor**
- Removed redundant imports and renamed the `searchTableData` function
to `onSearch` across multiple components to streamline search
functionality.
- Updated the `useListState` call to suppress text value warnings,
improving code quality without altering functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
This PR adds styles for separator in the action group menu
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced menu items in the design system to support separators and
icons, improving visual organization and interaction.
- **Style**
- Updated styling for menu items with separators to improve visual
clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
Plenty changes related to widgets alignment
1. Paragraph, button, inputs, single checkbox and switch widgets are
aligned along the baseline of the text content
2. The icons in the buttons and the single checkbox and switch are now
positioned absolutely so as not to affect the height of the components.
The height of the components now depends on text content.
3. All unnecessary paddings and borders in the layout have been removed:
- Canvas padding: `--outer-spacing-4`
- Gap between sections and zones: `--outer-spacing-4`
- Zone padding: `--outer-spacing-3`
- Gap between widgets: `--outer-spacing-3`
4. In widget selection styles replace `border` with `outline`, since the
`outline` one does not take space.
5. Add Changes to the flex-basis calculation method. Now the gap between
the zones is taken into account there.
6. Add a lot of small fixes related to the changes described above.
https://github.com/appsmithorg/appsmith/assets/11555074/b7c220eb-3e27-4039-9c15-6281bafe8008Fixes#29364
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8375537665>
> Commit: `f85b63c0a49f30b9762379c2f8c3bd38c7a8355f`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8375537665&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Improved handling of CSS variable values in Flex components.
- Enhanced styling and layout configurations for a better user
experience.
- **Bug Fixes**
- Fixed label positioning and styling issues in Checkbox and Switch
components.
- Adjusted padding, margin, and sizing for consistency and alignment.
- **Refactor**
- Enhanced flex layout handling and space distribution logic for
improved layout flexibility.
- **Style**
- Updated component styles for refined user interface aesthetics.
- **Chores**
- Updated feature flags and configurations for widgets and components to
enable new functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#31899
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new hover outline color for input fields to enhance user
interaction.
- **Style**
- Updated hover outline colors for both Dark and Light modes to improve
visibility and aesthetics.
- **Tests**
- Adjusted tests to reflect new color values for hover states in both
Dark and Light themes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#29365
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced label positioning for Checkbox, Radio, and Switch components
with "start" and "end" options.
- Introduced dynamic orientation for Checkbox and Radio groups based on
container size.
- Added new story for RadioGroup component to demonstrate vertical
orientation.
- **Style Updates**
- Updated CSS for Switch, Checkbox, and Radio components to align with
the new label positioning options.
- Improved field group styles with `flex-wrap` to accommodate various
layouts.
- **Refactor**
- Modified handling of `labelPosition` across components for consistency
and flexibility.
- Implemented `useGroupOrientation` hook for dynamic orientation
management.
- **Chores**
- Adjusted default configurations and property pane options for widgets
to align with new label positioning and orientation features.
- Added feature flag checks for specific functionalities to always
return `true`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Fixes the bug in inline button group where it button don't spread out
when the widget is selected.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Simplified the `ButtonGroup` component's flex basis style to always be
`"100%"`.
- Streamlined the logic in the `useButtonGroup` function by removing the
`isMeasuring` property and focusing on orientation management.
- **New Features**
- Enhanced feature flag checks to directly return `true` for
"ab_wds_enabled" and "release_anvil_enabled" flags, improving feature
management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Improved styling isolation for text input elements to enhance visual
consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Fixed text input widget width
- Increased size of the separator for toolbarButtons
- Fixed widgets label
- Fixed behaviour for Boolean widgets. Removed Checkbox and Radio
labelPosition. Fixed width for these widgets
#### PR fixes following issue(s)
Fixes # (issue number)
#29088#31250
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
## 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
- [ ] 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
Fixes#31252
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Updated the design of the modal headers, including font weight and
variant adjustments.
- Enhanced spacing within modal components for improved visual
structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Fixes#30438
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new `ButtonGroup` component that manages groups of
buttons with customizable properties like color, size, and orientation.
- Added a `ButtonGroupItem` component for rendering buttons within the
`ButtonGroup`.
- Launched an "Inline Buttons" widget allowing users to configure a
group of buttons inline with various properties such as labels,
visibility, and icons.
- Enhanced icon loading with fallback styles for better spacing and
appearance.
- **Refactor**
- Updated various components (ActionGroup, Button, Menu) to use new
`ButtonGroupProps` and `ButtonGroupItemProps`, aligning with the new
`ButtonGroup` component structure.
- Renamed widget names and updated configurations to improve clarity and
consistency across the application.
- **Bug Fixes**
- Fixed feature flag checks to directly return `true` for specific
flags, ensuring feature availability checks are more efficient.
- **Documentation**
- Added comprehensive story and documentation for the `ButtonGroup`
component, showcasing its usage with different options.
- **Chores**
- Enhanced internal codebase by optimizing the `Icon` component
performance through memoization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Fixes#31020
We now have options to express elevation with backgrounds plus shadows,
borders, or a combination of both.
https://github.com/appsmithorg/appsmith/assets/80973/6ab62bc7-b2e9-4de5-9c6a-d5447b591b14
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new methods in both dark and light mode themes to calculate
elevation border color.
- **Refactor**
- Restructured the `Elevation` testing story to offer a display of
borders, shadows, and combined effects.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#31329
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Adjusted the stacking order of elements in the design system to
enhance visual hierarchy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Move canvas resizer by 1 DOM node higher.
- Used `contain: strict;` for modal styles.
**Before:**

**After:**

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Improved modal overlay containment with updated CSS properties.
- Enhanced page alignment with new centering style for the
`PageViewWrapper` component.
- **Refactor**
- Streamlined canvas viewport handling in the Widgets Editor for better
conditional styling.
- **Chores**
- Updated Cypress configuration to modify scroll behavior settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#31054
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Updated styling across various components to align with the new
elevation theme, enhancing visual consistency.
- **Refactor**
- Adjusted border-radius properties in CSS styles for multiple
components to utilize `--border-radius-elevation-3` for a cohesive look.
- **Chores**
- Enhanced the `Elevation` component to use specific elevation-related
border radius values for improved styling.
- **Style**
- Tweaked background color and border-radius properties in the
`Container` component based on `elevatedBackground` and `elevation`
props.
- **Documentation**
- Updated access to `borderRadius` property in the theme object for
`TooltipContent.tsx` to `theme?.borderRadiusElevation?.[1].value`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Icon tokens now respond to changes to density and sizing in the theme.
Added the appropriate settings to the config as well
- Fixed the documentation and rendering of some stories in storybook.
- Fixed icon rendering
#### PR fixes following issue(s)
Fixes#30955
#### Media
https://github.com/appsmithorg/appsmith/assets/11555074/e0cd818f-9716-4887-9f5e-aaa3c3ab9e30
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
- 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
- [x] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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
- [x] 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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced custom React hooks for dynamic icon sizing
(`useIconSizing`) and stroke width adjustments (`useIconDensity`).
- Revised `Dimension` component functionality with new token calculation
and user adjustments.
- **Refactor**
- Updated various type imports to improve consistency across theming
hooks.
- Simplified logic in detached widget hooks and removed unnecessary
styling logic in resizer components.
- **Style**
- Adjusted shadow colors and properties in CSS modules.
- Updated icon and button styling for better size and stroke width
management.
- **Documentation**
- Removed sections focusing on deprecated hooks and components in
storybook stories.
- **Chores**
- Changed favicon path in Storybook manager.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#30901
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced feature flag checks to always enable specific features
without checking flag values.
- Introduced dynamic sizing for widget icons and thumbnails in the
editor, improving visual consistency.
- Implemented new styling for text input elements to better adapt to
various container sizes.
- Added unique identifiers to improve testability of the widget sidebar.
- Introduced new SVG properties for widget thumbnails and icons,
enriching widget customization options.
- **Refactor**
- Adjusted gap spacing in the widget sidebar for a more compact layout.
- **Style**
- Updated text input styling to use flexible width for improved layout
responsiveness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
Added recommended rules for testing library
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added `data-testid` attributes across various components for improved
test identification.
- **Tests**
- Enhanced test cases with asynchronous handling (`async`/`await`) for
more reliable user interaction simulations.
- Transitioned to using `getByTestId` instead of `queryByTestId` for
better assertion reliability in tests.
- Added `await` before the `userEvent.click(el)` statement in the
ChartWidget test file.
- Updated the destructured variable names from `queryByTestId` to
`getByTestId` in the DividerWidget test file for improved clarity.
- Added an import for `screen` from "@testing-library/react" and updated
element querying in the TabsWidget test file.
- **Chores**
- Updated ESLint configurations to include testing-library plugins and
rules, improving code quality and consistency in test files.
- Removed unnecessary `cleanup` function calls after tests, following
best practices for test cleanup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#30439
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced feature flag checks to directly return `true` for specific
flag names, improving efficiency.
- Updated the `ButtonListControl` component to support separators
between buttons for better visual distinction.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Closes#29731
tl;dr nicer, softer shadows, some refinement on elevated backgrounds
Comparison for various seeds (old on top, refined on the bottom):

Dark mode:

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Style**
- Fine-tuned the color calculations in both dark and light mode themes
to enhance visuals of elevated levels.
- Adjusted the `Elevation` test story for better evaluation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Get rid of fluid tokens. I left the original scale function unchanged, I
use the min value for tokens.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Simplified fluid sizing calculations across the design system for
consistency and performance.
- Improved state management in ThemeProvider for more responsive
theming.
- **Style**
- Updated Modal component padding for better visual spacing.
- **Chores**
- Updated various Storybook configurations and styling for better
performance and usability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes for the modal widget:
1. Added support for clickOutside. The modal is closed only by clicking
on the backdrop overlay. A click on the widget name has been added to
the exceptions for close event.
2. Fixed the positioning of the modal. Now it is located in the center
of the provider.
3. For the correct positioning of the modal, it was necessary to make
fixes for canvas height. The fixes also affect fixed and autolayout.
#### PR fixes following issue(s)
Fixes#30788
Also fixed this
https://www.notion.so/appsmith/Canvas-gets-cut-off-on-preview-mode-525b95f26c6e4644bf5ab7389c02e434
#### Media
https://github.com/appsmithorg/appsmith/assets/11555074/6db9ecde-595b-4fa4-a21b-9ed08930d58f
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- 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
- [x] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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
- [x] 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
#### 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**
- Popover and Modal components now support dismissing by clicking
outside. Custom logic and selectors can be specified to control this
behavior.
- **Enhancements**
- Simplified logic for closing Modals by directly setting open state.
- Enhanced Modal styling options, allowing for better customization of
width and height.
- ErrorBoundary component now supports custom styles.
- **Refactor**
- Removed redundant code and unused properties across various components
and layout systems.
- Simplified state management and styling adjustments in editor
components.
- **Style**
- Updated Modal component styles for improved layout and responsiveness.
- **Chores**
- Codebase cleanup including removal of unused classes, variables, and
adjustments for more efficient layout rendering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#30423
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced the `StatBoxComponent` for displaying statistical
information with flexibility in presentation, including icons, labels,
values, and sublabels.
- Expanded the application's widget offerings by adding the
`WDSStatBoxWidget`.
- **Enhancements**
- Improved flexibility and customization of the Flex component with the
introduction of the `isInner` property.
- Enhanced feature flag checks for quicker enablement of specific
functionalities.
- **Documentation**
- Added comprehensive configurations and documentation for the
`WDSStatBoxWidget`, including property pane settings, default
configurations, and meta information.
- **Style**
- Implemented new styling for the `StatBoxComponent`, defining its
appearance including border, width, and background.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#30428
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced the `KeyValue` widget, enhancing the app's widget library
with key-value input functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#30426
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced layout configuration for various widgets including Button,
Checkbox, Currency Input, Icon Button, Input, Menu Button, Paragraph,
Phone Input, Radio Group, Switch, and Table, providing better
responsiveness and design consistency.
- **Bug Fixes**
- Fixed the `componentHeight` calculation in the Table widget for
improved stability.
- **Refactor**
- Streamlined auto layout configuration across multiple widgets to
simplify the user interface.
- **Style**
- Updated default widget dimensions for a more cohesive user experience.
- **Chores**
- Cleaned up unused properties and imports to optimize widget
performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Valera Melnikov <valera@appsmith.com>
## Description
This PR primarily adds the modal widget to WDS.
The following changes were made:
1. WidgetNameCanvas now listens to modal body scrolls to position widget
name components correctly
2. Modal Widget is rendered as a detached widget that is outside of the
layout flow of the main canvas
3. Main container resizer now has a higher z-index to show even if the
modal is open in the preview mode
4. Widget selection flow in Anvil layout system has been modified to be
handled in a central location (`AnvilMainCanvas`)
5. Modal widget's type in modal sagas are selected via a selector that
checks for the feature flag.
6. Modal widget has its own preset that (at present) is similar to the
Main container's layout preset
#### PR fixes following issue(s)
Fixes#28588Fixes#28328Fixes#27459
#### Media
https://github.com/appsmithorg/appsmith/assets/103687/bf350be4-2202-49f3-a860-3e38681ab32e
#### Type of change
- New feature (non-breaking change which adds functionality)
- This change requires a documentation update
## 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**
- Enhanced Modal components with additional styling and customization
options.
- Introduced a new event type for modal submission actions.
- Added a `--on-canvas-ui-z-index` CSS variable for improved layering
control.
- Implemented a new method for widget focus management in the editor.
- **Improvements**
- Modal components now use context hooks for close actions.
- Improved the handling of detached widgets in various layout systems.
- Simplified the drag-and-drop state management for widgets.
- Upgraded the visual presentation of the widget drop area.
- Enhanced widget selection with new custom event dispatching.
- Updated the modal widget configuration with default settings and
property pane structure.
- **Bug Fixes**
- Fixed an issue with modal scrolling to behave consistently with the
main container.
- Addressed a problem where the `id` was not found during layout element
position updates.
- **Style**
- Adjusted modal overlay positioning and content width with new CSS
standards.
- Updated zIndex references to use CSS variables for consistent styling.
- **Refactor**
- Reorganized the `Widgets` array into categorized groups for better
clarity.
- Simplified the `modalPreset` function's parameters and layout
declaration.
- **Documentation**
- Added default values for feature flags in the documentation.
- **Chores**
- Altered feature flags to enable new functionalities by default.
- **Tests**
- No visible changes to end-users in this category.
- **Revert**
- No visible changes to end-users in this category.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Preet Sidhu <preetsidhu.bits@gmail.com>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
## Description
- Added tokens to the anvil config
- Removed redundant functions for calculating widget sizes
- I cleaned the widget configs
- Added a zero-state to the input component
- Optimised the responsiveness of the action group component
https://github.com/appsmithorg/appsmith/assets/11555074/e9e0513a-cf3f-42ef-b960-820bb4980858
#### PR fixes following issue(s)
Fixes#29507
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- 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
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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
- [x] 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
#### 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**
- Enhanced `MenuItem` display with additional text attribute for better
accessibility.
- Improved user interaction with `TextArea` and `TextInput` components
through more effective handling of default and read-only states.
- Extended `Flex` component to include click event handling
capabilities.
- Refined `ActionGroup` styling and dynamic sizing for a more polished
UI experience.
- **Enhancements**
- Updated `Button` styling to ensure consistency across different screen
sizes.
- Optimized layout and styling of `Menu` items for improved visual
hierarchy and responsiveness.
- **Refactor**
- Simplified `WidgetProvider` and `AnvilEditorWidget` configurations for
more streamlined layout management.
- Refined `ZoneColumn` rendering for better alignment with layout system
principles.
- **Bug Fixes**
- Fixed minimum width calculation in `useZoneMinWidth` hook to ensure
correct layout behavior.
- Corrected `AnvilDSLTransformer` padding value for consistent widget
spacing.
- **Documentation**
- Removed redundant Storybook addon to streamline developer experience.
- **Style**
- Adjusted CSS for various components to align with updated design
system standards.
- **Tests**
- Updated widget property pane configuration tests for better coverage
and reliability.
- **Chores**
- Cleaned up unused imports and methods across multiple widget
components for improved code maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#28443Fixes#27866
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced `IconSelectControlV2` for enhanced icon selection with
keyboard navigation and state updates.
- Added new `iconStyle` theme property for users to define icon styles
globally.
- Implemented dynamic icon loading with fallback options, improving icon
management.
- **Enhancements**
- Simplified icon usage across various components like `Button`,
`IconButton`, `Menu`, `ModalHeader`, `TextInput`, and more by directly
using icon names.
- Enhanced `Tag` component to use a generic `Icon` component for the
remove action.
- **Style Updates**
- Added CSS classes for resizing, boundary display, and pointer event
handling.
- Updated icon size definitions using CSS custom properties.
- **Bug Fixes**
- Fixed icon-related issues in `Button`, `ActionGroup`, `Menu`, and
`TextInput` components to ensure proper icon display.
- **Documentation**
- Updated storybook and test cases to reflect new icon selection and
usage.
- **Refactor**
- Refactored theme and token management to include `iconStyle` for
consistent icon theming.
- Refined the `ButtonGroupWidget` and `MenuButtonWidget` to use the new
icon selection mechanism.
- **Chores**
- Cleaned up unused icon imports and components across the codebase to
streamline the icon system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Updated theming capabilities for a more consistent and customizable
user interface.
- **Style**
- Enhanced Modal widget styling for better visual integration within the
app.
- **Documentation**
- Improved Storybook previews with custom font settings for a more
accurate representation of components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#29426
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced `isLoading` state for action items to provide user feedback
during actions.
- Added `onAction` callback to menu items for improved interaction
handling.
- **Enhancements**
- Enhanced action group visibility based on orientation.
- Streamlined modal control flow with keys for different modal sizes.
- Implemented `htmlFor` attribute in checkboxes for better form
accessibility.
- **Refactor**
- Transitioned from `ButtonGroup` to `ActionGroup` across various
components for consistency.
- Refactored component structures to integrate new `ActionGroup` and
`Item` components.
- Updated widget configuration and properties to accommodate new
features and styles.
- **Style Updates**
- Added new CSS rules for buttons with `data-density="compact"`.
- Removed outdated CSS properties to align with updated design system.
- **Documentation**
- Updated story examples to reflect changes in modal and action group
usage.
- **Bug Fixes**
- Fixed association issues between labels and checkbox inputs.
- **Configuration**
- Introduced `anvilConfig` for widget size properties and updated
property pane configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#29446
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced `WDSHeadingWidget` for enhanced heading elements.
- Launched `WDSParagraphWidget` for improved paragraph formatting.
- **Refactor**
- Transitioned from `WDSTextWidget` to more specific text-related
widgets: `WDSHeadingWidget` and `WDSParagraphWidget`.
- **Style**
- Updated widget styles to reflect new static color assignments and
semantic changes.
- **Documentation**
- Updated widget names in configuration files to align with new naming
conventions.
- **Chores**
- Removed unused color configuration code from `styleConfig.ts`.
- **Tests**
- Adjusted tests to accommodate new widget structure and naming.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->