PromucFlow_constructor/app/client/src/widgets
Ashok Kumar M 4b1ef98014
feat: Anvil DnD Polish(Refactor) (#32839)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX18VSEOqElAtQ747ag1P1M0EAgrsJtMy4pQ%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MdeCkAG)
## Description
In this PR, 
- we are refactoring Anvil DnD to use dom elements to render highlights
instead of canvas.

  Why?
- Doesn't have the ability to overflow a widget and still allow dnd
events(section widget use case)
  - limitations with respect to being testable

- we are adding compensators to dnd layers, so that DnD is not just for
layout but for the entire widget.
  Widget is the appsmith entity.
layout is something present in container like widgets like Section and
Zone which allow you to contain children widgets based on a the layout
structure.
  
  What are compensators?
  - additional padding for DnD layers in a widget
- additional position offsets for highlights in a widget so that they
don't stick to the layout.
  
  Why compensators?
- Section widget can be activated to show highlights in areas
overlapping with main canvas
- DnD should be possible even at spacings created by parent widget like
in Zone widget

- we are also removing canvas activation logic and moving to using mouse
move event to activate a canvas for DnD.

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

## Summary by CodeRabbit

- **New Features**
- Introduced a new layout property for widgets, enhancing customization
options.
- Added a custom error boundary component to handle and display errors
elegantly.
- New drag-and-drop components and utilities to improve interaction
within the editor canvas.
- Adjusted component hierarchies in Anvil editor and viewer for better
performance and structure.

- **Refactor**
- Simplified rendering logic in `AnvilWidgetComponent` by removing
conditional boundaries.
- Updated the hierarchy within the Anvil editor, enhancing component
nesting and interaction.

- **Bug Fixes**
- Adjusted padding values and added new constants for better UI
alignment and interaction feedback.

- **Chores**
- Renamed and reorganized Cypress locators and methods for clearer and
more efficient testing automation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-29 11:32:08 +05:30
..
anvil chore: add appsmith icon package (#32927) 2024-04-26 15:37:09 +03:00
AudioRecorderWidget fix: bug- Audio recorder does not reset UI when a recording is taking place #14693 (#32747) 2024-04-19 13:09:01 +05:30
AudioWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
BaseInputWidget feat: RTL support for input, select and multi-select widget (#28522) 2023-11-03 16:18:13 +05:30
BaseWidgetHOC chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
ButtonGroupWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
ButtonWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
CameraWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
CategorySliderWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
ChartWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
CheckboxGroupWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
CheckboxWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
CircularProgressWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
CodeScannerWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
components feat: RTL support for input, select and multi-select widget (#28522) 2023-11-03 16:18:13 +05:30
ContainerWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
CurrencyInputWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
CustomWidget chore: Update analytics to pass the correct source information in identify user call (#32591) 2024-04-19 15:06:50 +05:30
DatePickerWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
DatePickerWidget2 feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
DividerWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
DocumentViewerWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
DropdownWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
ExternalWidget chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
FilepickerWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
FilePickerWidgetV2 feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
FormButtonWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
FormWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
IconButtonWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
IconWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
IframeWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
ImageWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
InputWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
InputWidgetV2 feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
JSONFormWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
ListWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ListWidgetV2 feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
MapChartWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
MapWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
MenuButtonWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
ModalWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
MultiSelectTreeWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
MultiSelectWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
MultiSelectWidgetV2 feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
NumberSliderWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
PhoneInputWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
ProgressBarWidget chore: Create layout system structure for Anvil and AnvilFlexComponent. (#27178) 2023-10-02 15:41:05 -04:00
ProgressWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
QRGeneratorWidget chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
RadioGroupWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
RangeSliderWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
RateWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
RichTextEditorWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
SelectWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
SingleSelectTreeWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
StatboxWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
SwitchGroupWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
SwitchWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
TableWidget fix: tooltip of the ellipsis content for response table changed to left position (#32800) 2024-04-22 15:50:16 +05:30
TableWidgetV2 chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
TabsMigrator feat: dsl migration with server (#28518) 2023-11-30 18:03:33 +05:30
TabsWidget chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
TextWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
VideoWidget feat: enhanced widget card (#32211) 2024-04-09 02:16:46 +01:00
wds feat: Anvil DnD Polish(Refactor) (#32839) 2024-04-29 11:32:08 +05:30
BaseComponent.tsx
BaseWidget.tsx chore: add appsmith icon package (#32927) 2024-04-26 15:37:09 +03:00
CanvasWidget.tsx chore: Layout system wise restructuring of Canvas Widget (#27496) 2023-10-04 17:23:29 +05:30
ConnectDataOverlay.tsx chore: Anvil Canvas and Widget intearction separation (#32025) 2024-04-01 15:00:24 +05:30
index.ts chore: create inline buttons widget (#31318) 2024-03-04 10:28:11 +03:00
MetaHOC.tsx chore: Import debugger fixes (#31080) 2024-02-14 12:00:18 +05:30
MetaWidgetContextProvider.tsx
Skeleton.tsx
SkeletonWidget.tsx feat: implement dropping building blocks on canvas (#31857) 2024-04-16 09:41:09 +01:00
useDropdown.tsx chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
utils.test.ts feat: code scanner widget default camera (#26083) 2023-08-10 12:18:51 +05:30
utils.ts feat: code scanner widget default camera (#26083) 2023-08-10 12:18:51 +05:30
WidgetUtils.test.ts fix: auto label position (#28022) 2023-10-13 12:08:01 +03:00
WidgetUtils.ts fix: calculateHoverColor typo (#28329) 2023-10-30 15:56:14 +05:30
withLazyRender.tsx chore: Remove lazy canvas rendering feature flag - LAZY_CANVAS_RENDERING (#22354) 2023-05-10 17:36:30 +05:30
withWidgetProps.tsx chore: Merge wds and anvil feature flags (#32609) 2024-04-12 22:54:04 +05:30