import { css } from 'styled-components'; import { VariantOfType } from '../../variants'; import { FormControlCss } from '../styles'; export const InputResetCss = css` display: block; appearance: none; color: inherit; background-color: transparent; border: none; outline: none; min-width: 0; &::placeholder { color: var(--form-color-placeholder); } &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active { // -webkit-box-shadow: 0 0 0 30px white inset !important; transition: all 0s 50000s; text-decoration: underline; } `; export const InputContainerCss = css` ${FormControlCss} display: flex; align-items: center; width: 100%; cursor: pointer; pointer-events: none; .input, button, a { pointer-events: auto; } .input { flex-grow: 1; } svg { flex-shrink: 0; } &>:first-child:not(.input) { margin-left: 0.5em; } &>:last-child:not(.input) { margin-right: 0.5em; } `; export const InputCss = css` ${InputResetCss} padding: var(--form-control-padding); font-size: var(--form-control-font-size); font-weight: var(--form-control-font-weight); line-height: var(--form-control-line-height); border-radius: var(--form-border-radius); &::placeholder { color: var(--form-color-placeholder); } `; export const inputVariants = { default: { input: InputCss, container: InputContainerCss, }, }; export type IInputVariants = VariantOfType;