NV Elements Catalog Starters Repo System Themes About Getting Started Changelog Metrics Support Accessibility Contributions Requests Migration Integrations Installation MCP CLI Lint Angular Bundles Extensions Golang 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 Format Datetime Format Number Format Relative Time 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 Navigation 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

Migration Guide

This guide covers migrating from the internal @nve/* packages to the new open source @nvidia-elements/* packages.

Overview

The Elements Design System is now hosted and developed in a public GitHub repository. Packages are now published to the public npm registry under the @nvidia-elements scope. The component APIs, tag names, and theming system remain the same. The primary changes are package names, import paths, and registry configuration.

Internal Package New Package
@nve/elements @nvidia-elements/core
@nve/styles @nvidia-elements/styles
@nve/themes @nvidia-elements/themes
@nve/monaco @nvidia-elements/monaco
@nve-labs/forms @nvidia-elements/forms
@nve-labs/cli @nvidia-elements/cli
@nve-labs/code @nvidia-elements/code
@nve-labs/create @nvidia-elements/create
@nve-labs/markdown @nvidia-elements/markdown
@nve-labs/media @nvidia-elements/media
@nve-labs/lint @nvidia-elements/lint

Migration Steps

1. Update Registry Configuration

The @nvidia-elements packages are on the public npm registry and require no special registry configuration. Internal teams should continue to use Artifactory regardless of which package scope. Artifactory proxies the public npm registry automatically.

2. Update Dependencies

In your package.json, replace the old scope names with the new ones:


    

The 0.x versions of the new packages contain the same non-deprecated components as the latest internal releases. Version numbers reset as part of the migration to public npm. A stable 1.0 release follows later.

3. Update Source Imports

Replace import paths throughout your source code:


    

    

Deprecations & Removals

The following are the active deprecations. Each next major release removes the prior deprecations. Read more about the versioning and deprecation cycle policy.

Logo removed

The nve-logo component no longer includes the NVIDIA SVG logo; consumers must provide their own SVG as child content in the default slot.

Before After

    

    

Popover Behavior Triggers deprecated

Before native HTML popovers, popovers required behaviorTrigger or behavior-trigger for stateful popovers. The native HTML popover API replaces this approach.

Before After

    

    

Layout Full deprecated

The grow property now uses full instead to avoid confusion with flexbox grow behavior.

Before After

    

    

Typography "eyebrow" deprecated

The typography eyebrow utility no longer exists, to align with the standardized semantic names and size options available.

Before After

    

    

@nve/testing removed

The custom test utilities are no longer supported in the public scope.

Scoped Tags removed

Avoid @nve/elements/scoped. Instead, consuming applications define their own tag name and leverage the @lit-labs/scoped-registry-mixin package directly.

Maglev - CSS Entrypoints removed

Before After

    

    

Maglev - CSS Prefix removed

Update any CSS Custom property usage

Before After

    

    

Maglev - Attribute Prefix removed

Update style utility attributes

Before After

    

    

Maglev - HTML Prefix removed

Update HTML elements

Before After

    

    

Maglev - App Header removed

nve-page-header replaces the early Maglev scoped package mlv-app-header.

Before After

    

    

Maglev - Alert Banner removed

The alert banner component no longer exists. Use nve-alert-group with the prominence="emphasis" option.

Before After

    

    

Maglev - JSON Viewer removed

The JSON viewer element is an internal API. You can access this API via the public exports but should avoid using it. Use nve-codeblock or nve-monaco-input for JSON content rendering.

Maglev - Icon Names removed

The following icons now use new names:

before after
chevron-right chevron
chevron-down chevron
chevron-left chevron
additional-actions more-actions
analytics pie-chart
annotation transparent-box
app-switcher switch-apps
assist chat-bubble
checkmark check
date calendar
docs book
expand-full-screen maximize
expand-panel arrow-stop
collapse-panel arrow-stop
failed x-circle
favorite-filled star
favorite-outline star-stroke
information information-circle-stroke
maintenance wrench
navigate-to arrow
open-external-link arrow-angle
location map-pin
pinned-1 pin
project folder
settings gear
user person
video-pause pause
video-play play
video-stop stop
visible eye
warning exclamation-triangle

Maglev - Icon Button Name Directions removed

With the deprecation of directional icons the icon button now requires a explicit direction.

Before After