352 lines
7.8 KiB
TypeScript
352 lines
7.8 KiB
TypeScript
import { createStyle } from '@gluestack-style/react';
|
|
|
|
export const Input = createStyle({
|
|
'borderWidth': 1,
|
|
'borderColor': '$backgroundLight300',
|
|
'borderRadius': '$sm',
|
|
'flexDirection': 'row',
|
|
'overflow': 'hidden',
|
|
'alignContent': 'center',
|
|
|
|
':hover': {
|
|
borderColor: '$borderLight400',
|
|
},
|
|
|
|
':focus': {
|
|
'borderColor': '$primary700',
|
|
':hover': {
|
|
borderColor: '$primary700',
|
|
},
|
|
},
|
|
|
|
':disabled': {
|
|
'opacity': 0.4,
|
|
':hover': {
|
|
borderColor: '$backgroundLight300',
|
|
},
|
|
},
|
|
|
|
'_input': {
|
|
py: 'auto',
|
|
px: '$3',
|
|
},
|
|
|
|
'_icon': {
|
|
color: '$textLight400',
|
|
},
|
|
|
|
'_dark': {
|
|
'borderColor': '$borderDark700',
|
|
':hover': {
|
|
borderColor: '$borderDark400',
|
|
},
|
|
':focus': {
|
|
'borderColor': '$primary400',
|
|
':hover': {
|
|
borderColor: '$primary400',
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderColor: '$borderDark700',
|
|
},
|
|
},
|
|
},
|
|
|
|
'variants': {
|
|
size: {
|
|
xl: {
|
|
h: '$12',
|
|
_input: {
|
|
props: {
|
|
size: 'xl',
|
|
},
|
|
},
|
|
_icon: {
|
|
props: {
|
|
size: 'xl',
|
|
},
|
|
},
|
|
},
|
|
lg: {
|
|
h: '$11',
|
|
_input: {
|
|
props: {
|
|
size: 'lg',
|
|
},
|
|
},
|
|
_icon: {
|
|
props: {
|
|
size: 'lg',
|
|
},
|
|
},
|
|
},
|
|
md: {
|
|
h: '$10',
|
|
_input: {
|
|
props: {
|
|
size: 'md',
|
|
},
|
|
},
|
|
_icon: {
|
|
props: {
|
|
size: 'sm',
|
|
},
|
|
},
|
|
},
|
|
sm: {
|
|
h: '$9',
|
|
_input: {
|
|
props: {
|
|
size: 'sm',
|
|
},
|
|
},
|
|
_icon: {
|
|
props: {
|
|
size: 'xs',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
variant: {
|
|
underlined: {
|
|
'_input': {
|
|
_web: {
|
|
outlineWidth: 0,
|
|
outline: 'none',
|
|
},
|
|
px: '$0',
|
|
},
|
|
'borderWidth': 0,
|
|
'borderRadius': 0,
|
|
'borderBottomWidth': '$1',
|
|
':focus': {
|
|
borderColor: '$primary700',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $primary700',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderBottomWidth': 2,
|
|
'borderBottomColor': '$error700',
|
|
'_web': {
|
|
boxShadow: 'inset 0 -1px 0 0 $error700',
|
|
},
|
|
':hover': {
|
|
borderBottomColor: '$error700',
|
|
},
|
|
':focus': {
|
|
'borderBottomColor': '$error700',
|
|
':hover': {
|
|
borderBottomColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $error700',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderBottomColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $error700',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'_dark': {
|
|
':focus': {
|
|
borderColor: '$primary400',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $primary400',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderColor': '$error400',
|
|
'_web': {
|
|
boxShadow: 'inset 0 -1px 0 0 $error400',
|
|
},
|
|
':hover': {
|
|
borderBottomColor: '$error400',
|
|
},
|
|
':focus': {
|
|
'borderBottomColor': '$error400',
|
|
':hover': {
|
|
borderBottomColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $error400',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderBottomColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 -1px 0 0 $error400',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
outline: {
|
|
'_input': {
|
|
_web: {
|
|
outlineWidth: 0,
|
|
outline: 'none',
|
|
},
|
|
},
|
|
':focus': {
|
|
borderColor: '$primary700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $primary700',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderColor': '$error700',
|
|
'_web': {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
},
|
|
':focus': {
|
|
'borderColor': '$error700',
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'_dark': {
|
|
':focus': {
|
|
borderColor: '$primary400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $primary400',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderColor': '$error400',
|
|
'_web': {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
},
|
|
':focus': {
|
|
'borderColor': '$error400',
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
rounded: {
|
|
'borderRadius': 999,
|
|
'_input': {
|
|
px: '$4',
|
|
_web: {
|
|
outlineWidth: 0,
|
|
outline: 'none',
|
|
},
|
|
},
|
|
':focus': {
|
|
borderColor: '$primary700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $primary700',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderColor': '$error700',
|
|
'_web': {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
},
|
|
':focus': {
|
|
'borderColor': '$error700',
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderColor: '$error700',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error700',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
'_dark': {
|
|
':focus': {
|
|
borderColor: '$primary400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $primary400',
|
|
},
|
|
},
|
|
':invalid': {
|
|
'borderColor': '$error400',
|
|
'_web': {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
},
|
|
':focus': {
|
|
'borderColor': '$error400',
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
},
|
|
},
|
|
':disabled': {
|
|
':hover': {
|
|
borderColor: '$error400',
|
|
_web: {
|
|
boxShadow: 'inset 0 0 0 1px $error400',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
'defaultProps': {
|
|
size: 'md',
|
|
variant: 'outline',
|
|
},
|
|
});
|