nteract elements

nteract elements

React components for building notebook interfaces

Welcome to nteract elements

A design system for building notebook interfaces with React.

Edit the code above and click [▶]: to see it render.

React components for notebook interfaces. Use shadcn/ui patterns — copy into your repo and customize freely.

What's Available

Used By

Powers runt — a desktop notebook editor built with Tauri.

Why nteract elements?

Pure React Architecture

No Backbone.js, no JupyterLab dependencies. State management uses useSyncExternalStore for concurrent-safe React 18/19 support. Fine-grained subscriptions prevent unnecessary re-renders.

shadcn/ui Patterns

Components copy into your repo. Override any component. Theme with Tailwind CSS variables. Works with your existing design system.

Full Widget Support

50+ built-in controls covering sliders, buttons, dropdowns, progress bars, date pickers, file uploads, layout containers, and more. Plus full anywidget ESM support for custom widgets.

Loading widgets...
Traditional Jupyternteract elements
Backbone.js modelsPure React with useSyncExternalStore
JupyterLab stylingshadcn/ui primitives (fully customizable)
Monolithic managerModular: pick only what you need

Explore all widgets →

Installation

Add nteract to your shadcn registry:

pnpm dlx shadcn@latest registry add @nteract

This configures your components.json with the @nteract registry. Then install any component:

npx shadcn@latest add @nteract/media-router
npx shadcn@latest add @nteract/cell-container

Direct URL

Install directly without registry configuration:

npx shadcn@latest add https://nteract-elements.vercel.app/r/media-router.json

Output Renderers

Work in Progress — We're bringing the nteract components out of hibernation and into the future with shadcn. More components coming soon!

On this page