Scroll a menu that is too long for the window
The popover was fit-content with overflow visible, so a long menu ran past the edge of the top layer, where the page's own scrolling cannot reach it. It now caps at 18rem — less on a short window — and scrolls, as M3's menu behaviour asks, and the keyboard brings the item it moves to into view. Plan step 11, actions.md ACT-04. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qwx5USif3wFFmxtHg5U1g9
This commit is contained in:
co-authored by
Claude Opus 5
parent
6e24ff2cf8
commit
c1ca157341
@@ -23,6 +23,12 @@ it('opens a popover menu from its trigger', function () {
|
||||
->toContain('[position-area:bottom_span-right]');
|
||||
});
|
||||
|
||||
it('scrolls a menu too long for the window instead of running off it', function () {
|
||||
expect((string) $this->blade('<x-menu><x-slot:trigger><button>x</button></x-slot:trigger></x-menu>'))
|
||||
->toContain('max-h-[min(18rem,calc(100dvh-2rem))] overflow-y-auto')
|
||||
->not->toContain('overflow-visible');
|
||||
});
|
||||
|
||||
it('opens at the position asked for, in the vibrant colours on request', function () {
|
||||
$html = (string) $this->blade('<x-menu position="top-end" vibrant><x-slot:trigger><button>x</button></x-slot:trigger></x-menu>');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user