Skip to content

Commit 3874974

Browse files
authored
feat(sankey): enable custom layers in Sankey diagram (#2702)
The code was actually already handling custom layers, this change only surfaces this capacity in the types.
1 parent c361e9b commit 3874974

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

packages/sankey/src/types.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,15 @@ export type SankeySortFunction<N extends DefaultNode, L extends DefaultLink> = (
102102
b: SankeyNodeDatum<N, L>
103103
) => number
104104

105+
export interface CustomSankeyLayerProps<N extends DefaultNode, L extends DefaultLink>
106+
extends Dimensions {
107+
nodes: readonly SankeyNodeDatum<N, L>[]
108+
links: readonly SankeyLinkDatum<N, L>[]
109+
margin: Box
110+
outerWidth: number
111+
outerHeight: number
112+
}
113+
105114
export interface SankeyCommonProps<N extends DefaultNode, L extends DefaultLink> {
106115
// formatting for link value
107116
valueFormat: ValueFormat<number>
@@ -110,7 +119,7 @@ export interface SankeyCommonProps<N extends DefaultNode, L extends DefaultLink>
110119
align: SankeyAlignType | SankeyAlignFunction
111120
sort: SankeySortType | SankeySortFunction<N, L>
112121

113-
layers: readonly SankeyLayerId[]
122+
layers: readonly (SankeyLayerId | FunctionComponent<CustomSankeyLayerProps<N, L>>)[]
114123

115124
margin: Box
116125

0 commit comments

Comments
 (0)