From beee89410dc9bdb39e4f62d97024f6c40ea53912 Mon Sep 17 00:00:00 2001 From: plouc Date: Mon, 28 Dec 2020 09:21:41 +0900 Subject: [PATCH] feat(sunburst): also apply defaults to main hook --- packages/sunburst/src/hooks.ts | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/packages/sunburst/src/hooks.ts b/packages/sunburst/src/hooks.ts index 9b36eedb3..3977ccea4 100644 --- a/packages/sunburst/src/hooks.ts +++ b/packages/sunburst/src/hooks.ts @@ -2,29 +2,30 @@ import { useMemo } from 'react' import sortBy from 'lodash/sortBy' import cloneDeep from 'lodash/cloneDeep' import { usePropertyAccessor, useTheme, useValueFormatter } from '@nivo/core' -import { Arc, ArcGenerator, useArcGenerator } from '@nivo/arcs' +import { Arc, useArcGenerator } from '@nivo/arcs' import { useOrdinalColorScale, useInheritedColor } from '@nivo/colors' import { partition as d3Partition, hierarchy as d3Hierarchy } from 'd3-hierarchy' import { CommonProps, ComputedDatum, DataProps, DatumId, SunburstCustomLayerProps } from './types' +import { defaultProps } from './props' export const useSunburst = ({ - childColor, - colors, - cornerRadius, data, - id, - value, + id = defaultProps.id, + value = defaultProps.value, valueFormat, radius, + cornerRadius = defaultProps.cornerRadius, + colors = defaultProps.colors, + childColor = defaultProps.childColor, }: { - childColor: CommonProps['childColor'] - colors: CommonProps['colors'] - cornerRadius: CommonProps['cornerRadius'] data: DataProps['data'] - id: NonNullable['id']> + id?: DataProps['id'] + value?: DataProps['value'] + valueFormat?: DataProps['valueFormat'] radius: number - value: NonNullable['value']> - valueFormat: DataProps['valueFormat'] + cornerRadius?: CommonProps['cornerRadius'] + colors?: CommonProps['colors'] + childColor?: CommonProps['childColor'] }) => { const theme = useTheme() const getColor = useOrdinalColorScale, 'color' | 'fill'>>( @@ -123,13 +124,7 @@ export const useSunburstLayerContext = ({ centerX, centerY, radius, -}: { - nodes: ComputedDatum[] - arcGenerator: ArcGenerator - centerX: number - centerY: number - radius: number -}): SunburstCustomLayerProps => +}: SunburstCustomLayerProps): SunburstCustomLayerProps => useMemo( () => ({ nodes,