Commit Graph

216 Commits

Author SHA1 Message Date
Pawan Kumar
85226f48cc
chore: fix blueprint operation inconsistency for zone (#36980)
In anvil, when widgets are dropped on canvas, we create a zone which has
`visual separation` marked as true by default.
Now, There is a usecase for the chat widget in which we want to modify
the zone`s `Visual separation` to false on creation of zone.

The code for bleuprint operation for chat widget would like this:

```js
blueprint: {
    operations: [
      {
        type: BlueprintOperationTypes.MODIFY_PROPS,
        fn: (
          widget: FlattenedWidgetProps,
          widgets: CanvasWidgetsReduxState,
          parent: FlattenedWidgetProps,
          layoutSystemType: LayoutSystemTypes,
        ) => {
          if (layoutSystemType !== LayoutSystemTypes.ANVIL) return [];

          const updates: UpdatePropertyArgs[] = [];
          const parentId = widget.parentId;

          if (!parentId) return updates;

          const parentWidget = widgets[parentId];

          // we want to proceed only if the parent is a zone widget and has no children
          if (
            parentWidget.children?.length === 0 &&
            parentWidget.type === "ZONE_WIDGET"
          ) {
            updates.push({
              widgetId: parentId,
              propertyName: "elevatedBackground",
              propertyValue: false,
            });
          }

          return updates;
        },
      },
    ],
  },
  ```

This should work fine, but in the code where we create zone and attaching widgets to it, after running the blueprint operations, we were not using the correct updated zone that returned from blueprint operations of the child widgets. This PR uses the correct zone.

Also there is a case where blueprint operation is not able to update the existing widgets because all properties of existing widgets were readonly. So cloned the widgets from redux before passing to widget addition saga functions.

/ok-to-test tags="@tag.All"

## Summary by CodeRabbit

- **New Features**
	- Improved clarity in widget handling by renaming parameters related to dragged widgets.
	- Streamlined the process of adding widgets to zones by simplifying parameter structures.

- **Bug Fixes**
	- Enhanced immutability in widget property updates within the state management process.

- **Style**
	- Updated CSS styles for the `.markdown` class, removing unnecessary pseudo-elements for improved formatting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11474751370>
> Commit: 8a385eec313142b40f848eed20310d3774c0705c
> <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11474751370&attempt=3" target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 23 Oct 2024 09:47:24 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

- **New Features**
	- Improved clarity in widget handling by renaming parameters related to dragged widgets.
	- Enhanced functionality for adding widgets to zones by simplifying the data structure used.
	- Implemented safer state manipulation for widget addition using a deep copy approach.

- **Bug Fixes**
	- Addressed potential issues with direct state mutation during widget addition.

- **Style**
	- Updated CSS styles for the Markdown component by removing unnecessary pseudo-elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-25 16:54:52 +05:30
Valera Melnikov
839e89e8ea
chore: add new ADD_ACTION blueprint operation type (#37078)
## Description
This PR is CE part of main [EE
PR](https://github.com/appsmithorg/appsmith-ee/pull/5368). This PR
implements a new ADD_ACTION blueprint operation type.

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/11508513702>
> Commit: ef5ed889ab5711bab162c2a947758da3726f64b5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11508513702&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 25 Oct 2024 07:17:20 UTC
<!-- 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

- **New Features**
	- Introduced a new enum for handling data source creation and updates.
- Enhanced application creation logic with updated naming conventions
based on layout features.
- Improved workspace management functionalities, including application
import and user invitation processes.

- **Bug Fixes**
- Enhanced error handling and state management across various components
and sagas.

- **Documentation**
- Added comments to clarify temporary solutions in CSS for widget
interactions.

- **Chores**
- Removed obsolete Avatar component and related files, streamlining the
design system.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-25 12:00:34 +03:00
Pawan Kumar
62e5f0952e
chore: update anvil modal size api (#37033)
Fixes the API for modal for setting modal.

/ok-to-test tags="@tag.Anvil"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11479189189>
> Commit: 1a07d20439ef71515a8246cc1065af60bf54f07a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11479189189&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Wed, 23 Oct 2024 12:09:48 UTC
<!-- 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 a new `size` prop for the Modal component, allowing for
flexible sizing options (e.g., small, medium, large).
- Added `overlayProps` for enhanced customization of the Modal's overlay
properties.

- **Bug Fixes**
- Removed the outdated `dataAttributes` prop, streamlining the Modal
configuration.

- **Documentation**
- Updated examples to reflect the new prop structure for the Modal
component.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-23 18:30:39 +05:30
Pawan Kumar
5e4b026452
chore: fix markdown styles (#36959)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Updated Markdown rendering components to streamline available
elements.
  
- **Bug Fixes**
- Adjusted CSS styles for lists and anchor tags to improve layout and
appearance.

- **Chores**
- Removed unused components related to paragraphs and lists to enhance
code maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-18 10:19:53 +03:00
Pawan Kumar
6a6ee9a84d
chore: add neutral-subtle for text and update avatar sizes (#36945) 2024-10-17 14:45:30 +03:00
Pawan Kumar
85371bed71
chore: Styles fixes for suffix in textarea chat (#36911) 2024-10-16 15:05:10 +03:00
Pawan Kumar
24d989d987
chore: add soft token + add subtle button variant (#36899)
/ok-to-test tags="@tag.Anvil"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11362114942>
> Commit: e1fc66eb329aa58c08ae6147cc6a5bb1d8107a17
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11362114942&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Wed, 16 Oct 2024 09:07:10 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-10-16 15:14:43 +05:30
Valera Melnikov
e094bf2c4c
chore: remove unused chat files (#36861)
## Description
I forgot to delete it in the previous issue. 

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 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/11325795465>
> Commit: 6ec1c0f877a1af03bdfc97059e598c6b4218f64b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11325795465&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 14 Oct 2024 11:06:16 UTC
<!-- 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

- **Bug Fixes**
- Removed the `ChatInput` component, which previously provided a
customizable text input area with features for error handling and
dynamic resizing.

- **Chores**
- Deleted the associated TypeScript type definitions for
`ChatInputProps`, simplifying the component structure.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-14 15:27:58 +03:00
Valera Melnikov
97f2560170
chore: move chat widget to EE repo (#36845)
## Description
I deleted all the code associated with the AI chat widget from CE and
moved it to EE. In order for the code splitting to work correctly, I
created two empty files:
-
[src/ee/modules/ui-builder/ui/wds/constants.ts](https://github.com/appsmithorg/appsmith/pull/36845/files#diff-472f9e0642a7c5739f6fc585d877c3f7ead4aec2525db231f724a6a981c400fd)
-
[src/ee/modules/ui-builder/ui/wds/index.ts](https://github.com/appsmithorg/appsmith/pull/36845/files#diff-295de4eead00758748f21d11af43f079a635fcf3b377d428a15c6f7555e8882c)

Related EE PR — https://github.com/appsmithorg/appsmith-ee/pull/5333

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/11324026199>
> Commit: 2e41096cd8896b5497077e57f3d678c70e187584
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11324026199&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 14 Oct 2024 10:04:39 UTC
<!-- 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

- **New Features**
- Introduced new constants and variables for enhanced widget mapping and
configuration.

- **Bug Fixes**
- Removed outdated components and exports from the AIChat and ChatInput
modules to streamline functionality.

- **Chores**
- Cleaned up unused files and exports to improve codebase
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-14 13:10:28 +03:00
Pawan Kumar
a7bf302f9a
chore: Update markdown component + create avatar component + refactor (#36832)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
	- Introduced the `Avatar` component for displaying user avatars.
- Added the `Markdown` component for rendering Markdown content with
GitHub Flavored Markdown support.
- Enhanced `AIChat` component with a new modular input system and
improved message display.

- **Bug Fixes**
	- Updated CSS for better styling consistency across components.

- **Refactor**
- Removed outdated components (`ChatDescriptionModal` and
`ThreadMessage`) to streamline the codebase.
	- Simplified the structure of `AIChat` by incorporating new components.

- **Documentation**
- Updated Storybook stories for `AIChat`, `Avatar`, and `Markdown`
components to showcase new features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11320929997>
> Commit: db2bc5c9a0a0a65b3d9dd4f53e9f100beb3af3a7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11320929997&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 14 Oct 2024 04:42:54 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-10-14 11:20:21 +05:30
Ilia
7644b67483
feat: show chat description (#36805)
## Description

[Figma](https://www.figma.com/design/mVEbXXryqv2oBxMcNg8yjC/Concepts-%2B-First-Demo?node-id=295-1720&node-type=section&m=dev)


Fixes #36803  

> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 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/11289139519>
> Commit: 8ddc4fd5228e0aa76386943be0ce321254e64513
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11289139519&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 11 Oct 2024 09:19:15 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Introduced a chat description modal in the AI chat component, allowing
users to view additional information about the chat.
- Added a button to open the chat description modal alongside the chat
title.
- Enhanced the `WDSAIChatWidget` to accept and display the chat
description.

- **Bug Fixes**
- Improved layout adjustments for better responsiveness in the chat
interface.

- **Documentation**
- Enhanced export capabilities for easier access to chat description
modal components and types.

- **Style**
- Updated CSS styles for improved layout and flexibility in spacing
across various components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-11 12:06:18 +02:00
Ilia
a0814e1438
feat: add initial assistant message (#36798)
## Description

![image](https://github.com/user-attachments/assets/bb8cf448-6bfe-485a-9e19-d222ae3d8411)



Fixes #36776  

> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 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/11275055683>
> Commit: a8f155422725c5310b7ac37d49a57995ee20f732
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11275055683&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 10 Oct 2024 14:29:09 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Introduced `AssistantSuggestionButton` for enhanced user interaction
in the AI chat.
- Added support for displaying and applying assistant suggestions in
chat threads.
	- Implemented an editable array component for managing string pairs.
- Enhanced configuration options with new properties for initial
assistant messages and suggestions.

- **Improvements**
	- Improved state management for dynamic messages in the AI chat widget.
- Updated rendering logic for conditional display of suggestions in chat
messages.
- Added new props to facilitate better interaction and suggestion
handling in chat components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-10 16:29:26 +02:00
Pawan Kumar
6e59db227d
chore: refactor inputs (#36680)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
- Introduced a new `ChatInput` component for enhanced user input in chat
interfaces, featuring structured input fields and dynamic height
adjustments.
- Added a customizable `Input` component for both single-line and
multi-line text entry, with support for password visibility and loading
states.
- Launched a `TextAreaInput` component that integrates loading states
and optional prefix/suffix elements for a versatile text area
experience.

- **Improvements**
- Enhanced input components with new interfaces for better customization
options and shared properties.

- **Bug Fixes**
- Resolved issues related to input sizing and alignment, ensuring a
smoother user experience.

- **Documentation**
- Expanded documentation to include details on the new input components
and their usage examples.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11251960399>
> Commit: dc87d2de1213d23fdda1f52cee5b346d68627263
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11251960399&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Wed, 09 Oct 2024 10:49:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-10-09 16:22:44 +05:30
Ilia
e495422975
feat: add AIChat stories and tests (#36700)
## Description
- Add stories for storybook
- Add unit tests. Some case are not covered due to lack of clear
requirements and will be added later
- Fix bug where `username` is `undefined`


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 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/11177693011>
> Commit: ba99a27d5956a74dade5ae54998056bd2d3d6a44
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11177693011&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 04 Oct 2024 10:27:03 UTC
<!-- 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

## Release Notes

- **New Features**
- Introduced a new Storybook configuration for the `AIChat` component,
showcasing various states including `Main`, `EmptyHistory`, `Loading`,
and `WithHistory`.
  
- **Improvements**
- Enhanced testability of the `AIChat` and `ChatTitle` components by
adding `data-testid` attributes.
- Updated `AIChat` component to streamline props and improve rendering
logic.

- **Bug Fixes**
- Ensured the `username` prop defaults to an empty string in the
`WDSAIChatWidget` component.

- **Tests**
- Added a comprehensive test suite for the `AIChat` component,
validating its rendering and functionality across different scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-04 12:38:10 +02:00
Ilia
9e2fb95aee
feat: init AI chat widget (#36610)
## Description


Fixes #36541

> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
c4a6e25abc716cc6a54e612a3800ca95079ba8a0 yet
> <hr>Thu, 03 Oct 2024 11:06:19 UTC
<!-- 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**
- Introduced the WDS AI Chat Widget for interactive chat experiences
using OpenAI.
	- Added the AIChat component for enhanced chat functionality.
- Expanded the collection of available widgets with the new WDS AI Chat
Widget.
- Introduced the ThreadMessage component for structured message
rendering in the chat interface.
- Added UserAvatar and ChatTitle components for improved user
interaction and display.
- Introduced new icons and thumbnails for AI Chat and Date Picker to
enhance visual representation.

- **Bug Fixes**
- Resolved issues related to widget integration within the existing
framework.

- **Documentation**
	- Updated configuration files to enhance modularity and organization.
	- Expanded documentation to include new icons and thumbnails.

- **Chores**
- Added the OpenAI, React Markdown, and React Syntax Highlighter
dependencies for improved functionality.
	- Introduced a new type declaration dependency for better type support.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
Co-authored-by: saiprabhu-dandanayak <saiprabhu.dandanayak@zemosolabs.com>
Co-authored-by: Rudraprasad Das <rudra@appsmith.com>
Co-authored-by: Abhishek Pandey <66054987+a6hishekpandey@users.noreply.github.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: “NandanAnantharamu” <“nandan@thinkify.io”>
Co-authored-by: Anagh Hegde <anagh.hv@gmail.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: sneha122 <sneha@appsmith.com>
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
Co-authored-by: Nilansh Bansal <nilansh@appsmith.com>
Co-authored-by: Rishabh Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: vadim <vadim@appsmith.com>
2024-10-03 14:26:18 +03:00
Valera Melnikov
3484a7b74c
fix: removing unused dependencies and explicitly installing used ones (#36573)
## Description
Removing unused dependencies and explicitly installing used ones.

The identification of dependencies was done using the
[knip](https://knip.dev/). Dependency lists are provided in the
appropriate files.
- [Unused
dependencies.txt](https://github.com/user-attachments/files/17161963/Unused.dependencies.txt)
- [Unused
devDependencies.txt](https://github.com/user-attachments/files/17161964/Unused.devDependencies.txt)
- [Unlisted
dependencies.txt](https://github.com/user-attachments/files/17161965/Unlisted.dependencies.txt)

EE PR — https://github.com/appsmithorg/appsmith-ee/pull/5229

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/11100669672>
> Commit: 31b8da3dd07e452c8921526cd8e1336b11add27f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11100669672&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 30 Sep 2024 09:15:27 UTC
<!-- 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

## Release Notes

- **New Features**
- Introduced new dependencies to enhance functionality and
observability.
  
- **Bug Fixes**
- Removed outdated or unnecessary dependencies to streamline the
application.

- **Documentation**
  - Updated configuration files to improve clarity and maintainability.

- **Chores**
- Cleaned up various package files by removing unused dependencies
across multiple modules.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-30 12:28:46 +03:00
Ilia
d6f249b42d
chore: add blank line eslint rule (#36369)
## Description
Added ESLint rule to force blank lines between statements. 


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10924926728>
> Commit: 34f57714a1575ee04e94e03cbcaf95e57a96c86c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10924926728&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/Anvil/AnvilModal_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilStatsWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilTableWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilToolbarButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilZoneSectionWidgetSnapshot_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Wed, 18 Sep 2024 16:33:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-09-18 19:35:28 +03:00
Valera Melnikov
d4807ac059
chore: refactor wds combobox component (#36286)
## Description
Added styles for input to the combobox
Separate reused components(FieldDescription, FieldError, FieldLabel,
FieldListPopover)

Fixes #36224

## 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/10888601720>
> Commit: 7ef81de082771d0345478f5cf21ce7fadcc83547
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10888601720&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 16 Sep 2024 17:33:23 UTC
<!-- 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

## Release Notes

- **New Features**
- Added a more comprehensive set of button size examples to the
`Button.stories.tsx` file.
- Introduced a new `FieldDescription` component in the `ComboBox.tsx`
file to handle field descriptions.

- **Styling Improvements**
- Refined the spacing, padding, and text size for the `Button` component
based on its size.
- Enhanced the visual feedback for checkboxes in invalid and selected
states in the `Checkbox` component.
- Simplified the CSS structure and improved the visual states of the
`ComboBox` component.

- **Refactor**
- Replaced legacy components in the `ComboBox` with more standardized
design system components for improved consistency.
- Removed the `ListBoxItem` component, indicating a change in the list
box rendering approach.
- Narrowed the allowed sizes for the `ComboBox` component, excluding
"xSmall" and "large" sizes.

- **Chores**
- Removed the `ErrorMessage` component and its associated export in the
`index.ts` file.
- Added a `verbatimModuleSyntax` property to the `tsconfig.json` file,
potentially affecting module handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-17 10:59:01 +03:00
Pawan Kumar
7e98542495
chore: remove filled icon style setting (#36300)
Fixes #35175 

/ok-to-test tags="@tag.Anvil"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10845022776>
> Commit: 9224955b35c1083a6135afd956ba9026c91683c1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10845022776&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 13 Sep 2024 08:02:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

- **New Features**
- Simplified theme management by removing icon style options from the
user interface.

- **Bug Fixes**
- Enhanced clarity in theme handling by refining type usage in various
components.

- **Chores**
- Removed deprecated icon style properties and constants to streamline
code and improve maintainability.
- Deleted a test case related to icon styles to focus testing efforts
elsewhere.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-09-13 15:02:14 +05:30
Ilia
7a53aff29e
feat: add ComboBox wds component (#36052)
## Description
- Added ComboBox wds component. It is partly unstyled. It will be fixed
in upcoming PRs
- Added ComboBox widget

Fixes #36015 

> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10718261812>
> Commit: b13c79c63b809bfdb281dc74a7eaac028ece56a5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10718261812&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 05 Sep 2024 11:36:28 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Introduced a customizable and accessible ComboBox component for item
selection.
- Added support for loading states, validation, and contextual help
within the ComboBox.
- Integrated new configuration options for widget behavior and
appearance.
- Enhanced metadata for the ComboBox, including search tags for improved
discoverability.
	- Added new icon and thumbnail components for ComboBox representation.

- **Bug Fixes**
- Enhanced validation logic to ensure proper input formatting for
ComboBox options.

- **Documentation**
- Added Storybook stories to demonstrate various ComboBox states and
functionalities.

- **Style**
- Implemented a comprehensive CSS module for consistent styling of the
ComboBox component.

- **Chores**
- Updated widget mapping to include the new ComboBox widget in the
application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Vadim Vaitenko <vadim@appsmith.com>
2024-09-06 09:49:52 +02:00
Ilia
bd8c0de7b9
feat: add select widget (#35849)
## Description


https://github.com/user-attachments/assets/7516bcd8-7746-485a-a49d-bd19b22833d0




Fixes #35824

> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10663955895>
> Commit: 58d40f7826f125778734f5fda93499e3b78dfcfa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10663955895&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 02 Sep 2024 10:15:26 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Introduced the `WDSSelectWidget`, enhancing widget options within the
application.
- Added configuration files to support autocomplete, validation, and
property management for the new select widget.
- Added new icons and thumbnails for input fields, improving UI
component availability.

- **Improvements**
  - Streamlined the `Select` component for better usability and clarity.
- Enhanced type definitions for better type safety and clarity in widget
configuration.
- Improved SVG structures for icons and thumbnails, enhancing visual
representation.
- Adjusted styles for the `Select` component, ensuring consistent sizing
and improved icon alignment.

- **Documentation**
- Added central export for configuration modules, simplifying access to
widget settings.
- Updated stories to include new icons and thumbnails, enriching
documentation resources.

- **Bug Fixes**
- Improved validation logic for default options and custom options to
ensure data integrity.

- **Chores**
- Reorganized import statements for better readability and
maintainability across widget files.
  - Updated TypeScript configuration for improved module handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: vadim <vadim@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-09-02 12:30:23 +02:00
Aman Agarwal
87d22cadb9
chore: created shared utils package and moved objectKeys function to it (#35615) 2024-08-23 00:54:05 +05:30
Diljit
e79e0ffa43
chore: Remove some logs and errors from console - 1/n (#35674)
## Description
This PR removes some of the errors and logs from the console. The
following fixes were added to this PR
- Remove the error => Refused to set unsafe header "Expect"
- Remove the aria label warnings
- Remove the logs from service worker in dev mode


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10438062046>
> Commit: 63fbfb22f40508ab298c765c4edbba7c42a125e1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10438062046&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sun, 18 Aug 2024 06:12:03 UTC
<!-- 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

## Summary by CodeRabbit

- **Accessibility Improvements**
- Added `aria-label` attributes to the `StyledSearchInput` and `Label`
components for enhanced screen reader support.
- Improved the semantic structure of the `Label` component by providing
additional context for assistive technologies.

- **Performance Enhancements**
- Removed the `Expect` header from API requests to streamline the
request process.

- **Logging Adjustments**
- Disabled development logs in the service worker to enhance performance
in production environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-18 14:48:08 +05:30
Pawan Kumar
ace7c517f3
chore: restructure stories (#35725)
![image](https://github.com/user-attachments/assets/f292b4b8-ac8c-4bdb-88ec-889794ec2875)

Summary:
1. Renamed Design system to WDS
2. Moved Testing to WDS

URL to test:
https://64c89da059b7d62ad3a60544-aohsgyzraz.chromatic.com/?path=/docs/ads-components-avatar--docs

/ok-to-test tags="@tag.Widget"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10422337445>
> Commit: bbeb8f384f7d99fddd949755a6ddaf4cbd40c42c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10422337445&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
> Spec:
> <hr>Fri, 16 Aug 2024 16:29:43 UTC
<!-- end of auto-generated comment: Cypress test results  -->

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-08-17 10:35:10 +05:30
Pawan Kumar
66e535df65
chore: Rename wds packages (#35686)
/ok-to-test tags="@tag.Widget"

## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 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/10414775054>
> Commit: 445dec9a23df945a5b2a965ce39b8369641bd2b8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10414775054&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
> Spec:
> <hr>Fri, 16 Aug 2024 05:45:49 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-08-16 11:19:42 +05:30
vadim
7c0173af58
chore: WDS text inputs visual refinements (#35581)
## Description

Fixes #34844  

Fixes several issues that were spotted related to that:
- We were not applying `--fg-neutral-subtle` to our placeholder because
ADS has `!important` for their placeholder styling, so I added it to
ours for now
- After applying it, it became obvious that `--fg-neutral-subtle` and
the “parent” `--fg-neutral` needed adjustments too
- Disabled opacity needed an increase (became obvious) after making our
`--bg-neutral-subtle` lighter to deal with the primary issue of the
ticket)
- `--bg-neutral-subtle` were derived from the seed, despite the intent
to be derived from `--bg-accent-subtle`, fixed that too

| Before | After |
|--------|--------|
| <img width="1114" alt="before-light"
src="https://github.com/user-attachments/assets/a2c8b8ca-db5c-443d-84bf-8b7f7dd2333d">
| <img width="1102" alt="after-light"
src="https://github.com/user-attachments/assets/dd924865-ea19-4d74-b4ed-3037e0b418ef">
|

Additional preview of how dark mode looks after these changes:
<img width="1119" alt="after-dark"
src="https://github.com/user-attachments/assets/2d06df1e-211d-4b1d-a293-99710b34f7bd">


## Automation

/ok-to-test tags="@tag.Anvil"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10319662006>
> Commit: e1f99f2ea8956ff988c891470fc7fa4285ab32b0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10319662006&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Anvil
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilHeadingWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilRadioGroupWidgetSnapshot_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Fri, 09 Aug 2024 13:25:27 UTC
<!-- 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


- **New Features**
- Enhanced color themes for both dark and light modes, improving
aesthetic coherence and visual accessibility.

- **Bug Fixes**
- Adjusted opacity of disabled components to improve clarity and user
experience.

- **Style**
- Updated placeholder text styling in input fields to ensure consistent
visibility across different contexts.

- **Tests**
- Modified expected output values in color theme tests for improved
accuracy and alignment with new color definitions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-09 16:41:26 +03:00
Vemparala Surya Vamsi
95e32687af
chore: Memoising some computations within WDS_TOOLBAR_BUTTONS_WIDGET (#35436)
## Description
Memoising some computations related to WDS_TOOLBAR_BUTTONS_WIDGET

Fixes #`Issue Number`  

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10264040446>
> Commit: c15e274b718fc36f17b8f7edda4f23790b72f16d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10264040446&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 06 Aug 2024 10:43:05 UTC
<!-- 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

## Summary by CodeRabbit

- **Performance Enhancements**
- Optimized the `ToolbarButtons` component for improved efficiency by
utilizing the `useMemo` hook, reducing unnecessary calculations and
re-renders.
- Consolidated the computation of `sortedButtons` and `disabledKeys` in
`ToolbarButtonsComponent` for better performance and clarity.
  
- **Telemetry Integration**
- Added performance tracking capabilities to the `withWidgetProps`
higher-order component, enhancing observability of widget performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-06 14:49:22 +03:00
Ilia
1dc6944504
chore: upgrade Typescipt to 5.5.4 (#35314)
## Description

Fixes #35296

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10182307436>
> Commit: 8b0aa1a644769cd28161b92a21f7426d0d94cf4f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10182307436&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 31 Jul 2024 15:48:59 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Updated TypeScript dependency across multiple modules to support newer
features and improvements.
- Updated `colorjs.io` dependency in design system packages to enhance
functionality.

- **Bug Fixes**
- Enhanced type-checking and overall code quality through dependency
updates.
- Refined color values in both `LightModeTheme` and `DarkModeTheme` to
improve visual accuracy.

- **Chores**
- Improved flexibility in dependency management by allowing minor and
patch updates for TypeScript and `colorjs.io`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-31 17:49:46 +02:00
Ilia
c7a7c3fa3f
chore: upgrade typescript to 5.4 (#35181)
## Description
Upgrade Typescript from 4.9.5 to 5.4

Upgrading to 5.5 is not possible until we upgrade colors.js lib. It will
be done in separate PR
More details here
https://github.com/color-js/color.js/issues/560#issuecomment-2182819685

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/10163124159>
> Commit: 8d2e93f2e2913e715686ccb058d3efddd55aabc9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10163124159&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 30 Jul 2024 14:11:42 UTC
<!-- 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

## Summary by CodeRabbit

- **New Features**
- Updated TypeScript dependency to the latest version (5.4), enhancing
overall functionality with potential new features and improvements.

- **Improvements**
- Enhanced type safety by refining the `isString` function, allowing
better type inference and preventing runtime errors.
- Improved comments and annotations in the `indirectEval` function for
better clarity on its usage and intent.
- Corrected typographical errors in error handling logic across multiple
controllers, improving reliability in error messaging.
- Updated export style for `IconNames` to clarify its purpose as a type,
enhancing developer experience.

- **Configuration Changes**
- Updated Jest configurations to better support ECMAScript Modules
(ESM), improving compatibility and allowing for more flexible module
handling.
- Adjusted TypeScript configuration to enhance module handling and
compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-30 16:15:48 +02:00
Valera Melnikov
351acde961
fix: add break-word rule for text widgets (#35046)
## Description
Fix text wrapping into paragraph and heading widgets

## 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/10047055173>
> Commit: d0f7b27b1f329f3293ea20dc548f076e967874b4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10047055173&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 22 Jul 2024 19:49:10 UTC
<!-- 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


- **New Features**
- Introduced a new `wordBreak` property to the text component for
improved control over text wrapping and overflow.
- Enhanced the `WDSParagraphWidget` to utilize the new `wordBreak`
property, improving text layout and readability.

- **Bug Fixes**
- Corrected a typo in documentation for the `TextProps` interface to
enhance clarity.

- **Style**
- Modified CSS styles affecting text overflow behavior, enabling better
customization and responsive design.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 22:50:02 +03:00
Pawan Kumar
2e2f4419bd
chore: add tests for app theming (#34839)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
- Introduced theme setting and snapshot verification for various widgets
in different modes (Canvas, Preview, Deploy).
- Added a new CSS rule to enhance the styling of input elements based on
specific conditions.

- **Refactor**
- Renamed existing snapshot verification methods to more descriptive
names across multiple widget snapshot files.
- Added methods to handle theme settings and detailed snapshot matching.

- **Tests**
- Enhanced testing functionality for widgets with updated methods for
snapshot verification across different themes.

These updates ensure more detailed and theme-specific snapshot testing
for various widget states, improving test coverage and accuracy, as well
as enhancing the layout consistency of input elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10046186626>
> Commit: a6232ae795f77bd46bff4c854f46c5671a518ff6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10046186626&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 22 Jul 2024 18:43:52 UTC
<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-07-22 22:08:48 +03:00
Valera Melnikov
ae9742194a
chore: update wds icon component (#34950)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## 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/9942515767>
> Commit: db1ef7c00e0caa0c433984a198d9e8059a7b609e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9942515767&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 15 Jul 2024 16:12:38 UTC
<!-- 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 icon library with new thematic icons and improved
accessibility features.
- Introduced a default option in dropdowns for color selection in the
property pane.
  
- **Bug Fixes**
	- Corrected naming inconsistencies in icon entries.

- **Improvements**
- Streamlined color handling for icon and text components, enhancing
visual coherence.
- Update to the icon component's logic for improved maintainability and
clarity.

- **Documentation**
- Added comments for better understanding of the handling of type errors
in the icon component's story.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 11:56:07 +03:00
vadim
01d5275170
fix: WDS TextArea inner spacing (#34901)
## Description

Fixes #34584
| Before | After |
|--------|--------|
|
![before](https://github.com/user-attachments/assets/b0d58e3b-006e-49cc-af7f-5c600326caed)
|
![after](https://github.com/user-attachments/assets/935590ea-2a3b-4912-a28c-16b47ba9d83c)
|

We had [a CSS
rule](f6d62e5cdc/app/client/packages/design-system/widgets/src/styles/src/text-input.module.css (L27-L30))
that was imitating CapSize behavior.

It worked okay with regular input but had no effect on TextArea. Fixing
it to work for TextArea did not seem possible no matter what CSS rules
or additional markup I threw at it:
<details><summary>Dev tools screenshots</summary>
<p>
<table>
<tr>
<td>
<img width="1252" alt="Screenshot 2024-07-12 at 10 32 30"
src="https://github.com/user-attachments/assets/c529f8b9-b129-4358-88e1-cee59a0797a6">
</td>
<td>
<img width="1270" alt="Screenshot 2024-07-12 at 10 32 40"
src="https://github.com/user-attachments/assets/52cc122e-cc0b-4e18-84d5-006b5ed56ef1">
</td>
</tr>
</table>
</p>
</details>

Changing the inner spacing and removing that rule achieves the desired
results: elements are neatly aligned with similar/equal paddings. See
the example with additional elements alongside TextInput and TextArea
that verifies that vertical alignment is consistent:

![after-extras](https://github.com/user-attachments/assets/8fa7e867-22a8-4790-a0fc-daf76ccd5dbc)

## 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/9906310028>
> Commit: 0c83d24dd5247ac962f2b73baefb734471e1c3b0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9906310028&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 12 Jul 2024 10:43:05 UTC
<!-- 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**
- Updated vertical padding for text input fields to improve spacing and
visual clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 11:15:17 +03:00
Valera Melnikov
08c3ea9b94
chore: cypress snapshot types (#34722)
## Description
1. Add scripts for local e2e testing in the docker container. 
2. Add types for cypress-image-snapshot

In this PR, I also added the following PRS as they affect screenshot
tests as well. I did this to speed up the process and unblock the team.

#34528
#34546
#34676
#34729
#34638
#34639
#34511

To run E2E tests locally in docker, you need to do the following:
1. Run FE locally and prepare the tests for local launch. See the
instructions
[here](https://github.com/appsmithorg/appsmith/blob/release/contributions/ClientSetup.md).
2. Run `yarn cypress:snapshot:docker:build` — this will create a docker
container with the necessary environment.
3. Run `yarn cypress:snapshot:docker
"./cypress/e2e/Regression/ClientSide/Anvil/Widgets/*_spec.ts"
updateSnapshots=false`. Here we can use the path to a specific file, or
set `updateSnapshots=true` flag to update the screenshots.

## 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/9844579277>
> Commit: 75f26599b149f831051fbd631aaa059084b226dd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9844579277&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 08 Jul 2024 18:37:36 UTC
<!-- 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

- **New Features**
- Added support for image snapshot testing with the
`@types/cypress-image-snapshot` dependency.

- **Refactor**
- Updated test specifications by removing unnecessary
`triggerInputInvalidState()` calls.
- Reorganized and improved efficiency of image snapshot methods for
various devices.

- **Chores**
- Updated `Dockerfile` to configure the Cypress environment with
specific versions for dependencies.
  - Changed import paths in `e2e.js` for better module resolution. 

- **Style**
  - Fixed a comment typo in Cypress plugin configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: unknown <vadim@appsmith.com>
2024-07-09 12:06:59 +03:00
Ashok Kumar M
ed497dbe9c
chore: add tests for anvil modal. (#34347)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX1n8wGoml2WVG4C2fL4hX6Z1rh6k4aeSvE%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=9GEnyEC)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #33740 
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## 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/9643638292>
> Commit: bcc4bbddaa50b0be16e41a3a51db4f6abe732e79
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9643638292&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`

<!-- 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**
- Introduced test cases for Anvil modals, covering interactions like
opening, closing, drag and drop operations, and handling modal
functions.

- **Bug Fixes**
- Enhanced testing capabilities with `data-testid` attributes for better
identification and testing of components, particularly in detached
widget drop areas.

- **Refactor**
- Updated the `Modal` component to use `dataAttributes` instead of
`size` prop to streamline attribute handling.
- Dynamic generation of modal class names based on properties for better
styling and consistency.

- **Style**
- Adjusted styling for SVG elements within the `EntityExplorer`
component, specifically modifying the height and width properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-06-24 16:28:34 +05:30
Pawan Kumar
e01b34ec5d
chore: tests for wds button widget (#34242)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
- Introduced test cases for Anvil Button Widgets, including Canvas,
Preview, and Deploy modes.

- **Bug Fixes**
- Updated CSS and HTML selectors for better element targeting and
testing reliability.

- **Style**
  - Improved styling logic for buttons in the InlineButtons component.

- **Chores**
  - Added `data-testid` attributes for better test targeting.
- Refactored code for string concatenations and URL constructions in
DeployModeHelper.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9597157402>
> Commit: c551705fe01aace94962fcc7fa91dff253136721
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9597157402&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`

<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-06-20 18:30:16 +05:30
Valera Melnikov
62fad08bf7
chore: add excludeFromTabOrder for wds widgets (#34361)
## Description
- Add excludeFromTabOrder for WDS widgets
- WDS Table refactoring

Fixes #32369   

## 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/9596169254>
> Commit: 25d5ef47520266d904c3c545940ad6009e7b2a8f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9596169254&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`

<!-- 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

- **New Features**
- Introduced the ability to exclude toolbar buttons from the tab order
for improved accessibility and user experience. This can be controlled
via the `excludeFromTabOrder` property.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-20 15:51:59 +03:00
Valera Melnikov
36372468c5
chore: remove headless radio and use react-aria component instead (#34312)
## Description

- Remove headless radio and use react-aria component instead
- Create ErrorMessage component

Fixes #27677 

## 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/9567388261>
> Commit: 62d1153caa8bf03d827f88593c9dfaf3121091ee
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9567388261&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`

<!-- 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

- **New Features**
- Added `ErrorMessage` component for displaying error messages with
specific styling.
- Introduced `isDisabled` prop for `Label` and `ToggleGroup` components.
- Updated `RadioGroup` to accept an items array for easier
configuration.

- **Bug Fixes**
- Improved conditional rendering in `Label` component to prevent issues
when `text` and `contextualHelp` are both falsy.

- **Refactor**
  - Removed `Radio` component export from design system.
- Restructured import statements and prop declarations for `Checkbox`
and `RadioGroup`.

- **Style**
- Updated styles for `RadioGroup` and `ToggleGroup` components for
better state handling (disabled, hovered, selected).

- **Documentation**
- Updated Storybook stories for `RadioGroup` to reflect changes in
component usage.

- **Tests**
  - Adjusted `RadioGroup.test.tsx` to test new items array prop.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-19 11:08:42 +03:00
Valera Melnikov
84f67fe0f2
chore: remove headless checkbox and switch use react-aria component instead (#34217)
## Description
- Remove headless checkbox and switch use react-aria component instead
- Add Label component
- Now `ToggleGroup` is used instead of `SwitchGroup` and
`CheckboxGroup`, since they are essentially the same component.

**I'll create another one PR to refactor the radioGroup.**

Fixes #27677 

## 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/9485370398>
> Commit: f2557233978da533b9ab856335a8191b4226dba5
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9485370398&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

- **New Features**
- Introduced `ToggleGroup` component with various features for improved
user interaction.

- **Enhancements**
- Updated `Radio`, `Checkbox`, and `Switch` components for better
functionality and styling alignment.
- Added `labelPosition` options to `Radio` and `Checkbox` components for
flexible label positioning.
- Enhanced `ContextualHelp` component with a new `slot` prop for more
customization.
- Improved `Select` component to use `Label` directly, optimizing
rendering.

- **Bug Fixes**
- Adjusted logic for `WDSSwitchWidget` to ensure correct validity
handling.

- **Styling**
- Various styling adjustments across multiple components for consistent
design.

- **Tests**
- Updated test cases for the `Checkbox` component to reflect recent
changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-14 15:25:34 +03:00
vadim
dae657e3e4
chore: WDS, adjust inner spacing of buttons with icons (#34210)
## Description

When an icon is present reduce leading/trailing inner spacing.

| Before | After |
|--------|--------|
|
![before-regular-regular](https://github.com/appsmithorg/appsmith/assets/80973/0dcdc792-05d2-48c2-a67e-1044d0fef124)
|
![after-regular-regular](https://github.com/appsmithorg/appsmith/assets/80973/8569316f-d604-4397-a87e-daf2d0dabfc3)
|

Fixes #33917   

## 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/9481602526>
> Commit: 038d756b2f36020a9f9ed95bd2d681a91fb9f03d
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9481602526&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**
- Adjusted padding styles for Button component to improve alignment
based on icon position (start/end) and size (small/medium).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-13 15:21:45 +03:00
Valera Melnikov
7b32f1aa50
fix: improve link behaviour (#34043)
## 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 -->
2024-06-07 11:06:43 +03:00
Abhinav Jha
218dbef6e8
feat: Anvil: Add closeOnSubmit property to modal widgets (#33801)
## 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
2024-05-30 18:00:44 +05:30
Pawan Kumar
01529c4db5
chore: Checkbox widget does not show an asterisk to indicate it's a required (#33814)
Fixes #33444

/ok-to-test tags="@tag.Anvil"<!-- This is an auto-generated comment:
Cypress test results -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9297202278>
> Commit: 895c87c82e1b55e4d604870c89512200c408ef41
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9297202278&attempt=1"
target="_blank">Click here!</a>
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check workflow <a
href="https://github.com/appsmithorg/appsmith/actions/runs/9297202278"
target="_blank">here.</a>

<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-30 11:21:39 +03:00
Valera Melnikov
55ae8594ad
fix: refactor wds menu and related components, widgets (#33703)
## 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>
2024-05-24 15:58:45 +03:00
Pawan Kumar
feb1be5adb
chore: add alignment to toolbar button (#33541)
Fixes #32309

/ok-to-test tags="@tag.Anvil"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9127236127>
> Commit: 016f9d08fbdd87d6ff355d45e239f015d9401612
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9127236127&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-17 14:42:51 +03:00
Ashok Kumar M
bb75941c0c
fix: Modal Accessibility and copy paste. (#33509)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX14yqgk46bo7XRJuA90NLU3E993GRhVyI%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=u9xJeyE)
## Description

In this Pr we are tackling a few issues.
- disallow copy pasting modals into other widgets instead always paste
them on the main canvas.
- disable modal header and footer accessibility in edit mode.
- make sure edit mode based wrappers are not wrapped for skeleton
widget.
- make sure widget name is not shown for skeleton widget.
- fixed random errors in the withWidgetProps flow
- removed unwanted invocation of setting highlights.


Fixes #33382
Fixes #32923

_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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/9125695828>
> Commit: 05d011bc23329159c4d603e31690782119e1908a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9125695828&attempt=2"
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
2024-05-17 15:32:22 +05:30
Pawan Kumar
9cdff0a68d
chore: WDS table widget polish (#33417)
Fixes #33389 

/ok-to-test tags="@tag.Table"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9112073097>
> Commit: 89ad68289c5a3dbf9af62864b97c6595100e605f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9112073097&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-16 16:11:30 +03:00
Pawan Kumar
59153e78a8
chore: Improve Link component (#33433)
This PR uses react aria link's component in our Link component

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-16 15:43:35 +03:00
vadim
713eb77969
fix: Adjust WDS button font weight (#33489)
## Description
Fixes #33481 
More follow-ups may be in order, but on buttons it really stood out
(especially in dark mode, we should consider different weights for
different light modes in the future).

| Before | After |
|--------|--------|
| ![Screenshot 2024-05-15 at 16-40-23 Untitled application 1 Editor
Appsmith](https://github.com/appsmithorg/appsmith/assets/80973/bc941bf1-2e19-4ce0-a0f6-72bb9e1f0b6e)
| ![Screenshot 2024-05-15 at 16-38-32 Untitled application 1 Editor
Appsmith](https://github.com/appsmithorg/appsmith/assets/80973/7ffdea83-267b-4ba0-9d4e-3bcdb801d6e1)
|
| ![Screenshot 2024-05-15 at 16-40-09 Untitled application 1 Editor
Appsmith](https://github.com/appsmithorg/appsmith/assets/80973/eef64705-9b43-48b4-91e0-5b92af3dde11)
| ![Screenshot 2024-05-15 at 16-38-56 Untitled application 1 Editor
Appsmith](https://github.com/appsmithorg/appsmith/assets/80973/a25e0eb1-dcef-42e0-a022-ebe461f7d11e)
|

## 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/9097777062>
> Commit: 22bfd39789137204508bcc699cd9eed3abed7180
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9097777062&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
2024-05-16 11:41:24 +03:00
Pawan Kumar
d1c9bde439
chore: Refactor WDSTableWidget with basic features (#33286)
/ok-to-test tags="@tag.Widget"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9056956210>
> Commit: 618ef038a5619de08d4f72cd36e4206031ac4891
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9056956210&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-13 10:41:24 +05:30
Valera Melnikov
ed9c55d4c4
fix: asymmetric padding for sections and zones (#33204)
## Description
Added asymmetric paddings for sections and zones.


https://github.com/appsmithorg/appsmith/assets/11555074/1959c6f2-5e26-4fdd-98e3-ea1bb5e09dae

Fixes #32209   

## 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/8999510824>
> Commit: b714426d3185c9a75523fe98ae4ca75e26f0b249
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8999510824&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: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2024-05-08 13:16:51 +03:00
Valera Melnikov
a4c4df2f2e
fix: wds components (#33146)
## Description
Fixed WDS components bugs


Fixes #
#33077
#33078
#32689
#32919

## 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/8926075231>
> Commit: 0981cf8a45151cb3dc24b938efb7d79c7fefc766
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8926075231&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
2024-05-03 12:00:25 +03:00
Valera Melnikov
4e2f74ecbf
chore: remove wds headless button (#32857)
## 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 -->
2024-04-23 15:00:36 +03:00
Valera Melnikov
6d90ce8dc9
chore: update storybook (#32828)
## 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 -->
2024-04-22 12:17:28 +03:00
Pawan Kumar
4108f770af
fix: Heading widget alignment does not follow user setting (#32759)
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>
2024-04-18 12:03:20 +03:00
Valera Melnikov
f22dffcf50
chore: wds select component (#32715)
## 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 -->
2024-04-17 13:49:41 +03:00
vadim
1de9d15073
chore: WDS, adjusted border of text inputs to avoid "disabled" visual style (#32547)
Closes #32029
---
tl;dr
| Before | After |
|--------|--------|
|
https://github.com/appsmithorg/appsmith/assets/80973/9c4d1805-4b42-4849-ad64-ec6e471fab2f
|
https://github.com/appsmithorg/appsmith/assets/80973/236c547f-89a3-437a-a464-3da29fdd4845
|
---
Context
1. The appearance of TextInput can be mistaken as them being disabled
when there are not enough additional visual hints. See on this
screenshot of prior styling how the lack of a placeholder contributes to
that. Additionally when not lying inside a visible zone, but directly on
a canvas the contrast is very low for the field.
<img width="851" alt="Screenshot 2024-04-10 at 11 48 36"
src="https://github.com/appsmithorg/appsmith/assets/80973/69295c41-d4d2-40b0-9375-11b2d6ed532a">
2. Effect is not pronounced in the dark mode. When discriminating
between disabled and non-disabled input which one's which is also pretty
clear.
<img width="860" alt="Screenshot 2024-04-10 at 11 49 12"
src="https://github.com/appsmithorg/appsmith/assets/80973/65f9b91b-8984-4515-b5fb-fb8b74f3f492">
2024-04-11 13:01:26 +03:00
Pawan Kumar
46498aa93a
chore: Use WDS Tokens in Table Body (#32421)
<!-- 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>
2024-04-05 16:05:38 +03:00
Valera Melnikov
8a835357cc
fix: input alignment (#32452)
## 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 -->
2024-04-05 15:02:07 +03:00
Pawan Kumar
223e4c8088
chore: WDS components in Table header (#32112)
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>
2024-04-03 15:57:39 +03:00
Pawan Kumar
2dbe72068a
fix: separator styles missing from action group menu (#32213)
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>
2024-03-29 14:29:11 +03:00
Valera Melnikov
ba6262ffe6
chore: widgets alignment (#31923)
## 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-6281bafe8008

Fixes #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 -->
2024-03-22 16:53:29 +03:00
vadim
613547b43d
fix: WDS bdNeutralHover color (#31922)
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 -->
2024-03-21 18:20:47 +03:00
vadim
edcdcaa593
chore: WDS TextInput style (#31659)
Closes #31021

Before

https://github.com/appsmithorg/appsmith/assets/80973/3a75dc1d-c340-428c-ab7a-53820471c006

After

https://github.com/appsmithorg/appsmith/assets/80973/70249593-2705-4d67-8408-44ce301cb8ae



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

## Summary of changes

- **New Features**
- Updated text input styles to use background colors, improving user
interaction cues for hover, focus, and invalid states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-18 13:06:30 +03:00
Pawan Kumar
24c1dda69a
fix: Options in WDS radio group widget get distorted in a Section with > 1 Zone (#31797)
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>
2024-03-18 11:48:29 +03:00
Pawan Kumar
863214785a
fix: button group (#31701)
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>
2024-03-13 12:15:57 +03:00
Pawan Kumar
6929e7a77d
fix: focused state not working on storybook's complex form story due to z-index (#31540)
<!-- 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>
2024-03-06 11:54:20 +03:00
Valera Melnikov
07279c070e
fix: improved widgets layout (#31471)
## 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
2024-03-05 10:46:29 +03:00
Pawan Kumar
9d2da7b348
fix: font-size in header + spacing (#31462)
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>
2024-03-04 17:50:43 +03:00
Pawan Kumar
8db4cd3872
chore: create inline buttons widget (#31318)
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>
2024-03-04 10:28:11 +03:00
vadim
fecb1a7202
feat: WDS elevation borders (#31316)
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 -->
2024-02-29 13:46:53 +03:00
Pawan Kumar
5762e69076
fix: refocussing of input (#31376)
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>
2024-02-29 11:48:28 +03:00
Valera Melnikov
45f19ae8bf
fix: wds modal resizer (#31232)
## Description
- Move canvas resizer by 1 DOM node higher.
- Used `contain: strict;` for modal styles.

**Before:**
![Снимок экрана 2024-02-20 в 17 45
30](https://github.com/appsmithorg/appsmith/assets/11555074/89e07e47-e0af-49a6-9970-c2e91aa37ac3)

**After:**
![Снимок экрана 2024-02-21 в 17 58
05](https://github.com/appsmithorg/appsmith/assets/11555074/71305b5a-2ceb-4211-9e6b-e1dac702260e)




<!-- 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 -->
2024-02-27 21:38:45 +03:00
Pawan Kumar
b176bdb8a6
chore: create correct radii tokens (#31215)
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>
2024-02-21 16:49:12 +03:00
Valera Melnikov
7ca7067799
fix: wds fine tunes (#31205)
## 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 -->
2024-02-21 12:42:46 +03:00
Pawan Kumar
b0c6cd39b3
chore: Add new icons and thumbnails to WDS widgets (#31085)
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>
2024-02-16 15:48:32 +03:00
Valera Melnikov
d7cd02a45d
fix: add testing library eslint rules (#31028)
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 -->
2024-02-12 18:59:10 +03:00
Pawan Kumar
541c85ca97
chore: Create toolbar widget (#30910)
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>
2024-02-12 10:54:44 +03:00
vadim
da2f2306f1
chore: WDS elevation adjustments (#31003)
Closes #29731 

tl;dr nicer, softer shadows, some refinement on elevated backgrounds

Comparison for various seeds (old on top, refined on the bottom):

![image](https://github.com/appsmithorg/appsmith/assets/80973/c0f0164d-b775-4835-a0f7-2358034fc1d2)

Dark mode:

![image](https://github.com/appsmithorg/appsmith/assets/80973/e346b3ed-dfda-42be-adcd-355223a0be3f)


<!-- 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 -->
2024-02-08 16:17:18 +03:00
Valera Melnikov
9a8948888b
chore: get rid of fluid tokens (#30877)
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 -->
2024-02-07 17:21:17 +03:00
Valera Melnikov
f14b40cef6
fix: fix modal position and styles (#30805)
## 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 -->
2024-02-06 10:26:47 +03:00
Pawan Kumar
7eda27b140
chore: Add new WDS statbox (#30744)
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 -->
2024-02-01 14:17:23 +03:00
Pawan Kumar
1cce7c9198
chore: add key value widget (#30795)
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 -->
2024-02-01 11:59:54 +03:00
Pawan Kumar
bd563dc751
chore: Components sizing and alignment (#30595)
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>
2024-01-29 13:15:58 +03:00
Abhinav Jha
e67f6a8f89
feat: WDS - Anvil compatible Modal Widget (#30351)
## 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 #28588 
Fixes #28328 
Fixes #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>
2024-01-26 09:30:57 +05:30
Valera Melnikov
10a98f9563
fix: use wds tokens in sections and zones (#30479)
## 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 -->
2024-01-24 11:02:42 +03:00
Pawan Kumar
302ecb6a1c
feat: Tabler Icons (#30248)
Fixes #28443
Fixes #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 -->
2024-01-19 11:54:44 +03:00
Valera Melnikov
e9035a9eb5
fix: modal body (#30108)
<!-- 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 -->
2024-01-09 11:54:40 +03:00
Pawan Kumar
ad8ea15cc9
chore: Integrate Action Group in Button Group Component (#29871)
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 -->
2023-12-29 15:17:46 +03:00
Pawan Kumar
72ace3e6ef
chore: Split Text widget (#29789)
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 -->
2023-12-22 15:08:00 +03:00
Valera Melnikov
ad256ed64a
feat: add readonly mode to input (#29778)
## Description
Add readonly mode for input component and widgets

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

#### Media


https://github.com/appsmithorg/appsmith/assets/11555074/2d42a2bf-603b-4b30-a74c-6c1edd408216

![Снимок экрана 2023-12-20 в 20 13
43](https://github.com/appsmithorg/appsmith/assets/11555074/bbb45fee-65ae-4f0b-8681-33713bee079f)

#### Type of change
> Please delete options that are not relevant.
- New feature (non-breaking change which adds functionality)

## 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
- [ ] Jest
- [ ] Cypress

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

- **New Features**
- Introduced a "Read-only" mode for input fields, enabling users to view
data without the ability to modify it.

- **Enhancements**
- Improved input components to respect both disabled and read-only
states.
  - Updated widget properties to include read-only configurations.

- **Style Updates**
- Standardized padding across various components to use spacing
variables for consistency.

- **Documentation**
- Added "Read-only" property documentation to relevant component
interfaces and configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-21 15:03:28 +03:00
vadim
23c911d5be
chore: Adjust inner spacing (#29765)
Closes #29423 

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

## Summary by CodeRabbit

- **Style**
- Updated the visual styling of the TagGroup component, including
adjustments to tag height, padding, and margin for a cleaner and more
streamlined appearance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-20 15:55:24 +03:00
Pawan Kumar
369b9021bb
fix: WDS PhoneInput input area displays “+” & country code in different lines (#29756)
Fixes #29362 

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

## Summary by CodeRabbit

- **Documentation**
- Updated the `TextInput` component documentation to reflect the new
`startIcon` property change.

- **Style**
- Adjusted CSS selectors for improved targeting of start and end icons
within text input fields.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-20 13:39:26 +03:00
Pawan Kumar
1f38d7333a
chore: add action group component (#29645)
Fixes #29425 

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

- **New Features**
  - Introduced an icon alongside menu items, with positioning options.
- Implemented a new `ActionGroup` component to manage a group of actions
with overflow behavior and keyboard navigation.
- Added new `ActionGroupItem` and `MoreIcon` components for action
groups.

- **Enhancements**
- Improved resize handling in the `ThemeProvider` for conditional
rendering based on measurements.
- Updated button styles to adjust minimum inline sizing for better
layout.

- **Documentation**
- Created Storybook stories to showcase `ActionGroup` configurations and
usage.

- **Style**
- Modified list item styling in the `Menu` component to incorporate
icons.

- **Tests**
  - Added mock for `useDebounce` hook in `AppsmithIDE` tests.
- Updated Cypress test assertions to accommodate changes in layout
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2023-12-19 16:04:27 +03:00
Valera Melnikov
862cdded5a
chore: add shadow elevation color tokens (#29708)
Fixes: #29702
2023-12-19 10:43:06 +03:00
vadim
db493eb6a9
chore: WDS elevation colors refinement (#29618)
Closes #29421

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

- **Style**
- Enhanced the visual contrast in Dark Mode by adjusting background
elevation colors for improved readability.
- Refined Light Mode background colors for better visual hierarchy based
on lightness conditions.
- Updated shadow effects on UI components to provide a more pronounced
depth and focus.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-14 15:50:18 +03:00
Valera Melnikov
41445c7592
fix: checkbox and button border radius (#29476)
## Description
Fix checkbox and button border radius


https://github.com/appsmithorg/appsmith/assets/11555074/8b7cc892-eaa2-4b06-9745-40410cd1d92b



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

- **New Features**
- Updated the default font stack to include 'sans-serif' for better
cross-platform consistency.

- **Style**
  - Adjusted button padding for improved visual alignment and spacing.
- Enhanced checkbox design with responsive border-radius for a more
modern look.

- **Documentation**
- Updated theme settings to reflect the new "Pill" option value for
border-radius, ensuring design consistency across components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-13 19:49:03 +03:00
Pawan Kumar
544c3705e8
chore: Add tag group component (#29387)
Fixes #29134 

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

- **New Features**
- Introduced `TagGroup` and `Tag` components with features like label,
description, error message, and tag removal options.
- Added new stories for `TagGroup` to demonstrate various configurations
and use cases.

- **Enhancements**
  - Updated `Switch` component with improved validation logic.
- Enhanced `TextArea` initialization to handle undefined default values
more gracefully.
- Added `validationState` property to `HelpText` and `Field` components
to support form validation states.

- **Style Updates**
- Implemented new CSS styles for `TagGroup` and `Tag` components to
improve UI consistency and interactivity.

- **Documentation**
- Expanded Storybook documentation with examples and usage guidelines
for `TagGroup` and `Tag` components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-11 10:10:40 +03:00
Valera Melnikov
231f51719c
chore: add story for elevation (#29391)
Add story for elevation

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

## Summary by CodeRabbit

- **New Features**
- Introduced new elevation color calculation methods for both Dark and
Light mode themes, enhancing the visual hierarchy in the user interface.
  
- **Documentation**
- Added Storybook documentation for the `Elevation` component, allowing
for interactive testing and showcasing of elevation styles.

- **Style**
- Implemented new `Elevation` component with nested styling to represent
different UI layers effectively.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-06 16:16:11 +03:00
Dhruvik Neharia
b1d754ca2b
feat: Integrate WDS Menu Button Widget (#29113)
## Description
Adds WDS Menu Button Widget.

#### PR fixes following issue(s)
Fixes #28864
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### 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)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## 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
- [ ] 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 `Menu` component with customizable color options for
items.
  - Added dynamic styling for menu items based on color attributes.
- Implemented a new `WDSMenuButtonWidget` with configurable properties
and styles.
- Expanded the property pane with new configurations for menu items and
buttons.

- **Enhancements**
- Improved menu placement options and handling of colors within the Menu
component.
- Enhanced the `MenuButtonWidget` with additional properties for better
customization.

- **Bug Fixes**
- Fixed incorrect component naming for `MenuList` to ensure consistency.

- **Documentation**
- Updated Menu component stories to reflect new color handling features.

- **Refactor**
- Streamlined export statements for Menu components to simplify imports.
- Organized property pane configurations into separate modules for
clarity.

- **Style**
- Added new styles for the search bar and menu items for a more polished
UI.

- **Tests**
  - No visible changes to end-users.

- **Chores**
  - No visible changes to end-users.

- **Revert**
  - No visible changes to end-users.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2023-12-06 14:33:38 +05:30