rizzo-css 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +12 -0
- package/LICENSE +21 -0
- package/README.md +17 -3
- package/bin/rizzo-css.js +166 -85
- package/package.json +5 -3
- package/scaffold/astro/ThemeSwitcher.astro +504 -0
- package/scaffold/astro/themes.ts +54 -0
- package/scaffold/astro-app/README.md +13 -2
- package/scaffold/astro-app/src/components/Accordion.astro +178 -0
- package/scaffold/astro-app/src/components/Alert.astro +131 -0
- package/scaffold/astro-app/src/components/Avatar.astro +59 -0
- package/scaffold/astro-app/src/components/Badge.astro +24 -0
- package/scaffold/astro-app/src/components/Breadcrumb.astro +61 -0
- package/scaffold/astro-app/src/components/Button.astro +3 -0
- package/scaffold/astro-app/src/components/Card.astro +18 -0
- package/scaffold/astro-app/src/components/Checkbox.astro +38 -0
- package/scaffold/astro-app/src/components/CodeBlock.astro +393 -0
- package/scaffold/astro-app/src/components/CopyToClipboard.astro +219 -0
- package/scaffold/astro-app/src/components/Divider.astro +37 -0
- package/scaffold/astro-app/src/components/Dropdown.astro +807 -0
- package/scaffold/astro-app/src/components/FormGroup.astro +59 -0
- package/scaffold/astro-app/src/components/FrameworkSwitcher.astro +72 -0
- package/scaffold/astro-app/src/components/Input.astro +59 -0
- package/scaffold/astro-app/src/components/Modal.astro +212 -0
- package/scaffold/astro-app/src/components/Navbar.astro +701 -0
- package/scaffold/astro-app/src/components/Pagination.astro +240 -0
- package/scaffold/astro-app/src/components/ProgressBar.astro +65 -0
- package/scaffold/astro-app/src/components/Radio.astro +38 -0
- package/scaffold/astro-app/src/components/Search.astro +1259 -0
- package/scaffold/astro-app/src/components/Select.astro +49 -0
- package/scaffold/astro-app/src/components/Settings.astro +382 -0
- package/scaffold/astro-app/src/components/Spinner.astro +30 -0
- package/scaffold/astro-app/src/components/Table.astro +181 -0
- package/scaffold/astro-app/src/components/Tabs.astro +223 -0
- package/scaffold/astro-app/src/components/Textarea.astro +58 -0
- package/scaffold/astro-app/src/components/ThemeSwitcher.astro +504 -0
- package/scaffold/astro-app/src/components/Toast.astro +30 -0
- package/scaffold/astro-app/src/components/Tooltip.astro +32 -0
- package/scaffold/astro-app/src/components/icons/Brush.astro +10 -0
- package/scaffold/astro-app/src/components/icons/Cake.astro +11 -0
- package/scaffold/astro-app/src/components/icons/Check.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Cherry.astro +11 -0
- package/scaffold/astro-app/src/components/icons/ChevronDown.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Circle.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Close.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Cmd.astro +26 -0
- package/scaffold/astro-app/src/components/icons/Copy.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Eye.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Filter.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Flame.astro +28 -0
- package/scaffold/astro-app/src/components/icons/Flower.astro +11 -0
- package/scaffold/astro-app/src/components/icons/Gear.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Heart.astro +28 -0
- package/scaffold/astro-app/src/components/icons/IceCream.astro +31 -0
- package/scaffold/astro-app/src/components/icons/Leaf.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Lemon.astro +11 -0
- package/scaffold/astro-app/src/components/icons/Moon.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Owl.astro +34 -0
- package/scaffold/astro-app/src/components/icons/Palette.astro +33 -0
- package/scaffold/astro-app/src/components/icons/Rainbow.astro +31 -0
- package/scaffold/astro-app/src/components/icons/Search.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Shield.astro +28 -0
- package/scaffold/astro-app/src/components/icons/Snowflake.astro +34 -0
- package/scaffold/astro-app/src/components/icons/Sort.astro +30 -0
- package/scaffold/astro-app/src/components/icons/Sun.astro +29 -0
- package/scaffold/astro-app/src/components/icons/Sunset.astro +10 -0
- package/scaffold/astro-app/src/components/icons/Zap.astro +9 -0
- package/scaffold/astro-app/src/components/icons/devicons/Astro.astro +53 -0
- package/scaffold/astro-app/src/components/icons/devicons/Bash.astro +34 -0
- package/scaffold/astro-app/src/components/icons/devicons/Css3.astro +29 -0
- package/scaffold/astro-app/src/components/icons/devicons/Git.astro +24 -0
- package/scaffold/astro-app/src/components/icons/devicons/Html5.astro +27 -0
- package/scaffold/astro-app/src/components/icons/devicons/Javascript.astro +25 -0
- package/scaffold/astro-app/src/components/icons/devicons/Nodejs.astro +47 -0
- package/scaffold/astro-app/src/components/icons/devicons/Plaintext.astro +33 -0
- package/scaffold/astro-app/src/components/icons/devicons/React.astro +27 -0
- package/scaffold/astro-app/src/components/icons/devicons/Svelte.astro +25 -0
- package/scaffold/astro-app/src/components/icons/devicons/Vue.astro +26 -0
- package/scaffold/astro-app/src/config/frameworks.ts +26 -0
- package/scaffold/astro-app/src/config/themes.ts +54 -0
- package/scaffold/astro-app/src/layouts/DocsLayout.astro +204 -0
- package/scaffold/astro-app/src/layouts/Layout.astro +11 -2
- package/scaffold/astro-app/src/pages/components/accordion.astro +172 -0
- package/scaffold/astro-app/src/pages/components/alert.astro +250 -0
- package/scaffold/astro-app/src/pages/components/avatar.astro +102 -0
- package/scaffold/astro-app/src/pages/components/badge.astro +119 -0
- package/scaffold/astro-app/src/pages/components/breadcrumb.astro +124 -0
- package/scaffold/astro-app/src/pages/components/button.astro +74 -0
- package/scaffold/astro-app/src/pages/components/cards.astro +247 -0
- package/scaffold/astro-app/src/pages/components/copy-to-clipboard.astro +49 -0
- package/scaffold/astro-app/src/pages/components/divider.astro +74 -0
- package/scaffold/astro-app/src/pages/components/dropdown.astro +394 -0
- package/scaffold/astro-app/src/pages/components/forms.astro +367 -0
- package/scaffold/astro-app/src/pages/components/icons.astro +246 -0
- package/scaffold/astro-app/src/pages/components/modal.astro +152 -0
- package/scaffold/astro-app/src/pages/components/navbar.astro +80 -0
- package/scaffold/astro-app/src/pages/components/pagination.astro +126 -0
- package/scaffold/astro-app/src/pages/components/progress-bar.astro +94 -0
- package/scaffold/astro-app/src/pages/components/search.astro +155 -0
- package/scaffold/astro-app/src/pages/components/settings.astro +78 -0
- package/scaffold/astro-app/src/pages/components/spinner.astro +81 -0
- package/scaffold/astro-app/src/pages/components/table.astro +144 -0
- package/scaffold/astro-app/src/pages/components/tabs.astro +220 -0
- package/scaffold/astro-app/src/pages/components/theme-switcher.astro +67 -0
- package/scaffold/astro-app/src/pages/components/toast.astro +157 -0
- package/scaffold/astro-app/src/pages/components/tooltip.astro +209 -0
- package/scaffold/astro-app/src/pages/components.astro +290 -0
- package/scaffold/astro-app/src/pages/docs/accessibility.astro +9 -0
- package/scaffold/astro-app/src/pages/docs/colors.astro +9 -0
- package/scaffold/astro-app/src/pages/docs/design-system.astro +9 -0
- package/scaffold/astro-app/src/pages/docs/getting-started.astro +9 -0
- package/scaffold/astro-app/src/pages/docs/index.astro +15 -0
- package/scaffold/astro-app/src/pages/docs/themes/[theme].astro +14 -0
- package/scaffold/astro-app/src/pages/docs/theming.astro +10 -0
- package/scaffold/astro-app/src/pages/index.astro +5 -11
- package/scaffold/svelte/ThemeSwitcher.svelte +315 -0
- package/scaffold/svelte/theme.ts +65 -0
- package/scaffold/svelte/themes.ts +54 -0
- package/scaffold/svelte-app/README.md +9 -2
- package/scaffold/svelte-app/src/app.html +1 -1
- package/scaffold/svelte-app/src/lib/rizzo/Accordion.svelte +128 -0
- package/scaffold/svelte-app/src/lib/rizzo/Alert.svelte +85 -0
- package/scaffold/svelte-app/src/lib/rizzo/Avatar.svelte +39 -0
- package/scaffold/svelte-app/src/lib/rizzo/Badge.svelte +31 -0
- package/scaffold/svelte-app/src/lib/rizzo/Breadcrumb.svelte +49 -0
- package/scaffold/svelte-app/src/lib/rizzo/Button.svelte +27 -0
- package/scaffold/svelte-app/src/lib/rizzo/Card.svelte +17 -0
- package/scaffold/svelte-app/src/lib/rizzo/Checkbox.svelte +37 -0
- package/scaffold/svelte-app/src/lib/rizzo/CopyToClipboard.svelte +79 -0
- package/scaffold/svelte-app/src/lib/rizzo/Divider.svelte +28 -0
- package/scaffold/svelte-app/src/lib/rizzo/Dropdown.svelte +254 -0
- package/scaffold/svelte-app/src/lib/rizzo/FormGroup.svelte +51 -0
- package/scaffold/svelte-app/src/lib/rizzo/Input.svelte +59 -0
- package/scaffold/svelte-app/src/lib/rizzo/Modal.svelte +157 -0
- package/scaffold/svelte-app/src/lib/rizzo/Pagination.svelte +93 -0
- package/scaffold/svelte-app/src/lib/rizzo/ProgressBar.svelte +58 -0
- package/scaffold/svelte-app/src/lib/rizzo/Radio.svelte +38 -0
- package/scaffold/svelte-app/src/lib/rizzo/Select.svelte +51 -0
- package/scaffold/svelte-app/src/lib/rizzo/Spinner.svelte +14 -0
- package/scaffold/svelte-app/src/lib/rizzo/Table.svelte +158 -0
- package/scaffold/svelte-app/src/lib/rizzo/Tabs.svelte +117 -0
- package/scaffold/svelte-app/src/lib/rizzo/Textarea.svelte +59 -0
- package/scaffold/svelte-app/src/lib/rizzo/ThemeSwitcher.svelte +315 -0
- package/scaffold/svelte-app/src/lib/rizzo/Toast.svelte +33 -0
- package/scaffold/svelte-app/src/lib/rizzo/Tooltip.svelte +19 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Check.svelte +29 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/ChevronDown.svelte +29 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Circle.svelte +29 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Close.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Cmd.svelte +27 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Copy.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Eye.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Filter.svelte +29 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Gear.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/IceCream.svelte +31 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Moon.svelte +29 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Owl.svelte +34 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Palette.svelte +33 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Rainbow.svelte +31 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Search.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Snowflake.svelte +34 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/Sort.svelte +30 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Astro.svelte +45 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Bash.svelte +28 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Css3.svelte +23 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Git.svelte +18 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Html5.svelte +21 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Javascript.svelte +19 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Nodejs.svelte +44 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Plaintext.svelte +24 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/React.svelte +21 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/SvelteIcon.svelte +19 -0
- package/scaffold/svelte-app/src/lib/rizzo/icons/devicons/Vue.svelte +20 -0
- package/scaffold/svelte-app/src/lib/rizzo/index.ts +33 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/CodeBlock.svelte +239 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/SvelteDocPage.svelte +99 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/AccordionDoc.svelte +53 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/AlertDoc.svelte +114 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/AvatarDoc.svelte +92 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/BadgeDoc.svelte +60 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/BreadcrumbDoc.svelte +55 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ButtonDoc.svelte +55 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/CardsDoc.svelte +173 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ComingSoon.svelte +12 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ComponentsOverview.svelte +92 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/CopyToClipboardDoc.svelte +26 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/DividerDoc.svelte +105 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/DropdownDoc.svelte +161 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/FormsDoc.svelte +375 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/IconsDoc.svelte +246 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/Index.svelte +8 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ModalDoc.svelte +50 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/NavbarDoc.svelte +79 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/PaginationDoc.svelte +44 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ProgressBarDoc.svelte +95 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/SearchDoc.svelte +147 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/SettingsDoc.svelte +158 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/SpinnerDoc.svelte +41 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/TableDoc.svelte +116 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/TabsDoc.svelte +152 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ThemeSwitcherDoc.svelte +181 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/Theming.svelte +6 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/ToastDoc.svelte +136 -0
- package/scaffold/svelte-app/src/lib/rizzo-docs/pages/TooltipDoc.svelte +57 -0
- package/scaffold/svelte-app/src/routes/+page.svelte +2 -2
- package/scaffold/svelte-app/src/routes/components/+page.svelte +4 -0
- package/scaffold/svelte-app/src/routes/components/[slug]/+page.svelte +7 -0
- package/scaffold/vanilla/README.md +11 -4
- package/scaffold/vanilla/components/accordion.html +193 -0
- package/scaffold/vanilla/components/alert.html +193 -0
- package/scaffold/vanilla/components/avatar.html +193 -0
- package/scaffold/vanilla/components/badge.html +193 -0
- package/scaffold/vanilla/components/breadcrumb.html +193 -0
- package/scaffold/vanilla/components/button.html +193 -0
- package/scaffold/vanilla/components/cards.html +193 -0
- package/scaffold/vanilla/components/copy-to-clipboard.html +193 -0
- package/scaffold/vanilla/components/divider.html +193 -0
- package/scaffold/vanilla/components/dropdown.html +193 -0
- package/scaffold/vanilla/components/forms.html +193 -0
- package/scaffold/vanilla/components/icons.html +193 -0
- package/scaffold/vanilla/components/index.html +218 -0
- package/scaffold/vanilla/components/modal.html +193 -0
- package/scaffold/vanilla/components/navbar.html +193 -0
- package/scaffold/vanilla/components/pagination.html +193 -0
- package/scaffold/vanilla/components/progress-bar.html +193 -0
- package/scaffold/vanilla/components/search.html +193 -0
- package/scaffold/vanilla/components/settings.html +193 -0
- package/scaffold/vanilla/components/spinner.html +193 -0
- package/scaffold/vanilla/components/table.html +193 -0
- package/scaffold/vanilla/components/tabs.html +193 -0
- package/scaffold/vanilla/components/theme-switcher.html +193 -0
- package/scaffold/vanilla/components/toast.html +193 -0
- package/scaffold/vanilla/components/tooltip.html +193 -0
- package/scaffold/vanilla/index.html +22 -6
- package/scaffold/vanilla/js/main.js +4 -3
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsLayout from '../../layouts/DocsLayout.astro';
|
|
3
|
+
import Badge from '../../components/Badge.astro';
|
|
4
|
+
import CodeBlock from '../../components/CodeBlock.astro';
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<DocsLayout title="Badge Component — Astro" description="Small labels and tags for displaying status, categories, or counts">
|
|
8
|
+
|
|
9
|
+
<p class="docs__read-docs">Read the full docs for this component at <a href="https://rizzo-css.vercel.app/docs/components/badge" target="_blank" rel="noopener noreferrer">https://rizzo-css.vercel.app/docs/components/badge</a>.</p>
|
|
10
|
+
|
|
11
|
+
<section>
|
|
12
|
+
<h2>Badge Component</h2>
|
|
13
|
+
<p>Small labels and tags for displaying status, categories, or counts. Badges are inline elements that can be used within text or alongside other components.</p>
|
|
14
|
+
|
|
15
|
+
<h3>Badge Variants</h3>
|
|
16
|
+
<div class="example">
|
|
17
|
+
<div class="example-title">Live Examples</div>
|
|
18
|
+
<div style="display: flex; flex-wrap: wrap; gap: var(--spacing-3); align-items: center;">
|
|
19
|
+
<Badge variant="primary">Primary</Badge>
|
|
20
|
+
<Badge variant="success">Success</Badge>
|
|
21
|
+
<Badge variant="warning">Warning</Badge>
|
|
22
|
+
<Badge variant="error">Error</Badge>
|
|
23
|
+
<Badge variant="info">Info</Badge>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<h3>Badge Sizes</h3>
|
|
28
|
+
<div class="example">
|
|
29
|
+
<div class="example-title">Live Examples</div>
|
|
30
|
+
<div style="display: flex; flex-wrap: wrap; gap: var(--spacing-3); align-items: center;">
|
|
31
|
+
<Badge variant="primary" size="sm">Small</Badge>
|
|
32
|
+
<Badge variant="primary" size="md">Medium</Badge>
|
|
33
|
+
<Badge variant="primary" size="lg">Large</Badge>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<h3>Pill Badges</h3>
|
|
38
|
+
<div class="example">
|
|
39
|
+
<div class="example-title">Live Examples</div>
|
|
40
|
+
<div style="display: flex; flex-wrap: wrap; gap: var(--spacing-3); align-items: center;">
|
|
41
|
+
<Badge variant="primary" pill>Pill Primary</Badge>
|
|
42
|
+
<Badge variant="success" pill>Pill Success</Badge>
|
|
43
|
+
<Badge variant="warning" pill size="sm">Small Pill</Badge>
|
|
44
|
+
<Badge variant="error" pill size="lg">Large Pill</Badge>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<h3>Usage in Context</h3>
|
|
49
|
+
<div class="example">
|
|
50
|
+
<div class="example-title">Live Examples</div>
|
|
51
|
+
<div style="display: flex; flex-direction: column; gap: var(--spacing-4);">
|
|
52
|
+
<p>You have <Badge variant="info">3</Badge> new messages.</p>
|
|
53
|
+
<p>Status: <Badge variant="success" pill>Active</Badge></p>
|
|
54
|
+
<p>Priority: <Badge variant="error" size="sm">High</Badge></p>
|
|
55
|
+
<div style="display: flex; align-items: center; gap: var(--spacing-2);">
|
|
56
|
+
<span>Categories:</span>
|
|
57
|
+
<Badge variant="primary" size="sm">Design</Badge>
|
|
58
|
+
<Badge variant="info" size="sm">Development</Badge>
|
|
59
|
+
<Badge variant="success" size="sm" pill>Completed</Badge>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<p>All badges:</p>
|
|
65
|
+
<ul>
|
|
66
|
+
<li>Use semantic theme variables</li>
|
|
67
|
+
<li>Are inline elements (can be used within text)</li>
|
|
68
|
+
<li>Support multiple variants and sizes</li>
|
|
69
|
+
<li>Have pill/rounded variant option</li>
|
|
70
|
+
<li>Automatically adapt to theme changes</li>
|
|
71
|
+
</ul>
|
|
72
|
+
|
|
73
|
+
<h3>Usage</h3>
|
|
74
|
+
<CodeBlock code={`<!-- Using component -->
|
|
75
|
+
---
|
|
76
|
+
import Badge from '../../components/Badge.astro';
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
<Badge variant="primary">New</Badge>
|
|
80
|
+
<Badge variant="success" size="sm">Active</Badge>
|
|
81
|
+
<Badge variant="error" pill>Urgent</Badge>
|
|
82
|
+
|
|
83
|
+
<!-- Using classes -->
|
|
84
|
+
<span class="badge badge--primary">Primary</span>
|
|
85
|
+
<span class="badge badge--success badge--sm">Small Success</span>
|
|
86
|
+
<span class="badge badge--error badge--lg badge--pill">Large Pill Error</span>`} language="astro" />
|
|
87
|
+
|
|
88
|
+
<h3>Props</h3>
|
|
89
|
+
<ul>
|
|
90
|
+
<li><code>variant</code> (optional) - Badge variant: <code>primary</code>, <code>success</code>, <code>warning</code>, <code>error</code>, <code>info</code> (default: <code>primary</code>)</li>
|
|
91
|
+
<li><code>size</code> (optional) - Badge size: <code>sm</code>, <code>md</code>, <code>lg</code> (default: <code>md</code>)</li>
|
|
92
|
+
<li><code>pill</code> (optional) - Boolean to enable pill/rounded variant (default: <code>false</code>)</li>
|
|
93
|
+
<li><code>class</code> (optional) - Additional CSS classes</li>
|
|
94
|
+
</ul>
|
|
95
|
+
|
|
96
|
+
<h3>Badge Variants</h3>
|
|
97
|
+
<p>Text on solid semantic variants (success, warning, error, info) uses the same contrast variables as buttons (<code>--success-text-on-solid</code>, <code>--warning-text-on-solid</code>, etc.) so badge text stays readable across all themes.</p>
|
|
98
|
+
<ul>
|
|
99
|
+
<li><code>badge--primary</code> - Primary/accent color badge</li>
|
|
100
|
+
<li><code>badge--success</code> - Success/positive badge</li>
|
|
101
|
+
<li><code>badge--warning</code> - Warning badge</li>
|
|
102
|
+
<li><code>badge--error</code> - Error/destructive badge</li>
|
|
103
|
+
<li><code>badge--info</code> - Informational badge</li>
|
|
104
|
+
</ul>
|
|
105
|
+
|
|
106
|
+
<h3>Badge Sizes</h3>
|
|
107
|
+
<ul>
|
|
108
|
+
<li><code>badge--sm</code> - Small badge (extra small font, minimal padding)</li>
|
|
109
|
+
<li><code>badge--md</code> - Medium badge (small font, standard padding) - default</li>
|
|
110
|
+
<li><code>badge--lg</code> - Large badge (base font, larger padding)</li>
|
|
111
|
+
</ul>
|
|
112
|
+
|
|
113
|
+
<h3>Pill Variant</h3>
|
|
114
|
+
<p>Add the <code>badge--pill</code> class or <code>pill</code> prop to create fully rounded badges:</p>
|
|
115
|
+
<CodeBlock code={`<Badge variant="primary" pill>Pill Badge</Badge>
|
|
116
|
+
<span class="badge badge--primary badge--pill">Pill Badge</span>`} language="astro" />
|
|
117
|
+
<p><strong>Svelte & Vanilla:</strong> <a href="/docs/svelte/components/badge">Svelte</a> · Vanilla: same HTML and BEM as in Usage above.</p>
|
|
118
|
+
</section>
|
|
119
|
+
</DocsLayout>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsLayout from '../../layouts/DocsLayout.astro';
|
|
3
|
+
import BreadcrumbComponent from '../../components/Breadcrumb.astro';
|
|
4
|
+
import CodeBlock from '../../components/CodeBlock.astro';
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<DocsLayout title="Breadcrumb Component — Astro" description="Navigation breadcrumbs with separator customization and responsive behavior">
|
|
8
|
+
|
|
9
|
+
<p class="docs__read-docs">Read the full docs for this component at <a href="https://rizzo-css.vercel.app/docs/components/breadcrumb" target="_blank" rel="noopener noreferrer">https://rizzo-css.vercel.app/docs/components/breadcrumb</a>.</p>
|
|
10
|
+
|
|
11
|
+
<section>
|
|
12
|
+
<h2>Breadcrumb Component</h2>
|
|
13
|
+
<p>An accessible breadcrumb navigation component. Supports custom separators (chevron, slash, arrow, or custom character) and responsive truncation on small screens.</p>
|
|
14
|
+
|
|
15
|
+
<h3>Props</h3>
|
|
16
|
+
<ul>
|
|
17
|
+
<li><code>items</code> (array, required) - Array of objects with <code>label</code> and optional <code>href</code>. The last item or any item without <code>href</code> is shown as the current page.</li>
|
|
18
|
+
<li><code>separator</code> (string, optional) - One of <code>'chevron'</code> (default), <code>'slash'</code>, <code>'arrow'</code>, or a custom character (e.g. <code>'>'</code>, <code>'·'</code>)</li>
|
|
19
|
+
<li><code>class</code> (string, optional) - Additional CSS classes</li>
|
|
20
|
+
</ul>
|
|
21
|
+
|
|
22
|
+
<h3>Item Structure</h3>
|
|
23
|
+
<ul>
|
|
24
|
+
<li><code>label</code> (string, required) - Link or current page text</li>
|
|
25
|
+
<li><code>href</code> (string, optional) - URL for the link. Omit for the current page.</li>
|
|
26
|
+
</ul>
|
|
27
|
+
|
|
28
|
+
<h3>Basic Usage (Chevron Separator)</h3>
|
|
29
|
+
<div class="example">
|
|
30
|
+
<div class="example-title">Live Example</div>
|
|
31
|
+
<BreadcrumbComponent
|
|
32
|
+
items={[
|
|
33
|
+
{ label: 'Home', href: '/' },
|
|
34
|
+
{ label: 'Docs', href: '/docs' },
|
|
35
|
+
{ label: 'Components', href: '/docs/components' },
|
|
36
|
+
{ label: 'Breadcrumb' },
|
|
37
|
+
]}
|
|
38
|
+
/>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<CodeBlock code={`---
|
|
42
|
+
import Breadcrumb from '../../components/Breadcrumb.astro';
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
<Breadcrumb
|
|
46
|
+
items={[
|
|
47
|
+
{ label: 'Home', href: '/' },
|
|
48
|
+
{ label: 'Docs', href: '/docs' },
|
|
49
|
+
{ label: 'Components', href: '/docs/components' },
|
|
50
|
+
{ label: 'Breadcrumb' },
|
|
51
|
+
]}
|
|
52
|
+
/>`} language="astro" />
|
|
53
|
+
|
|
54
|
+
<h3>Separator Variants</h3>
|
|
55
|
+
|
|
56
|
+
<h4>Slash</h4>
|
|
57
|
+
<div class="example">
|
|
58
|
+
<div class="example-title">Live Example</div>
|
|
59
|
+
<BreadcrumbComponent
|
|
60
|
+
separator="slash"
|
|
61
|
+
items={[
|
|
62
|
+
{ label: 'Home', href: '/' },
|
|
63
|
+
{ label: 'Docs', href: '/docs' },
|
|
64
|
+
{ label: 'Breadcrumb' },
|
|
65
|
+
]}
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<CodeBlock code={`<Breadcrumb
|
|
70
|
+
separator="slash"
|
|
71
|
+
items={[
|
|
72
|
+
{ label: 'Home', href: '/' },
|
|
73
|
+
{ label: 'Docs', href: '/docs' },
|
|
74
|
+
{ label: 'Breadcrumb' },
|
|
75
|
+
]}
|
|
76
|
+
/>`} language="astro" />
|
|
77
|
+
|
|
78
|
+
<h4>Arrow</h4>
|
|
79
|
+
<div class="example">
|
|
80
|
+
<div class="example-title">Live Example</div>
|
|
81
|
+
<BreadcrumbComponent
|
|
82
|
+
separator="arrow"
|
|
83
|
+
items={[
|
|
84
|
+
{ label: 'Home', href: '/' },
|
|
85
|
+
{ label: 'Getting Started', href: '/docs/getting-started' },
|
|
86
|
+
{ label: 'Installation' },
|
|
87
|
+
]}
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<h4>Custom Character</h4>
|
|
92
|
+
<div class="example">
|
|
93
|
+
<div class="example-title">Live Example</div>
|
|
94
|
+
<BreadcrumbComponent
|
|
95
|
+
separator=">"
|
|
96
|
+
items={[
|
|
97
|
+
{ label: 'Home', href: '/' },
|
|
98
|
+
{ label: 'Blog', href: '/blog' },
|
|
99
|
+
{ label: 'Post Title' },
|
|
100
|
+
]}
|
|
101
|
+
/>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<CodeBlock code={`<Breadcrumb
|
|
105
|
+
separator=">"
|
|
106
|
+
items={[
|
|
107
|
+
{ label: 'Home', href: '/' },
|
|
108
|
+
{ label: 'Blog', href: '/blog' },
|
|
109
|
+
{ label: 'Post Title' },
|
|
110
|
+
]}
|
|
111
|
+
/>`} language="astro" />
|
|
112
|
+
|
|
113
|
+
<h3>Features</h3>
|
|
114
|
+
<ul>
|
|
115
|
+
<li><strong>Semantic markup</strong> - <code><nav aria-label="Breadcrumb"></code> with <code><ol></code> and <code><li></code></li>
|
|
116
|
+
<li><strong>Current page</strong> - Last item or item without <code>href</code> uses <code>aria-current="page"</code> and is not a link</li>
|
|
117
|
+
<li><strong>Separator customization</strong> - Chevron (icon), slash, arrow (›), or any custom character</li>
|
|
118
|
+
<li><strong>Responsive</strong> - On small screens (≤639px), long labels truncate with ellipsis; current page label is not truncated</li>
|
|
119
|
+
<li><strong>Theme-aware</strong> - Uses design system variables for color and spacing</li>
|
|
120
|
+
<li><strong>Accessible</strong> - Focus styles, hover states, and screen reader friendly</li>
|
|
121
|
+
</ul>
|
|
122
|
+
<p><strong>Svelte & Vanilla:</strong> <a href="/docs/svelte/components/breadcrumb">Svelte</a> · Vanilla: same HTML and BEM as in Usage above.</p>
|
|
123
|
+
</section>
|
|
124
|
+
</DocsLayout>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsLayout from '../../layouts/DocsLayout.astro';
|
|
3
|
+
import CodeBlock from '../../components/CodeBlock.astro';
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<DocsLayout title="Button Component — Astro" description="Semantic button component with variants using theme variables">
|
|
7
|
+
|
|
8
|
+
<p class="docs__read-docs">Read the full docs for this component at <a href="https://rizzo-css.vercel.app/docs/components/button" target="_blank" rel="noopener noreferrer">https://rizzo-css.vercel.app/docs/components/button</a>.</p>
|
|
9
|
+
|
|
10
|
+
<section>
|
|
11
|
+
<h2>Button Component</h2>
|
|
12
|
+
<p>Semantic button component with variants using theme variables.</p>
|
|
13
|
+
|
|
14
|
+
<h3>Button Variants</h3>
|
|
15
|
+
<div class="example">
|
|
16
|
+
<div class="example-title">Live Examples</div>
|
|
17
|
+
<div style="display: flex; flex-wrap: wrap; gap: var(--spacing-3);">
|
|
18
|
+
<button class="btn">Default</button>
|
|
19
|
+
<button class="btn btn-primary">Primary</button>
|
|
20
|
+
<button class="btn btn-success">Success</button>
|
|
21
|
+
<button class="btn btn-warning">Warning</button>
|
|
22
|
+
<button class="btn btn-error">Error</button>
|
|
23
|
+
<button class="btn btn-info">Info</button>
|
|
24
|
+
<button class="btn btn-outline">Outline</button>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<p>All buttons:</p>
|
|
29
|
+
<ul>
|
|
30
|
+
<li>Use semantic theme variables</li>
|
|
31
|
+
<li>Have hover and focus states</li>
|
|
32
|
+
<li>Support disabled state</li>
|
|
33
|
+
<li>Are keyboard accessible</li>
|
|
34
|
+
</ul>
|
|
35
|
+
|
|
36
|
+
<h3>Usage</h3>
|
|
37
|
+
<CodeBlock code={`<!-- Using component -->
|
|
38
|
+
---
|
|
39
|
+
import Button from '../../components/Button.astro';
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
<Button>Click me</Button>
|
|
43
|
+
|
|
44
|
+
<!-- Using classes -->
|
|
45
|
+
<button class="btn">Default</button>
|
|
46
|
+
<button class="btn btn-primary">Primary</button>
|
|
47
|
+
<button class="btn btn-success">Success</button>
|
|
48
|
+
<button class="btn btn-warning">Warning</button>
|
|
49
|
+
<button class="btn btn-error">Error</button>
|
|
50
|
+
<button class="btn btn-info">Info</button>
|
|
51
|
+
<button class="btn btn-outline">Outline</button>`} language="astro" />
|
|
52
|
+
|
|
53
|
+
<h3>Button Variants</h3>
|
|
54
|
+
<ul>
|
|
55
|
+
<li><code>btn</code> - Default button style</li>
|
|
56
|
+
<li><code>btn-primary</code> - Primary action button</li>
|
|
57
|
+
<li><code>btn-success</code> - Success/positive action</li>
|
|
58
|
+
<li><code>btn-warning</code> - Warning action</li>
|
|
59
|
+
<li><code>btn-error</code> - Error/destructive action</li>
|
|
60
|
+
<li><code>btn-info</code> - Informational action</li>
|
|
61
|
+
<li><code>btn-outline</code> - Outlined button style</li>
|
|
62
|
+
</ul>
|
|
63
|
+
|
|
64
|
+
<h3>Disabled State</h3>
|
|
65
|
+
<div class="example">
|
|
66
|
+
<div class="example-title">Live Example</div>
|
|
67
|
+
<div style="display: flex; flex-wrap: wrap; gap: var(--spacing-3);">
|
|
68
|
+
<button class="btn" disabled>Disabled Default</button>
|
|
69
|
+
<button class="btn btn-primary" disabled>Disabled Primary</button>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<p><strong>Svelte & Vanilla:</strong> <a href="/docs/svelte/components/button">Svelte</a> · Vanilla: same HTML and BEM as in Usage above.</p>
|
|
73
|
+
</section>
|
|
74
|
+
</DocsLayout>
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsLayout from '../../layouts/DocsLayout.astro';
|
|
3
|
+
import Card from '../../components/Card.astro';
|
|
4
|
+
import Button from '../../components/Button.astro';
|
|
5
|
+
import CodeBlock from '../../components/CodeBlock.astro';
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<DocsLayout title="Card Component — Astro" description="Flexible card component with variants, sections, and image support">
|
|
9
|
+
|
|
10
|
+
<p class="docs__read-docs">Read the full docs for this component at <a href="https://rizzo-css.vercel.app/docs/components/cards" target="_blank" rel="noopener noreferrer">https://rizzo-css.vercel.app/docs/components/cards</a>.</p>
|
|
11
|
+
|
|
12
|
+
<section>
|
|
13
|
+
<h2>Card Component</h2>
|
|
14
|
+
<p>The Card component provides a flexible container for organizing content with variants, sections, and image support.</p>
|
|
15
|
+
</section>
|
|
16
|
+
|
|
17
|
+
<section>
|
|
18
|
+
<h2>Basic Usage</h2>
|
|
19
|
+
<p>The simplest card usage:</p>
|
|
20
|
+
|
|
21
|
+
<div class="example">
|
|
22
|
+
<div class="example-title">Live Example</div>
|
|
23
|
+
<Card>
|
|
24
|
+
<h3>Card Title</h3>
|
|
25
|
+
<p>This is a basic card with default styling. It uses semantic theme variables and adapts to all themes.</p>
|
|
26
|
+
</Card>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<h3>Code Example</h3>
|
|
30
|
+
<CodeBlock code={`---
|
|
31
|
+
import Card from '../../components/Card.astro';
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
<Card>
|
|
35
|
+
<h3>Card Title</h3>
|
|
36
|
+
<p>Card content goes here</p>
|
|
37
|
+
</Card>`} language="astro" />
|
|
38
|
+
</section>
|
|
39
|
+
|
|
40
|
+
<section>
|
|
41
|
+
<h2>Card Variants</h2>
|
|
42
|
+
<p>Cards support four variants for different visual styles:</p>
|
|
43
|
+
|
|
44
|
+
<h3>Default</h3>
|
|
45
|
+
<div class="example">
|
|
46
|
+
<div class="example-title">Live Example</div>
|
|
47
|
+
<Card variant="default">
|
|
48
|
+
<h3>Default Card</h3>
|
|
49
|
+
<p>Standard card with border and background.</p>
|
|
50
|
+
</Card>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<h3>Elevated</h3>
|
|
54
|
+
<div class="example">
|
|
55
|
+
<div class="example-title">Live Example</div>
|
|
56
|
+
<Card variant="elevated">
|
|
57
|
+
<h3>Elevated Card</h3>
|
|
58
|
+
<p>Card with shadow effect. Hover to see it lift up.</p>
|
|
59
|
+
</Card>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<h3>Outlined</h3>
|
|
63
|
+
<div class="example">
|
|
64
|
+
<div class="example-title">Live Example</div>
|
|
65
|
+
<Card variant="outlined">
|
|
66
|
+
<h3>Outlined Card</h3>
|
|
67
|
+
<p>Transparent background with border. Hover to see accent border.</p>
|
|
68
|
+
</Card>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<h3>Filled</h3>
|
|
72
|
+
<div class="example">
|
|
73
|
+
<div class="example-title">Live Example</div>
|
|
74
|
+
<Card variant="filled">
|
|
75
|
+
<h3>Filled Card</h3>
|
|
76
|
+
<p>Uses main background color instead of alt background.</p>
|
|
77
|
+
</Card>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<h3>Code Example</h3>
|
|
81
|
+
<CodeBlock code={`---
|
|
82
|
+
import Card from '../../components/Card.astro';
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
<Card variant="elevated">
|
|
86
|
+
<h3>Elevated Card</h3>
|
|
87
|
+
<p>Content</p>
|
|
88
|
+
</Card>
|
|
89
|
+
|
|
90
|
+
<Card variant="outlined">
|
|
91
|
+
<h3>Outlined Card</h3>
|
|
92
|
+
<p>Content</p>
|
|
93
|
+
</Card>
|
|
94
|
+
|
|
95
|
+
<Card variant="filled">
|
|
96
|
+
<h3>Filled Card</h3>
|
|
97
|
+
<p>Content</p>
|
|
98
|
+
</Card>`} language="astro" />
|
|
99
|
+
</section>
|
|
100
|
+
|
|
101
|
+
<section>
|
|
102
|
+
<h2>Card Sections</h2>
|
|
103
|
+
<p>Use card sections for structured layouts with header, body, and footer:</p>
|
|
104
|
+
|
|
105
|
+
<div class="example">
|
|
106
|
+
<div class="example-title">Live Example</div>
|
|
107
|
+
<Card>
|
|
108
|
+
<div class="card__header">
|
|
109
|
+
<h3 class="card__title">Card Title</h3>
|
|
110
|
+
<p class="card__subtitle">Card subtitle or description</p>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="card__body">
|
|
113
|
+
<p>This is the main content area of the card. It can contain any content you need.</p>
|
|
114
|
+
<p>Multiple paragraphs, lists, or other elements work great here.</p>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="card__footer">
|
|
117
|
+
<button class="btn btn-primary">Action</button>
|
|
118
|
+
<button class="btn btn-outline">Cancel</button>
|
|
119
|
+
</div>
|
|
120
|
+
</Card>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<h3>Code Example</h3>
|
|
124
|
+
<CodeBlock code={`---
|
|
125
|
+
import Card from '../../components/Card.astro';
|
|
126
|
+
import Button from '../../components/Button.astro';
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
<Card>
|
|
130
|
+
<div class="card__header">
|
|
131
|
+
<h3 class="card__title">Card Title</h3>
|
|
132
|
+
<p class="card__subtitle">Subtitle text</p>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="card__body">
|
|
135
|
+
<p>Main content area</p>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="card__footer">
|
|
138
|
+
<Button>Action</Button>
|
|
139
|
+
</div>
|
|
140
|
+
</Card>`} language="astro" />
|
|
141
|
+
|
|
142
|
+
<h3>Section Classes</h3>
|
|
143
|
+
<ul>
|
|
144
|
+
<li><code>card__header</code> - Header section with bottom border</li>
|
|
145
|
+
<li><code>card__body</code> - Main content area (flexible, takes remaining space)</li>
|
|
146
|
+
<li><code>card__footer</code> - Footer section with top border</li>
|
|
147
|
+
<li><code>card__title</code> - Title styling for header</li>
|
|
148
|
+
<li><code>card__subtitle</code> - Subtitle styling for header</li>
|
|
149
|
+
</ul>
|
|
150
|
+
</section>
|
|
151
|
+
|
|
152
|
+
<section>
|
|
153
|
+
<h2>Card with Image</h2>
|
|
154
|
+
<p>Add an image to your card using the <code>card__image</code> class:</p>
|
|
155
|
+
|
|
156
|
+
<div class="example">
|
|
157
|
+
<div class="example-title">Live Example</div>
|
|
158
|
+
<Card variant="elevated">
|
|
159
|
+
<div style="width: 100%; height: var(--spacing-50); background: linear-gradient(135deg, var(--accent), var(--accent-hover)); border-radius: var(--radius-lg) var(--radius-lg) 0 0; margin: calc(-1 * var(--spacing-6)) calc(-1 * var(--spacing-6)) var(--spacing-6) calc(-1 * var(--spacing-6)); display: flex; align-items: center; justify-content: center; color: var(--accent-text); font-weight: var(--font-weight-semibold);">
|
|
160
|
+
Image Placeholder
|
|
161
|
+
</div>
|
|
162
|
+
<div class="card__header">
|
|
163
|
+
<h3 class="card__title">Card with Image</h3>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="card__body">
|
|
166
|
+
<p>This card includes an image at the top. The image automatically adjusts to the card's border radius.</p>
|
|
167
|
+
</div>
|
|
168
|
+
</Card>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
<h3>Code Example</h3>
|
|
172
|
+
<CodeBlock code={`---
|
|
173
|
+
import Card from '../../components/Card.astro';
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
<Card variant="elevated">
|
|
177
|
+
<img src="/path/to/image.jpg" alt="Description" class="card__image" />
|
|
178
|
+
<div class="card__header">
|
|
179
|
+
<h3 class="card__title">Card Title</h3>
|
|
180
|
+
</div>
|
|
181
|
+
<div class="card__body">
|
|
182
|
+
<p>Card content</p>
|
|
183
|
+
</div>
|
|
184
|
+
</Card>`} language="astro" />
|
|
185
|
+
</section>
|
|
186
|
+
|
|
187
|
+
<section>
|
|
188
|
+
<h2>Complete Example</h2>
|
|
189
|
+
<div class="example">
|
|
190
|
+
<div class="example-title">Live Example</div>
|
|
191
|
+
<Card variant="elevated">
|
|
192
|
+
<div style="width: 100%; height: var(--spacing-50); background: linear-gradient(135deg, var(--accent), var(--accent-hover)); border-radius: var(--radius-lg) var(--radius-lg) 0 0; margin: calc(-1 * var(--spacing-6)) calc(-1 * var(--spacing-6)) var(--spacing-6) calc(-1 * var(--spacing-6)); display: flex; align-items: center; justify-content: center; color: var(--accent-text); font-weight: var(--font-weight-semibold);">
|
|
193
|
+
Featured Image
|
|
194
|
+
</div>
|
|
195
|
+
<div class="card__header">
|
|
196
|
+
<h3 class="card__title">Complete Card Example</h3>
|
|
197
|
+
<p class="card__subtitle">With image, header, body, and footer</p>
|
|
198
|
+
</div>
|
|
199
|
+
<div class="card__body">
|
|
200
|
+
<p>This is a complete card example showcasing all features:</p>
|
|
201
|
+
<ul>
|
|
202
|
+
<li>Image at the top</li>
|
|
203
|
+
<li>Structured header with title and subtitle</li>
|
|
204
|
+
<li>Flexible body content</li>
|
|
205
|
+
<li>Footer with actions</li>
|
|
206
|
+
</ul>
|
|
207
|
+
</div>
|
|
208
|
+
<div class="card__footer">
|
|
209
|
+
<button class="btn btn-primary">Primary Action</button>
|
|
210
|
+
<button class="btn btn-outline">Secondary</button>
|
|
211
|
+
</div>
|
|
212
|
+
</Card>
|
|
213
|
+
</div>
|
|
214
|
+
</section>
|
|
215
|
+
|
|
216
|
+
<section>
|
|
217
|
+
<h2>Props</h2>
|
|
218
|
+
<ul>
|
|
219
|
+
<li><code>variant</code> ('default' | 'elevated' | 'outlined' | 'filled', optional) - Card variant style (default: 'default')</li>
|
|
220
|
+
<li><code>class</code> (string, optional) - Additional CSS classes</li>
|
|
221
|
+
</ul>
|
|
222
|
+
</section>
|
|
223
|
+
|
|
224
|
+
<section>
|
|
225
|
+
<h2>Styling</h2>
|
|
226
|
+
<p>All card styles use semantic theme variables and automatically adapt to the selected theme. Card styles are defined in <code>src/styles/layout.css</code>.</p>
|
|
227
|
+
|
|
228
|
+
<h3>Customization</h3>
|
|
229
|
+
<p>You can customize cards using CSS variables or by adding custom classes:</p>
|
|
230
|
+
<CodeBlock code={`.custom-card {
|
|
231
|
+
border-radius: 1rem;
|
|
232
|
+
padding: 2rem;
|
|
233
|
+
}`} language="css" />
|
|
234
|
+
</section>
|
|
235
|
+
|
|
236
|
+
<section>
|
|
237
|
+
<h2>Accessibility</h2>
|
|
238
|
+
<p>Cards are semantic containers and don't require specific ARIA attributes. However, when using cards as interactive elements (like links or buttons), ensure proper accessibility:</p>
|
|
239
|
+
<ul>
|
|
240
|
+
<li>Use semantic HTML (e.g., <code><article></code> for card content)</li>
|
|
241
|
+
<li>Provide proper heading hierarchy</li>
|
|
242
|
+
<li>Include alt text for images</li>
|
|
243
|
+
<li>Ensure keyboard navigation for interactive cards</li>
|
|
244
|
+
</ul>
|
|
245
|
+
<p><strong>Svelte & Vanilla:</strong> <a href="/docs/svelte/components/cards">Svelte</a> · Vanilla: same HTML and BEM as in Usage above.</p>
|
|
246
|
+
</section>
|
|
247
|
+
</DocsLayout>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsLayout from '../../layouts/DocsLayout.astro';
|
|
3
|
+
import CopyToClipboard from '../../components/CopyToClipboard.astro';
|
|
4
|
+
import CodeBlock from '../../components/CodeBlock.astro';
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<DocsLayout title="CopyToClipboard Component — Astro" description="Reusable component for copying text values to the clipboard with visual feedback">
|
|
8
|
+
|
|
9
|
+
<p class="docs__read-docs">Read the full docs for this component at <a href="https://rizzo-css.vercel.app/docs/components/copy-to-clipboard" target="_blank" rel="noopener noreferrer">https://rizzo-css.vercel.app/docs/components/copy-to-clipboard</a>.</p>
|
|
10
|
+
|
|
11
|
+
<section>
|
|
12
|
+
<h2>CopyToClipboard Component</h2>
|
|
13
|
+
<p>A reusable component for copying text values to the clipboard with visual feedback.</p>
|
|
14
|
+
|
|
15
|
+
<div class="example">
|
|
16
|
+
<div class="example-title">Live Example</div>
|
|
17
|
+
<p>Click the button below to copy text:</p>
|
|
18
|
+
<CopyToClipboard id="copy-example-email" value="example@email.com" format="Email" />
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<h3>Usage</h3>
|
|
22
|
+
<CodeBlock code={`---
|
|
23
|
+
import CopyToClipboard from '../../components/CopyToClipboard.astro';
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
<CopyToClipboard id="copy-example-email" value="example@email.com" format="Email" />
|
|
27
|
+
<CopyToClipboard id="copy-css-var" value="var(--accent)" format="CSS Variable" />
|
|
28
|
+
<CopyToClipboard id="copy-hex-color" value="#FF5733" format="Hex" />`} language="astro" />
|
|
29
|
+
|
|
30
|
+
<h3>Props</h3>
|
|
31
|
+
<ul>
|
|
32
|
+
<li><code>value</code> (string, required) - The text value to copy</li>
|
|
33
|
+
<li><code>id</code> (string, optional) - Unique ID for the button. If not provided, a random ID will be generated</li>
|
|
34
|
+
<li><code>label</code> (string, optional) - ARIA label for the button</li>
|
|
35
|
+
<li><code>format</code> (string, optional) - Format name shown in feedback message</li>
|
|
36
|
+
<li><code>class</code> (string, optional) - Additional CSS classes</li>
|
|
37
|
+
</ul>
|
|
38
|
+
|
|
39
|
+
<h3>Features</h3>
|
|
40
|
+
<ul>
|
|
41
|
+
<li>Visual feedback with icon change (copy → checkmark)</li>
|
|
42
|
+
<li>Accessible with ARIA labels and keyboard support</li>
|
|
43
|
+
<li>Fallback for older browsers (document.execCommand)</li>
|
|
44
|
+
<li>Theme-aware styling</li>
|
|
45
|
+
<li>Auto-reset after 2 seconds</li>
|
|
46
|
+
</ul>
|
|
47
|
+
<p><strong>Svelte & Vanilla:</strong> <a href="/docs/svelte/components/copy-to-clipboard">Svelte</a> · Vanilla: same HTML and BEM as in Usage above; add minimal JS for copy.</p>
|
|
48
|
+
</section>
|
|
49
|
+
</DocsLayout>
|