Skip to content

v0.32.0

tagged this 24 Aug 12:32
Все модальные слои сидели на одном `--gr-z-modal`, поэтому «кто выше» решал
порядок узлов в портале. А его задаёт создание компонента, не открытие:
`<teleport>` резервирует место сразу. Стек при этом считал верхним последний
открытый и по нему ставил `inert` — сверху оказывалось окно, которое не
отвечает, а отвечающий диалог лежал под ним.

Теперь стек выдаёт слою его глубину, слой рисуется на
`calc(var(--gr-z-modal) + depth)`. Пересчёт идёт той же функцией, что ставит
`inert`, так что расходиться двум порядкам нечем. Закрытое окно держит глубину,
пока живёт в DOM: иначе оно ныряет под соседнее во время leave-анимации.

Формула floating-панелей переехала из `useFloating` к стеку — это знание про
весь стек, а не про якорные панели.

Витрина получила демо с лесенкой окон и диалогом поверх них; оно же фикстура
для e2e. Ядро — 0.32.0, диапазоны потребителей подняты тем же коммитом.
Assets 2
Loading