DS
Published-package documentation wired to the real DS runtime so the same routes reveal how tenant and engine reshape identical component contracts.
Rottay / modernPublished package
Premium Docs

Design System Showroom

Primary
#FFFFFF
Rottay
Radius
14px
Surface shape
DensitynormalPlatform Flagship
NavigatorLibrary map
8 sections212 routes
Foundations first, then primitives, patterns, structures, and surfaces. Keep this rail legible enough to scan without hunting.
Foundations4 documented routes
4
Tokens
Themes
109
49
24
36
3
1
2
Runtime fingerprintToken readout from the active provider chain.
Live DS
Runtime
PlatformRottay
Rottay / ModernPlatform Flagship
Primary
#FFFFFFSecondary #A0A0A5
Radius
Compact runtime evidence across 3+ token signals.
Published DS package · Component Layer · Rottay / modernShared route metadata for the active runtime, kept inline so the shell reads like a thin header band.
Palette
#FFFFFFRottay
Chrome
Modernrenderer posture
Radius
14pxsurface shape
Density
normalPlatform Flagship
Reference summaryTabbed content switcherNavigation primitives should orient users immediately and keep mode switching predictable.
How to read this pageUse the showroom switchers in the sidebar to change engine and tenant, then judge this primitive in the live preview before styling around it locally.
At a glanceThe meta cards below are the quickest read on how this primitive behaves across the current runtime.
Tier
PrimitiveThe lowest reusable UI contract.
Category
Engines
Icons
PrimitivesCurrent section
93
Display
Inputs
Feedback
Layout
Patterns49 documented routes
Data
Forms
Visualization
Communication
Feedback
Workflow
Navigation
Commerce
Customization
Identity
Shell
Structures24 documented routes
Headers
Workspace
Shell
Record
Dashboard
Feedback
Surfaces36 documented routes
Admin
Data
Experience
Forms
Operations
Workspace
Verticals3 documented routes
Platform
Bit Hire
Evnto
Playground1 documented routes
Playground
Developers2 documented routes
Developers
14pxxl 18px
Density
normalBorder-light cards
Accent
Badge
roundedtop bar · solid dividers
PrimitivesNavigationTabs

Tabs

Active profilePlatform Flagship
Runtime postureRottay / modern
Primitives reference for Tabs.
Runtime controls
TenantRottay
EngineModern
NavigationThese components carry the sense of place across the entire product.
Best paired with
workspace structuresEscalate to patterns or surfaces when workflow logic starts dominating.
Use it when
changing views
moving across hierarchy
supporting long-running tasks
Review checklist
active states
context persistence
wayfinding
Common pairings
workspace structures
command surfaces
application shells
Live preview

Compare the same primitive across engines

Sidebar controls drive thisTabs
This is the primary runtime verification surface for the component. Engine and tenant changes should land in the rendered DS primitive itself, not in showroom-local wrapper styling.
Preview heuristics
Compare hierarchy, spacing, and interaction feedback before any page-level styling.
The rendered primitive should carry the engine and tenant differences by itself.
If it only looks right inside local wrapper chrome, the primitive or preview needs more work.
Engine comparisonEngine comparisonThe active tenant stays real while the same component is rendered by every engine. The wrapper stays intentionally quiet so engine differences come from the DS itself.
Rottay3 live engines
Consumption

Import and usage

Keep the primitive contract visible. These snippets are meant to help teams consume the base component before they wrap or escalate it.Browse all Navigation
Adoption postureStart with Tabs, not a wrapperImport directly from the design system package, verify the base behavior across 3 engines here, and only wrap when workflow logic starts repeating.
The primitive should stay legible before any page-specific chrome is layered on top.
Usage notes
Import directly from the design system package and keep composition simple first.
Use category-appropriate props before creating wrapper APIs that hide the base contract.
Escalate to patterns or surfaces only when workflow logic clearly outweighs local UI concerns.
API surface

Props

