207 lines
3.9 KiB
SCSS
207 lines
3.9 KiB
SCSS
.input-group {
|
|
position: relative;
|
|
margin-bottom: 1.5rem;
|
|
|
|
label {
|
|
display: block;
|
|
padding: 0 0.25rem;
|
|
position: absolute;
|
|
left: 0.75rem;
|
|
top: 0.95rem;
|
|
background-color: var(--color-background);
|
|
font-size: 1rem;
|
|
font-weight: 400;
|
|
color: var(--color-placeholders);
|
|
transition: transform 0.15s ease-out, color .15s ease-out;
|
|
cursor: text;
|
|
pointer-events: none;
|
|
transform-origin: left center;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
&.with-arrow {
|
|
&::after {
|
|
content: '';
|
|
position: absolute;
|
|
height: .75rem;
|
|
width: .75rem;
|
|
border-left: 1px var(--color-text-secondary) solid;
|
|
border-bottom: 1px var(--color-text-secondary) solid;
|
|
transform: rotate(-45deg);
|
|
right: 2rem;
|
|
top: 1rem;
|
|
}
|
|
}
|
|
|
|
&.touched label,
|
|
&.error label,
|
|
&.success label,
|
|
.form-control:focus + label,
|
|
.form-control.focus + label {
|
|
transform: scale(.75) translate(-0.5rem, -2.25rem);
|
|
}
|
|
|
|
input::placeholder,
|
|
.form-control::placeholder {
|
|
color: var(--color-placeholders);
|
|
}
|
|
|
|
&.touched label {
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
&.error label {
|
|
color: var(--color-error) !important;
|
|
}
|
|
|
|
&.success label {
|
|
color: var(--color-text-green) !important;
|
|
}
|
|
|
|
&.disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&[dir=rtl] {
|
|
input {
|
|
text-align: right;
|
|
}
|
|
|
|
label {
|
|
left: auto;
|
|
right: 0.75rem;
|
|
}
|
|
|
|
&.with-arrow {
|
|
&::after {
|
|
border-left: none;
|
|
border-right: 1px var(--color-text-secondary) solid;
|
|
right: auto;
|
|
left: 2rem;
|
|
}
|
|
}
|
|
|
|
&.touched label,
|
|
&.error label,
|
|
&.success label,
|
|
.form-control:focus + label,
|
|
.form-control.focus + label {
|
|
transform: scale(.75) translate(1.5rem, -2.25rem);
|
|
}
|
|
}
|
|
}
|
|
|
|
.form-control {
|
|
--border-width: 1px;
|
|
display: block;
|
|
width: 100%;
|
|
height: 3.375rem;
|
|
padding: calc(0.75rem - var(--border-width)) calc(.9rem - var(--border-width));
|
|
border: var(--border-width) solid var(--color-borders-input);
|
|
border-radius: var(--border-radius-default);
|
|
color: var(--color-text);
|
|
background-color: var(--color-background);
|
|
outline: none;
|
|
transition: border-color 0.15s ease;
|
|
word-break: break-word;
|
|
-webkit-appearance: none;
|
|
|
|
font-size: 1rem;
|
|
line-height: 1.25rem;
|
|
|
|
&[dir] {
|
|
text-align: initial;
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--color-primary);
|
|
|
|
& + label {
|
|
color: var(--color-primary);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&.focus {
|
|
border-color: var(--color-primary);
|
|
box-shadow: inset 0 0 0 1px var(--color-primary);
|
|
caret-color: var(--color-primary);
|
|
|
|
& + label {
|
|
color: var(--color-primary);
|
|
}
|
|
}
|
|
|
|
&:disabled {
|
|
background: none !important;
|
|
}
|
|
|
|
.error & {
|
|
border-color: var(--color-error);
|
|
box-shadow: inset 0 0 0 1px var(--color-error);
|
|
caret-color: var(--color-error);
|
|
}
|
|
|
|
.success & {
|
|
border-color: var(--color-text-green);
|
|
box-shadow: inset 0 0 0 1px var(--color-text-green);
|
|
caret-color: var(--color-text-green);
|
|
}
|
|
}
|
|
|
|
select.form-control {
|
|
option {
|
|
line-height: 2rem;
|
|
}
|
|
}
|
|
|
|
textarea.form-control {
|
|
resize: none;
|
|
overflow: hidden;
|
|
line-height: 1.3125rem;
|
|
padding-top: calc(1rem - var(--border-width));
|
|
padding-bottom: calc(1rem - var(--border-width));
|
|
}
|
|
|
|
.input-group.password-input {
|
|
position: relative;
|
|
|
|
.form-control {
|
|
padding-right: 3.375rem;
|
|
}
|
|
|
|
.toggle-password {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 3.375rem;
|
|
height: 3.375rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
outline: none !important;
|
|
|
|
color: var(--color-text-secondary);
|
|
opacity: 0.7;
|
|
font-size: 1.5rem;
|
|
|
|
&:hover, &:focus {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
&[dir=rtl] {
|
|
.form-control {
|
|
padding-left: 3.375rem;
|
|
padding-right: calc(.9rem - var(--border-width))
|
|
}
|
|
|
|
.toggle-password {
|
|
left: 0;
|
|
right: auto;
|
|
}
|
|
}
|
|
}
|