empty

Dashed upload empty state

Dashed upload empty state

Загрузка превью…

src/empty/c-empty-6.vue

<!--
  Расхождение с апстримом: `IconPlaceholder` заменена инлайновым `<svg>`
  (lucide-react v0.545.0 "cloud-upload"/"plus") — см. docs/PORTING.md §5.
-->
<script setup lang="ts">
import { Button } from "@/components/ui/button"
import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "@/components/ui/empty"
</script>

<template>
  <div class="flex items-center justify-center p-4">
    <Empty class="w-full max-w-md border border-dashed py-12">
      <EmptyHeader>
        <EmptyMedia variant="icon">
          <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"
            class="lucide lucide-cloud-upload"
          >
            <path d="M12 13v8" />
            <path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" />
            <path d="m8 17 4-4 4 4" />
          </svg>
        </EmptyMedia>
        <EmptyTitle>Upload files</EmptyTitle>
        <EmptyDescription>
          Drag and drop files here, or click to browse.
        </EmptyDescription>
      </EmptyHeader>
      <EmptyContent>
        <Button variant="outline" size="sm">
          <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"
            class="lucide lucide-plus"
            data-icon="inline-start"
          >
            <path d="M5 12h14" />
            <path d="M12 5v14" />
          </svg>
          Browse Files
        </Button>
        <EmptyDescription class="text-xs">
          PNG, JPG, SVG up to 10MB
        </EmptyDescription>
      </EmptyContent>
    </Empty>
  </div>
</template>

Установка

npx shadcn-vue@latest add https://revueui.rootapi.dev/r/c-empty-6.json

Зависимости реестра

Источник: порт из ReUI (Keenthemes, MIT)