selection

This commit is contained in:
2025-11-03 02:31:46 +01:00
parent 1c261bf0a2
commit 152f824e2e
15 changed files with 1331 additions and 164 deletions
+186 -1
View File
@@ -323,7 +323,6 @@ a.button-link {
a.button-link[aria-disabled='true'] {
opacity: 0.55;
pointer-events: none;
}
a.button-link:hover:not([aria-disabled='true']) {
@@ -661,6 +660,10 @@ button.danger:hover:not([disabled]) {
gap: 0.75rem;
}
.main-content__header-wrapper {
position: relative;
}
.main-content__body {
position: relative;
flex: 1 1 auto;
@@ -1991,6 +1994,7 @@ button.danger:hover:not([disabled]) {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}
.documents-panel .panel-section__header .header-actions {
@@ -2021,6 +2025,96 @@ button.danger:hover:not([disabled]) {
gap: 0.5rem;
}
.panel-floating {
position: absolute;
top: calc(50% + 0.25rem);
left: 50%;
transform: translate(-50%, -50%);
background: color-mix(in oklch, var(--surface) 80%, transparent);
border: 1px solid color-mix(in oklch, var(--border) 85%, transparent);
padding: 0.45rem 0.85rem;
border-radius: 1rem;
font-size: 0.95rem;
font-weight: 400;
color: var(--fg);
box-shadow: 0 2px 6px color-mix(in oklch, var(--shadow-soft) 60%, transparent);
pointer-events: auto;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: nowrap;
gap: 0.75rem;
z-index: 3000000;
}
.panel-floating__label {
white-space: nowrap;
pointer-events: none;
font-size: 0.95rem;
color: var(--fg);
}
.selection-summary {
display: inline-flex;
align-items: center;
gap: 0.4rem;
}
.selection-summary__token {
display: inline-flex;
align-items: center;
gap: 0.3rem;
}
.selection-summary__count {
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.selection-summary__icon {
width: 1rem;
height: 1rem;
}
.selection-summary__separator {
opacity: 0.45;
}
.panel-floating-actions {
display: inline-flex;
align-items: center;
gap: 0.4rem;
flex-wrap: nowrap;
pointer-events: auto;
}
.panel-floating-actions .quick-add {
pointer-events: auto;
}
.panel-floating-actions .quick-add__trigger {
pointer-events: auto;
}
.panel-floating-actions .quick-add__trigger[disabled] {
opacity: 0.45;
cursor: not-allowed;
}
.panel-floating-actions__button {
display: inline-flex;
align-items: center;
gap: 0;
pointer-events: auto;
font-size: 1.35rem;
}
.panel-floating-actions__button .icon-inline {
display: inline-flex;
width: 1.35rem;
height: 1.35rem;
}
.documents-panel .documents-scroll {
overflow-y: auto;
background: transparent;
@@ -2770,6 +2864,97 @@ button.danger:hover:not([disabled]) {
background: var(--surface-subtle);
}
.selection-assignment {
display: inline-flex;
position: relative;
}
.selection-assignment__menu {
font-size: 0.95rem;
font-weight: 400;
padding: 0.4rem 0;
}
.selection-assignment__header {
padding: 0.4rem 0.75rem 0.3rem;
border-bottom: 1px solid var(--border-subtle);
}
.selection-assignment__header input {
width: 100%;
padding: 0.35rem 0.6rem;
border: 1px solid var(--border-subtle);
border-radius: 0.5rem;
background: var(--surface-subtle);
color: var(--fg);
font-size: 0.95rem;
}
.selection-assignment__header input:focus-visible {
outline: none;
border-color: var(--selection-border);
box-shadow: 0 0 0 2px color-mix(in oklch, var(--selection) 25%, transparent);
}
.selection-assignment__list {
max-height: 240px;
overflow-y: auto;
}
.selection-assignment__item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
font-weight: 400;
}
.selection-assignment__item--all .selection-assignment__icon {
color: var(--success);
}
.selection-assignment__item--partial .selection-assignment__icon {
color: var(--warning);
}
.selection-assignment__icon {
width: 1rem;
height: 1rem;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.selection-assignment__icon--empty {
border: 1px solid var(--border-subtle);
border-radius: 999px;
opacity: 0.6;
}
.selection-assignment__label {
flex: 1 1 auto;
min-width: 0;
text-align: left;
font-weight: 400;
}
.selection-assignment__count {
font-size: 0.8rem;
color: var(--muted);
}
.selection-assignment__empty {
padding: 0.75rem;
}
.selection-assignment__create {
border-top: 1px solid var(--border-subtle);
display: flex;
align-items: center;
gap: 0.5rem;
}
.preview-pane {
margin-top: 0.4rem;