# Bring your own UI

**Category:** Widgets  
**Live demo:** https://xenolithengine.github.io/xenolith-graph/examples/custom-widgets/  
**Frameworks shipped:** react

## Description

Four widgets that are real framework components (async-select, file drop, CodeMirror, sparkline), themed via --xeno-*.

## Source files

  - [react] demos/CustomWidgetsDemo.tsx
  - [react] widgets/AsyncSelect.tsx
  - [react] widgets/FileDrop.tsx
  - [react] widgets/CodeEditor.tsx
  - [react] widgets/Sparkline.tsx

## How to use this example

Open the live demo at https://xenolithengine.github.io/xenolith-graph/examples/custom-widgets/ to interact with it in the browser. The same source files are
reproduced verbatim in the page so you can copy-paste into your own project. Every example is
self-contained — pick one, copy the files, install `@xenolithengine/graph-editor` + the relevant framework
adapter, and it runs.

## See also

- Full project docs: https://xenolithengine.github.io/xenolith-graph/llms.txt
- All examples (raw): https://xenolithengine.github.io/xenolith-graph/api/graphs.jsonl
- MCP tool catalog: https://xenolithengine.github.io/xenolith-graph/api/mcp-tools.json
- Repository: https://github.com/XenolithEngine/xenolith-graph
