Repository navigation
Conversation
|
Client output of the apps in
Raw sizes
|
Merging this PR will not alter performance
Comparing Footnotes
|
commit: |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
kazbekaskarov
left a comment
There was a problem hiding this comment.
Hi, thanks for the contribution! The fix looks good for UTooltip. One thing worth noting: USwitch uses the same pattern (inheritAttrs: false with attrs forwarded to the inner root), so it likely has the same label hover issue. Could we apply the same fix there too, maybe through a small shared helper? Also, since rootAttrs only covers the TooltipTrigger listeners, UPopover mode="hover" still won't open from the label (HoverCard uses onPointerenter), which might be worth handling or at least leaving for a follow-up.
cc: @benjamincanac
🔗 Linked issue
Resolves #5871.
❓ Type of change
📚 Description
When
UCheckboxis the direct child ofUTooltip, hovering its label does not open the tooltip because the trigger's pointer listeners are forwarded to the inner checkbox button.Forward
pointermove,pointerleaveanddata-grace-area-triggerto the existing outer Primitive so the box and label share the hover boundary. Keep focus, click, ARIA and form attributes on the inner control, and retain thedata-statefilter so tooltip state cannot overwrite checkbox state. Attribute splitting happens during rendering, including when tooltip listeners change after togglingdisabled.No public props, slots, emits or DOM wrappers are added. A playground example and eight integration regression cases cover default/list/card labels, nested label-slot content, movement within and outside the root, delayed opening/cancellation, touch, disabled changes, listener invocation counts, keyboard focus, ARIA, accessibility and label-click toggling.
🧪 Validation
NODE_OPTIONS=--max-old-space-size=6144).aria-describedby.Full-suite limitation: the full-suite run was stopped before completion. It encountered a timeout in
DashboardSidebar > renders with mode drawer correctly. A standalone DashboardSidebar rerun passed all 26 tests with the original timeout, but emitted an environment teardown-timeout warning. Google font-provider requests also timed out during environment preparation. Full-suite success is therefore not claimed; this PR is a draft pending complete validation/CI.📝 Checklist