GraphiteEditor / GraphiteEditor/Graphite

[Blocked on browser support] Refactor floating menus to use HTML <dialog> and CSS popover with anchor()

Abierto
#2,142 2 comentarios 0 reacciones 1 asignado Reclamado por @Keavon Ver en GitHub
Web
Lenguaje dominante
Rust
Estrellas
27.2k
Forks
1.3k
Merge medio
20 h 5 min
PR fusionados (30 d)
57

Descripción

Modal dialogs (such as Preferences, About Graphite, closing save confirmations, etc.) should be refactored to use a [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.

Popover menus (such as menu lists and popovers) should be refactored to use the [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using) paired with [CSS anchor positioning](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_anchor_positioning/Using) to replace the current CSS positioning hackery (which is fragile and isn't compatible with keeping up with scrolling its floating menu spawner within a pane with scrollbars). Care will need to be taken to ensure it works with [nested popovers](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using#nested_popovers).

This is **blocked** on CSS anchor positioning reaching all modern browsers ([caniuse](https://caniuse.com/css-anchor-positioning)). As of January 2026, Firefox and Safari have only just rolled out support and we should probably wait a few months until users update.

![capture](https://github.com/user-attachments/assets/afdfb9e2-f6ac-4610-86d3-38f329d65e45)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.