← WebGL UI

dialog

A native <dialog> with showModal(), focus trap, Esc and returnValue from the browser. A shader paints only the backdrop while it opens and closes.

Save changes?

Esc, a click outside (where supported), the buttons and the form close it like a native dialog.

Nested dialog

It opens on top of the first one, like in a real app. Esc closes only this one.