UNPKG

react-reusable-elements

Version:
98 lines (78 loc) 1.69 kB
.input_container { text-align: start; } .input_container span { color: red; } .input_wrapper { --focus-color: var(--brand-color); --padding: 0.75rem; position: relative; display: flex; align-items: center; } .inputField { padding: var(--padding); border: 2px solid gray; outline: none; border-radius: 6px; transition: all 0.2s ease-in; width: 100%; } .inputFieldLabel { position: absolute; background-color: white; color: gray; left: var(--padding); padding: 0 4px; transition: all 0.2s ease-in; cursor: text; } .inputField::placeholder { transition: all 0.2s ease-in; } .hide_placeholder:not(:focus)::placeholder { opacity: 0; } .inputField:is(:focus) { border: 2px solid var(--focus-color); } .inputField:is(:focus)+.inputFieldLabel { color: var(--focus-color); } .inputField:is(:focus, :not(:placeholder-shown)) {} .inputField:is(:focus, :not(:placeholder-shown))+.inputFieldLabel { transform: translatey(calc(-1 * var(--padding) - 12px)) translatex(-8px); font-size: 14px; } .error .inputField:is(:not(:focus)) { border: 2px solid red; } .error .inputFieldLabel { color: red; } .errorMessage { color: red; font-size: 0.75rem; height: 1rem; transition: opacity 0.75s ease; } .hideErrorMessage { opacity: 0; } .showErrorMessage { opacity: 1; height: unset; } .heightZero { height: 0; } .borderlessInput { border: none; } .borderlessInput:focus { border: none; } .error .inputField:is(:not(:focus)) { border: none; }