Curated reference for fast browsing. Verify edge-case props against the source until this table is extracted directly from the DS.
Reference scan5 documented props1 required and 4 optional rows are listed here so teams can review the contract without digging through source immediately.
Confirm uncommon edge cases against the component implementation until this table is extracted automatically.
Reference disciplineThe table below is tuned for quick scanning in docs. For unusual composition or engine-specific behavior, treat the DS source as the final authority.
Tabs propsProp contracts stay readable across dark-first and light-first tenants.
5 props1 required4 optional
Required
Optional
Optional
Optional
Optional
Related components

Continue within Navigation

If Tabs is close but not quite right, scan nearby primitives in the same tier before jumping to a heavier surface or pattern abstraction.Browse all Navigation
Next moveStay within Navigation firstCategory siblings usually solve adjacent states while preserving the same primitive contract level and runtime expectations.
Escalate to patterns or surfaces only when the interaction model itself changes.
Also in Navigation3 engines
AffixSticky element that pins on scroll
Peer primitive within the same category set.Open detail
Navigation
Affix
Anchor
Back Top
Breadcrumb
Float Button
Link
Menu
Pagination
Segmented
Stepper
Steps
Tabs
Overlay
Same tenant, isolated engine
ClassicAnt Design
Live provider
NavigationTabs
3 live engines
Live DS output
ModernDaisyUI
Live provider
NavigationTabs
3 live engines
Live DS output
RusticVanilla CSS
Live provider
NavigationTabs
3 live engines
Live DS output
Published entrypoint@rottay/design-systemUse the shared package surface as the default import path for Tabs. It keeps adoption readable and future extraction work straightforward.
Base tier: Navigation
EntrypointKeep imports directReach for the published DS export first so teams can read the contract at a glance.
ImportPublished package entrypoint, ready to copy.
tsx
1 line
Consumption
Runtime-aware snippet
Baseline exampleStart with TabsUse the smallest valid composition first, then layer in product-specific wrappers only when the workflow truly needs them.
UsagePaste-ready example that shows the base contract first.
tsx
6 lines
Consumption
Runtime-aware snippet
Fast readStart with required props, then scan defaults before dropping to per-row details.
Contract postureThis reference stays intentionally concise so the primitive contract remains scannable.
Name
Type
Default
Required
Description
items
Array<{ key: string; label: ReactNode; children: ReactNode }>
none
Tab definitions with labels and rendered panels.
activeKey
string
none
Controlled active tab key.
onChange
(key: string) => void
none
Called when the active tab changes.
className
string
none
Additional class names for product-specific extension points.
style
CSSProperties
none
Inline overrides for advanced composition or one-off layout tweaks.
itemsRequired
Array<{ key: string; label: ReactNode; children: ReactNode }>none
Tab definitions with labels and rendered panels.
activeKeyOptional
stringnone
Controlled active tab key.
onChangeOptional
(key: string) => voidnone
Called when the active tab changes.
classNameOptional
stringnone
Additional class names for product-specific extension points.
styleOptional
CSSPropertiesnone
Inline overrides for advanced composition or one-off layout tweaks.
Also in Navigation3 engines
AnchorIn-page navigation linking to sections
Peer primitive within the same category set.Open detail
Also in Navigation3 engines
BackTopScroll-to-top floating button
Peer primitive within the same category set.Open detail
Also in Navigation3 engines
BreadcrumbHierarchical path navigation trail
Peer primitive within the same category set.Open detail
Tab 1
Tab 2
Tab 3
Content 1
Variant + state gallery
Active item
Overview
Activity
Settings
Overview panel
First active
Overview
Activity
Settings
Activity panel
Second active
Note
Check orientation, active state clarity, and how quickly the interaction teaches itself.
Content 1
Variant + state gallery
Active item
Overview panel
First active
Activity panel
Second active
Note
Check orientation, active state clarity, and how quickly the interaction teaches itself.
Content 1
Variant + state gallery
Active item
Overview panel
First active
Activity panel
Second active
Note
Check orientation, active state clarity, and how quickly the interaction teaches itself.
ImportTSX
Quick copy
import { Tabs } from '@rottay/design-system';
UsageTSX
Quick copy
<Tabs
  items={[
    { key: 'overview', label: 'Overview', children: <OverviewPanel /> },
    { key: 'activity', label: 'Activity', children: <ActivityPanel /> },
  ]}
/>