fix(downloads): make column reorder frames atomic

Commit the target grid immediately, derive track definitions from the same column order as the cells, and animate only cell contents with FLIP. Disable grid-track interpolation to avoid Chromium reduced-motion mix frames, honor the application animation setting, and retain serialized persistence and import authority.
This commit is contained in:
Sucukdeluxe
2026-08-20 09:16:06 +02:00
parent 32fc1e7321
commit 0dfb57525a
7 changed files with 205 additions and 67 deletions
+11 -6
View File
@@ -281,6 +281,12 @@
text-transform: uppercase;
}
.downloads-table-header,
.downloads-package-row,
.downloads-item-row {
transition-property: none;
}
.downloads-table-body {
overflow: visible;
contain: layout style;
@@ -587,10 +593,6 @@
box-shadow: inset 2px 0 0 color-mix(in srgb, var(--ui-text-muted) 58%, transparent), inset -2px 0 0 color-mix(in srgb, var(--ui-text-muted) 58%, transparent);
}
.downloads-table.is-column-drag-settling [data-download-column] {
transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
.downloads-virtual-spacer {
transition-duration: 1500ms !important;
@@ -600,8 +602,7 @@
transition-duration: 1500ms, 1500ms, 1500ms !important;
}
.downloads-table.is-column-drag-active [data-download-column],
.downloads-table.is-column-drag-settling [data-download-column] {
.downloads-table.is-column-drag-active [data-download-column] {
transition-duration: 220ms !important;
}
@@ -610,6 +611,10 @@
}
}
.downloads-table.is-column-drag-motion-disabled.is-column-drag-active [data-download-column] {
transition: none !important;
}
.downloads-column-sort {
width: 100%;
border: 0;