import type { ReactNode } from 'react'

import type { BoxProps } from '../box'
import type { ChildrenProp } from '../core'
import type { IconProp } from '../icon'
import type { StepIndicatorVariant } from '../stepIndicator/stepIndicatorTypes'
import type { SystemProps } from '../system'
import type { ThemingProps } from '../theme'

export type StepVerticalSize = 'md' | 'sm' | undefined

export type StepperVerticalProps = SystemProps & ThemingProps<'StepperVertical'> & ChildrenProp

export type StepVerticalProps = SystemProps &
  ChildrenProp & {
    icon?: IconProp
    number?: number
    size?: StepVerticalSize
    description?: ReactNode
    title?: ReactNode
    disabled?: boolean
    className?: string
    variant?: StepIndicatorVariant
  }

export type StepVerticalTailProps = BoxProps & {
  size?: StepVerticalSize
  variant?: StepIndicatorVariant
}

export type StepVerticalTitleProps = BoxProps & {
  size?: StepVerticalSize
  variant?: StepIndicatorVariant
}
