Files
vendoo/public/article-overview-ux.css

497 lines
11 KiB
CSS

/* Vendoo Article Overview UX 1.44.0
* Aufgabenorientierte Filter, adaptive Kartenansicht und reduzierte Mehrfachaktionen.
*/
#history.ux-article-overview-ready {
--ux-article-card-min: 340px;
}
.ux-article-toolbar {
align-items: center;
background: var(--vd-surface-raised);
border: 1px solid var(--vd-line);
border-radius: var(--vd-radius-md);
display: grid;
gap: 14px;
grid-template-columns: minmax(180px, .7fr) minmax(320px, 1.4fr) auto;
margin-bottom: 12px;
padding: 14px 15px;
}
.ux-article-summary strong,
.ux-article-summary span {
display: block;
}
.ux-article-summary strong {
color: var(--vd-ink);
font-size: 13px;
letter-spacing: -.01em;
}
.ux-article-summary span {
color: var(--vd-ink-muted);
font-size: 9px;
margin-top: 3px;
}
.ux-status-filters,
.ux-article-view-switch {
align-items: center;
display: flex;
gap: 5px;
}
.ux-status-filters {
flex-wrap: wrap;
}
.ux-status-filter,
.ux-view-choice {
align-items: center;
background: var(--vd-surface);
border: 1px solid var(--vd-line);
border-radius: 999px;
color: var(--vd-ink-secondary);
cursor: pointer;
display: inline-flex;
font: inherit;
font-size: 10px;
font-weight: 680;
justify-content: center;
min-height: 32px;
padding: 0 11px;
}
.ux-status-filter:hover,
.ux-view-choice:hover {
border-color: var(--vd-line-strong);
color: var(--vd-ink);
}
.ux-status-filter.is-active,
.ux-view-choice.is-active {
background: var(--vd-brand-soft);
border-color: color-mix(in srgb, var(--vd-brand) 38%, var(--vd-line));
color: var(--vd-brand);
}
.ux-article-view-switch {
background: var(--vd-surface-muted);
border-radius: 999px;
justify-self: end;
padding: 3px;
}
.ux-view-choice {
background: transparent;
border-color: transparent;
min-width: 62px;
}
.ux-view-choice.is-active {
background: var(--vd-surface-raised);
border-color: var(--vd-line);
box-shadow: var(--vd-shadow-sm);
color: var(--vd-ink);
}
.ux-active-filters {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 6px;
margin: -3px 0 13px;
min-height: 28px;
}
.ux-active-filters.is-empty {
display: none;
}
.ux-active-filters > strong {
color: var(--vd-ink-muted);
font-size: 9px;
margin-right: 2px;
text-transform: uppercase;
}
.ux-filter-chip {
align-items: center;
background: var(--vd-surface-muted);
border: 1px solid var(--vd-line);
border-radius: 999px;
color: var(--vd-ink-secondary);
display: inline-flex;
font-size: 9px;
gap: 5px;
min-height: 25px;
padding: 0 4px 0 9px;
}
.ux-filter-chip-clear {
align-items: center;
background: transparent;
border: 0;
border-radius: 50%;
color: var(--vd-ink-muted);
cursor: pointer;
display: inline-flex;
font-size: 15px;
height: 20px;
justify-content: center;
line-height: 1;
padding: 0;
width: 20px;
}
.ux-filter-chip-clear:hover {
background: var(--vd-surface-raised);
color: var(--vd-danger);
}
#history .history-batch-bar:not(.has-selection) .history-batch-actions,
#history .history-batch-bar:not(.has-selection) .history-clear-selection {
display: none;
}
#history .history-batch-bar:not(.has-selection) {
min-height: 43px;
}
#history .history-batch-bar.has-selection {
position: sticky;
top: calc(var(--vd-topbar-height) + 8px);
z-index: 25;
}
#history .history-batch-actions,
.ux-batch-primary,
.ux-batch-secondary {
align-items: center;
display: flex;
gap: 6px;
}
.ux-batch-more {
position: relative;
}
.ux-batch-more > summary {
align-items: center;
border: 1px solid var(--vd-line);
border-radius: 7px;
color: var(--vd-ink-secondary);
cursor: pointer;
display: inline-flex;
font-size: 10px;
font-weight: 650;
list-style: none;
min-height: 32px;
padding: 0 10px;
}
.ux-batch-more > summary::-webkit-details-marker {
display: none;
}
.ux-batch-more > summary::after {
content: '⌄';
margin-left: 7px;
}
.ux-batch-secondary {
background: var(--vd-surface-raised);
border: 1px solid var(--vd-line);
border-radius: var(--vd-radius-sm);
box-shadow: var(--vd-shadow-float);
flex-direction: column;
min-width: 190px;
padding: 7px;
position: absolute;
right: 0;
top: calc(100% + 7px);
z-index: 45;
}
.ux-batch-secondary .vd-button {
justify-content: flex-start;
width: 100%;
}
#history[data-article-view="cards"] .history-table-shell {
background: transparent;
border: 0;
overflow: visible;
}
#history[data-article-view="cards"] .history-batch-bar,
#history[data-article-view="cards"] .history-table-footer {
background: var(--vd-surface-raised);
border: 1px solid var(--vd-line);
border-radius: var(--vd-radius-md);
}
#history[data-article-view="cards"] .history-batch-bar {
margin-bottom: 12px;
}
#history[data-article-view="cards"] .history-table-footer {
margin-top: 12px;
}
#history[data-article-view="cards"] .history-table {
min-width: 0;
overflow: visible;
}
#history[data-article-view="cards"] .history-table-head {
display: none;
}
#history[data-article-view="cards"] .history-list {
display: grid;
gap: 12px;
grid-template-columns: repeat(auto-fill, minmax(var(--ux-article-card-min), 1fr));
}
#history[data-article-view="cards"] .history-row {
align-content: start;
background: var(--vd-surface-raised);
border: 1px solid var(--vd-line);
border-radius: var(--vd-radius-md);
box-shadow: none;
display: grid;
gap: 0 12px;
grid-template-areas:
"select article menu"
". platform price"
". status published"
". location provider";
grid-template-columns: 22px minmax(0, 1fr) minmax(118px, .7fr);
min-height: 0;
padding: 14px;
transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#history[data-article-view="cards"] .history-row:hover {
background: var(--vd-surface-raised);
border-color: var(--vd-line-strong);
box-shadow: var(--vd-shadow-sm);
transform: translateY(-1px);
}
#history[data-article-view="cards"] .history-row.selected {
background: color-mix(in srgb, var(--vd-brand-soft) 42%, var(--vd-surface-raised));
border-color: color-mix(in srgb, var(--vd-brand) 45%, var(--vd-line));
box-shadow: 0 0 0 2px var(--vd-focus);
}
#history[data-article-view="cards"] .history-cell {
border-top: 1px solid var(--vd-line);
min-width: 0;
padding: 10px 0;
}
#history[data-article-view="cards"] .history-cell::before {
color: var(--vd-ink-muted);
content: attr(data-ux-label);
display: block;
font-size: 7.5px;
font-weight: 760;
letter-spacing: .06em;
margin-bottom: 4px;
text-transform: uppercase;
}
#history[data-article-view="cards"] .history-cell-select {
align-self: start;
border: 0;
grid-area: select;
padding: 3px 0 0;
}
#history[data-article-view="cards"] .history-cell-article {
align-items: center;
border: 0;
grid-area: article;
padding: 0 0 13px;
}
#history[data-article-view="cards"] .history-cell-article::before,
#history[data-article-view="cards"] .history-cell-menu::before {
display: none;
}
#history[data-article-view="cards"] .history-cell-platform { grid-area: platform; }
#history[data-article-view="cards"] .history-cell-provider { grid-area: provider; }
#history[data-article-view="cards"] .history-cell-price { grid-area: price; }
#history[data-article-view="cards"] .history-cell-status { grid-area: status; }
#history[data-article-view="cards"] .history-cell-location { grid-area: location; }
#history[data-article-view="cards"] .history-cell-published { grid-area: published; }
#history[data-article-view="cards"] .history-cell-menu {
align-self: start;
border: 0;
grid-area: menu;
justify-self: end;
padding: 0;
}
#history[data-article-view="cards"] .history-thumb {
border-radius: 9px;
height: 64px;
width: 72px;
}
#history[data-article-view="cards"] .history-article-title {
font-size: 12px;
white-space: normal;
}
#history[data-article-view="cards"] .history-article-sku {
margin-top: 6px;
}
#history[data-article-view="cards"] .history-cell-provider,
#history[data-article-view="cards"] .history-cell-location,
#history[data-article-view="cards"] .history-cell-platform,
#history[data-article-view="cards"] .history-cell-price,
#history[data-article-view="cards"] .history-cell-status,
#history[data-article-view="cards"] .history-cell-published {
align-items: flex-start;
display: block;
}
#history[data-article-view="cards"] .history-status-select {
max-width: 100%;
}
#history[data-article-view="cards"] .history-publish-badges {
flex-wrap: wrap;
}
#history[data-article-view="cards"] .history-row[data-publish-state="none"] .history-cell-published {
opacity: .72;
}
#history[data-article-view="list"] .history-table-head {
background: var(--vd-surface-raised);
position: sticky;
top: var(--vd-topbar-height);
z-index: 12;
}
#history[data-article-view="list"] .history-row:focus-visible,
#history[data-article-view="cards"] .history-row:focus-visible,
.ux-status-filter:focus-visible,
.ux-view-choice:focus-visible,
.ux-filter-chip-clear:focus-visible,
.ux-batch-more > summary:focus-visible {
outline: 3px solid var(--vd-focus);
outline-offset: 2px;
}
@media (max-width: 1180px) {
.ux-article-toolbar {
grid-template-columns: 1fr auto;
}
.ux-status-filters {
grid-column: 1 / -1;
grid-row: 2;
}
.ux-article-view-switch {
grid-column: 2;
grid-row: 1;
}
}
@media (max-width: 760px) {
.ux-article-toolbar {
align-items: stretch;
grid-template-columns: 1fr;
}
.ux-status-filters,
.ux-article-view-switch {
grid-column: auto;
grid-row: auto;
justify-self: stretch;
}
.ux-status-filters {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ux-status-filter,
.ux-view-choice {
width: 100%;
}
.ux-article-view-switch {
display: grid;
grid-template-columns: 1fr 1fr;
}
#history .history-batch-bar.has-selection {
align-items: stretch;
flex-direction: column;
position: static;
}
#history .history-batch-actions,
.ux-batch-primary {
align-items: stretch;
flex-direction: column;
width: 100%;
}
.ux-batch-primary .vd-button,
.ux-batch-more,
.ux-batch-more > summary {
justify-content: center;
width: 100%;
}
.ux-batch-secondary {
left: 0;
right: auto;
width: 100%;
}
#history[data-article-view="cards"] {
--ux-article-card-min: 280px;
}
}
@media (max-width: 520px) {
#history[data-article-view="cards"] .history-list {
grid-template-columns: minmax(0, 1fr);
}
#history[data-article-view="cards"] .history-row {
grid-template-areas:
"select article menu"
". platform price"
". status status"
". published published"
". location location"
". provider provider";
grid-template-columns: 20px minmax(0, 1fr) auto;
padding: 12px;
}
#history[data-article-view="cards"] .history-thumb {
height: 58px;
width: 64px;
}
}
@media (prefers-reduced-motion: reduce) {
#history[data-article-view="cards"] .history-row {
transition: none;
}
}