Files
citrus-cms/assets/admin/_scss/codebase/_forms-material.scss
T
2026-04-28 21:14:25 +03:00

131 lines
3.4 KiB
SCSS

//
// Material Forms
// --------------------------------------------------
.form-material {
position: relative;
padding-top: 26px;
// Labels
> label {
position: absolute;
top: 6px;
left: 0;
margin-bottom: 0;
}
&.floating > label {
font-size: $font-size-md;
font-weight: 400;
cursor: text;
z-index: 2;
transition: all .2s ease-out;
transform: translateY(25px);
}
&.form-material-sm.floating > label {
font-size: $font-size-base;
transform: translateY(22px);
}
&.form-material-lg.floating > label {
font-size: $font-size-lg;
transform: translateY(27px);
}
> label,
& > .form-control:focus + label,
&.floating.open > label {
font-size: $font-size-base;
font-weight: 600;
cursor: default;
transform: translateY(0);
}
// :-webkit-autofill Use it separately because it causes issues with non webkit browsers when it is used along with the other selectors
&.floating > .form-control:-webkit-autofill + label {
font-size: $font-size-base;
font-weight: 600;
cursor: default;
transform: translateY(0);
}
&.floating > .form-control[disabled] + label,
&.floating > .form-control[readonly] + label,
fieldset[disabled] &.floating > label {
cursor: not-allowed;
}
// Form controls and input addons
> .form-control {
padding-left: 0;
padding-right: 0;
border-color: transparent;
border-radius: 0;
background-color: transparent;
box-shadow: 0 1px 0 $input-border-color;
transition: box-shadow .3s ease-out;
~ .input-group-append {
box-shadow: 0 1px 0 $input-border-color;
transition: box-shadow .3s ease-out;
}
&:focus {
background-color: transparent;
border-color: transparent;
box-shadow: 0 2px 0 $input-focus-border-color;
+ label {
color: $body-color;
}
~ .input-group-append {
box-shadow: 0 2px 0 $input-focus-border-color;
}
}
}
> select.form-control {
border-radius: 1px; // Fixes an Opera bug (border not transparent as set but black)
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: $white;
border-bottom: 1px dashed #ccc;
box-shadow: none;
}
&.input-group .input-group-text {
border: none;
background-color: transparent;
}
// Form Focus Variations
&.form-material-primary > .form-control {
@include form-control-material-focus-variant($brand-primary);
}
&.form-material-success > .form-control {
@include form-control-material-focus-variant($brand-success);
}
&.form-material-info > .form-control {
@include form-control-material-focus-variant($brand-info);
}
&.form-material-warning > .form-control {
@include form-control-material-focus-variant($brand-warning);
}
&.form-material-danger > .form-control {
@include form-control-material-focus-variant($brand-danger);
}
}
// Form State Variations
@include form-validation-state-material("valid", $brand-success);
@include form-validation-state-material("invalid", $brand-danger);