sokko-g/website/src/styles/toolboxes/_table.scss

208 lines
4.3 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Rôle : gère l’outil table, sa grille, ses cellules et états de sélection.
@use "../mixins";
.table-module {
display: grid;
gap: var(--space-3);
min-width: 0;
padding: var(--space-4);
}
.table-toolbar {
justify-content: space-between;
}
.table-controls {
flex: 1 1 auto;
}
.table-size-indicator {
min-height: 34px;
display: inline-flex;
align-items: center;
padding: 0 8px;
color: var(--color-text-secondary);
font-size: var(--font-size-sm);
font-weight: 800;
}
.table-copy-group {
margin-left: auto;
}
.table-copy-group.notepad-toolbar-group {
padding-right: 0;
border-right: 0;
}
.table-copy-button.notepad-toolbar-button {
display: inline-flex;
width: auto;
min-width: 0;
align-items: center;
gap: 8px;
padding-inline: 10px;
}
.table-copy-button span {
white-space: nowrap;
}
.table-grid-wrap {
width: 100%;
min-width: 0;
overflow: auto;
border: 1px solid rgba(165, 180, 252, 0.12);
border-radius: var(--radius-md);
background:
linear-gradient(135deg, rgba(139, 92, 246, 0.045), transparent 62%),
rgba(7, 10, 24, 0.24);
}
.table-grid {
display: grid;
grid-template-columns: var(--table-columns);
width: 100%;
min-width: var(--table-min-width);
align-items: stretch;
justify-content: start;
}
.table-grid > * {
min-width: 0;
}
.table-corner,
.table-header-cell,
.table-row-header {
display: grid;
min-height: 34px;
place-items: center;
border-right: 1px solid rgba(165, 180, 252, 0.1);
border-bottom: 1px solid rgba(165, 180, 252, 0.1);
background: rgba(5, 7, 17, 0.54);
color: var(--color-text-secondary);
font-size: var(--font-size-xs);
font-weight: 900;
font-variant-numeric: tabular-nums;
}
.table-header-input {
width: 100%;
padding: 0 8px;
border-top: 0;
border-left: 0;
border-radius: 0;
text-align: center;
}
.table-header-input::placeholder {
color: var(--color-text-muted);
opacity: 1;
}
.table-header-input:hover {
background: rgba(21, 26, 48, 0.68);
}
.table-header-input:focus {
z-index: 5;
border-color: rgba(246, 196, 83, 0.38);
background: rgba(21, 26, 48, 0.8);
color: var(--color-text-primary);
box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.55), 0 0 0 2px rgba(139, 92, 246, 0.18);
outline: 0;
}
.table-header-cell {
position: sticky;
top: 0;
z-index: 2;
}
.table-row-header {
position: sticky;
left: 0;
z-index: 1;
}
.table-corner {
position: sticky;
top: 0;
left: 0;
z-index: 3;
}
.table-cell-input {
width: 100%;
min-width: 0;
min-height: 34px;
padding: 6px 8px;
border: 0;
border-right: 1px solid rgba(165, 180, 252, 0.08);
border-bottom: 1px solid rgba(165, 180, 252, 0.08);
border-radius: 0;
background: rgba(16, 20, 38, 0.34);
color: var(--color-text-primary);
caret-color: transparent;
font-size: var(--font-size-sm);
font-variant-numeric: tabular-nums;
}
.table-cell-input:hover {
background: rgba(32, 39, 69, 0.38);
}
.table-cell-input:focus {
position: relative;
z-index: 4;
border-color: rgba(34, 211, 238, 0.42);
background:
linear-gradient(135deg, rgba(34, 211, 238, 0.08), rgba(139, 92, 246, 0.06)),
rgba(21, 26, 48, 0.58);
box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.58);
outline: 0;
}
.table-cell-input.is-editing:focus {
border-color: rgba(246, 196, 83, 0.38);
background: rgba(21, 26, 48, 0.72);
caret-color: auto;
box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.55), 0 0 0 2px rgba(139, 92, 246, 0.18);
}
.table-cell-input.is-formula {
color: var(--color-accent-cyan);
}
.table-cell-input.has-error {
color: #fecaca;
background: rgba(127, 29, 29, 0.24);
}
.table-cell-input.is-selected {
background:
linear-gradient(135deg, rgba(34, 211, 238, 0.1), rgba(139, 92, 246, 0.08)),
rgba(21, 26, 48, 0.58);
box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.42);
}
.table-cell-input.is-move-target {
background:
linear-gradient(135deg, rgba(246, 196, 83, 0.14), rgba(34, 211, 238, 0.08)),
rgba(21, 26, 48, 0.64);
box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.66);
cursor: move;
}
.table-cell-input.is-selected:focus {
box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.6), 0 0 0 2px rgba(34, 211, 238, 0.2);
}
.table-cell-input.is-selected:focus:not(.is-editing) {
box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.68);
}
.table-cell-input.is-referenced {
box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.72);
}