173 lines
5.2 KiB
SCSS
173 lines
5.2 KiB
SCSS
|
@use "../utilities/css-variables" as cv;
|
||
|
@use "../utilities/derived-variables" as dv;
|
||
|
@use "../utilities/initial-variables" as iv;
|
||
|
@use "../utilities/extends";
|
||
|
@use "../utilities/mixins" as mx;
|
||
|
|
||
|
$form-colors: dv.$colors !default;
|
||
|
|
||
|
$input-h: #{cv.getVar("scheme-h")} !default;
|
||
|
$input-s: #{cv.getVar("scheme-s")} !default;
|
||
|
$input-l: #{cv.getVar("scheme-main-l")} !default;
|
||
|
$input-border-l: cv.getVar("border-l") !default;
|
||
|
$input-border-l-delta: 0% !default;
|
||
|
$input-hover-border-l-delta: #{cv.getVar("hover-border-l-delta")} !default;
|
||
|
$input-active-border-l-delta: #{cv.getVar("active-border-l-delta")} !default;
|
||
|
$input-color-l: cv.getVar("text-strong-l") !default;
|
||
|
$input-background-l: cv.getVar("scheme-main-l") !default;
|
||
|
$input-background-l-delta: 0% !default;
|
||
|
$input-height: cv.getVar("control-height") !default;
|
||
|
$input-shadow: inset 0 0.0625em 0.125em
|
||
|
hsla(
|
||
|
#{cv.getVar("scheme-h")},
|
||
|
#{cv.getVar("scheme-s")},
|
||
|
#{cv.getVar("scheme-invert-l")},
|
||
|
0.05
|
||
|
) !default;
|
||
|
$input-placeholder-color: hsla(
|
||
|
#{cv.getVar("text-h")},
|
||
|
#{cv.getVar("text-s")},
|
||
|
#{cv.getVar("text-strong-l")},
|
||
|
0.3
|
||
|
) !default;
|
||
|
|
||
|
$input-focus-h: cv.getVar("focus-h") !default;
|
||
|
$input-focus-s: cv.getVar("focus-s") !default;
|
||
|
$input-focus-l: cv.getVar("focus-l") !default;
|
||
|
$input-focus-shadow-size: cv.getVar("focus-shadow-size") !default;
|
||
|
$input-focus-shadow-alpha: cv.getVar("focus-shadow-alpha") !default;
|
||
|
|
||
|
$input-disabled-color: cv.getVar("text-weak") !default;
|
||
|
$input-disabled-background-color: cv.getVar("background") !default;
|
||
|
$input-disabled-border-color: cv.getVar("background") !default;
|
||
|
$input-disabled-placeholder-color: hsla(
|
||
|
#{cv.getVar("text-h")},
|
||
|
#{cv.getVar("text-s")},
|
||
|
#{cv.getVar("text-weak-l")},
|
||
|
0.3
|
||
|
) !default;
|
||
|
|
||
|
$input-arrow: cv.getVar("link") !default;
|
||
|
|
||
|
$input-icon-color: cv.getVar("text-light") !default;
|
||
|
$input-icon-hover-color: cv.getVar("text-weak") !default;
|
||
|
$input-icon-focus-color: cv.getVar("link") !default;
|
||
|
|
||
|
$input-radius: cv.getVar("radius") !default;
|
||
|
|
||
|
.#{iv.$class-prefix}control,
|
||
|
.#{iv.$class-prefix}input,
|
||
|
.#{iv.$class-prefix}textarea,
|
||
|
.#{iv.$class-prefix}select select {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"input-h": #{$input-h},
|
||
|
"input-s": #{$input-s},
|
||
|
"input-l": #{$input-l},
|
||
|
"input-border-l": #{$input-border-l},
|
||
|
"input-border-l-delta": #{$input-border-l-delta},
|
||
|
"input-hover-border-l-delta": #{$input-hover-border-l-delta},
|
||
|
"input-active-border-l-delta": #{$input-active-border-l-delta},
|
||
|
"input-focus-h": #{$input-focus-h},
|
||
|
"input-focus-s": #{$input-focus-s},
|
||
|
"input-focus-l": #{$input-focus-l},
|
||
|
"input-focus-shadow-size": #{$input-focus-shadow-size},
|
||
|
"input-focus-shadow-alpha": #{$input-focus-shadow-alpha},
|
||
|
"input-color-l": #{$input-color-l},
|
||
|
"input-background-l": #{$input-background-l},
|
||
|
"input-background-l-delta": #{$input-background-l-delta},
|
||
|
"input-height": #{$input-height},
|
||
|
"input-shadow": #{$input-shadow},
|
||
|
"input-placeholder-color": #{$input-placeholder-color},
|
||
|
"input-disabled-color": #{$input-disabled-color},
|
||
|
"input-disabled-background-color": #{$input-disabled-background-color},
|
||
|
"input-disabled-border-color": #{$input-disabled-border-color},
|
||
|
"input-disabled-placeholder-color": #{$input-disabled-placeholder-color},
|
||
|
"input-arrow": #{$input-arrow},
|
||
|
"input-icon-color": #{$input-icon-color},
|
||
|
"input-icon-hover-color": #{$input-icon-hover-color},
|
||
|
"input-icon-focus-color": #{$input-icon-focus-color},
|
||
|
"input-radius": #{$input-radius},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
@mixin input {
|
||
|
@extend %control;
|
||
|
background-color: hsl(
|
||
|
#{cv.getVar("input-h")},
|
||
|
#{cv.getVar("input-s")},
|
||
|
calc(
|
||
|
#{cv.getVar("input-background-l")} + #{cv.getVar(
|
||
|
"input-background-l-delta"
|
||
|
)}
|
||
|
)
|
||
|
);
|
||
|
border-color: hsl(
|
||
|
cv.getVar("input-h"),
|
||
|
cv.getVar("input-s"),
|
||
|
calc(#{cv.getVar("input-border-l")} + #{cv.getVar("input-border-l-delta")})
|
||
|
);
|
||
|
border-radius: cv.getVar("input-radius");
|
||
|
color: hsl(
|
||
|
#{cv.getVar("input-h")},
|
||
|
#{cv.getVar("input-s")},
|
||
|
#{cv.getVar("input-color-l")}
|
||
|
);
|
||
|
|
||
|
@include mx.placeholder {
|
||
|
color: cv.getVar("input-placeholder-color");
|
||
|
}
|
||
|
|
||
|
&:hover,
|
||
|
&.#{iv.$class-prefix}is-hovered {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"input-border-l-delta": #{cv.getVar("input-hover-border-l-delta")},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&:active,
|
||
|
&.#{iv.$class-prefix}is-active {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"input-border-l-delta": #{cv.getVar("input-active-border-l-delta")},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&:focus,
|
||
|
&:focus-within,
|
||
|
&.#{iv.$class-prefix}is-focused {
|
||
|
border-color: hsl(
|
||
|
cv.getVar("input-focus-h"),
|
||
|
cv.getVar("input-focus-s"),
|
||
|
cv.getVar("input-focus-l")
|
||
|
);
|
||
|
box-shadow: cv.getVar("input-focus-shadow-size")
|
||
|
hsla(
|
||
|
cv.getVar("input-focus-h"),
|
||
|
cv.getVar("input-focus-s"),
|
||
|
cv.getVar("input-focus-l"),
|
||
|
cv.getVar("input-focus-shadow-alpha")
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&[disabled],
|
||
|
fieldset[disabled] & {
|
||
|
background-color: cv.getVar("input-disabled-background-color");
|
||
|
border-color: cv.getVar("input-disabled-border-color");
|
||
|
box-shadow: none;
|
||
|
color: cv.getVar("input-disabled-color");
|
||
|
|
||
|
@include mx.placeholder {
|
||
|
color: cv.getVar("input-disabled-placeholder-color");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
%input {
|
||
|
@include input;
|
||
|
}
|