UiService v2.1: Virtualized lists (#2342)

* UiService: Add `pane_add_list`

* Fix CSS scoping
This commit is contained in:
Luke Street
2026-08-23 14:33:36 -06:00
committed by GitHub
parent d281c34a65
commit 1db2a74192
17 changed files with 802 additions and 57 deletions
+70 -13
View File
@@ -107,7 +107,6 @@ window content pane {
min-width: 0;
min-height: 0;
padding: 24dp;
padding-bottom: 0dp;
gap: 8dp;
overflow: hidden auto;
font-size: 20dp;
@@ -121,6 +120,76 @@ window content pane > * {
flex: 0 0 auto;
}
ui-list {
display: flex;
flex-flow: column;
flex: 1 1 0;
min-width: 0;
min-height: 0;
}
window content pane > ui-list,
.modal-content pane > ui-list {
flex: 1 1 0;
min-width: 0;
min-height: 0;
}
ui-list-viewport {
display: block;
flex: 1 1 0;
min-width: 0;
min-height: 0;
overflow: hidden auto;
}
ui-list-content {
display: flex;
flex-flow: column;
gap: 8dp;
min-width: 0;
}
ui-list-content > button.ui-list-row {
flex: 0 0 auto;
}
ui-list-empty {
display: block;
padding: 16dp;
text-align: center;
opacity: 0.45;
}
window content pane > ui-list {
margin-left: -24dp;
margin-right: -24dp;
}
window content pane > ui-list:first-child {
margin-top: -24dp;
}
window content pane > ui-list:last-child {
margin-bottom: -24dp;
}
window content pane > ui-list ui-list-content,
window content pane > ui-list ui-list-empty {
padding-left: 24dp;
padding-right: 24dp;
}
window content pane > ui-list:first-child ui-list-content,
window content pane > ui-list:first-child ui-list-empty {
padding-top: 24dp;
}
window content pane > ui-list:last-child ui-list-content,
window content pane > ui-list:last-child ui-list-empty {
padding-bottom: 24dp;
}
window content pane:last-of-type > div {
line-height: 1.625;
}
@@ -131,14 +200,6 @@ window content pane:last-of-type > div {
color: rgba(224, 219, 200, 65%);
}
window content pane > spacer {
display: block;
/* Completes the 24dp bottom inset after the pane's 8dp gap. */
flex: 0 0 16dp;
height: 16dp;
pointer-events: none;
}
scrollbarvertical {
width: 8dp;
margin: 4dp 4dp 4dp 0;
@@ -567,10 +628,6 @@ window.modal.danger .modal-header icon {
flex: 0 0 auto;
}
.modal-content pane > spacer {
display: none;
}
.verification-progress {
display: flex;
flex-direction: column;