mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-12 16:40:05 +00:00
fix: update WidgetLayoutField border styling (#9456)
## Summary This makes the focus ring only appear on keyboard navigation (Tab), not on mouse click for widgets like toggle switches, while text inputs still show the ring on click since browsers apply ` :focus-visible` to them. ## Mozilla Standard Legacy `focus-within` triggers a highlight ring on every mouse click, creating unnecessary visual noise during canvas navigation. Following [MDN standards](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible), `:focus-visible` only triggers the highlight when the browser determines a visual cue is needed (e.g., keyboard navigation). Using the `:has()` relational selector allows the container to react to the state of its children natively in CSS. Removes the need for Vue event listeners or complex state bubbling to highlight the field border. This reduces JavaScript overhead and simplifies component logic. FYI [MDN :has()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:has). Reordered Tailwind classes to move `transition-all` to the end, following official best practices. Groups layout/shape first, followed by interaction states, and finally animations. This improves code readability and maintainability. ## Screenshots before <img width="558" height="252" alt="12efd5721fb792a7e2dab7e022c2bed6" src="https://github.com/user-attachments/assets/f881fe13-9f4f-40fd-a8cc-f438b1ba4bde" /> after <img width="538" height="235" alt="e5ffec0a34d3b237c4fca9818ec598dd" src="https://github.com/user-attachments/assets/5ada4112-64bd-48a4-9e9c-b59de6984370" /> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9456-fix-update-WidgetLayoutField-border-styling-31b6d73d36508193a31ed02bfdef414f) by [Unito](https://www.unito.io) Co-authored-by: Terry Jia <terryjia88@gmail.com>
This commit is contained in:
@@ -33,7 +33,7 @@ const hideLayoutField = useHideLayoutField()
|
||||
<div
|
||||
:class="
|
||||
cn(
|
||||
'min-w-0 cursor-default rounded-lg transition-all focus-within:ring focus-within:ring-component-node-widget-background-highlighted',
|
||||
'cursor-default min-w-0 rounded-lg has-[:focus-visible]:ring has-[:focus-visible]:ring-component-node-widget-background-highlighted transition-all',
|
||||
widget.borderStyle
|
||||
)
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user