Merge branch 'main' into doesnt-remap-so-both-parents-off

# Conflicts:
#	frontend/src/components/dashboard/PlanWarningCard.tsx
This commit is contained in:
2026-09-23 07:36:09 +02:00
44 changed files with 1923 additions and 1429 deletions
+32 -26
View File
@@ -199,27 +199,30 @@
flex-shrink: 0;
}
/* Fill/hatch/outline is the shared `.leave-swatch--*` recipe from
* primitives.css (added alongside these classes in YearRows.tsx); this file
* keeps only what's genuinely different at this swatch's small size.
*
* Vacation's bar uses a distinct, more saturated fill
* (--c-leave-vacation-bar) than the calendar band/help-popover sample —
* needed for contrast at 14px/8px. Overrides `.leave-swatch--vacation`'s
* background-color: same specificity, later in the cascade (components.css
* loads after primitives.css). */
.year-rows__swatch--vacation,
.year-row__band--vacation {
background-color: var(--c-leave-vacation-bar);
}
.year-rows__swatch--sjukpenning,
.year-row__band--sjukpenning {
background-color: var(--c-leave-sjukpenning);
}
/* Lägsta is a white fill told apart by a 1px dark outline and a hatch, not
* a hue (see the --c-leave-* tokens). */
/* Lägsta's hatch is finer here (3px/4px stops) than the calendar band/
* help-popover's 4px/5px, for the same reason. Overrides
* `.leave-swatch--lagsta`'s background-image the same way. */
.year-rows__swatch--lagsta,
.year-row__band--lagsta {
background-color: var(--c-leave-lagsta);
background-image: repeating-linear-gradient(
135deg,
transparent 0 3px,
var(--c-leave-lagsta-hatch) 3px 4px
);
box-shadow: inset 0 0 0 1px var(--c-leave-lagsta-outline);
}
.year-row__summary {
@@ -773,18 +776,20 @@ legend {
/* Input Components
*
* `ChildBirthdayInput` now builds its fields from `.field`/`.field__label`/
* `.field__control` (primitives.css) directly rather than its own
* `.child-birthday-input__*` set — that set is gone from here accordingly. */
.vacation-days-input,
.planning-goal-selector,
.parent-profile-input {
* `ChildBirthdayInput`, `VacationDaysInput` and `ParentProfileInput` all
* build their fields from `.field`/`.field__label`/`.field__control`/
* `.field__helper` (primitives.css) directly now, rather than their own
* bespoke `*-input__label`/`__field`/`__range`/`__help` sets — those are
* gone from here accordingly. What's left below are pure width modifiers
* (combined with `.field`/`.field__control` in the JSX), the one thing the
* shared primitives don't express. `.planning-goal-selector*` has no
* corresponding component left in `src/components` — left as-is, out of
* scope for this pass. */
.planning-goal-selector {
margin-bottom: var(--sp-5);
}
.vacation-days-input__label,
.planning-goal-selector__label,
.parent-profile-input__label {
.planning-goal-selector__label {
display: block;
margin-bottom: var(--sp-2);
font-weight: 500;
@@ -792,16 +797,17 @@ legend {
font-size: var(--fs-base);
}
.vacation-days-input__field,
.planning-goal-selector__select,
.parent-profile-input__field {
.planning-goal-selector__select {
width: 100%;
max-width: 400px;
}
.vacation-days-input__range,
.parent-profile-input__help {
font-size: var(--fs-sm);
color: var(--c-text-muted);
margin-top: var(--sp-2);
.vacation-days-input,
.parent-profile-input {
margin-bottom: var(--sp-5);
}
.vacation-days-input__field,
.parent-profile-input__field {
max-width: 400px;
}