Files
vac-optimizer/src/app/components/user-input/user-input.scss
T
nessar d9d9befa12
CI / policy (push) Successful in 7s
CI / validate (push) Successful in 1m15s
CI / test (push) Successful in 3m18s
CI / benchmark (push) Failing after 5m53s
CI / build (push) Successful in 1m23s
CI / security (push) Successful in 7m6s
CI / policy (pull_request) Successful in 7s
CI / validate (pull_request) Successful in 1m9s
CI / build (pull_request) Successful in 43s
CI / test (pull_request) Successful in 3m19s
CI / images (push) Successful in 3m7s
CI / required (push) Successful in 2s
CI / benchmark (pull_request) Failing after 5m28s
CI / security (pull_request) Successful in 6m37s
CI / images (pull_request) Successful in 3m18s
CI / required (pull_request) Successful in 1s
refactor(planning): remove the original decision trace
2026-10-15 20:42:33 +02:00

310 lines
5.2 KiB
SCSS

.user-input {
display: grid;
grid-template-columns: minmax(0, 1fr);
align-items: start;
gap: 1rem;
min-width: 0;
}
.section-heading {
display: flex;
flex-direction: column;
gap: 0.375rem;
h2,
p {
margin: 0;
}
h2 {
font-size: 1.125rem;
font-weight: 700;
line-height: 1.2;
text-wrap: balance;
}
p {
max-width: 55ch;
font-size: 0.875rem;
color: var(--ui-text-secondary, #45464f);
line-height: 1.5;
}
}
.planning-dates {
display: grid;
grid-template-columns: minmax(0, 1fr);
grid-column: 1 / -1;
column-gap: 1rem;
min-width: 0;
margin: 0;
padding: 0;
border: 0;
legend {
font-weight: 600;
}
mat-form-field {
min-width: 0;
width: 100%;
}
p {
grid-column: 1 / -1;
margin: 0.5rem 0 1rem;
color: var(--ui-text-secondary);
font-size: 0.875rem;
line-height: 1.5;
}
.validation-error {
color: var(--ui-error-text);
background: var(--ui-error-bg);
padding: 0.75rem;
border-radius: 0.5rem;
}
}
.listOfDays {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.declaration-controls {
display: grid;
container: declaration-controls / inline-size;
grid-column: 1 / -1;
border: 1px solid var(--ui-border);
border-radius: var(--ui-radius-sm);
background: var(--ui-panel-bg);
&.is-active {
border-color: var(--mat-sys-primary);
}
}
.declaration-entry-toggle {
justify-content: flex-start;
width: 100%;
height: auto;
min-height: 3.25rem;
padding: 0.75rem 1rem;
border-radius: calc(var(--ui-radius-sm) - 1px);
text-align: start;
line-height: 1.5;
transition:
background-color 150ms ease-out,
color 150ms ease-out;
&[aria-pressed='true'] {
background: var(--mat-sys-primary-container);
color: var(--mat-sys-on-primary-container);
}
}
.declaration-types {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0.5rem;
padding: 0.75rem;
button {
min-height: 2.75rem;
height: auto;
padding: 0.5rem;
border-radius: calc(var(--ui-radius-sm) - 1px);
background-color: var(--ui-card-bg);
color: var(--number-color);
line-height: 1.5;
&[data-declared-type='cp'] {
background-color: var(--cp-bg);
}
&[data-declared-type='rtt'] {
background-color: var(--rtt-bg);
}
&[data-declared-type='other'] {
background-color: var(--other-bg);
}
&[aria-pressed='true'] {
border-color: currentColor;
box-shadow: inset 0 0 0 1px currentColor;
}
&[data-declared-type][aria-pressed='true'] {
background-image: var(--declared-day-pattern);
}
&[aria-pressed='false'] .declaration-type-check {
visibility: hidden;
}
}
}
.day-input-wrapper {
animation: slide-fade-in 200ms ease-out;
@starting-style {
opacity: 0;
transform: translateX(-20px);
}
}
.day-enter {
animation: slide-fade-in 200ms ease-out;
}
.day-leave {
opacity: 0;
transform: translateX(20px);
transition:
opacity 200ms ease-in,
transform 200ms ease-in;
}
@keyframes slide-fade-in {
from {
opacity: 0;
transform: translateX(-20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
form {
display: flex;
flex-direction: column;
}
.add-day-button,
.calculate-button {
width: 100%;
min-height: 3rem;
}
.duration-estimate {
grid-column: 1 / -1;
margin: 0 0 -0.5rem;
color: var(--ui-text-secondary);
font-size: 0.875rem;
line-height: 1.5;
}
.add-day-button {
display: flex;
justify-content: center;
border-style: dashed;
border-color: var(--mat-sys-outline);
border-radius: var(--ui-radius-sm);
}
.calculate-button {
min-height: 3.25rem;
border-radius: var(--ui-radius-sm);
font-weight: 600;
}
.warning-card {
background: var(--ui-warning-bg, #fff4d6);
color: var(--ui-warning-text, #4f3800);
&.is-informational {
background: var(--ui-panel-bg);
color: var(--mat-sys-on-surface);
}
}
.warning-content {
display: flex;
align-items: flex-start;
gap: 0.75rem;
mat-icon {
flex-shrink: 0;
}
}
.warning {
display: flex;
flex-direction: column;
gap: 0.25rem;
min-width: 0;
overflow-wrap: break-word;
line-height: 1.5;
p {
margin: 0.25rem 0;
}
}
.remaining-balances {
display: grid;
gap: 1rem;
margin: 0.5rem 0;
padding-inline-start: 1.25rem;
}
:host {
display: block;
container: user-input / inline-size;
max-width: 100%;
}
@container declaration-controls (min-width: 18rem) {
.declaration-types {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@container declaration-controls (min-width: 34rem) {
.declaration-types {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
@container user-input (min-width: 40rem) {
.planning-dates {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.listOfDays {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-day-button {
grid-column: 1 / -1;
}
}
@container user-input (min-width: 48rem) {
.user-input {
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 1.5rem;
}
.section-heading,
.calculate-button,
.warning-card {
grid-column: 1 / -1;
}
.listOfDays {
grid-template-columns: minmax(0, 1fr);
}
}
.jump-to-plan {
display: inline-flex;
align-items: center;
gap: 0.5rem;
width: fit-content;
min-height: 2.75rem;
color: var(--mat-sys-primary);
font-size: 0.875rem;
text-underline-offset: 0.25em;
}
@media (min-width: 75rem) {
.jump-to-plan {
display: none;
}
}