feat: react to user contrast preferences

This commit is contained in:
2024-03-16 13:09:21 +01:00
parent 5d4dbc7e2a
commit 4e4bff02a0
6 changed files with 44 additions and 8 deletions

View File

@@ -207,6 +207,10 @@
background: var(--md-sys-color-background);
}
@media (prefers-contrast: more) {
opacity: 0.8;
}
}
.search-row {

View File

@@ -44,8 +44,8 @@
y={pos[1] + middle[1]}
font-size={fontSizeMultiplier * (hasIcon ? iconFontSize : fontSize)}
font-family={hasIcon ? "Material Symbols Rounded" : undefined}
opacity={isActive ? 1 : inactiveOpacity}
style:scale={isActive ? 1 : inactiveScale}
opacity={isActive ? 1 : `var(--inactive-opacity, ${inactiveOpacity})`}
style:scale={isActive ? 1 : `var(--inactive-scale, ${inactiveScale})`}
style:translate={isActive
? "0 0 0"
: `${direction[0].toPrecision(2)}px ${direction[1].toPrecision(2)}px 0`}
@@ -75,6 +75,11 @@
opacity #{$transition} ease,
translate #{$transition} ease,
scale #{$transition} ease;
@media (prefers-contrast: more) {
--inactive-opacity: 0.8;
--inactive-scale: 0.7;
}
}
text:focus-within {

View File

@@ -151,6 +151,10 @@
padding-block-start: 0;
opacity: 0.4;
@media (prefers-contrast: more) {
opacity: 0.8;
}
}
ul {

View File

@@ -153,16 +153,25 @@
}
textarea {
transition: border-color 250ms ease;
transition: outline-color 250ms ease;
background: none;
color: inherit;
border: 1px dashed var(--md-sys-color-surface-variant);
outline: 1px dashed var(--md-sys-color-surface-variant);
margin: 2px;
border: none;
padding: 8px;
border-radius: 4px;
@media (prefers-contrast: more) {
outline-color: var(--md-sys-color-outline);
&:focus {
outline-width: 2px;
}
}
&:focus {
outline: none;
border-color: var(--md-sys-color-primary);
outline-color: var(--md-sys-color-primary);
}
}
@@ -185,13 +194,23 @@
transition: all 250ms ease;
@media (prefers-contrast: more) {
border-color: var(--md-sys-color-outline);
border-style: dashed;
}
&::placeholder {
color: var(--md-sys-color-on-surface-variant);
opacity: 0.2;
@media (prefers-contrast: more) {
opacity: 0.8;
}
}
&:focus {
border-color: var(--md-sys-color-primary);
border-style: solid;
outline: none;
}
}

View File

@@ -101,6 +101,10 @@
<style lang="scss">
span {
opacity: 0.5;
@media (prefers-contrast: more) {
opacity: 0.8;
}
}
sup {

View File

@@ -38,8 +38,8 @@
setContext<VisualLayoutConfig>("visual-layout-config", {
scale: 50,
inactiveScale: 0.7,
inactiveOpacity: 0.8,
inactiveScale: 0.5,
inactiveOpacity: 0.4,
strokeWidth: 1,
margin: 5,
fontSize: 9,