woocommerce/plugins/woocommerce-blocks/assets/js/base/components/text-input/style.scss

81 lines
1.6 KiB
SCSS

.wc-block-text-input {
position: relative;
margin-bottom: em($gap-large);
white-space: nowrap;
label {
@include reset-typography();
@include font-size(regular);
position: absolute;
transform: translateY(0.75em);
left: 0;
top: 0;
transform-origin: top left;
line-height: 1.375; // =22px when font-size is 16px.
color: $gray-50;
transition: transform 200ms ease;
margin: 0 0 0 #{$gap + 1px};
overflow: hidden;
text-overflow: ellipsis;
max-width: calc(100% - #{2 * $gap});
cursor: text;
@media screen and (prefers-reduced-motion: reduce) {
transition: none;
}
}
input:-webkit-autofill + label {
transform: translateY(#{$gap-smallest}) scale(0.75);
}
&.is-active label {
transform: translateY(#{$gap-smallest}) scale(0.75);
}
input[type="tel"],
input[type="url"],
input[type="text"],
input[type="email"] {
@include font-size(regular);
background-color: #fff;
padding: em($gap-small) $gap;
border-radius: 4px;
border: 1px solid $input-border-gray;
width: 100%;
line-height: 1.375; // =22px when font-size is 16px.
font-family: inherit;
margin: 0;
box-sizing: border-box;
height: 3em;
min-height: 0;
color: $input-text-active;
&:focus {
background-color: #fff;
}
}
&.is-active input[type="tel"],
&.is-active input[type="url"],
&.is-active input[type="text"],
&.is-active input[type="email"] {
padding: em($gap-large) 0 em($gap-smallest) $gap;
}
&.has-error input {
border-color: $error-red;
&:focus {
outline-color: $error-red;
}
}
&.has-error label {
color: $error-red;
}
&:only-child {
margin-bottom: 0;
}
}