diff --git a/packages/tree/src/Tree.tsx b/packages/tree/src/Tree.tsx index b1ebaf739..49fa3f3f5 100644 --- a/packages/tree/src/Tree.tsx +++ b/packages/tree/src/Tree.tsx @@ -136,6 +136,7 @@ const InnerTree = ({ onMouseMove={onNodeMouseMove} onMouseLeave={onNodeMouseLeave} onClick={onNodeClick} + tooltip={nodeTooltip} setCurrentNode={setCurrentNode} /> ) diff --git a/packages/tree/src/defaults.ts b/packages/tree/src/defaults.ts index 84172033b..04a39e325 100644 --- a/packages/tree/src/defaults.ts +++ b/packages/tree/src/defaults.ts @@ -26,7 +26,7 @@ export const commonDefaultProps: Pick< identity: 'id', mode: 'dendogram', layout: 'top-to-bottom', - nodeSize: 16, + nodeSize: 12, nodeColor: { scheme: 'nivo' }, linkThickness: 1, linkColor: { from: 'source.color', modifiers: [['opacity', 0.3]] }, diff --git a/storybook/stories/tree/Tree.stories.tsx b/storybook/stories/tree/Tree.stories.tsx index 001329af6..67678f5bf 100644 --- a/storybook/stories/tree/Tree.stories.tsx +++ b/storybook/stories/tree/Tree.stories.tsx @@ -7,6 +7,7 @@ import { NodeComponentProps, NodeTooltipProps, LinkTooltipProps, + TreeSvgProps, } from '@nivo/tree' const meta: Meta = { @@ -14,6 +15,10 @@ const meta: Meta = { component: Tree, tags: ['autodocs'], argTypes: { + mode: { + control: 'select', + options: ['tree', 'dendogram'], + }, layout: { control: 'select', options: ['top-to-bottom', 'right-to-left', 'bottom-to-top', 'left-to-right'], @@ -28,6 +33,7 @@ const meta: Meta = { onLinkClick: { action: 'link clicked' }, }, args: { + mode: 'dendogram', layout: 'top-to-bottom', }, } @@ -41,13 +47,15 @@ const generateData = () => { return { data } } -const commonProperties = { +const commonProperties: Partial> = { width: 900, height: 500, margin: { top: 30, right: 30, bottom: 30, left: 30 }, ...generateData(), identity: 'name', - value: 'loc', + activeNodeSize: 20, + linkThickness: 2, + activeLinkThickness: 6, } const NodeTooltip = ({ node }: NodeTooltipProps) => { @@ -57,7 +65,10 @@ const NodeTooltip = ({ node }: NodeTooltipProps) => {
id: {node.id}
- path: {node.pathComponents.join(' > ')} + path:{' '} + + {node.ancestorIds.join(' > ')} > {node.id} +
uid: {node.uid}
@@ -82,6 +93,7 @@ export const Basic: Story = { render: args => ( ( ( { +}: NodeComponentProps) => { const eventHandlers = useNodeMouseEventHandlers(node, { isInteractive, onMouseEnter, @@ -135,6 +152,7 @@ const CustomNode = ({ onMouseLeave, onClick, tooltip, + setCurrentNode, }) return ( @@ -144,13 +162,13 @@ const CustomNode = ({ })`} > + + {node.id[0].toUpperCase()} + ) } @@ -170,8 +200,9 @@ export const CustomNodeComponent: Story = { render: args => (