collapsible
Basic collapsible
Basic collapsible
Загрузка превью…
src/collapsible/c-collapsible-1.vue
<!--
Расхождение с апстримом: `IconPlaceholder` заменена инлайновым `<svg>`
(lucide-react v0.545.0 "chevrons-up-down") — см. docs/PORTING.md §5.
-->
<script setup lang="ts">
import { Badge } from "@/components/reui/badge"
import { Button } from "@/components/ui/button"
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
</script>
<template>
<div class="h-48 w-full max-w-xs">
<Collapsible class="flex w-full flex-col gap-2">
<div class="flex items-center justify-between gap-4 px-2">
<h4 class="text-sm font-semibold">Order #4189</h4>
<CollapsibleTrigger as-child>
<Button variant="ghost" size="icon" class="size-8">
<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="size-4"
>
<path d="m7 15 5 5 5-5" />
<path d="m7 9 5-5 5 5" />
</svg>
<span class="sr-only">Toggle details</span>
</Button>
</CollapsibleTrigger>
</div>
<div class="bg-muted/30 rounded-lg flex items-center justify-between border px-3 py-2 text-sm">
<span class="text-muted-foreground">Status</span>
<Badge variant="success-light">Shipped</Badge>
</div>
<CollapsibleContent class="flex flex-col gap-2">
<div class="rounded-lg border px-3 py-2 text-sm">
<p class="font-medium">Shipping address</p>
<p class="text-muted-foreground">100 Market St, San Francisco</p>
</div>
<div class="rounded-lg border px-3 py-2 text-sm">
<p class="font-medium">Items</p>
<p class="text-muted-foreground">2x Studio Headphones</p>
</div>
</CollapsibleContent>
</Collapsible>
</div>
</template>
Установка
npx shadcn-vue@latest add https://revueui.rootapi.dev/r/c-collapsible-1.jsonЗависимости реестра
Источник: порт из ReUI (Keenthemes, MIT)