import type { VariantProps } from "class-variance-authority"
import { cva } from "class-variance-authority"

export { default as Timeline } from "./Timeline.vue"
export { default as TimelineItem } from "./TimelineItem.vue"

export const timelineItemVariants = cva("", {
  variants: {
    state: {
      completed: "",
      pending: "",
      current: "",
    },
  },
  defaultVariants: {
    state: "pending",
  },
})

export type TimelineItemVariants = VariantProps<typeof timelineItemVariants>

export type TimelineItemData = {
  title: string
  date?: string
  time?: string
  state?: TimelineItemVariants["state"]
  /** Additional content slots - use with TimelineItemContent for custom content */
  content?: string
}
