import { CSSObject } from 'styled-components' import { InputSizeV2, InputStateV2 } from '../inputV2.types' import { BreakpointType } from '../../../breakpoints/breakPoints' import { UploadDragState, UploadState } from './UploadV2.types' export type UploadV2TokensType = { gap: CSSObject['gap'] topContainer: { label: { fontSize: { [key in InputSizeV2]: CSSObject['fontSize'] } fontWeight: { [key in InputSizeV2]: CSSObject['fontWeight'] } lineHeight: { [key in InputSizeV2]: CSSObject['lineHeight'] } color: { [key in InputStateV2]: CSSObject['color'] } } subLabel: { fontSize: { [key in InputSizeV2]: CSSObject['fontSize'] } fontWeight: { [key in InputSizeV2]: CSSObject['fontWeight'] } lineHeight: { [key in InputSizeV2]: CSSObject['lineHeight'] } color: { [key in InputStateV2]: CSSObject['color'] } } required: { color: CSSObject['color'] } helpIcon: { width: { [key in InputSizeV2]: CSSObject['width'] } color: { [key in InputStateV2]: CSSObject['color'] } } } uploadContainer: { gap: CSSObject['gap'] paddingTop: CSSObject['paddingTop'] paddingBottom: CSSObject['paddingBottom'] paddingLeft: CSSObject['paddingLeft'] paddingRight: CSSObject['paddingRight'] borderRadius: CSSObject['borderRadius'] border: { [key in UploadState | UploadDragState]: CSSObject['border'] } backgroundColor: { [key in UploadState | UploadDragState]: CSSObject['backgroundColor'] } header: { gap: CSSObject['gap'] title: { fontSize: CSSObject['fontSize'] fontWeight: CSSObject['fontWeight'] color: CSSObject['color'] } description: { fontSize: CSSObject['fontSize'] fontWeight: CSSObject['fontWeight'] color: CSSObject['color'] } errorText: { fontSize: CSSObject['fontSize'] fontWeight: CSSObject['fontWeight'] color: CSSObject['color'] } } fileTag: { maxWidth: CSSObject['maxWidth'] gap: CSSObject['gap'] } } bottomContainer: { hintText: { fontSize: { [key in InputSizeV2]: CSSObject['fontSize'] } fontWeight: { [key in InputSizeV2]: CSSObject['fontWeight'] } lineHeight: { [key in InputSizeV2]: CSSObject['lineHeight'] } color: { [key in InputStateV2]: CSSObject['color'] } } errorMessage: { fontSize: { [key in InputSizeV2]: CSSObject['fontSize'] } fontWeight: { [key in InputSizeV2]: CSSObject['fontWeight'] } lineHeight: { [key in InputSizeV2]: CSSObject['lineHeight'] } color: CSSObject['color'] } } } export type ResponsiveUploadV2Tokens = { [key in keyof BreakpointType]: UploadV2TokensType }