React atoms
@vol/atoms provides ready-made React 19 components styled with VOL’s design tokens (@vol/ui), in the
spirit of “drop-in scheduling components” — here for research Q&A.
-
Install
Terminal window pnpm add @vol/atoms @vol/sdk @vol/ui -
Add the styles. The atoms use Tailwind CSS v4 utility classes and
@vol/uitokens. In your CSS entry:@import "tailwindcss";@import "@vol/ui/fonts.css";@import "@vol/ui/styles.css";@source "../node_modules/@vol/atoms/src"; -
Wrap your app in
VolProviderimport { VolProvider } from "@vol/atoms";export function App() {return (<VolProvider baseUrl="https://vol.example.com/api" apiKey={import.meta.env.VITE_VOL_KEY} defaultCase="papers"><Research /></VolProvider>);} -
Render atoms
import { VolChat, VolGraph, VolSearch } from "@vol/atoms";import { useState } from "react";function Research() {const [focus, setFocus] = useState<number[]>([]);return (<div className="grid h-[640px] grid-cols-[1fr_420px] gap-4"><VolGraph focus={{ citations: focus }} /><VolChatsuggestions={["What are graph RAG methods?"]}onAnswer={(r) => setFocus(r.citations.map((c) => c.nodeIndex))}onCitation={(c) => setFocus([c.nodeIndex])}/></div>);}
Component reference: Provider, VolChat, VolSearch, VolCitationList, VolGraph, Hooks.