fix: keep sidebar confirmation dialogs from being confined to the rail (#11158)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Guilhem
2026-09-16 10:42:47 +02:00
committed by GitHub
co-authored by Claude Fable 5.1
parent e8078f2a96
commit b9b5988ebd
5 changed files with 18 additions and 2 deletions
@@ -2107,8 +2107,11 @@
}
}
/* `backwards`, not `both`: the fill hides rows until their staggered start, but a forwards
fill would keep `transform` animated afterwards and confine the row's remove confirmation
(`position: fixed`) to the row. The `to` keyframe equals the row's resting style. */
.wm-imported > :global(*) {
animation: wm-row-in 260ms ease-out both;
animation: wm-row-in 260ms ease-out backwards;
animation-delay: 320ms;
}
.wm-imported > :global(*:nth-child(1)) {
@@ -151,8 +151,11 @@
</script>
{#if currentWsIsFork}
<!-- `alwaysPortal`: this sits in the sidebar, whose mobile slide-in panel keeps a `transform`
that would otherwise confine the dialog to the panel's width. -->
<ConfirmationModal
{open}
alwaysPortal
title="Delete forked workspace"
confirmationText="Remove"
on:canceled={() => {
@@ -396,8 +396,11 @@
{/snippet}
</DropdownV2>
<!-- `alwaysPortal`: the sidebar's mobile slide-in panel keeps a `transform` that would
otherwise confine the dialog to the panel's width. -->
<ConfirmationModal
open={leaveWorkspaceModal}
alwaysPortal
title="Leave workspace"
confirmationText="Leave workspace"
on:canceled={() => {
@@ -737,8 +737,11 @@
</div></nav
>
<!-- `alwaysPortal`: the sidebar's mobile slide-in panel keeps a `transform` that would
otherwise confine the dialog to the panel's width. -->
<ConfirmationModal
open={leaveWorkspaceModal}
alwaysPortal
title="Leave workspace"
confirmationText="Leave workspace"
on:canceled={() => {
@@ -1515,8 +1515,12 @@
}
}
/* No forwards fill: a filled animation keeps `transform` animated after it ends, which makes
the rail the containing block for every `position: fixed` descendant — the confirmation
dialogs opened from the settings menu would be confined to the rail's column. The `to`
keyframe equals the rail's resting style, so nothing changes visually when the fill drops. */
:global(#sidebar.wm-sidebar-in) {
animation: wm-sidebar-in 500ms ease-out both;
animation: wm-sidebar-in 500ms ease-out;
}
@media (prefers-reduced-motion: reduce) {