-
Notifications
You must be signed in to change notification settings - Fork 4k
[feat] Update chat input UI with improved layout and styling #13088
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
✅ PR preview is ready!
|
7299b3e to
752f938
Compare
d66037c to
65fa621
Compare
65fa621 to
9b327de
Compare
752f938 to
9b9bfc4
Compare
9b327de to
5992124
Compare
5992124 to
6e53c36
Compare
9b9bfc4 to
4291205
Compare
e42de3a to
15c2d86
Compare
15c2d86 to
d5891f9
Compare
frontend/lib/src/components/widgets/ChatInput/styled-components.ts
Outdated
Show resolved
Hide resolved
📈 Frontend coverage change detectedThe frontend unit test (vitest) coverage has increased by 0.0200%
✅ Coverage change is within normal range. |
c7a1b30 to
8d81849
Compare
8d81849 to
68a3bb3
Compare
1bcb411 to
bc83355
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR redesigns the Chat Input component to implement a modern, cleaner UI with improved layout and spacing. The changes include moving the microphone button to the left side, changing button icons (send button from paper airplane to arrow, file upload from paperclip to plus), repositioning the character count to the top-right corner, and improving the visual treatment of uploaded file chips with better spacing.
Key Changes
- Layout restructure: Converted from row-based to column-based layout with distinct content and action areas
- Button repositioning: Microphone moved to left cluster, send button styled as primary with new arrow icon
- File upload improvements: Dropzone overlay simplified, file chips with better spacing and background
- Accessibility: Enhanced with improved aria labels for all interactive buttons
Reviewed changes
Copilot reviewed 7 out of 289 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
frontend/lib/src/components/widgets/ChatInput/styled-components.ts |
Restructured layout from flex-row to flex-column, added new layout components (ContentArea, PrimaryRegion, ActionRow, LeftCluster, RightCluster), repositioned character count styling |
frontend/lib/src/components/widgets/ChatInput/fileUpload/styled-components.ts |
Simplified dropzone to use absolute positioning with inset, updated file chip styling with background and improved spacing |
frontend/lib/src/components/widgets/ChatInput/fileUpload/ChatFileUploadDropzone.tsx |
Removed inputHeight prop as dropzone now uses absolute positioning |
frontend/lib/src/components/widgets/ChatInput/fileUpload/ChatFileUploadButton.tsx |
Changed icon from AttachFile to Add, removed vertical divider |
frontend/lib/src/components/widgets/ChatInput/ChatInput.tsx |
Major restructure with new layout hierarchy, button repositioning, added focusInput callback, improved aria labels |
frontend/lib/src/components/widgets/ChatInput/ChatInput.test.tsx |
Updated test assertions for character count visibility logic |
e2e_playwright/st_chat_input_test.py |
Updated assertion for file deletion behavior to check container visibility |
| E2E snapshot files (PNG) | Updated visual regression test snapshots for new UI design |
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
Update test helper to create actual textarea DOM elements instead of plain object mocks. JSDOM's getComputedStyle requires real elements. - Create textarea elements with document.createElement - Set CSS styles (lineHeight, padding) for computed style calculations - Add afterEach cleanup to prevent DOM pollution between tests - Fix test expectation for large content (height correctly caps at maxHeight)
ab2e804 to
caa800c
Compare
sfc-gh-bnisco
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, noted some cleanup tasks throughout. I spot checked the snapshots and they all look to be as expected with the new design.
frontend/lib/src/components/widgets/ChatInput/fileUpload/styled-components.ts
Outdated
Show resolved
Hide resolved
frontend/lib/src/components/widgets/ChatInput/fileUpload/styled-components.ts
Outdated
Show resolved
Hide resolved
frontend/lib/src/components/widgets/ChatInput/fileUpload/styled-components.ts
Outdated
Show resolved
Hide resolved
Yeah idk what it is but after I see those comments for so long, I stop seeing them.. if that makes sense 😖 |

Describe your changes
Redesigned the Chat Input component to match the new design specifications:
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.