React component for exploring large phylogenetic trees in the browser
npm install taxonium-componenttaxonium-component provides the tree viewer used by Taxonium as a reusable React component.
Install the package from npm:
``bash`
npm install taxonium-component
`jsx
import Taxonium from "taxonium-component";
function App() {
return
}
export default App;
`
The Taxonium component now supports event handlers for node interactions:
`jsx
import Taxonium from "taxonium-component";
function App() {
const handleNodeSelect = (nodeId) => {
console.log("Node selected:", nodeId);
};
const handleNodeDetailsLoaded = (nodeId, nodeDetails) => {
console.log("Node details loaded:", nodeId, nodeDetails);
};
return (
onNodeSelect={handleNodeSelect}
onNodeDetailsLoaded={handleNodeDetailsLoaded}
/>
);
}
export default App;
`
#### Available Events
- onNodeSelect: Fired when a node is clicked in the tree
- Parameters: nodeId (string | number | null) - The ID of the selected node, or null if selection is clearedonNodeDetailsLoaded
- : Fired when details for a selected node have been loaded from the backendnodeId
- Parameters:
- (string | number | null) - The ID of the nodenodeDetails
- (NodeDetails | null) - The complete node details object containing metadata, mutations, and other information
The Taxonium component accepts the following props:
| Prop | Type | Description |
|------|------|-------------|
| sourceData | SourceData | Local tree data object with status, filename, filetype, and data |backendUrl
| | string | URL of the Taxonium backend server |configDict
| | Record | Configuration object for customizing the tree |configUrl
| | string | URL to fetch configuration from |query
| | Query | Current query/state object |updateQuery
| | (q: Partial | Function to update the query state |overlayContent
| | React.ReactNode | Custom content to overlay on the tree |setAboutEnabled
| | (val: boolean) => void | Control the about panel visibility |setOverlayContent
| | (content: React.ReactNode) => void | Dynamically set overlay content |setTitle
| | (title: string) => void | Set the tree title |onNodeSelect
| | (nodeId: string \| number \| null) => void | Handle node selection events |onNodeDetailsLoaded
| | (nodeId: string \| number \| null, nodeDetails: NodeDetails \| null) => void | Handle node details loaded events |
`html
`
To build the component from source:
`bash`
cd taxonium_component
npm install
npm run build
The compiled files will appear in the dist directory.
A Storybook demo can be started locally with:
`bash``
npm run storybook
This will launch an example at http://localhost:6006.