phonograph/sass/viewer.scss

175 lines
3.1 KiB
SCSS
Raw Normal View History

2025-08-10 14:32:15 -07:00
@use 'globals';
@use 'sass:color';
2025-08-10 14:32:15 -07:00
$table-border-color: #ccc;
.lens-grid {
display: grid;
grid-template:
'table' 1fr
'editor' max-content;
height: 100%;
width: 100%;
}
.lens-table {
display: grid;
grid-area: table;
grid-template:
'headers' max-content
'main' 1fr
'inserter' max-content;
height: 100%;
outline: none;
overflow: auto;
width: 100%;
&__headers {
display: flex;
grid-area: headers;
align-items: stretch;
}
&__header {
display: flex;
flex: none;
align-items: center;
2025-08-04 13:59:42 -07:00
border: solid 1px #ccc;
border-top: none;
2025-08-10 14:32:15 -07:00
border-left: none;
2025-08-04 13:59:42 -07:00
font-family: "Funnel Sans";
background: #0001;
padding: 0.5rem;
text-align: left;
}
2025-08-10 14:32:15 -07:00
&__main {
grid-area: main;
overflow-y: auto;
}
&__row {
align-items: stretch;
display: flex;
}
&__cell {
flex: none;
border: solid 1px $table-border-color;
border-left: none;
border-top: none;
2025-08-04 13:59:42 -07:00
padding: 0;
2025-08-10 14:32:15 -07:00
&--insertable {
border-style: dashed;
}
2025-08-13 18:52:37 -07:00
}
&__inserter {
align-items: stretch;
display: flex;
grid-area: inserter;
justify-items: flex-start;
margin-bottom: 2rem;
}
}
.lens-cell {
&__container {
align-items: center;
display: flex;
2025-08-10 14:32:15 -07:00
&--selected {
2025-08-13 18:52:37 -07:00
outline: 3px solid #37f;
outline-offset: -2px;
2025-08-10 14:32:15 -07:00
}
}
2025-08-13 18:52:37 -07:00
&__content {
flex: 1;
2025-08-10 14:32:15 -07:00
font-family: globals.$font-family-data;
&--text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0.5rem;
}
&--uuid {
font-family: globals.$font-family-mono;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0.5rem;
}
2025-08-13 18:52:37 -07:00
&--null {
color: color.scale(#000, $lightness: 50%, $space: hsl);
font-family: globals.$font-family-data;
font-style: oblique;
text-align: center;
padding: 0.5rem;
}
2025-08-10 14:32:15 -07:00
}
2025-08-13 18:52:37 -07:00
&__notice {
align-items: center;
color: color.scale(#000, $lightness: 50%, $space: hsl);
display: flex;
padding: 0 0.25rem;
svg path {
stroke: currentColor;
}
}
}
2025-08-10 14:32:15 -07:00
2025-08-13 18:52:37 -07:00
.lens-inserter {
&__rows {
2025-08-10 14:32:15 -07:00
.lens-table__cell {
border: dashed 1px $table-border-color;
2025-08-04 13:59:42 -07:00
border-left: none;
2025-08-10 14:32:15 -07:00
border-top: none;
2025-08-13 18:52:37 -07:00
&:last-child {
border-right: none;
}
2025-08-04 13:59:42 -07:00
}
2025-08-10 14:32:15 -07:00
.lens-table__row:first-child .lens-table__cell {
border-top: dashed 1px $table-border-color;
}
}
2025-08-13 18:52:37 -07:00
&__submit {
@include globals.reset-button;
align-items: center;
border: dashed 1px globals.$button-primary-background;
border-bottom-right-radius: globals.$border-radius-rounded-sm;
border-top-right-radius: globals.$border-radius-rounded-sm;
color: globals.$button-primary-background;
display: flex;
justify-content: center;
padding: 0 1rem;
svg path {
stroke: currentColor;
}
}
2025-08-10 14:32:15 -07:00
}
.lens-editor {
align-items: stretch;
border-top: globals.$default-border;
display: flex;
grid-area: editor;
&__input {
@include globals.reset_input;
2025-08-13 18:52:37 -07:00
padding: 0.75rem 0.5rem;
2025-08-10 14:32:15 -07:00
font-family: globals.$font-family-data;
flex: 1;
}
}