Component Library
Interactive UI components with brand-specific theming. Switch brands to see how each component adapts.
Buttons
Primary actions, secondary options, and ghost buttons
Primary Buttons
Secondary Buttons
Outline Buttons
Ghost Buttons
View CSS Specifications
.brand-btn-primary {
background: var(--brand-primary);
color: white;
}
.brand-btn-sm { padding: 0.25rem 0.75rem; font-size: 0.75rem; }
.brand-btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; }Data Tables
CSS ReferenceZebra-striped tables with multi-select filters, date ranges, and sorting. For React apps, see the DataTable component →
| Employee | Customer | Date | Hours | Status |
|---|---|---|---|---|
| Sarah Johnson | Minute7 Customers | Dec 5, 2025 | 8.0 | Approved |
| Michael Chen | Minute7 Development | Dec 5, 2025 | 6.5 | Pending |
| Emily Davis | Minute7 Customers | Dec 4, 2025 | 7.5 | Approved |
| James Wilson | Minute7 Development | Dec 4, 2025 | 4.0 | Rejected |
View CSS Specifications
.brand-table tbody tr:nth-child(even) {
background: var(--brand-table-stripe);
}
.brand-table tbody tr:hover {
background: var(--brand-table-hover);
}Filter Components
Reusable filter elements: chips, dropdowns, date pickers, and grouping options
More Filters Panel
Individual Components
Active Filter Chips
Date Range Picker
View CSS Specifications
/* Filter Chip (removable) */
.brand-filter-chip {
display: inline-flex;
align-items: center;
gap: var(--brand-space-2);
padding: var(--brand-space-1) var(--brand-space-3);
background-color: var(--brand-primary-50);
border: 1px solid var(--brand-primary-200);
border-radius: var(--brand-radius-full);
color: var(--brand-primary-700);
}
/* Filter Dropdown Button (active state) */
.brand-filter-dropdown-btn.active {
background-color: var(--brand-primary);
border-color: var(--brand-primary);
color: white;
}Form Elements
Inputs, selects, checkboxes, and validation states
Text Inputs
Please enter a valid email address
Select and Checkboxes
Cards
Feature cards, pricing cards, and info cards
Time Tracking
Track hours in real-time with automatic timers
Expense Reports
Submit and approve expenses with ease
Reports
Get insights into team productivity
Alerts
Informational, success, warning, and error messages
Information
Your timesheet will be automatically submitted at the end of the day.
Success
Your time entry has been saved and synced to QuickBooks.
Warning
You have 3 unapproved timesheets from last week.
Error
Failed to sync with QuickBooks. Please check your connection.
Badges
Status indicators and categorical labels
Status Badges
Typography
Headings, body text, and text utilities
| Style | Typeface | Size | Weight | Line Height | Example |
|---|---|---|---|---|---|
| Heading 1 | Geist Sans | 2.25rem (36px) | 700 (Bold) | 1.2 | Time Tracking |
| Heading 2 | Geist Sans | 1.875rem (30px) | 600 (Semibold) | 1.3 | Features |
| Heading 3 | Geist Sans | 1.5rem (24px) | 600 (Semibold) | 1.4 | Integration |
| Heading 4 | Geist Sans | 1.25rem (20px) | 600 (Semibold) | 1.4 | Details |
| Body | System UI | 1rem (16px) | 400 (Regular) | 1.5 | Regular paragraph text |
| Small | System UI | 0.875rem (14px) | 400 (Regular) | 1.5 | Captions and footnotes |
| Muted | System UI | 0.875rem (14px) | 400 (Regular) | 1.5 | Secondary information |
| Monospace | SF Mono | 0.875rem (14px) | 400 (Regular) | 1.5 | code example |
View CSS Specifications
:root {
/* Font Families */
--brand-font-heading: 'Geist Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--brand-font-body: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--brand-font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
/* Font Weights */
--brand-font-normal: 400;
--brand-font-medium: 500;
--brand-font-semibold: 600;
--brand-font-bold: 700;
/* Font Sizes */
--brand-text-xs: 0.75rem; /* 12px */
--brand-text-sm: 0.875rem; /* 14px */
--brand-text-base: 1rem; /* 16px */
--brand-text-lg: 1.125rem; /* 18px */
--brand-text-xl: 1.25rem; /* 20px */
--brand-text-2xl: 1.5rem; /* 24px */
--brand-text-3xl: 1.875rem; /* 30px */
--brand-text-4xl: 2.25rem; /* 36px */
}Brand Logos & Icons
Official brand assets for each product. Available as icon, logo, and wordmark variants.
LMNTL.AI
PlatformIcon
lmntl-icon.svgLogo
lmntl-logo.svgWordmark
lmntl-wordmark.svgMinute7
Time & ExpenseIcon
minute7-icon.svgLogo
minute7-logo.svgWordmark
minute7-wordmark.svgHour Timesheet
DCAA ComplianceIcon
hour-timesheet-icon.svgLogo
hour-timesheet-logo.svgWordmark
hour-timesheet-wordmark.svgMission Critical SaaS
EnterpriseIcon
mcs-icon.svgLogo
mcs-logo.svgWordmark
mcs-wordmark.svgDownload All Brand Assets
Get the complete logo kit with all variants and formats.
Design Token Reference
Spacing Scale
Border Radius
Shadows
Transitions
Line Heights
Focus Ring
--brand-focus-ring: 0 0 0 3px var(--brand-primary-200)
Download Full CSS
Get the complete brand-tokens.css file with all design tokens and component styles.
Implementation Files
Source files for the brand design system. These files define the core styling tokens and utilities.
| Resource | File | Description |
|---|---|---|
| Brand Tokens | src/styles/brand-tokens.css | CSS custom properties for all brand colors, spacing, and typography |
| Tailwind Config | tailwind.config.mjs | Extended color palette and custom theme configuration |
| Global Styles | src/styles/global.css | Base typography, button styles, and utility classes |
| Glass Effects | src/styles/glass.css | Glassmorphism and frosted glass UI effects |
| Animations | src/styles/animations.css | Keyframe animations and transition utilities |
React Components
NPM PackageFor React applications, use the @mission-critical-saas/brand-system package. It includes fully-typed React components with built-in brand theming.
npm install @mission-critical-saas/brand-systemDataTable
v1.2.0Full-featured data table with sorting, zebra striping, loading states, and row click handlers. Uses LMNTL purple for zebra stripes by default.
Features
- Clickable column headers with sort indicators
- Zebra striping with brand colors
- Loading skeleton state
- Empty state messaging
- Row click handlers with keyboard support
- CVA variants for customization
View Usage Example
import { DataTable, useSortState } from '@mission-critical-saas/brand-system'
import type { Column } from '@mission-critical-saas/brand-system'
interface User {
id: string
name: string
email: string
status: string
}
const columns: Column<User>[] = [
{ key: 'name', header: 'Name', sortable: true },
{ key: 'email', header: 'Email', sortable: true },
{
key: 'status',
header: 'Status',
render: (value) => <StatusBadge status={value} />
},
]
function UsersTable() {
const { sort, handleSort } = useSortState('name', 'asc')
return (
<DataTable
columns={columns}
data={users}
rowKey="id"
sortColumn={sort.column ?? undefined}
sortDirection={sort.direction ?? undefined}
onSortChange={handleSort}
onRowClick={(row) => navigate(`/users/${row.id}`)}
/>
)
}DataTableFiltersAdvanced
v1.2.0Comprehensive filter bar with search, select, date range, and balance filters. Supports multiple layout variants and "clear all" functionality.
Filter Types
Search
Text input with icon
Select
Dropdown with options
Date Range
From/to date pickers
Balance
Min/max number inputs
View Usage Example
import { DataTableFiltersAdvanced, useFilterState } from '@mission-critical-saas/brand-system'
import type { FilterConfig } from '@mission-critical-saas/brand-system'
const filters: FilterConfig[] = [
{ key: 'search', label: 'Search', type: 'search' },
{
key: 'status',
label: 'Status',
type: 'select',
options: [
{ value: 'all', label: 'All Statuses' },
{ value: 'active', label: 'Active' },
{ value: 'inactive', label: 'Inactive' },
],
},
{ key: 'dateRange', label: 'Date Range', type: 'date-range' },
{ key: 'balance', label: 'Balance', type: 'balance' },
]
function FilteredTable() {
const { values, setValue, clearAll } = useFilterState({
search: '',
status: 'all',
dateRange: { from: null, to: null },
balance: { min: null, max: null },
})
return (
<DataTableFiltersAdvanced
filters={filters}
values={values}
onChange={setValue}
onClear={clearAll}
layout="grid"
columns={3}
/>
)
}Additional Components
| Component | Description | Version |
|---|---|---|
| StatusBadge | Status indicators with auto color mapping | v1.2.0 |
| BrandProvider | Context provider for brand theming | v1.0.0 |
| TrustBadges | Configurable trust badge display | v1.0.0 |
| Tooltip | Cursor-following tooltips for charts/tables | v1.2.0 |