30 lines
724 B
TypeScript
30 lines
724 B
TypeScript
|
|
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
|
||
|
|
}
|