@sinchsmb/ui-kit
Version:
UI kit for SinchSMB frontend
51 lines (41 loc) • 1.16 kB
text/typescript
import { AriaAttributes } from 'react';
import styled from 'styled-components/macro';
import { commonInputBaseStyles, inputBorderContainerStyles } from '../StyledInput';
export const StyledInput = styled.input<{ $withPrefix: boolean }>`
@mixin ${commonInputBaseStyles};
border-style: none;
height: 34px;
padding-left: ${(props) => (props.$withPrefix ? '36px' : undefined)};
transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out;
`;
export const StyledInputPositionContainer = styled.div`
position: relative;
`;
export const StyledInputBorderContainer = styled.div<{
$invalid?: AriaAttributes['aria-invalid'];
$disabled?: boolean;
}>`
@mixin ${inputBorderContainerStyles};
align-items: center;
display: flex;
`;
export const StyledInvisibleSuffix = styled.div`
height: 34px;
overflow: hidden;
visibility: hidden;
`;
export const StyledAbsolutePositionedPrefix = styled.div`
bottom: 0;
left: 0;
pointer-events: none;
position: absolute;
top: 0;
`;
export const StyledAbsolutePositionedSuffix = styled.div`
align-items: center;
bottom: 0;
display: flex;
position: absolute;
right: 0;
top: 0;
`;