Commit Graph

34 Commits

Author SHA1 Message Date
Abhinav Jha
9de62e0d0f
chore: Upgrade packages to resolve Dependabot issues (#39710)
## Description
- Fix XSS issue by upgrading packages such that the
`serialize-javascript` dependency resolves to `v6.0.2`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/376

- Fix XSS issue by upgrading `esbuild` to `v0.25.1`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/367

- Fix vite vulnerability by upgrading `vite` to `v6.2.1` (this is a
major version upgrade and effects the `storybook` package)
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/364
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/334
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/336


- Fixes TinyMCE XSS vulnerabilities by upgrading `tinymce` to `v7.7.1`
and `tinymce-react` to `v6.0.0` (Major version upgrade)
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/347
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/348
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/290

- Fix vulnerability in `webpack` by upgrading to `v5.98.0`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/324

- Fix vulnerability in `@sentry/browser` by upgrading `@sentry/react` to
`v7.120.3` (Major version upgrade)
_Note: [`Severity` enum has been
deprecated](https://docs.sentry.io/platforms/javascript/migration/v7-to-v8/#removal-of-severity-enum)_
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/345

- Fix vulnerability in `axios` by upgrading to `v1.8.3`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/391

- Fix vulnerability in `@babel/runtime` by upgrading to `v7.26.10`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/393

- Fix vulnerability in `@babel/helper` by upgrading `@babel/core` to
`v7.26.10`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/392

- Fix vulnerability in `prismjs` by upgrading to `v1.30.0`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/390

- Fix vulnerability in `cookie` by upgrading to `v0.7.0`
Fixes https://github.com/appsmithorg/appsmith/security/dependabot/346

## 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/13967528524>
> Commit: 6a36c9755e7df9e22c1c109876c127b963127a71
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13967528524&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 20 Mar 2025 12:03:08 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**
- Enhanced the text editor experience by introducing quick
markdown-style shortcuts for headings, lists, and quotes.
- **Chores**
- Upgraded numerous underlying libraries and tools for improved
performance and stability.
- Streamlined error logging by refining how errors are categorized and
reported.
- Improved accessibility by updating element selectors to use
`aria-label` attributes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-20 17:39:13 +05:30
Abhinav Jha
56120d197d
chore: Update react-aria-components to use safe APIs for autocomplete (#39759)
## Description
`react-aria-components` had the `UNSAFE_Autocomplete` API in `v1.60`.
Upgrading the package to `v1.7.1` allows us to use the `Autocomplete`
API.


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,@tag.AIAgents"

### 🔍 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/13916819228>
> Commit: f7b894d3ec09d5c6dc2161088e28ed1aedda39f4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13916819228&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil,@tag.AIAgents`
> Spec:
> <hr>Tue, 18 Mar 2025 06:50:46 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

- **Chores**
- Upgraded a core design system dependency to leverage the latest
improvements.
- **Refactor**
- Enhanced the multi-select widget by updating its autocomplete
functionality for a more consistent and smooth user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-18 13:03:21 +05:30
Victor Kostyuk
e394b7f21b
fix: Enforce lodash >=4.17.21 to mitigate CVE-2019-10744 (Critical vulnerability) (#39625)
## Description
This PR enforces lodash version 4.17.21 or above, mitigating the
**Critical severity** vulnerability
[CVE-2019-10744](https://github.com/advisories/GHSA-jf85-cpcp-j695).

## Automation

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

### 🔍 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  -->


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

- **Chores**
- Updated the version constraints for the lodash library across multiple
packages. This ensures a minimum version of 4.17.21 while allowing a
broader range of updates, including potential major releases.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-11 14:33:25 +03:00
Pawan Kumar
d2dc01dc99
chore: add rollup config for wds (#39397)
With this PR, we want to publish WDS as a npm package. To do that, we
are now adding a rollup setup to compile and build the package.

One thing to note:
Rollup needed `7.24.0` version of browserlist and we had to update
browserlist version in resolutions in root package.json. Now since we
updated browserlist, certain code that was written with old format (
code was coming from blueprint's hotkeys component ) started failing and
we had to refactor. It included the code around hotkeys component. It
was deprecatdd by blueprint and we were still using. We have now
refactored those part of code to use the `useHotKeys` hook.

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

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13538917574>
> Commit: 9b0b51791e4a95574c9729245ba09994ab371b71
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13538917574&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 26 Feb 2025 09:12:45 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-02-27 16:05:52 +05:30
Pawan Kumar
dc923c9fe6
chore: add wds multiselect component (#39300)
WDS Multi-Select component


https://github.com/user-attachments/assets/2809dd44-2a1a-47ba-bccc-4d0bf313aa99

Note: This is a kind of hacky multi-select component. React aria does
not provide us with any multi select component. So we are making it with
existing components like popover, listbox, and autocomplete.


/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 MultiSelect component that offers a dynamic
multi-select interface with responsive display, clear error messaging,
and loading states.
- Added a new MultiSelectValue component to enhance the display of
selected items in the MultiSelect interface.

- **Enhancements**
- Improved styling flexibility across key components—including ListBox,
ListBoxItem, TextField, and Select—to support custom appearances.
- Refined Calendar and DatePicker interactions for a smoother, more
reliable user experience.
- Added new export statements for selectStyles and fieldErrorStyles to
improve modularity and accessibility.
- Updated the version of the react-aria-components dependency for
enhanced performance and 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/13386938922>
> Commit: 9d486cbe335446c351b098a420f0e8d0d06b268c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13386938922&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Tue, 18 Feb 2025 09:33:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-02-18 16:00:50 +05:30
Valera Melnikov
65ca904b83
fix: add ResizeObserver to change textarea height based on width changes (#38011)
## Description
Moving changes from [EE
PR](https://github.com/appsmithorg/appsmith-ee/pull/5652).

## 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/12196767279>
> Commit: 35ef576e22a9055378af8e0002ffa75b24fe8c24
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12196767279&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 06 Dec 2024 10:54: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

## Release Notes

- **New Features**
	- Added a new dependency to enhance component functionality.
- Introduced a `className` prop for the `TextAreaInput` component,
allowing for greater styling customization.
- Enhanced the `TextArea` component with dynamic height adjustment and
additional styling options.

- **Bug Fixes**
- Streamlined CSS for input elements by removing unnecessary
calculations and improving overflow behavior.

- **Documentation**
- Updated types to include new properties for better flexibility in
component usage.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-06 14:30:02 +03:00
Pawan Kumar
aa8b153303
chore: add sheet + sidebar (#37408)
/ok-to-test tags="@tag.Anvil"

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

## Release Notes

- **New Features**
- Introduced a new `Sheet` component for modal-like overlays, enhancing
content display.
- Added a `Sidebar` component for improved navigation and organization
within the design system.

- **Improvements**
- Enhanced styling and animations for the `Sheet` and `Sidebar`
components, providing a more interactive user experience.
  - Updated dependencies to improve performance and accessibility.

- **Documentation**
- Added Storybook configurations for `Sheet` and `Sidebar` components,
showcasing their functionality and usage.
<!-- 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/11855312043>
> Commit: f8f4d2c836597b5ec316bec48579f4e39bb18387
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11855312043&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 15 Nov 2024 11:40:45 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-15 14:53:37 +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
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
Aman Agarwal
87d22cadb9
chore: created shared utils package and moved objectKeys function to it (#35615) 2024-08-23 00:54:05 +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
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
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
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
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
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
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
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
e57e075d99
chore: replace emotion/sheet to emotion/css (#27827)
## Description
Replace emotion/sheet to emotion/css. 

**Motivation**
During performance testing, it was revealed that creating a separate
class for each component is slow.

Rendering 10k elements
<img width="269" alt="Снимок экрана 2023-10-05 в 13 34 12"
src="https://github.com/appsmithorg/appsmith/assets/11555074/a881b188-b7d6-4fff-bc79-e7a81e37ffac">

As part of the task, an approach using styles through attributes was
also tested, it works well, but we still need to create a separate class
in runtime if we work with container queries. Because of this, I think
it's best to use a ready-made solution from emotion/css, since it
creates only one class out of the box for elements with the same styles,
which allows to render elements with good performance.

Rendering 80k elements
![Снимок экрана 2023-10-05 в 13 28
33](https://github.com/appsmithorg/appsmith/assets/11555074/510302f9-d45b-4b01-a59d-538d2f5d356e)

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

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] JUnit
- [x] Jest
- [ ] Cypress

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-10-06 09:59:02 +03:00
Valera Melnikov
169d6448fd
chore: improve buttonGroup (#27601)
#### PR fixes following issue(s)
Fixes #25500 

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

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

## 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
2023-09-26 11:25:34 +03:00
Pawan Kumar
d2cfa47443
chore: Refactor Text Input with css modules (#27585) 2023-09-25 14:47:08 +03:00
Pawan Kumar
11fdbf0f53
chore: Refactor styled component to css modules for checkbox/radio/switch (#27505)
Refactor css from styled component to css modules

Fixed #27386 
Fixed #27388
Fixed #27387
2023-09-22 10:14:58 +03:00
Pawan Kumar
3711ad90e6
feat: enable CSS Modules fro WDS (#26162)
Fixes: #26019

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
2023-09-15 10:17:06 +03:00
Valera Melnikov
013adf782c
feat: add fluid tokens and flex component (#25448)
## Description
- Add fluid root unit
- Add fluid tokens for typography, spacing and sizing
- Add docs about Theme
- Typography now works by creating a class at the provider level
- Update styled component version. Add PickRename interface to work with
[transient
props](https://styled-components.com/docs/api#transient-props)
- Remove the direct use of rootUnit and replace it with sizing tokens
- Get rid of some unit test because new version of styled components
doesn't work with Jest. Fortunately, we have visual tests.

#### PR fixes following issue(s)
#24295

#### Type of change
- New feature (non-breaking change which adds functionality)

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

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [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

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-07-24 11:59:05 +03:00
Valera Melnikov
d3b48c500f
chore: move typography to themeprovider (#23904)
## Description
**Typography**
- Move typography to the provider.
- Add context for the theme provider
- Move `fontFaces` styles to the provider

**Tooltip**
- Add `isRounded` check for the tooltip (shift for the arrow)
- Fix the position of the arrow in the tooltip

**Tokens**
Move `rootUnit` from `sizing` since this is a common value and is used
not only for sizing. We will do the sizing iteration separately, if
necessary.

**Theming package**
Theming package refactoring. So now we have 4 folders (color, theme,
token, and typography) with related files

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

#### Type of change
- 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
- [x] Manual
- [x] Jest
- [ ] Cypress


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

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-06-07 12:49:24 +03:00
Pawan Kumar
95ad812fc3
chore: Improve a11y of loading state of button (#23812)
Fixes #23811
2023-05-30 15:37:49 +03:00
Valera Melnikov
9f607d250d
chore: move local dependency to packages (#23395)
## Description
1. Move everything related to client from app folder to client folder
(`.yarn`, `yarn.lock`, package.json, .gitignore)
2. Move `ast` and `rst` to client packages
3. Fix running scripts in packages
4. Add running unit tests in packages in CI

TODO: It is necessary to consider enabling the `nmHoistingLimits:
workspaces` option, since now all packages are hoisted to the root,
there may be issues with dependencies in workspaces. Also, there is a
possibility of implicit use of packages.

https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits

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

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## Testing

#### How Has This Been Tested?
- [x] Manual
- [x] Jest
- [x] 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-05-22 15:55:46 +03:00
Valera Melnikov
468a84cc5b
fix: widgets-old package lint errors (#23348)
## Description

1. Fixed lint errors.
2. Removed unnecessary tests and scripts to run them. Agreed with
@albinAppsmith

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


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#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

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-05-15 17:23:24 +03:00
Satish Gandham
83538ad74d
feat: Bundle optimization and first load improvements (#21667)
Co-authored-by: Ivan Akulov <mail@iamakulov.com>
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Ivan Akulov <iamakulov@outlook.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2023-05-11 10:56:03 +05:30
Pawan Kumar
526a358329
chore: Add the ability to use icons in WdsButton (#23014)
Adds the ability to pass icon in button component and adds button group
to the storybook

## Description

Fixes #21924
Fixes #21926

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
- Bug fix

## How Has This Been Tested?
- Manual


### 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:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-10 15:04:03 +03:00
Valera Melnikov
4fd856f09b
fix: remove unnecessary packages dependency settings (#22736)
## Description
We are for using the same version in packages as the main app. [This
code](https://github.com/appsmithorg/appsmith/blob/release/app/client/packages/design-system/theming/package.json#L12-L19)
should says yarn take the version from the main package.json. But for
some reason, yarn resolves it in his own way, so we decided to delete
these lines and leave only information about React only in
`peerDependencies`.

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

## How Has This Been Tested?
- Manual

## 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-04-27 11:55:14 +05:30
Pawan Kumar
9a26152dc8
chore: headless checkbox and styled checkbox component (#22380)
Fixes #22142
2023-04-18 17:21:56 +05:30
Valera Melnikov
e50b31b65c
feat: wds button refactoring (#21849)
## Description

1. Moved `wds` to the `design-system` folder. 
2. Added `headless` package and `HeadlessButton`.
3. Added `theming` package. `ThemeProvider` and two classes were created
to work with
tokens([TokensAccessor](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-58832e8b8e8017648929473a90eb716e6a2671ba1749be3d4c5665b093bc3dc3))
and
colors([ColorsAccessor](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-f515e0eefc418c8bfc0710572e83a0029bd94f2fb975853f71730e5b11c774bd))
5. The token structure has been changed. The same class(TokensAccessor)
is now used to create CSS variables and tokens for
Figma([themeTokens.json](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-5ad75b848cb4254c0bd0bb0bf6a89eeccb628dc0012752172654e12e62d570d9))

The final storybook is
[here](https://widget-design-system-b1p6g13iq-get-appsmith.vercel.app/?path=/story/design-system-widgets--button).

## Type of change

- New feature (non-breaking change which adds functionality)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
- Manual

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

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-04-05 18:09:11 +05:30