Skip to content

Commit 3171668

Browse files
refactor(navigation-menu): rewrite machine logic (#2678)
* chore: wip rewrite * fix: viewport variant * chore: add keyframes * fix: nested navigation menu * fix: ts error * chore: add presence component everywhere * fix: stop propagation * refactor: navigate * fix: vue ignore * chore: update links * fix: improve keyboard navigation * chore: expose more api * chore: tweak animation * chore: add solid example * chore: update * chore: add svelte example * chore: update * chore: update vue example * chore: update * chore: update * chore: add navigation-menu pages for svelte example * fix: export missing types * fix(presence): fix a bug where elements get stuck in unmountSuspended state during rapid hovering * refactor: instant response time when moving between trigger * refactor: remove nested navigation menu * refactor: remove unnecessary escapeCloseValue * fix: keyboard navigation is not working as expected * fix: use CLOSE event * test: correct test flow * refactor: improve timeoutId handling * test: add more tests * fix: handle arrow key navigation between triggers * test: add more tests * fix: differentiate between content links and top-level elements in arrow key navigation * test: add tests for Home, End keys * refactor: remove clickCloseValue * refactor: clean up * refactor: clean up * refactor: clean up --------- Co-authored-by: Nelson Lai <[email protected]>
1 parent 8cd3711 commit 3171668

33 files changed

+2120
-1093
lines changed

.changeset/dirty-turtles-attack.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@zag-js/presence": patch
3+
---
4+
5+
Fix a bug where elements get stuck in unmountSuspended state during rapid hovering

e2e/models/navigation-menu.model.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export class NavigationMenuModel extends Model {
77
super(page)
88
}
99

10-
goto(id?: "viewport" | "nested") {
10+
goto(id?: "viewport") {
1111
return this.page.goto(`/navigation-menu${id ? `-${id}` : ""}`)
1212
}
1313

@@ -66,4 +66,8 @@ export class NavigationMenuModel extends Model {
6666
async seeLinkIsFocused(value: string) {
6767
await expect(this.getLink(value)).toBeFocused()
6868
}
69+
70+
async wait(ms: number) {
71+
await this.page.waitForTimeout(ms)
72+
}
6973
}

0 commit comments

Comments
 (0)