Skip to content
API reference

Every class. Every token.

Searchable reference for the Lumora design system contract. 202+ classes, 102+ React props, 41 tokens, and 39 themes.

65 components202 classes102 props41 design tokens39 themes

Theme tokens · 41

Every token is exposed as a CSS variable on [data-lm-theme="…"]. Override per-tenant by setting the data attribute on any ancestor.

TokenCSS variableType
color-bg--lm-color-bgcolor
color-surface--lm-color-surfacecolor
color-surface-raised--lm-color-surface-raisedcolor
color-surface-sunken--lm-color-surface-sunkencolor
color-text--lm-color-textcolor
color-muted--lm-color-mutedcolor
color-border--lm-color-bordercolor
color-border-strong--lm-color-border-strongcolor
color-primary--lm-color-primarycolor
color-primary-fg--lm-color-primary-fgcolor
color-primary-soft--lm-color-primary-softcolor
color-secondary--lm-color-secondarycolor
color-secondary-fg--lm-color-secondary-fgcolor
color-accent--lm-color-accentcolor
color-accent-fg--lm-color-accent-fgcolor
color-success--lm-color-successcolor
color-success-fg--lm-color-success-fgcolor
color-warning--lm-color-warningcolor
color-warning-fg--lm-color-warning-fgcolor
color-danger--lm-color-dangercolor
color-danger-fg--lm-color-danger-fgcolor
color-info--lm-color-infocolor
color-info-fg--lm-color-info-fgcolor
color-overlay--lm-color-overlaycolor
color-focus-ring--lm-color-focus-ringcolor
radius-sm--lm-radius-smradius
radius-md--lm-radius-mdradius
radius-lg--lm-radius-lgradius
radius-xl--lm-radius-xlradius
radius-2xl--lm-radius-2xlradius
shadow-sm--lm-shadow-smshadow
shadow-md--lm-shadow-mdshadow
shadow-lg--lm-shadow-lgshadow
shadow-xl--lm-shadow-xlshadow
shadow-glow--lm-shadow-glowshadow
ease-out--lm-ease-outmotion
ease-spring--lm-ease-springmotion
duration-fast--lm-duration-fastmotion
duration-base--lm-duration-basemotion
duration-slow--lm-duration-slowmotion
density--lm-densityscalar

Built-in themes · 39

Lumora Lightlight
data-lm-theme="lumora-light"
Lumora Darkdark
data-lm-theme="lumora-dark"
Slate Boardroomlight
data-lm-theme="slate-boardroom"
Slate Boardroom Darkdark
data-lm-theme="slate-boardroom-dark"
Cobalt Officelight
data-lm-theme="cobalt-office"
Cobalt Office Darkdark
data-lm-theme="cobalt-office-dark"
Emerald Ledgerlight
data-lm-theme="emerald-ledger"
Emerald Ledger Darkdark
data-lm-theme="emerald-ledger-dark"
Indigo Enterpriselight
data-lm-theme="indigo-enterprise"
Indigo Enterprise Darkdark
data-lm-theme="indigo-enterprise-dark"
Rose Compliancelight
data-lm-theme="rose-compliance"
Rose Compliance Darkdark
data-lm-theme="rose-compliance-dark"
Amber Opslight
data-lm-theme="amber-ops"
Amber Ops Darkdark
data-lm-theme="amber-ops-dark"
Teal Systemslight
data-lm-theme="teal-systems"
Teal Systems Darkdark
data-lm-theme="teal-systems-dark"
Graphite Commandlight
data-lm-theme="graphite-command"
Graphite Command Darkdark
data-lm-theme="graphite-command-dark"
Violet Suitelight
data-lm-theme="violet-suite"
Violet Suite Darkdark
data-lm-theme="violet-suite-dark"
Sky Analyticslight
data-lm-theme="sky-analytics"
Sky Analytics Darkdark
data-lm-theme="sky-analytics-dark"
Neutral Densitylight
data-lm-theme="neutral-density"
Neutral Density Darkdark
data-lm-theme="neutral-density-dark"
Sunsetlight
data-lm-theme="sunset"
Sunset Darkdark
data-lm-theme="sunset-dark"
Mintlight
data-lm-theme="mint"
Mint Darkdark
data-lm-theme="mint-dark"
Berrylight
data-lm-theme="berry"
Berry Darkdark
data-lm-theme="berry-dark"
Oceanlight
data-lm-theme="ocean"
Ocean Darkdark
data-lm-theme="ocean-dark"
Mochalight
data-lm-theme="mocha"
Mocha Darkdark
data-lm-theme="mocha-dark"
Pastellight
data-lm-theme="pastel"
Pastel Darkdark
data-lm-theme="pastel-dark"
Carbondark
data-lm-theme="carbon"
Solarlight
data-lm-theme="solar"
Auroradark
data-lm-theme="aurora-dark"

