React components for building data validation and review interfaces.
@datarecce/ui is the React component library extracted from Recce, a data validation tool for dbt projects. Use it to build custom data comparison, profiling, and validation interfaces in your React applications.
We welcome contributions! Whether it's bug fixes, new features, or documentation improvements.
Check out our Contributing Guide to get started with development setup, coding standards, and the PR process.
npm install @datarecce/ui
# or
pnpm add @datarecce/uiInstall the required peer dependencies:
npm install react react-dom @mui/material @emotion/react @tanstack/react-query @xyflow/react axiosWrap your application with the required providers:
import { MuiProvider, ToasterProvider } from "@datarecce/ui";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
const queryClient = new QueryClient();
function App() {
return (
<QueryClientProvider client={queryClient}>
<MuiProvider>
<ToasterProvider>
{/* Your app components */}
</ToasterProvider>
</MuiProvider>
</QueryClientProvider>
);
}import { LineageView, QueryForm, SchemaView } from "@datarecce/ui";
function MyDataView() {
return (
<div>
<LineageView />
<QueryForm />
<SchemaView />
</div>
);
}import "@datarecce/ui/styles";LineageView- Interactive lineage graphLineagePage- Full lineage interface with controlsGraphNode,GraphEdge- Graph primitives
QueryForm- SQL query inputSqlEditor- CodeMirror-based editorQueryResultView- Results display
ProfileDiffForm- Profile comparisonHistogramChart- Distribution visualizationTopKSummaryList- Top-K values
SchemaView- Structure displaySchemaDiffView- Schema comparison
CheckList- Validation checksCheckDetail- Check detailsRunList,RunView- Execution runs
// All exports
import { LineageView, QueryForm } from "@datarecce/ui";
// Specific categories
import { LineageView } from "@datarecce/ui/components";
import { axiosClient } from "@datarecce/ui/api";
import { useLineageViewContext } from "@datarecce/ui/hooks";
import type { DataFrame, Check } from "@datarecce/ui/types";| Dependency | Version |
|---|---|
| Node.js | >= 20 |
| React | 18.x or 19.x |
| @mui/material | 7.x |
| @emotion/react | 11.x |
| @tanstack/react-query | 5.x |
| @xyflow/react | 12.x |
| axios | 1.x |