@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
130 lines (126 loc) • 3.55 kB
JavaScript
import styled, { css, keyframes } from 'styled-components';
import { inputFocusWidthMixin } from '../../styles/mixins/input.mixin';
import { getStyles, getTypographyStyles } from '../../utils/getStyles/getStyles';
export const ParentContainer = styled.div `
display: flex;
flex-direction: column;
${({ styles }) => getStyles(styles?.rootContainer)};
`;
export const TitleTooltipContainer = styled.div `
${({ styles }) => getStyles(styles?.titleTooltipContainer)};
`;
export const AnimationInputsContainer = styled.div `
${({ styles }) => getStyles(styles?.animationInputsContainer)};
`;
const increaseLabelHeight = (props) => keyframes `
0% {
height: 0rem;
}
100% {
height: ${props.height};
}
`;
export const InputDigitsContainerAnimated = styled.div `
display: flex;
align-items: end;
${({ styles }) => getStyles(styles?.inputDigitsContainer)};
${({ animated }) => animated &&
css `
p,
label {
height: 0rem;
overflow: hidden;
}
`};
${({ boxesAnimationDone, styles }) => boxesAnimationDone &&
css `
p,
label {
animation: ${increaseLabelHeight({ height: styles?.inputNumber?.line_height })} 250ms
forwards;
}
`};
`;
export const InputDigitsContainer = styled.div `
display: flex;
align-items: end;
${({ styles }) => getStyles(styles?.inputDigitsContainer)};
${({ animated }) => animated &&
css `
visibility: hidden;
p,
label {
height: 0rem;
overflow: hidden;
}
`};
${({ boxesAnimationDone, styles }) => boxesAnimationDone &&
css `
p,
label {
animation: ${increaseLabelHeight({ height: styles?.inputNumber?.line_height })} 250ms
forwards;
}
`};
${({ labelAnimationDone }) => labelAnimationDone &&
css `
visibility: visible;
`};
`;
const increaseGap = (props) => keyframes `
0% {
row-gap: 0rem;
gap: 0rem;
}
100% {
gap: ${props.gap};
row-gap: ${props.row_gap};
}
`;
export const InputDigitAndNumberContainer = styled.div `
display: flex;
flex-direction: column;
height: 100%;
align-items: center;
${({ styles }) => getStyles(styles?.inputDigitAndNumberContainer)};
${({ animated }) => animated &&
css `
row-gap: 0rem;
gap: 0rem;
`};
${({ boxesAnimationDone, styles }) => boxesAnimationDone &&
css `
animation: ${increaseGap({
row_gap: styles?.inputDigitAndNumberContainer?.row_gap,
gap: styles?.inputDigitAndNumberContainer?.gap,
})}
250ms forwards;
`};
`;
export const InputDigitStyled = styled.input `
text-align: center;
border-style: solid;
${({ styles }) => getTypographyStyles(styles?.inputDigitText)};
${({ styles }) => getStyles(styles?.inputDigitContainer)};
${({ styles, error }) => error && getStyles(styles?.inputDigitContainerError)};
:focus {
${({ styles }) => getStyles(styles?.inputDigitContainerfocus)};
}
&:focus-visible {
${inputFocusWidthMixin}
}
&[type='password'] {
${({ styles }) => getTypographyStyles(styles?.inputDigitTextTypePassword)}
}
`;
export const IconAndErrorTextContainer = styled.div `
display: flex;
${({ styles }) => getStyles(styles?.errorContainer)};
`;
export const HelpTextContainerStyled = styled.div `
${({ styles }) => getStyles(styles?.helpTextContainer)};
`;
export const ButtonContainer = styled.div `
${({ styles }) => getStyles(styles?.actionButtonContainer)};
`;
//# sourceMappingURL=inputDigitSequence.styled.js.map