Cards
Four card variants. All support hover lift, focus rings, and work in both themes.
Default
Gradient surface, lift on hover.
Glass
Frosted translucent backdrop.
Accent
Teal glow & gradient border.
Outline
Transparent, border only.
<div class="v-card">Default card content</div>
<div class="v-card v-card-glass">Glass card</div>
<div class="v-card v-card-accent">Accent card</div>
<div class="v-card v-card-outline">Outline card</div>
Badges
Small status indicators with semantic colour variants and optional leading dot.
<span class="v-badge">Default</span>
<span class="v-badge v-badge-success">Success</span>
<span class="v-badge v-badge-warning">Warning</span>
<span class="v-badge v-badge-danger">Danger</span>
<span class="v-badge v-badge-info">Info</span>
<span class="v-badge v-badge-dot">With dot</span>
Alerts
Left-bordered notification banners with icon, title and body text.
<div class="v-alert v-alert-success">
<i class="fa-solid fa-circle-check v-alert-icon"></i>
<div>
<div class="v-alert-title">Success</div>
<div class="v-alert-body">Your changes were saved.</div>
</div>
</div>
Modals
Bootstrap 5 modals with Vectra styling. Works in dark and light themes. Uses data-bs-toggle — no extra JS needed.
<!-- Trigger -->
<button class="v-btn v-btn-primary"
data-bs-toggle="modal"
data-bs-target="#myModal">Open</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Title</h5>
<button type="button" class="btn-close"
data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">Your content here.</div>
<div class="modal-footer">
<button class="v-btn v-btn-neutral v-btn-sm"
data-bs-dismiss="modal">Close</button>
<button class="v-btn v-btn-primary v-btn-sm">Save</button>
</div>
</div>
</div>
</div>
Tabs
Standard underline tabs and pill tabs. Driven by Bootstrap's tab plugin.
Accordion
Bootstrap accordion with Vectra card styling. Use accordion-flush for a bordered variant.
Tables
Responsive table with uppercase headers, row hover, and optional status badges.
| Name | Role | Status | Joined |
|---|---|---|---|
| Alice Johnson | Designer | Active | Jan 2024 |
| Bob Williams | Developer | Active | Mar 2024 |
| Carol Davis | Manager | Pending | Jun 2024 |
| David Brown | Analyst | Inactive | Sep 2023 |
Progress Bars
Semantic colour variants and three height sizes.
Spinners & Loaders
Ring spinner in three sizes and a bouncing dots variant.
<div class="v-spinner"></div>
<div class="v-spinner v-spinner-sm"></div>
<div class="v-spinner v-spinner-lg"></div>
<div class="v-dots-spinner"><span></span><span></span><span></span></div>
Pagination
Page navigation with active, hover, and disabled states.
Timeline
Vertical event timeline with accent-coloured connector and dot markers.
Project Kickoff
Initial planning and design tokens defined.
v1.0 Released
First stable release with 20 components and dark theme.
v2.0 — Pro Edition
Full rebuild. Working scroll spy, 30+ components, light theme.
Steps
Auto-numbered step cards. Mark steps active or done.
Code Blocks
Syntax-highlighted code with a copy button. Language label in header. Inline code also styled.
// Toggle theme with one line
document.documentElement.setAttribute('data-theme', 'light');
/* Override the accent colour */
:root {
--v-accent: #7c3aed; /* Purple */
}
Tooltips & Popovers
Bootstrap tooltips and popovers, auto-initialised by Vectra JS.
Testimonial Slider
Touch-enabled slider with dot navigation. Pass data-autoplay="4000" for auto-advance.
Pricing Cards
Pricing layout with included/excluded features and a featured highlight state.
Starter
Perfect for side projects.
Pro
For teams and professionals.
Enterprise
Scale with confidence.
Stat Cards
Animated number counters triggered on scroll via data-counter.
File Upload Drop Zone
Draggable upload zone with filename display on selection.
Floating Action Button
Expandable FAB group. Toggle child actions with data-fab-toggle.
<div class="v-fab-group">
<!-- Mini action buttons (hidden by default) -->
<button class="v-fab-mini" title="Share">
<i class="fa-solid fa-share-nodes"></i>
</button>
<button class="v-fab-mini" title="Edit">
<i class="fa-solid fa-pen"></i>
</button>
<!-- Main FAB button -->
<button class="v-fab" data-fab-toggle aria-label="Actions">
<i class="fa-solid fa-plus"></i>
</button>
</div>
Offcanvas Panel
Bootstrap offcanvas with Vectra styling. Opens from start, end, top, or bottom.
<button data-bs-toggle="offcanvas"
data-bs-target="#myPanel">Open</button>
<div class="offcanvas offcanvas-end" id="myPanel"
tabindex="-1"
aria-labelledby="myPanelLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="myPanelLabel">Panel</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
Content here.
</div>
</div>