ui-nyla/src/components/FolderTree/actions/FileActionBottomSheet.module.css
2026-04-21 23:49:50 +02:00

103 lines
1.9 KiB
CSS

/* Bottom-Sheet für FolderTree Long-Press (Mobile). */
@keyframes _slideUp {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
@keyframes _fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.backdrop {
position: fixed;
inset: 0;
z-index: 1000;
background: rgba(0, 0, 0, 0.45);
animation: _fadeIn 0.15s ease-out;
}
.sheet {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 1001;
background: var(--color-bg-elevated, #ffffff);
border-top-left-radius: 16px;
border-top-right-radius: 16px;
box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px));
max-height: 80vh;
overflow-y: auto;
animation: _slideUp 0.18s ease-out;
}
.handle {
width: 36px;
height: 4px;
border-radius: 2px;
background: var(--color-border, rgba(0, 0, 0, 0.18));
margin: 4px auto 8px;
}
.title {
padding: 4px 16px 12px;
font-size: 13px;
font-weight: 600;
color: var(--color-text-primary, #222);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border-bottom: 1px solid var(--color-border, rgba(0, 0, 0, 0.06));
margin-bottom: 4px;
}
.item {
display: flex;
align-items: center;
gap: 14px;
width: 100%;
min-height: 48px;
padding: 12px 16px;
border: none;
background: none;
cursor: pointer;
color: var(--color-text-primary, #222);
text-align: left;
font-size: 15px;
line-height: 1.2;
}
.item:active {
background: var(--color-bg-hover, rgba(25, 118, 210, 0.10));
}
.item.danger {
color: var(--color-error, #d32f2f);
}
.icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
font-size: 17px;
flex-shrink: 0;
}
.label {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.empty {
padding: 16px;
text-align: center;
font-size: 13px;
color: var(--color-text-secondary, #999);
font-style: italic;
}