CSS classes · 202

Every class organized by component category. Click a component for full details.

Action · 3 components
ComponentClassDescription
Buttonlm-btnBase class — required on every button
Buttonlm-btn-{variant}primary | secondary | accent | success | warning | danger | info | outline | ghost | link
Buttonlm-btn-{size}xs | sm | md | lg | xl
Buttonlm-btn-iconSquare icon-only button
Buttonlm-btn-blockFull-width button
Buttonlm-btn-loadingShow inline spinner; pairs with aria-busy
Buttonlm-btn-groupWrapper for adjacent buttons with shared borders
Button grouplm-btn-groupInline-flex wrapper that joins .lm-btn children
Toggle grouplm-toggle-groupWrapper with shared border
Toggle grouplm-toggle-group-itemEach pill; aria-pressed='true' = selected
Form · 14 components
ComponentClassDescription
Inputlm-inputBase input
Inputlm-input-{size}sm | md | lg
Inputlm-input-groupJoined input + addons wrapper
Inputlm-input-addonPrefix or suffix slot
Inputlm-input-{state}success | warning | danger
Textarealm-textareaMulti-line input
Selectlm-selectNative <select> styling
Selectlm-select-{size}sm | md | lg
Checkbox & Radiolm-checkboxNative checkbox
Checkbox & Radiolm-radioNative radio
Checkbox & Radiolm-{control}-{size}sm | md | lg
Switchlm-switchNative checkbox styled as switch
Switchlm-switch-{size}sm | md | lg
Sliderlm-sliderNative range input
Ratinglm-ratingInline-flex container
Ratinglm-rating-starEach star button; aria-checked='true' = filled
OTP / PINlm-otpInline-flex slot wrapper
OTP / PINlm-otp-slotSingle character input
OTP / PINlm-otp-separatorVisual divider between groups
Number inputlm-number-inputWrapper with steppers + input
Tag inputlm-tag-inputWrapper that hosts tags + an inline input
Dropzonelm-dropzoneDashed bordered drop region
Dropzonelm-dropzone-titleBold title
Comboboxlm-comboboxPosition-relative wrapper
Comboboxlm-combobox-listboxFloating options list
Comboboxlm-combobox-optionEach option
Comboboxlm-combobox-option-metaRight-aligned meta text
Calendarlm-calendarWrapper card
Calendarlm-calendar-headerMonth nav row
Calendarlm-calendar-grid7-column day grid
Calendarlm-calendar-dayDay button; data-today, data-outside, data-range
Date pickerlm-datepickerPosition-relative wrapper
Date pickerlm-datepicker-triggerInput-like button
Date pickerlm-datepicker-panelFloating calendar panel
Display · 5 components
ComponentClassDescription
Badgelm-badgeBase pill
Badgelm-badge-{variant}primary | secondary | accent | success | warning | danger | info
Badgelm-badge-softMuted primary tint
Badgelm-badge-outlineTransparent with stronger border
Badgelm-badge-dotAdds a leading colored dot
Badgelm-badge-{size}sm | md | lg
Tag / Chiplm-tagBase chip
Tag / Chiplm-tag-removableAdjusts padding for the remove button
Tag / Chiplm-tag-removeCircular dismiss button
Tag / Chiplm-tag-inputInput field that hosts tags + a typeahead input
Avatarlm-avatarBase circle
Avatarlm-avatar-{size}xs | sm | md | lg | xl
Avatarlm-avatar-groupInline-flex wrapper with overlapping margins
Avatarlm-avatar-stack-moreOverflow chip ('+5')
Avatarlm-avatar-statusBottom-right colored dot
Kbdlm-kbdSingle key indicator
Code & Code blocklm-codeInline code span
Code & Code blocklm-code-blockMulti-line code container
Feedback · 6 components
ComponentClassDescription
Alertlm-alertBase callout
Alertlm-alert-{tone}info | success | warning | danger
Alertlm-alert-titleBold title row
Toastlm-toastBase toast card
Toastlm-toast-{tone}info | success | warning | danger
Toastlm-toast-titleBold title row
Toastlm-toasterFixed bottom-right region for stacking toasts
Bannerlm-bannerBase banner
Bannerlm-banner-{tone}info | success | warning | danger
Progresslm-progressBase track
Progresslm-progress-{size}sm | md | lg
Spinnerlm-spinnerBase spinner
Spinnerlm-spinner-{size}sm | md | lg
Skeletonlm-skeletonBase shimmer block
Skeletonlm-skeleton-text1em high, ideal for line text
Skeletonlm-skeleton-circleRound, for avatars
Layout · 3 components
ComponentClassDescription
Cardlm-cardBase container
Cardlm-card-raisedLarger elevated shadow
Cardlm-card-flatNo shadow
Cardlm-card-glassBackdrop blur surface
Cardlm-card-gradientSoft primary→surface gradient
Cardlm-card-interactiveHover lift + primary border
Cardlm-card-header / -body / -footerPadded slot regions
Cardlm-card-title / -subtitleTypography helpers
App shelllm-app-shellTop-level grid container
App shelllm-app-shell-sidebarTwo-column variant
App shelllm-app-mainInner content region
App shelllm-page-headerTitle + actions row
App shelllm-page-title / -descriptionPage heading typography
Dividerlm-dividerHorizontal line with optional centered text
Dividerlm-divider-vertical1px vertical separator
Navigation · 7 components
ComponentClassDescription
Tabslm-tabsTab list container
Tabslm-tabs-pillsRounded segmented variant
Tabslm-tabEach tab button
Tabslm-tab-{size}sm | md | lg
Segmentedlm-segmentedSunken background container
Segmentedlm-segmented-itemEach option; aria-pressed='true' = active
Stepperlm-stepperOrdered list with auto counter-reset
Stepperlm-stepEach step; aria-current='step' = active
Stepperlm-step-completeRenders ✓ instead of number
Stepperlm-step-markerNumbered/checked circle
Breadcrumbslm-breadcrumbsInline-flex trail
Paginationlm-paginationInline-flex container
Paginationlm-pagination-itemEach page link/button
Paginationlm-pagination-{size}sm | md | lg
Navbarlm-navbarSticky top bar
Navbarlm-navbar-brandLogo + name slot
Sidebarlm-sidebarVertical nav
Sidebarlm-sidebar-sectionUppercase section header
Sidebarlm-sidebar-itemEach link/button
Sidebarlm-sidebar-compactNarrow icon-only variant
Overlay · 8 components
ComponentClassDescription
Modallm-modalBackdrop + grid container
Modallm-modal-panelCentered card
Modallm-modal-{size}sm | md | lg | xl
Modallm-modal-header / -body / -footerSlots
Modallm-modal-titleHeading typography
Drawerlm-drawerSide panel (right by default)
Drawerlm-drawer-leftAnchor to left edge
Drawerlm-drawer-{size}sm | md | lg
Tooltiplm-tooltipInline-flex anchor
Tooltiplm-tooltip-contentFloating content (data-side='top|right|bottom|left')
Popoverlm-popoverAnchor wrapper
Popoverlm-popover-contentFloating card
Popoverlm-popover-arrowPointer arrow
Hover cardlm-hover-cardAnchor wrapper
Hover cardlm-hover-card-contentPreview panel
Dropdownlm-dropdownPosition-relative anchor
Dropdownlm-dropdown-menuFloating menu
Dropdownlm-dropdown-itemEach menu item
Dropdownlm-dropdown-labelSection header
Dropdownlm-dropdown-separator1px divider
Dropdownlm-dropdown-shortcutRight-aligned key hint
Context menulm-context-menuFixed-positioned menu
Context menulm-context-menu-itemEach item
Context menulm-context-menu-item-dangerRed hover
Context menulm-context-menu-shortcutRight-aligned key
Command palettelm-commandOuter card
Command palettelm-command-inputSearch input
Command palettelm-command-listScrollable result list
Command palettelm-command-itemEach row
Command palettelm-command-group-labelSection header
Command palettelm-command-emptyNo-results state
Command palettelm-command-footerKeyboard hint footer
Disclosure · 2 components
ComponentClassDescription
Accordionlm-accordionCard-styled wrapper
Accordionlm-accordion-itemEach section
Accordionlm-accordion-triggerHeader button (rotates ›)
Accordionlm-accordion-contentCollapsible body
Treelm-treeRoot <ul>
Treelm-tree-itemEach row; aria-selected for active
Data · 9 components
ComponentClassDescription
Tablelm-tableNative <table>
Tablelm-table-stripedZebra rows
Tablelm-table-compactSmaller padding
Tablelm-table-spaciousLarger padding
Tablelm-table-toolbarTitle + actions row
Tablelm-table-sortHeader sort button (aria-sort)
Statlm-statTile
Statlm-stat-gridAuto-fit grid
Statlm-stat-label / -value / -trendSlot typography
Statlm-stat-trend-up / -downSemantic green/red
Sparklinelm-sparkline<svg> wrapper sized to inherit currentColor
Sparklinelm-sparkline-lineStroked line path
Sparklinelm-sparkline-areaFilled area path
Description listlm-description-listTwo-column dl
Activity feedlm-activity-feed<ul> root
Activity feedlm-activity-itemEach row
Activity feedlm-activity-contentText region
Activity feedlm-activity-metaTimestamp text
Timelinelm-timeline<ul> root
Timelinelm-timeline-itemEach event row
Timelinelm-timeline-dotGlowing event marker
Difflm-diffBordered container
Difflm-diff-lineSingle line row
Difflm-diff-line-addGreen + line
Difflm-diff-line-removeRed − line
Difflm-diff-line-meta@ context line
Inboxlm-inboxOuter card
Inboxlm-inbox-headerTitle row
Inboxlm-inbox-listScroll region
Inboxlm-inbox-itemEach notification
Empty statelm-empty-stateDashed-border centered region
Empty statelm-empty-state-titleBold title
Media · 5 components
ComponentClassDescription
Carousellm-carouselWrapper
Carousellm-carousel-trackScroll-snap row
Carousellm-carousel-itemEach slide
Carousellm-carousel-dots / -dotActive-indicator pills
Split panelm-splitGrid wrapper
Split panelm-split-verticalStack vertically
Split panelm-split-handleDrag handle
Chatlm-chatList wrapper
Chatlm-chat-messageSingle message row
Chatlm-chat-message-selfRight-aligned (own message)
Chatlm-chat-bubbleSpeech bubble
Chatlm-chat-metaTimestamp + author line
Mentionlm-mention@user chip with primary tint
Rich text toolbarlm-rt-toolbarWrapper bar
Rich text toolbarlm-rt-buttonEach formatting button
Rich text toolbarlm-rt-divider1px vertical divider
Pattern · 3 components
ComponentClassDescription
Command barlm-command-barTitle + actions toolbar
Filter barlm-filter-barAuto-fit input grid
Bulk action barlm-bulk-barPrimary-tinted action ribbon

