NV Elements Catalog Starters Repo System Themes About Getting Started Changelog Metrics Support Accessibility Contributions Requests Migration Deprecations Integrations Installation MCP CLI Lint Angular Bundles Extensions Go Hugo Import Maps Lit NextJS Nuxt Preact React SolidJS Svelte TypeScript Vue Foundations Typography Iconography Themes Design Tokens Size & Space Objects Interactions Support Status Color Animation Fonts Layers Custom Layout Horizontal Vertical Grid Popovers i18n Visualization View Transitions Elements Accordion Alert Avatar Badge Breadcrumb Button Button Group Card Chat Message Checkbox Color Combobox Copy Button Datagrid Integrations Column Action Column Alignment Column Fixed Column width Container Card Display Settings Footer Heatmap Keynav Multi Select Pagination Panel Detail Panel Grid Performance Placeholder Row Action Row Groups Row Sort Scroll Height Single Select Stripe Date Datetime Dialog Divider Dot Drawer Dropdown Dropdown Group Dropzone File Forms Validation Actions Control Icon Icon Button Input Input Group Logo Menu Month Notification Page Page Header Page Loader Pagination Panel Progressive Filter Chip Progress Bar Progress Ring Password Preferences Input Pulse Radio Range Resize Handle Search Select Skeleton Sort Button Sparkline Star Rating Steps Switch Tabs Tag Textarea Time Toast Toggletip Toolbar Tooltip Tree Week Patterns Authentication Browse Dashboard Editor Empty States Heatmap Keyboard Shortcut Logging Media Onboarding Panel Responsive Search Subheader Trend Code Codeblock Monaco Input Diff Input Editor Diff Editor Problems Markdown Markdown CSS Utility Labs Responsive Layout Viewport Container Patterns Forms API Design Properties & Attributes Slots Registration CustomEvents Stateless Composition Styles Packaging Glossary Logs Internal Guidelines Agent Harness Documentation Examples TypeScript Testing Unit Testing Accessibility Testing Lighthouse Testing SSR Testing Visual Testing Troubleshooting Component Creation Internal Examples All Examples

Layers

Layers define the position of an element on the z-axis in the UI. Layer types are categories of elements that build up to higher layers as they stack or nest. Read more about the popover explainer.

The layers in order of stacking are the following:

  • canvas - body, document
  • container - cards, steps, tabs
  • overlay - modals, drawers, dropdowns (menus, filters, combobox)
  • popover - tooltips, toasts, notifications

Theme layer object reference showing semantic backgrounds for canvas, container, overlay, and popover.

canvas

  • document
  • body

container

  • cards
  • steps
  • tabs

overlay/backdrop

  • modals
  • drawers
  • dropdown menus

popover

  • tooltips
  • toasts
  • notifications

Theme layer stacking (canvas, container, overlay, popover) in light and dark modes.

Layer Tokens

Canvas

Token Value Description Demo
--nve-sys-layer-canvas-background --nve-ref-color-neutral-300 Use for page body background, the base surface in the layer hierarchy
--nve-sys-layer-canvas-accent-background --nve-ref-color-neutral-400 Use for subtle accent backgrounds on the page body
--nve-sys-layer-canvas-color --nve-sys-text-color Use for text color on the page body background

Shell

Token Value Description Demo
--nve-sys-layer-shell-background --nve-ref-color-scheme-base Use for application shell or navigation bar backgrounds
--nve-sys-layer-shell-accent-background --nve-ref-color-neutral-100 Use for subtle accent backgrounds on the application shell
--nve-sys-layer-shell-color --nve-sys-text-color Use for text color on the application shell

Container

Token Value Description Demo
--nve-sys-layer-container-background --nve-ref-color-white Use for card, panel, and tab container backgrounds
--nve-sys-layer-container-accent-background --nve-ref-color-neutral-100 Use for subtle accent backgrounds within containers
--nve-sys-layer-container-color --nve-sys-text-color Use for text color on container surfaces

Overlay

Token Value Description Demo
--nve-sys-layer-overlay-background --nve-ref-color-white Use for modal, drawer, and dropdown menu backgrounds
--nve-sys-layer-overlay-accent-background --nve-ref-color-neutral-100 Use for subtle accent backgrounds within overlays
--nve-sys-layer-overlay-color --nve-sys-text-color Use for text color on overlay surfaces

Popover

Token Value Description Demo
--nve-sys-layer-popover-background --nve-ref-color-neutral-1200 Use for tooltip, toast, and notification backgrounds
--nve-sys-layer-popover-color --nve-sys-text-white-color Use for text color on popover surfaces
--nve-sys-layer-popover-accent-background --nve-ref-color-neutral-1100 Use for subtle accent backgrounds within popovers
--nve-sys-layer-popover-offset --nve-ref-size-50 Use for spacing between popover and its anchor element
--nve-sys-layer-popover-arrow-offset --nve-ref-size-100 Use for positioning popover arrow indicators
--nve-sys-layer-popover-arrow-padding --nve-ref-size-150 Use for padding around popover arrow indicators