feat(builder): improve drag-and-drop UX and responsive layout behavior#25
Open
feat(builder): improve drag-and-drop UX and responsive layout behavior#25
Conversation
- Constrain builder root to max-w-[1440px] with centered layout - Move field width ownership to Canvas (max-w-2xl, mx-auto) - Align empty canvas state with field width envelope - Remove preview-level width constraints for consistent layout behavior - Add formatting guardrail to copilot instructions (nx format:check flow) - Enforce local install rule (use npm install, avoid npm ci) - Update subagent rules to align with local CI/CD constraints - Remove deprecated baseUrl from tsconfig.lib.json - Apply Nx formatting normalization to tsconfig arrays - Improve Navbar responsive wrapping and action layout - Prevent control label wrapping in RendererView via whitespace-nowrap - Remove unintended full-width behavior from select/button controls
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR enhances the drag-and-drop (DnD) experience across the builder while improving layout consistency and responsiveness. It introduces immediate interaction feedback, refines section-level behaviors, and standardizes width handling for a more predictable editing experience.
Additionally, it includes UI polish updates, TypeScript config cleanup, and minor workflow/documentation adjustments to improve developer experience and consistency.
🔧 What Changed
Drag-and-Drop (Core)
Added
onPressStartsupport for immediate press feedback (no movement threshold required)Improved drag interaction by preventing unintended text selection
Refined section drag behavior:
Introduced centralized
clearDropStatecleanup logicBuilder UI / UX
Standardized builder layout with centered, max-width container
Canvas now owns width constraints for consistent rendering
Improved empty vs populated canvas rendering structure
Enhanced selection UX:
Drag handles updated with
user-select-nonefor smoother UXDemo / App Responsiveness
TypeScript Config Cleanup
baseUrlacross packagetsconfig.lib.jsonfilesRepo / Workflow
npm ciin local workflows🧪 How to Test
Drag-and-Drop Behavior
Drag a field and verify immediate visual feedback on press
Drag across sections and confirm:
Drag over original source and confirm no false drop indicators
Selection UX
Escapeto clear selection stateLayout / Responsiveness
Resize viewport (mobile → desktop)
Verify:
Text Selection Prevention
Build / Lint
Breaking Changes
No breaking changes.