React props · 102

ComponentPropTypeDefault
ButtonvariantVariantdefault
ButtonsizeSizemd
Buttonloadingbooleanfalse
Buttonpressedboolean
ButtoniconOnlyboolean
Buttonblockboolean
ButtonasElementTypebutton
Button grouporientationhorizontal | verticalhorizontal
Toggle groupvaluestring
Toggle grouponValueChange(value: string) => void
BadgevariantVariantdefault
Badgetonesolid | soft | outlinesolid
Badgedotboolean
Tag / Chipremovableboolean
Tag / ChiponRemove() => void
AvatarsizeSizemd
Avatarsrcstring
Avataraltstring
Avatarfallbackstring
AlerttoneToneinfo
Alerttitlestring
AlerticonReactNode
ToasttoneToneinfo
Toastdurationnumber5000
BannertoneToneinfo
Progressvaluenumber
Progressmaxnumber100
SpinnersizeSizemd
Cardvariantdefault | raised | flat | glass | gradient
Cardinteractiveboolean
Dividerorientationhorizontal | verticalhorizontal
InputsizeSizemd
Inputstatedefault | success | warning | danger
InputaddonStart / addonEndReactNode
Textarearowsnumber3
Textarearesizevertical | nonevertical
SelectsizeSizemd
Checkbox & RadiosizeSizemd
SwitchsizeSizemd
Sliderminnumber
Slidermaxnumber
Sliderstepnumber
Slidervaluenumber
Ratingvaluenumber
Ratingmaxnumber5
OTP / PINlengthnumber6
OTP / PINgroupsnumber[]
Number inputvaluenumber
Number inputmin / max / stepnumber
Tag inputvaluestring[]
Tag inputonValueChange(values: string[]) => void
Dropzoneacceptstring
DropzonemaxSizenumber
Dropzonemultipleboolean
ComboboxoptionsOption[]
Comboboxvaluestring
ComboboxonValueChange(value: string) => void
CalendarvalueDate | DateRange
Calendarmodesingle | range | multiplesingle
Date pickervalueDate | DateRange
Date pickermodesingle | range
Tabsvaluestring
TabssizeSizemd
Segmentedvaluestring
Steppercurrentnumber
Stepperorientationhorizontal | vertical
Paginationpagenumber
Paginationtotalnumber
PaginationsizeSize
Sidebarcompactboolean
Modalopenboolean
Modalsizesm | md | lg | xl
ModalonOpenChange(open: boolean) => void
Drawersideleft | right
Drawersizesm | md | lg
Tooltipsidetop | right | bottom | lefttop
Tooltipdelaynumber300
Popoversidetop | right | bottom | left
Popoveralignstart | center | end
Hover cardopenDelaynumber700
Hover cardcloseDelaynumber300
Dropdownsidetop | right | bottom | left
Dropdownalignstart | center | end
Context menuanchor{x: number; y: number}
Command paletteopenboolean
Command paletteshortcutstringcmd+k
Accordiontypesingle | multiplesingle
AccordiondefaultValuestring | string[]
TreedataTreeNode[]
Tablestripedboolean
Tabledensitycompact | comfortable | spacious
Statlabelstring
Statvaluestring | number
Stattrend{ direction: 'up' | 'down'; label: string }
Sparklinedatanumber[]
Sparklinecolorstring
InboxitemsNotification[]
Carouselautoplayboolean
Carouselintervalnumber
Split panesizes[number, number]
Split paneminSizenumber
Bulk action barcountnumber