Files
site/WESP_REL/static/css/wesp-kiosk-skeleton.css
T
2026-07-17 12:57:18 +03:00

205 lines
4.3 KiB
CSS

/**
* Kiosk/operator skeleton layouts — builds on wesp-recipes-skeleton.css primitives.
*/
/* --- Grid cards (direct children of .dispenser-grid) --- */
.dispenser-card.kiosk-skeleton-card {
pointer-events: none;
cursor: default;
}
.dispenser-card.kiosk-skeleton-card:nth-child(1) { --skel-i: 0; }
.dispenser-card.kiosk-skeleton-card:nth-child(2) { --skel-i: 1; }
.dispenser-card.kiosk-skeleton-card:nth-child(3) { --skel-i: 2; }
.dispenser-card.kiosk-skeleton-card:nth-child(4) { --skel-i: 3; }
.dispenser-grid.kiosk-skeleton-host--exit {
opacity: 0;
pointer-events: none;
transition: opacity 0.15s ease;
}
.dashboard-skeleton-bar--kiosk-title {
width: 72%;
height: 1.75rem;
margin-bottom: 12px;
}
.kiosk-skeleton-info {
display: flex;
flex-direction: column;
gap: 6px;
}
.dashboard-skeleton-bar--kiosk-meta {
width: 88%;
height: 0.72rem;
margin-bottom: 0;
}
.dashboard-skeleton-bar--kiosk-meta:last-child {
width: 62%;
}
/* Legacy grid wrapper (unused on recipes_selection; kept for compatibility) */
.kiosk-skeleton-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 16px;
width: 100%;
min-height: 8rem;
transition: opacity 0.15s ease;
}
.kiosk-skeleton-grid--exit {
opacity: 0;
pointer-events: none;
}
/* --- Unloading groups list --- */
.kiosk-skeleton-groups {
display: flex;
flex-direction: column;
gap: 12px;
min-height: 6rem;
transition: opacity 0.15s ease;
}
.kiosk-skeleton-groups--exit {
opacity: 0;
pointer-events: none;
}
.kiosk-skeleton-group-item {
background: var(--white, #fff);
border: 1px solid var(--gray-200, #e5e7eb);
border-radius: 8px;
padding: 16px 20px;
pointer-events: none;
}
.kiosk-skeleton-group-item:nth-child(1) { --skel-i: 0; }
.kiosk-skeleton-group-item:nth-child(2) { --skel-i: 1; }
.kiosk-skeleton-group-item:nth-child(3) { --skel-i: 2; }
.kiosk-skeleton-group-item .dashboard-skeleton-bar--title {
width: 55%;
height: 1.1rem;
margin-bottom: 10px;
}
.kiosk-skeleton-group-item .dashboard-skeleton-bar--meta {
width: 40%;
height: 0.85rem;
margin-bottom: 0;
}
/* --- Duplicate / weight panel --- */
.kiosk-skeleton-panel {
transition: opacity 0.15s ease;
}
.kiosk-skeleton-panel--exit {
opacity: 0;
pointer-events: none;
}
.kiosk-skeleton-weight-hero {
width: min(280px, 70%);
height: clamp(2.5rem, 8vmin, 4rem);
margin: 0 auto 16px;
border-radius: 8px;
}
.kiosk-skeleton-recipe-header {
padding: clamp(10px, 2.5vmin, 16px) clamp(12px, 3vw, 20px);
}
.kiosk-skeleton-recipe-header .dashboard-skeleton-bar--title {
width: 65%;
height: 1.25rem;
margin-bottom: 8px;
}
.kiosk-skeleton-recipe-header .dashboard-skeleton-bar--subtitle {
width: 45%;
height: 0.85rem;
margin-bottom: 0;
}
.kiosk-skeleton-component-name {
width: min(320px, 85%);
height: 1.5rem;
margin: 0 auto 20px;
}
/* --- Ingredients table skeleton --- */
.kiosk-skeleton-table {
display: flex;
flex-direction: column;
gap: 10px;
min-height: 12rem;
transition: opacity 0.15s ease;
}
.kiosk-skeleton-table--exit {
opacity: 0;
pointer-events: none;
}
.kiosk-skeleton-table-row {
display: flex;
gap: 12px;
align-items: center;
}
.kiosk-skeleton-table-row:nth-child(1) { --skel-i: 0; }
.kiosk-skeleton-table-row:nth-child(2) { --skel-i: 1; }
.kiosk-skeleton-table-row:nth-child(3) { --skel-i: 2; }
.kiosk-skeleton-table-row:nth-child(4) { --skel-i: 3; }
.kiosk-skeleton-table-row:nth-child(5) { --skel-i: 4; }
.kiosk-skeleton-table-row:nth-child(6) { --skel-i: 5; }
.kiosk-skeleton-table-row .dashboard-skeleton-bar {
margin-bottom: 0;
height: 0.85rem;
}
.kiosk-skeleton-table-row .dashboard-skeleton-bar:first-child {
flex: 2 1 0;
min-width: 0;
}
.kiosk-skeleton-table-row .dashboard-skeleton-bar:last-child {
flex: 1 1 0;
min-width: 0;
max-width: 35%;
}
/* --- Dark theme --- */
html[data-theme="dark"] .dispenser-card.kiosk-skeleton-card {
background: #242424;
border-color: #3a3a3a;
}
html[data-theme="dark"] .kiosk-skeleton-group-item {
background: #242424;
border-color: #3a3a3a;
}
@media (prefers-reduced-motion: reduce) {
.dispenser-grid.kiosk-skeleton-host--exit,
.kiosk-skeleton-grid--exit,
.kiosk-skeleton-groups--exit,
.kiosk-skeleton-panel--exit,
.kiosk-skeleton-table--exit {
transition: none;
}
}