Split toolbox Sass partials

This commit is contained in:
Shinuwa 2026-08-14 09:24:54 +02:00
parent b221257616
commit c312b9ed91
19 changed files with 6490 additions and 6419 deletions

View file

@ -0,0 +1,208 @@
// 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);
}