import { HTMLAttributes, ReactNode } from 'react'
import { CSSObject } from 'styled-components'
import {
StatCardV2ChangeType,
StatCardV2Variant,
} from './statcardV2.tokens.types'
import type { StatCardV2TokensType } from './statcardV2.tokens.types'
import type { ChartV2Options } from '../ChartsV2/chartV2.types'
import type { SkeletonVariant } from '../Skeleton/types'
import type { SingleSelectProps } from '../SingleSelect/types'
export { StatCardV2ChangeType, StatCardV2Variant }
export type StatCardV2Dimensions = {
width?: CSSObject['width']
maxWidth?: CSSObject['maxWidth']
minWidth?: CSSObject['minWidth']
height?: CSSObject['height']
}
export enum StatCardV2ArrowDirection {
UP = 'up',
DOWN = 'down',
}
export enum StatCardV2Alignment {
LEFT = 'left',
CENTER = 'center',
}
export type StatCardV2Change = {
value: string
changeType: StatCardV2ChangeType
leftSymbol?: string
rightSymbol?: string
arrowDirection?: StatCardV2ArrowDirection
tooltip?: ReactNode
}
export type StatCardV2SkeletonProps = {
variant: SkeletonVariant
show: boolean
height?: CSSObject['height']
maxWidth?: CSSObject['maxWidth']
minWidth?: CSSObject['minWidth']
}
export type StatCardV2TitleProps = {
title: string
helpIconText?: string
tokens: StatCardV2TokensType
id?: string
isSmallScreen?: boolean
}
export type StatCardV2ChangeProps = {
changeValueText?: string
leftSymbol?: string
rightSymbol?: string
arrowDirection: StatCardV2ArrowDirection
changeType: StatCardV2ChangeType
tokens: StatCardV2TokensType
tooltip?: ReactNode
id?: string
}
export type StatCardV2SubtitleProps = {
subtitle?: string
tokens: StatCardV2TokensType
id?: string
}
export type StatCardV2Props = {
title: string
variant?: StatCardV2Variant
titleIcon?: ReactNode
actionIcon?: ReactNode
value?: string
progressValue?: number
helpIconText?: string
valueTooltip?: ReactNode
change?: StatCardV2Change
subtitle?: string
options?: ChartV2Options
skeleton?: StatCardV2SkeletonProps
dropdownProps?: SingleSelectProps
showBorder?: boolean
} & HTMLAttributes &
StatCardV2Dimensions