Skip to content

Components

Lexicon components are token-driven, accessible, and framework-aware. Every component consumes design tokens through CSS custom properties, ships with full TypeScript types, and renders valid, semantic HTML.

Primitives

ComponentDescriptionKey features
ButtonPrimary action trigger4 variants, 3 sizes, loading state, icon slots
Icon ButtonIcon-only square button4 variants, 3 sizes, compact toolbar use
FABFloating action buttonCircular, elevated, extended variant
Button GroupConnected button rowSegmented control, active state
Link ButtonLink-styled buttonUnderline on hover, trailing icon
Split ButtonAction + dropdown triggerPrimary action with alternatives
InputText entry fieldLabel, helper, error, success, icon slots
TextareaMulti-line text inputCharacter counter, resize, error state
SelectNative dropdownCustom chevron, 3 sizes, error state
CheckboxToggle optionChecked, indeterminate, groups
RadioExclusive choiceGroups, error state
SliderRange inputTrack, thumb, value label
Search InputSearch fieldSearch icon, clear button
Number InputNumeric stepperIncrement/decrement buttons, min/max
File UploadFile selectorDrag-and-drop, file preview
CardContent container3 variants, sub-components, clickable mode
BadgeStatus indicator5 variants, dot mode, removable
TableTabular dataCompound pattern, striped, density, sticky header
ModalDialog overlayFocus trap, escape dismiss, 4 sizes
TooltipContextual hint4 positions, configurable delay
AvatarUser representationImage, initials, fallback, status, groups
TabsContent sections3 variants, keyboard navigation
ToggleOn/off switchSwitch role, label position, 2 sizes
BreadcrumbsPage trailChevron/slash separators, truncation
MenuDropdown menuIcons, shortcuts, dividers, destructive
Sidebar NavVertical navigationSections, badges, active state, icons
PaginationPage controlsPrev/next, ellipsis, active page
StepperMulti-step indicatorHorizontal/vertical, completed/active/upcoming
Bottom NavMobile nav bar3–5 items, icon + label
AlertInline message5 variants, dismiss, icon + title + description
BannerFull-width notice5 variants, action link, dismiss
ToastFloating notification4 variants, auto-dismiss, stacking
Empty StateNo-data placeholderIcon, heading, description, CTA
SpinnerLoading indicator3 sizes, 4 colour variants
Progress BarHorizontal progress4 colours, 3 sizes, indeterminate
Progress RingCircular progressPercentage label, indeterminate
SkeletonContent placeholderShimmer animation, 5 shapes
Status IndicatorPresence dotOnline, away, busy, offline
ListStructured vertical listIcons, secondary text, actions, bordered
AccordionCollapsible sectionsSingle/multiple mode, keyboard nav
Tag / ChipCategory label5 variants, rounded, removable, avatar
Stat BlockMetric displayValue, label, trend indicator, card mode
Key-Value PairLabelled data rowsStriped, horizontal layout
TimelineChronological eventsCompleted, active, pending dots
DrawerSlide-in panelLeft, right, bottom positions
PopoverFloating content panelClick/hover trigger, 4 positions
Context MenuRight-click menuIcons, shortcuts, dividers, sub-menus
Dropdown MenuTrigger + action listToolbar actions, more-options pattern
Command PaletteSearch-driven commands⌘K activation, grouped, keyboard nav
DividerContent separatorHorizontal, vertical, with text label
GridColumn layout12/8/4-column, responsive breakpoints
StackFlex spacingVertical, horizontal, configurable gap
ContainerMax-width wrapperNarrow, standard, wide, full

Data Visualisation

ComponentDescriptionKey features
Line ChartMulti-series trend linesAxes, grid, dots, tooltip, legend
Bar ChartVertical bar comparisonSingle, grouped, stacked variants
Area ChartFilled trend areaGradient fill, multi-series
Pie / Donut ChartProportional segmentsCentre label, legend, hover
SparklineInline mini chartLine, area, bar variants
LegendSeries colour mapHorizontal, vertical, toggleable
Chart TooltipHover data cardMulti-series rows, themed surface

Chart colour palette

SeriesLight modeDark mode
1 — Primary#7C3AED (purple)#A78BFA
2 — Secondary#0D9488 (teal)#5EEAD4
3 — Tertiary#EA580C (coral)#FB923C
4 — Fourth#DB2777 (pink)#F472B6
5 — Fifth#2563EB (blue)#60A5FA

Usage patterns

React

tsx
import { Button, Card, Badge } from '@thepace/lexicon/components';

Vanilla HTML

Every component has a corresponding CSS class prefixed with lex-:

html
<button class="lex-button lex-button--primary lex-button--md">Save</button>
<div class="lex-card lex-card--elevated">Content</div>
<span class="lex-badge lex-badge--success">Active</span>

Customisation

Override component tokens to restyle without touching markup:

css
:root {
  --button-primary-bg: #2563EB;
  --button-primary-bg-hover: #1D4ED8;
  --card-default-radius: 20px;
}

Pro components

Looking for DataTable, Charts, Dashboard layouts, and more? See Pro components for advanced primitives available with a Pro licence.

Released under the MIT License. A product by the pace.