mirror of
https://github.com/hunvreus/basecoat.git
synced 2026-11-12 05:08:18 +00:00
211 lines
9.2 KiB
Plaintext
211 lines
9.2 KiB
Plaintext
# Empty
|
|
|
|
<Preview>
|
|
<section class="empty">
|
|
<header>
|
|
<figure><svg class="lucide lucide-folder-code" 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"><path d="M10 10.5 8 13l2 2.5" /><path d="m14 10.5 2 2.5-2 2.5" /><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z" /></svg></figure>
|
|
<h3>No Projects Yet</h3>
|
|
<p>You haven't created any projects yet. Get started by creating your first project.</p>
|
|
</header>
|
|
<footer>
|
|
<div class="flex gap-2">
|
|
<button class="btn">Create Project</button>
|
|
<button class="btn" data-variant="outline">Import Project</button>
|
|
</div>
|
|
<a href="#" class="btn text-muted-foreground" data-variant="link" data-size="sm">
|
|
Learn More
|
|
<svg class="lucide lucide-arrow-up-right" 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"><path d="M7 7h10v10" /><path d="M7 17 17 7" /></svg>
|
|
</a>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
## Usage
|
|
|
|
<Steps>
|
|
<Step title="Include CSS">
|
|
|
|
Import Tailwind and one full Basecoat style bundle.
|
|
|
|
```css
|
|
@import "tailwindcss";
|
|
@import "basecoat-css/vega.css";
|
|
```
|
|
|
|
Or import only the base CSS, Empty component CSS, and one style pack.
|
|
|
|
```css
|
|
@import "tailwindcss";
|
|
@import "basecoat-css/base.css";
|
|
@import "basecoat-css/components/empty.css";
|
|
@import "basecoat-css/styles/vega.css";
|
|
```
|
|
|
|
Using CDN or bundler imports? See the [Installation page](/installation).
|
|
|
|
</Step>
|
|
<Step title="Add your empty HTML">
|
|
|
|
Add `class="empty"` to a semantic container. The component styles common children like `header`, `figure`, headings, descriptions, and `footer`.
|
|
|
|
```html
|
|
<section class="empty">
|
|
<header>
|
|
<figure><svg class="lucide lucide-folder-code" 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"><path d="M10 10.5 8 13l2 2.5" /><path d="m14 10.5 2 2.5-2 2.5" /><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z" /></svg></figure>
|
|
<h3>No Projects Yet</h3>
|
|
<p>You haven't created any projects yet. Get started by creating your first project.</p>
|
|
</header>
|
|
<footer>
|
|
<div class="flex gap-2">
|
|
<button class="btn">Create Project</button>
|
|
<button class="btn" data-variant="outline">Import Project</button>
|
|
</div>
|
|
<a href="#" class="btn text-muted-foreground" data-variant="link" data-size="sm">
|
|
Learn More
|
|
<svg class="lucide lucide-arrow-up-right" 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"><path d="M7 7h10v10" /><path d="M7 17 17 7" /></svg>
|
|
</a>
|
|
</footer>
|
|
</section>
|
|
```
|
|
|
|
</Step>
|
|
</Steps>
|
|
|
|
#### HTML structure
|
|
|
|
<dl>
|
|
<dt><code><section class="empty"></code></dt>
|
|
<dd>
|
|
The empty-state container.
|
|
<dl>
|
|
<dt><code><header></code></dt>
|
|
<dd>
|
|
Groups the media, title, and description.
|
|
<dl>
|
|
<dt><code><figure></code> <span class="badge" data-variant="secondary">Optional</span></dt>
|
|
<dd>Icon, avatar, image, or avatar group. An icon-only figure is styled automatically with <code>:has(> svg:only-child)</code>.</dd>
|
|
<dt><code><h2></code>, <code><h3></code>, or <code><h4></code></dt>
|
|
<dd>The empty-state title.</dd>
|
|
<dt><code><p></code> <span class="badge" data-variant="secondary">Optional</span></dt>
|
|
<dd>The empty-state description.</dd>
|
|
</dl>
|
|
</dd>
|
|
<dt><code><section></code> or <code><footer></code> <span class="badge" data-variant="secondary">Optional</span></dt>
|
|
<dd>Actions and supporting content.</dd>
|
|
</dl>
|
|
</dd>
|
|
</dl>
|
|
|
|
## Examples
|
|
|
|
### Outline
|
|
|
|
<Preview class="w-full">
|
|
<section class="empty border border-dashed">
|
|
<header>
|
|
<figure><svg class="lucide lucide-cloud" 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"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" /></svg></figure>
|
|
<h3>Cloud Storage Empty</h3>
|
|
<p>Upload files to your cloud storage to access them anywhere.</p>
|
|
</header>
|
|
<footer>
|
|
<button class="btn" data-variant="outline" data-size="sm">Upload Files</button>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
### Background
|
|
|
|
<Preview class="w-full">
|
|
<section class="empty h-full bg-muted/30">
|
|
<header>
|
|
<figure><svg class="lucide lucide-bell" 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"><path d="M10.268 21a2 2 0 0 0 3.464 0" /><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" /></svg></figure>
|
|
<h3>No Notifications</h3>
|
|
<p class="max-w-xs text-pretty">You're all caught up. New notifications will appear here.</p>
|
|
</header>
|
|
<footer>
|
|
<button class="btn" data-variant="outline"><svg class="lucide lucide-refresh-ccw" 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"><path d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" /><path d="M3 3v5h5" /><path d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16" /><path d="M16 16h5v5" /></svg>
|
|
Refresh
|
|
</button>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
### Avatar
|
|
|
|
<Preview>
|
|
<section class="empty">
|
|
<header>
|
|
<figure class="size-12 rounded-full">
|
|
<img class="grayscale" alt="@shadcn" src="https://github.com/shadcn.png" />
|
|
</figure>
|
|
<h3>User Offline</h3>
|
|
<p>This user is currently offline. You can leave a message to notify them or try again later.</p>
|
|
</header>
|
|
<footer>
|
|
<button class="btn" data-size="sm">Leave Message</button>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
### Avatar group
|
|
|
|
<Preview>
|
|
<section class="empty">
|
|
<header>
|
|
<figure class="-space-x-2 [&_img]:ring-background [&_img]:ring-2 [&_img]:grayscale [&_img]:size-12 [&_img]:rounded-full">
|
|
<img alt="@shadcn" src="https://github.com/shadcn.png" />
|
|
<img alt="@maxleiter" src="https://github.com/maxleiter.png" />
|
|
<img alt="@evilrabbit" src="https://github.com/evilrabbit.png" />
|
|
</figure>
|
|
<h3>No Team Members</h3>
|
|
<p>Invite your team to collaborate on this project.</p>
|
|
</header>
|
|
<footer>
|
|
<button class="btn" data-size="sm"><svg class="lucide lucide-plus" 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"><path d="M5 12h14" /><path d="M12 5v14" /></svg>
|
|
<span>Invite Members</span>
|
|
</button>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
### Input group
|
|
|
|
<Preview>
|
|
<section class="empty">
|
|
<header>
|
|
<h3>404 - Not Found</h3>
|
|
<p>The page you're looking for doesn't exist. Try searching for what you need below.</p>
|
|
</header>
|
|
<footer>
|
|
<div class="input-group sm:w-3/4">
|
|
<input type="search" placeholder="Try searching for pages..." />
|
|
<span data-align="start" aria-hidden="true"><svg class="lucide lucide-search" 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"><path d="m21 21-4.34-4.34" /><circle cx="11" cy="11" r="8" /></svg></span>
|
|
<span data-align="end"><kbd class="kbd">/</kbd></span>
|
|
</div>
|
|
<p>Need help? <a href="#">Contact support</a></p>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|
|
|
|
### RTL
|
|
|
|
<Preview>
|
|
<section class="empty" dir="rtl">
|
|
<header>
|
|
<figure><svg class="lucide lucide-folder-code" 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"><path d="M10 10.5 8 13l2 2.5" /><path d="m14 10.5 2 2.5-2 2.5" /><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z" /></svg></figure>
|
|
<h3>لا توجد مشاريع بعد</h3>
|
|
<p>لم تقم بإنشاء أي مشاريع بعد. ابدأ بإنشاء مشروعك الأول.</p>
|
|
</header>
|
|
<footer>
|
|
<div class="flex flex-row justify-center gap-2">
|
|
<button class="btn">إنشاء مشروع</button>
|
|
<button class="btn" data-variant="outline">استيراد مشروع</button>
|
|
</div>
|
|
<a href="#" class="btn text-muted-foreground" data-variant="link" data-size="sm">
|
|
تعرف على المزيد
|
|
<svg class="lucide lucide-arrow-up-right rtl:rotate-270" data-icon="inline-end" 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"><path d="M7 7h10v10" /><path d="M7 17 17 7" /></svg>
|
|
</a>
|
|
</footer>
|
|
</section>
|
|
</Preview>
|