@sveltestrap/sveltestrap
Version:
Bootstrap components for Svelte
147 lines (111 loc) • 3.26 kB
text/mdx
import { Meta, Canvas, Controls, Story, Source } from '@storybook/blocks';
import * as BadgeStories from './Badge.stories';
<Meta title="Components/Badges" />
# Badges <small class="bootstrap-docs">[Bootstrap Badges](https://getbootstrap.com/docs/5.3/components/badge/)</small>
The `<Badge>` component is used to provide visual cues or supplementary information for things like badging, counts, and more.
<Canvas>
<Story of={BadgeStories.Basic} />
</Canvas>
<Controls of={BadgeStories.Basic} />
## Colors
<Canvas withSource="none">
<Story of={BadgeStories.Colors} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Badge } from '@sveltestrap/sveltestrap';
const colors = [
'primary',
'secondary',
'success',
'danger',
'warning',
'info',
'light',
'dark'
];
</script>
{#each colors as color}
<Badge {color}>{color}</Badge>
{/each}
`} />
## Pills
<p>You can change the visual style of any <code>Badge</code> by adding the <code>pill</code> prop to the component.</p>
<Canvas withSource="none">
<Story of={BadgeStories.Pills} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Badge } from '@sveltestrap/sveltestrap';
const colors = [
'primary',
'secondary',
'success',
'danger',
'warning',
'info',
'light',
'dark'
];
</script>
{#each colors as color}
<Badge pill {color}>{color}</Badge>
{/each}
`} />
## Buttons
<Canvas withSource="none">
<Story of={BadgeStories.Buttons} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Badge, Button } from '@sveltestrap/sveltestrap';
</script>
<Button color="primary">
Notifications
<Badge color="dark">4</Badge>
</Button>
<Button color="primary" outline>
Notifications
<Badge color="primary">7</Badge>
</Button>
`} />
## Positioned
<Canvas withSource="none">
<Story of={BadgeStories.Positioned} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Button, Badge } from '@sveltestrap/sveltestrap';
</script>
<Button color="primary" class="position-relative">
Inbox <Badge color="danger" pill positioned ariaLabel="Unread messages">100+</Badge>
</Button>
<Button color="primary" class="position-relative">
Profile <Badge color="danger" pill border indicator positioned ariaLabel="New alerts"></Badge>
</Button>
`} />
## Headings
<Canvas withSource="none">
<Story of={BadgeStories.Headings} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Badge } from '@sveltestrap/sveltestrap';
</script>
<h1>Example heading <Badge color="secondary">New</Badge></h1>
<h2>Example heading <Badge color="secondary">New</Badge></h2>
<h3>Example heading <Badge color="secondary">New</Badge></h3>
<h4>Example heading <Badge color="secondary">New</Badge></h4>
<h5>Example heading <Badge color="secondary">New</Badge></h5>
<h6>Example heading <Badge color="secondary">New</Badge></h6>
`} />
## Links
<Canvas withSource="none">
<Story of={BadgeStories.Links} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Badge } from '@sveltestrap/sveltestrap';
</script>
<Badge href="https://svelte.dev" color="primary">Link Badge</Badge>
`} />