timeline
Timeline with order status.
Timeline with order status.
Загрузка превью…
src/timeline/c-timeline-3.vue
<!--
Расхождение с апстримом: `IconPlaceholder` заменена инлайновым `<svg>`
(lucide-react v0.545.0 "check") — см. docs/PORTING.md §5.
-->
<script setup lang="ts">
import { Timeline, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle } from "@/components/reui/timeline"
const orderStatus = [
{
id: 1,
date: "Mar 15, 2024",
title: "Order Placed",
description: "Your order has been received and is being processed.",
},
{
id: 2,
date: "Mar 16, 2024",
title: "Payment Confirmed",
description: "Transaction successful. Preparing for shipment.",
},
{
id: 3,
date: "Mar 18, 2024",
title: "Shipped",
description: "Your package is on its way. Track your delivery.",
},
{
id: 4,
date: "Mar 20, 2024",
title: "Delivered",
description: "Package successfully delivered to the recipient.",
},
]
</script>
<template>
<Timeline :value="3" class="w-full max-w-md">
<TimelineItem
v-for="item in orderStatus"
:key="item.id"
:step="item.id"
class="group-data-[orientation=vertical]/timeline:ms-10"
>
<TimelineHeader>
<TimelineSeparator class="group-data-[orientation=vertical]/timeline:-left-7 group-data-[orientation=vertical]/timeline:h-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=vertical]/timeline:translate-y-6.5" />
<TimelineDate>{{ item.date }}</TimelineDate>
<TimelineTitle>{{ item.title }}</TimelineTitle>
<TimelineIndicator class="group-data-completed/timeline-item:bg-primary group-data-completed/timeline-item:text-primary-foreground flex size-6 items-center justify-center group-data-completed/timeline-item:border-none group-data-[orientation=vertical]/timeline:-left-7">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
class="lucide lucide-check size-4 group-not-data-completed/timeline-item:hidden"
>
<path d="M20 6 9 17l-5-5" />
</svg>
</TimelineIndicator>
</TimelineHeader>
<TimelineContent>{{ item.description }}</TimelineContent>
</TimelineItem>
</Timeline>
</template>
Установка
npx shadcn-vue@latest add https://revueui.rootapi.dev/r/c-timeline-3.jsonЗависимости реестра
Источник: порт из ReUI (Keenthemes, MIT)