@embeddr/react-ui
v0.2.0-alpha.2
Published
<div align="center"><a name="readme-top"></a>
Readme
[!WARNING]
You do not need this if you want to use Embeddr
This repo is for development only.
Please use embeddr-cli
This package lives strictly in the UI layer and communicates with the backend only through stable client contracts.
Currently used by
Embeddr Zen UI / frontend distribution
https://github.com/embeddr-net/embeddr-frontendEmbeddr ComfyUI embedded client
https://github.com/embeddr-net/embeddr-comfyui
Plugin developer docs
- https://docs.embeddr.net
- Plugin-focused docs and examples should live under the docs site as they are published.
Components
This library includes:
Public import paths
Use explicit subpath imports for clear boundaries:
@embeddr/react-ui/components/uifor base UI primitives and composed controls@embeddr/react-ui/components/embeddrfor Embeddr-specific media components@embeddr/react-ui/components/visualizationfor UMAP and visualization components@embeddr/react-ui/hooksfor plugin and UI hooks@embeddr/react-ui/hooks/pluginfor plugin-oriented hooks@embeddr/react-ui/hooks/distrofor shell/distro-oriented hooks@embeddr/react-ui/typesfor shared API and domain types@embeddr/react-ui/contextfor provider context hooks@embeddr/react-ui/lib/*for utility modules (utils,dnd,reactive,renderables,artifact-graph,mdx)
Quick import examples
import { Button, Card, ScrollArea } from "@embeddr/react-ui/components/ui";
import { EmbeddrImage, VideoPlayer } from "@embeddr/react-ui/components/embeddr";
import { Umap3DExplorer } from "@embeddr/react-ui/components/visualization";
import { usePluginDrop, usePluginStorage } from "@embeddr/react-ui/hooks";
import { usePluginAPI } from "@embeddr/react-ui/hooks/plugin";
import { useImageDialog } from "@embeddr/react-ui/hooks/distro";
import type { EmbeddrAPI } from "@embeddr/react-ui/types";
import { EmbeddrDnDTypes } from "@embeddr/react-ui/lib/dnd";[!TIP] Use package export paths (
@embeddr/react-ui/...) in consuming apps and plugins.
Themed shadcn components
Embeddr uses a themed and extended version of shadcn/ui as a base.
These components integrate with:
- Embeddr theming tokens
- layout and panel containers
- distribution-specific styling
Hooks
Hook audiences
- Plugin-focused hooks: import from
@embeddr/react-ui/hooks/pluginusePluginAPI,usePluginDrop,usePluginStorage,usePluginSettinguseWebSocketEvent,useWebSocketStreamuseArtifact,useImage,useResolvedArtifact
- Distro/shell hooks: import from
@embeddr/react-ui/hooks/distrouseImageDialog,useExternalNav,usePanelStack,useLocalStorage
- Backwards compatibility:
@embeddr/react-ui/hooksstill re-exports both groups
usePluginAPI
Canonical hook for plugin development. Returns the shell-provided API exposed
via EmbeddrProvider when a plugin is mounted.
useImageDialog
Provides a lightbox and gallery viewer for artifacts and media.

useExternalNav
Provides a confirmation and safety layer before navigating to external sites from inside an Embeddr shell.

Visualization components (in progress)
[!NOTE] Visualization exports are available now, but APIs may continue to evolve during 0.2.x as usage expands.
3D UMAP explorer (available, evolving)

2D UMAP explorer (in development)
Contributing
Package-specific contribution guidance lives in CONTRIBUTING.md.
For general contribution guidelines, see:
https://github.com/embeddr-net/embeddr-cli
Related packages
embeddr frontend distributions https://github.com/embeddr-net/embeddr-frontend
Embeddr CLI https://github.com/embeddr-net/embeddr-cli
Embeddr core https://pypi.org/project/embeddr-core
Embeddr docs https://docs.embeddr.net
License
Copyright 2026 Embeddr Labs and Contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
