@yamada-ui/react 2.2.8-dev-20260901015546 → 2.2.8-dev-20260901175238

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"use-cartesian-chart.js","names":["isFunction","isObject","dataAttr","isUndefined"],"sources":["../../../../src/components/chart/use-cartesian-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n AreaProps,\n BarProps,\n CartesianGridProps,\n LineProps,\n ReferenceLineProps,\n XAxisProps,\n YAxisProps,\n} from \"recharts\"\nimport type { CartesianChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport {\n type HTMLProps,\n mergeProps,\n type PropGetter,\n type SimpleDirection,\n} from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UseCartesianChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n CartesianChartProps,\n | \"accessibilityLayer\"\n | \"compact\"\n | \"layout\"\n | \"responsive\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const useCartesianChart = <Y extends Dict>({\n accessibilityLayer = true,\n compact,\n data,\n layout = \"horizontal\",\n responsive,\n syncId,\n syncMethod,\n ...rest\n}: UseCartesianChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<CartesianChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n compact,\n data,\n layout,\n margin: { left: 16, right: 16 },\n responsive,\n syncId,\n syncMethod,\n ...props,\n }),\n [accessibilityLayer, compact, data, layout, responsive, syncId, syncMethod],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UseCartesianChartReturn<Y extends Dict> = ReturnType<\n typeof useCartesianChart<Y>\n>\n\nexport interface UseChartXAxisProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n XAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"height\"\n | \"hide\"\n | \"includeHidden\"\n | \"interval\"\n | \"label\"\n | \"minTickGap\"\n | \"mirror\"\n | \"name\"\n | \"niceTicks\"\n | \"orientation\"\n | \"padding\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"tickMargin\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n >\n> {}\n\nexport const useChartXAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine = false,\n children,\n dataKey,\n domain,\n height,\n hide,\n includeHidden,\n interval,\n label: labelProp = false,\n minTickGap = 8,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick: tickProp = true,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp = false,\n tickMargin = 8,\n ticks,\n tickSize,\n unit,\n xAxisId,\n ...rest\n}: UseChartXAxisProps = {}) => {\n const tick = useMemo<UseChartXAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { ...(isObject(tickProp) ? tickProp : {}), fill: \"\" }\n }, [tickProp])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const label = useMemo<UseChartXAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 0,\n position: \"insideBottom\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getXAxisProps: PropGetter<XAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n height: height ?? (label ? 52 : undefined),\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n ticks,\n tickSize,\n unit,\n xAxisId,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n niceTicks,\n height,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n name,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n tickSize,\n ticks,\n type,\n unit,\n xAxisId,\n ],\n )\n\n return { getRootProps, getXAxisProps }\n}\n\nexport type UseChartXAxisReturn = ReturnType<typeof useChartXAxis>\n\nexport interface UseChartYAxisProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n YAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"interval\"\n | \"label\"\n | \"minTickGap\"\n | \"mirror\"\n | \"name\"\n | \"niceTicks\"\n | \"padding\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"tickMargin\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"width\"\n | \"yAxisId\"\n >\n> {\n /**\n * The orientation of axis.\n *\n * @defaultValue \"start\"\n */\n orientation?: SimpleDirection\n}\n\nexport const useChartYAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals = true,\n allowDuplicatedCategory,\n angle,\n axisLine = false,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label: labelProp = false,\n minTickGap,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick: tickProp = true,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp = false,\n tickMargin,\n ticks,\n tickSize,\n unit,\n width,\n yAxisId,\n ...rest\n}: UseChartYAxisProps = {}) => {\n const tick = useMemo<UseChartYAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseChartYAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const label = useMemo<UseChartYAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n angle: -90,\n fill: \"\",\n offset: 4,\n position: \"insideLeft\",\n transform:\n orientation === \"end\" ? \"translate(10, 0)\" : \"translate(-10, 0)\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp, orientation])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getYAxisProps: PropGetter<YAxisProps> = useCallback(\n (props = {}) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n orientation:\n orientation === \"end\"\n ? \"right\"\n : orientation === \"start\"\n ? \"left\"\n : undefined,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n ticks,\n tickSize,\n unit,\n width: width ?? (label ? 64 : undefined),\n yAxisId,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n name,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n tickSize,\n ticks,\n type,\n unit,\n width,\n yAxisId,\n ],\n )\n\n return { getRootProps, getYAxisProps }\n}\n\nexport type UseChartYAxisReturn = ReturnType<typeof useChartYAxis>\n\nexport interface UseChartLineProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n LineProps,\n | \"activeDot\"\n | \"animateNewValues\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"connectNulls\"\n | \"data\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLine = ({\n type = \"monotone\",\n name,\n activeDot: activeDotProp,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n shape,\n stroke = \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartLineProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLineProps: PropGetter<LineProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n type,\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n label,\n legendType,\n shape,\n stroke,\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKeyProp,\n dot,\n hide,\n highlightedDataKey,\n isAnimationActive,\n label,\n legendType,\n name,\n onAnimationEnd,\n onAnimationStart,\n shape,\n stroke,\n tooltipType,\n type,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getLineProps, getRootProps }\n}\n\nexport type UseChartLineReturn = ReturnType<typeof useChartLine>\n\nexport interface UseChartAreaProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n AreaProps<any, any>,\n | \"activeDot\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseValue\"\n | \"connectNulls\"\n | \"data\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"stackId\"\n | \"stroke\"\n | \"tooltipType\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartArea = ({\n type = \"monotone\",\n name,\n activeDot: activeDotProp,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n stackId,\n stroke = \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartAreaProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartAreaProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartAreaProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartAreaProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAreaProps: PropGetter<\n Partial<AreaProps<any, any>>,\n undefined,\n AreaProps<any, any>\n > = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n type,\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKey,\n dot,\n fill: \"\",\n fillOpacity: \"\",\n hide,\n isAnimationActive,\n label,\n legendType,\n stackId,\n stroke,\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKeyProp,\n dot,\n hide,\n highlightedDataKey,\n isAnimationActive,\n label,\n legendType,\n name,\n onAnimationEnd,\n onAnimationStart,\n stackId,\n stroke,\n tooltipType,\n type,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getAreaProps, getRootProps }\n}\n\nexport type UseChartAreaReturn = ReturnType<typeof useChartArea>\n\nexport interface UseChartBarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n BarProps,\n | \"activeBar\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"dangerouslySetInnerHTML\"\n | \"dataKey\"\n | \"fill\"\n | \"hide\"\n | \"index\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"minPointSize\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"radius\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartBar = ({\n name,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKey: dataKeyProp,\n fill,\n hide,\n index,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n maxBarSize,\n minPointSize,\n radius = 4,\n shape,\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartBarProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const label = useMemo<UseChartBarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getBarProps: PropGetter<BarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKey,\n fill,\n hide,\n index,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n minPointSize,\n radius,\n shape,\n stroke: \"\",\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKeyProp,\n fill,\n hide,\n highlightedDataKey,\n index,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n minPointSize,\n name,\n onAnimationEnd,\n onAnimationStart,\n radius,\n shape,\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getBarProps, getRootProps }\n}\n\nexport type UseChartBarReturn = ReturnType<typeof useChartBar>\n\nexport interface UseChartReferenceLineProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n ReferenceLineProps,\n | \"ifOverflow\"\n | \"label\"\n | \"position\"\n | \"segment\"\n | \"shape\"\n | \"x\"\n | \"xAxisId\"\n | \"y\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartReferenceLine = ({\n children,\n ifOverflow,\n label: labelProp = false,\n position,\n segment,\n shape,\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...rest\n}: UseChartReferenceLineProps = {}) => {\n const label = useMemo<UseChartReferenceLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 8,\n position: \"insideBottomLeft\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getReferenceLineProps: PropGetter<Omit<ReferenceLineProps, \"ref\">> =\n useCallback(\n (props) => ({\n children,\n fill: \"\",\n fillOpacity: \"\",\n ifOverflow,\n label,\n position,\n segment,\n shape,\n stroke: \"\",\n strokeWidth: \"\",\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...props,\n }),\n [\n children,\n ifOverflow,\n label,\n position,\n segment,\n shape,\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getReferenceLineProps, getRootProps }\n}\n\nexport type UseChartReferenceLineReturn = ReturnType<\n typeof useChartReferenceLine\n>\n\nexport interface UseChartGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n CartesianGridProps,\n | \"horizontal\"\n | \"horizontalCoordinatesGenerator\"\n | \"horizontalFill\"\n | \"horizontalPoints\"\n | \"horizontalValues\"\n | \"syncWithTicks\"\n | \"vertical\"\n | \"verticalCoordinatesGenerator\"\n | \"verticalFill\"\n | \"verticalPoints\"\n | \"verticalValues\"\n | \"x\"\n | \"xAxisId\"\n | \"y\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartGrid = ({\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n syncWithTicks,\n vertical = false,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...rest\n}: UseChartGridProps = {}) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getGridProps: PropGetter<CartesianGridProps> = useCallback(\n (props) => ({\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n stroke: \"\",\n syncWithTicks,\n vertical,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...props,\n }),\n [\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n syncWithTicks,\n vertical,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getGridProps, getRootProps }\n}\n\nexport type UseChartGridReturn = ReturnType<typeof useChartGrid>\n"],"mappings":"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AAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,OAAO;GACP,MAAM;GACN,QAAQ;GACR,UAAU;GACV,WACE,gBAAgB,QAAQ,qBAAqB;GAC/C,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,WAAW,WAAW,CAAC;CAoF3B,OAAO;EAAE,cAlF+B,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAgFa;EAAG,eA7EuB,aAC3C,QAAQ,CAAC,OAAO;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,aACE,gBAAgB,QACZ,UACA,gBAAgB,UACd,SACA,KAAA;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO,UAAU,QAAQ,KAAK,KAAA;GAC9B;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiC;CAAE;AACvC;AAmCA,MAAa,gBAAgB,EAC3B,OAAO,YACP,MACA,WAAW,eACX,kBACA,gBACA,mBACA,iBACA,UACA,cACA,MACA,SAAS,aACT,KAAK,SACL,MACA,oBAAoB,OACpB,OAAO,YAAY,OACnB,YACA,OACA,SAAS,IACT,aACA,MACA,SACA,SACA,QACA,gBACA,kBACA,GAAG,SACkB,CAAC,MAAM;CAC5B,MAAM,EAAE,uBAAuB,gBAAgB;CAC/C,MAAM,QAAQ,cAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,S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CA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkB;EAAG;CAAa;AACtC;AAsCA,MAAa,eAAe,EAC1B,MACA,WACA,gBACA,mBACA,iBACA,YACA,SACA,UACA,yBACA,SAAS,aACT,MACA,MACA,OACA,oBAAoB,OACpB,OAAO,YAAY,OACnB,YACA,YACA,cACA,SAAS,GACT,OACA,aACA,MACA,SACA,SACA,QACA,gBACA,kBACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,EAAE,uBAAuB,gBAAgB;CAE/C,MAAM,QAAQ,cAAyC;EACrD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIH,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAyEA,OAAO;EAAE,aAvEiC,aACvC,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA,gBAAA,GAAeC,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAqBA,MAAa,yBAAyB,EACpC,UACA,YACA,OAAO,YAAY,OACnB,UACA,SACA,OACA,SACA,GACA,SACA,GACA,SACA,QACA,GAAG,SAC2B,CAAC,MAAM;CACrC,MAAM,QAAQ,cAAmD;EAC/D,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIH,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAuCA,OAAO;EAAE,uBApCP,aACG,WAAW;GACV;GACA,MAAM;GACN,aAAa;GACb;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGyB;EAAG;CAAa;AAC/C;AA6BA,MAAa,gBAAgB,EAC3B,YACA,gCACA,gBACA,kBACA,kBACA,eACA,WAAW,OACX,8BACA,cACA,gBACA,gBACA,GACA,SACA,GACA,SACA,QACA,GAAG,SACkB,CAAC,MAAM;CAC5B,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA2CA,OAAO;EAAE,cAzC4C,aAClD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkB;EAAG;CAAa;AACtC"}
1
+ {"version":3,"file":"use-cartesian-chart.js","names":["isFunction","isObject","dataAttr","isUndefined"],"sources":["../../../../src/components/chart/use-cartesian-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n AreaProps,\n BarProps,\n CartesianGridProps,\n LineProps,\n ReferenceLineProps,\n XAxisProps,\n YAxisProps,\n} from \"recharts\"\nimport type { CartesianChartProps } from \"recharts/types/util/types\"\nimport type { HTMLProps, PropGetter, SimpleDirection } from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UseCartesianChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n CartesianChartProps,\n | \"accessibilityLayer\"\n | \"compact\"\n | \"layout\"\n | \"responsive\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const useCartesianChart = <Y extends Dict>({\n accessibilityLayer = true,\n compact,\n data,\n layout = \"horizontal\",\n responsive,\n syncId,\n syncMethod,\n ...rest\n}: UseCartesianChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<CartesianChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n compact,\n data,\n layout,\n margin: { left: 16, right: 16 },\n responsive,\n syncId,\n syncMethod,\n ...props,\n }),\n [accessibilityLayer, compact, data, layout, responsive, syncId, syncMethod],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UseCartesianChartReturn<Y extends Dict> = ReturnType<\n typeof useCartesianChart<Y>\n>\n\nexport interface UseChartXAxisProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n XAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"height\"\n | \"hide\"\n | \"includeHidden\"\n | \"interval\"\n | \"label\"\n | \"minTickGap\"\n | \"mirror\"\n | \"name\"\n | \"niceTicks\"\n | \"orientation\"\n | \"padding\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"tickMargin\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n >\n> {}\n\nexport const useChartXAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine = false,\n children,\n dataKey,\n domain,\n height,\n hide,\n includeHidden,\n interval,\n label: labelProp = false,\n minTickGap = 8,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick: tickProp = true,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp = false,\n tickMargin = 8,\n ticks,\n tickSize,\n unit,\n xAxisId,\n ...rest\n}: UseChartXAxisProps = {}) => {\n const tick = useMemo<UseChartXAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { ...(isObject(tickProp) ? tickProp : {}), fill: \"\" }\n }, [tickProp])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const label = useMemo<UseChartXAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 0,\n position: \"insideBottom\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getXAxisProps: PropGetter<XAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n height: height ?? (label ? 52 : undefined),\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n ticks,\n tickSize,\n unit,\n xAxisId,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n niceTicks,\n height,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n name,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n tickSize,\n ticks,\n type,\n unit,\n xAxisId,\n ],\n )\n\n return { getRootProps, getXAxisProps }\n}\n\nexport type UseChartXAxisReturn = ReturnType<typeof useChartXAxis>\n\nexport interface UseChartYAxisProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n YAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"interval\"\n | \"label\"\n | \"minTickGap\"\n | \"mirror\"\n | \"name\"\n | \"niceTicks\"\n | \"padding\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"tickMargin\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"width\"\n | \"yAxisId\"\n >\n> {\n /**\n * The orientation of axis.\n *\n * @defaultValue \"start\"\n */\n orientation?: SimpleDirection\n}\n\nexport const useChartYAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals = true,\n allowDuplicatedCategory,\n angle,\n axisLine = false,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label: labelProp = false,\n minTickGap,\n mirror,\n niceTicks,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick: tickProp = true,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp = false,\n tickMargin,\n ticks,\n tickSize,\n unit,\n width,\n yAxisId,\n ...rest\n}: UseChartYAxisProps = {}) => {\n const tick = useMemo<UseChartYAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseChartYAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const label = useMemo<UseChartYAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n angle: -90,\n fill: \"\",\n offset: 4,\n position: \"insideLeft\",\n transform:\n orientation === \"end\" ? \"translate(10, 0)\" : \"translate(-10, 0)\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp, orientation])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getYAxisProps: PropGetter<YAxisProps> = useCallback(\n (props = {}) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n orientation:\n orientation === \"end\"\n ? \"right\"\n : orientation === \"start\"\n ? \"left\"\n : undefined,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n ticks,\n tickSize,\n unit,\n width: width ?? (label ? 64 : undefined),\n yAxisId,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n children,\n dataKey,\n domain,\n hide,\n includeHidden,\n interval,\n label,\n minTickGap,\n mirror,\n niceTicks,\n name,\n orientation,\n padding,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n tickMargin,\n tickSize,\n ticks,\n type,\n unit,\n width,\n yAxisId,\n ],\n )\n\n return { getRootProps, getYAxisProps }\n}\n\nexport type UseChartYAxisReturn = ReturnType<typeof useChartYAxis>\n\nexport interface UseChartLineProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n LineProps,\n | \"activeDot\"\n | \"animateNewValues\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"connectNulls\"\n | \"data\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLine = ({\n type = \"monotone\",\n name,\n activeDot: activeDotProp,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n shape,\n stroke = \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartLineProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLineProps: PropGetter<LineProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n type,\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n label,\n legendType,\n shape,\n stroke,\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n children,\n connectNulls,\n data,\n dataKeyProp,\n dot,\n hide,\n highlightedDataKey,\n isAnimationActive,\n label,\n legendType,\n name,\n onAnimationEnd,\n onAnimationStart,\n shape,\n stroke,\n tooltipType,\n type,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getLineProps, getRootProps }\n}\n\nexport type UseChartLineReturn = ReturnType<typeof useChartLine>\n\nexport interface UseChartAreaProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n AreaProps<any, any>,\n | \"activeDot\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseValue\"\n | \"connectNulls\"\n | \"data\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"stackId\"\n | \"stroke\"\n | \"tooltipType\"\n | \"type\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartArea = ({\n type = \"monotone\",\n name,\n activeDot: activeDotProp,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n stackId,\n stroke = \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartAreaProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartAreaProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartAreaProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartAreaProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAreaProps: PropGetter<\n Partial<AreaProps<any, any>>,\n undefined,\n AreaProps<any, any>\n > = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n type,\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKey,\n dot,\n fill: \"\",\n fillOpacity: \"\",\n hide,\n isAnimationActive,\n label,\n legendType,\n stackId,\n stroke,\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseValue,\n children,\n connectNulls,\n data,\n dataKeyProp,\n dot,\n hide,\n highlightedDataKey,\n isAnimationActive,\n label,\n legendType,\n name,\n onAnimationEnd,\n onAnimationStart,\n stackId,\n stroke,\n tooltipType,\n type,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getAreaProps, getRootProps }\n}\n\nexport type UseChartAreaReturn = ReturnType<typeof useChartArea>\n\nexport interface UseChartBarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n BarProps,\n | \"activeBar\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"dangerouslySetInnerHTML\"\n | \"dataKey\"\n | \"fill\"\n | \"hide\"\n | \"index\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"minPointSize\"\n | \"name\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"radius\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"unit\"\n | \"xAxisId\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartBar = ({\n name,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKey: dataKeyProp,\n fill,\n hide,\n index,\n isAnimationActive = false,\n label: labelProp = false,\n legendType,\n maxBarSize,\n minPointSize,\n radius = 4,\n shape,\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...rest\n}: UseChartBarProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const label = useMemo<UseChartBarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getBarProps: PropGetter<BarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKey,\n fill,\n hide,\n index,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n minPointSize,\n radius,\n shape,\n stroke: \"\",\n strokeWidth: \"\",\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n ...props,\n }),\n [\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n children,\n dangerouslySetInnerHTML,\n dataKeyProp,\n fill,\n hide,\n highlightedDataKey,\n index,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n minPointSize,\n name,\n onAnimationEnd,\n onAnimationStart,\n radius,\n shape,\n tooltipType,\n unit,\n xAxisId,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getBarProps, getRootProps }\n}\n\nexport type UseChartBarReturn = ReturnType<typeof useChartBar>\n\nexport interface UseChartReferenceLineProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n ReferenceLineProps,\n | \"ifOverflow\"\n | \"label\"\n | \"position\"\n | \"segment\"\n | \"shape\"\n | \"x\"\n | \"xAxisId\"\n | \"y\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartReferenceLine = ({\n children,\n ifOverflow,\n label: labelProp = false,\n position,\n segment,\n shape,\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...rest\n}: UseChartReferenceLineProps = {}) => {\n const label = useMemo<UseChartReferenceLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 8,\n position: \"insideBottomLeft\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getReferenceLineProps: PropGetter<Omit<ReferenceLineProps, \"ref\">> =\n useCallback(\n (props) => ({\n children,\n fill: \"\",\n fillOpacity: \"\",\n ifOverflow,\n label,\n position,\n segment,\n shape,\n stroke: \"\",\n strokeWidth: \"\",\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...props,\n }),\n [\n children,\n ifOverflow,\n label,\n position,\n segment,\n shape,\n viewBox,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getReferenceLineProps, getRootProps }\n}\n\nexport type UseChartReferenceLineReturn = ReturnType<\n typeof useChartReferenceLine\n>\n\nexport interface UseChartGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n CartesianGridProps,\n | \"horizontal\"\n | \"horizontalCoordinatesGenerator\"\n | \"horizontalFill\"\n | \"horizontalPoints\"\n | \"horizontalValues\"\n | \"syncWithTicks\"\n | \"vertical\"\n | \"verticalCoordinatesGenerator\"\n | \"verticalFill\"\n | \"verticalPoints\"\n | \"verticalValues\"\n | \"x\"\n | \"xAxisId\"\n | \"y\"\n | \"yAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartGrid = ({\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n syncWithTicks,\n vertical = false,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...rest\n}: UseChartGridProps = {}) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getGridProps: PropGetter<CartesianGridProps> = useCallback(\n (props) => ({\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n stroke: \"\",\n syncWithTicks,\n vertical,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ...props,\n }),\n [\n horizontal,\n horizontalCoordinatesGenerator,\n horizontalFill,\n horizontalPoints,\n horizontalValues,\n syncWithTicks,\n vertical,\n verticalCoordinatesGenerator,\n verticalFill,\n verticalPoints,\n verticalValues,\n x,\n xAxisId,\n y,\n yAxisId,\n zIndex,\n ],\n )\n\n return { getGridProps, getRootProps }\n}\n\nexport type UseChartGridReturn = ReturnType<typeof useChartGrid>\n"],"mappings":"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AAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,OAAO;GACP,MAAM;GACN,QAAQ;GACR,UAAU;GACV,WACE,gBAAgB,QAAQ,qBAAqB;GAC/C,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,WAAW,WAAW,CAAC;CAoF3B,OAAO;EAAE,cAlF+B,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAgFa;EAAG,eA7EuB,aAC3C,QAAQ,CAAC,OAAO;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,aACE,gBAAgB,QACZ,UACA,gBAAgB,UACd,SACA,KAAA;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO,UAAU,QAAQ,KAAK,KAAA;GAC9B;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiC;CAAE;AACvC;AAmCA,MAAa,gBAAgB,EAC3B,OAAO,YACP,MACA,WAAW,eACX,kBACA,gBACA,mBACA,iBACA,UACA,cACA,MACA,SAAS,aACT,KAAK,SACL,MACA,oBAAoB,OACpB,OAAO,YAAY,OACnB,YACA,OACA,SAAS,IACT,aACA,MACA,SACA,SACA,QACA,gBACA,kBACA,GAAG,SACkB,CAAC,MAAM;CAC5B,MAAM,EAAE,uBAAuB,gBAAgB;CAC/C,MAAM,QAAQ,cAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CACd,MAAM,MAAM,cAAwC;EAClD,IAAI,CAAC,SAAS,OAAO;EACrB,KAAA,GAAID,cAAAA,WAAAA,CAAW,OAAO,KAAK,eAAe,OAAO,GAAG,OAAO;EAE3D,OAAO;GAAE,MAAM;GAAI,QAAQ;GAAI,IAAA,GAAIC,cAAAA,SAAAA,CAAS,OAAO,IAAI,UAAU,CAAC;EAAG;CACvE,GAAG,CAAC,OAAO,CAAC;CACZ,MAAM,YAAY,cAA8C;EAC9D,IAAI,CAAC,eAAe,OAAO;EAC3B,KAAA,GAAID,cAAAA,WAAAA,CAAW,aAAa,KAAK,eAAe,aAAa,GAC3D,OAAO;EAET,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIC,cAAAA,SAAAA,CAAS,aAAa,IAAI,gBAAgB,CAAC;EACjD;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAoEA,OAAO;EAAE,cAlEmC,aACzC,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA,gBAAA,GAAeC,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkB;EAAG;CAAa;AACtC;AAmCA,MAAa,gBAAgB,EAC3B,OAAO,YACP,MACA,WAAW,eACX,gBACA,mBACA,iBACA,WACA,UACA,cACA,MACA,SAAS,aACT,KAAK,SACL,MACA,oBAAoB,OACpB,OAAO,YAAY,OACnB,YACA,SACA,SAAS,IACT,aACA,MACA,SACA,SACA,QACA,gBACA,kBACA,GAAG,WACoB;CACvB,MAAM,EAAE,uBAAuB,gBAAgB;CAC/C,MAAM,QAAQ,cAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIH,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CACd,MAAM,MAAM,cAAwC;EAClD,IAAI,CAAC,SAAS,OAAO;EACrB,KAAA,GAAID,cAAAA,WAAAA,CAAW,OAAO,KAAK,eAAe,OAAO,GAAG,OAAO;EAE3D,OAAO;GAAE,MAAM;GAAI,QAAQ;GAAI,IAAA,GAAIC,cAAAA,SAAAA,CAAS,OAAO,IAAI,UAAU,CAAC;EAAG;CACvE,GAAG,CAAC,OAAO,CAAC;CACZ,MAAM,YAAY,cAA8C;EAC9D,IAAI,CAAC,eAAe,OAAO;EAC3B,KAAA,GAAID,cAAAA,WAAAA,CAAW,aAAa,KAAK,eAAe,aAAa,GAC3D,OAAO;EAET,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIC,cAAAA,SAAAA,CAAS,aAAa,IAAI,gBAAgB,CAAC;EACjD;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA0EA,OAAO;EAAE,cApEL,aACD,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA,gBAAA,GAAeC,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkB;EAAG;CAAa;AACtC;AAsCA,MAAa,eAAe,EAC1B,MACA,WACA,gBACA,mBACA,iBACA,YACA,SACA,UACA,yBACA,SAAS,aACT,MACA,MACA,OACA,oBAAoB,OACpB,OAAO,YAAY,OACnB,YACA,YACA,cACA,SAAS,GACT,OACA,aACA,MACA,SACA,SACA,QACA,gBACA,kBACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,EAAE,uBAAuB,gBAAgB;CAE/C,MAAM,QAAQ,cAAyC;EACrD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIH,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAyEA,OAAO;EAAE,aAvEiC,aACvC,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA,gBAAA,GAAeC,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAqBA,MAAa,yBAAyB,EACpC,UACA,YACA,OAAO,YAAY,OACnB,UACA,SACA,OACA,SACA,GACA,SACA,GACA,SACA,QACA,GAAG,SAC2B,CAAC,MAAM;CACrC,MAAM,QAAQ,cAAmD;EAC/D,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIH,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAuCA,OAAO;EAAE,uBApCP,aACG,WAAW;GACV;GACA,MAAM;GACN,aAAa;GACb;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR,aAAa;GACb;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGyB;EAAG;CAAa;AAC/C;AA6BA,MAAa,gBAAgB,EAC3B,YACA,gCACA,gBACA,kBACA,kBACA,eACA,WAAW,OACX,8BACA,cACA,gBACA,gBACA,GACA,SACA,GACA,SACA,QACA,GAAG,SACkB,CAAC,MAAM;CAC5B,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA2CA,OAAO;EAAE,cAzC4C,aAClD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkB;EAAG;CAAa;AACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-polar-chart.js","names":["dataAttr","isUndefined","isFunction","isObject"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { type HTMLProps, mergeProps, type PropGetter } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp))\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n else return shapeProp\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAoDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,eAA2B,aAC9B,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,eA9CiD,aAChD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,eAAkC,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,aApFiC,aACvC,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAoBA,MAAa,kBAAkB,EAC7B,MAAM,UACN,kBACA,cACA,IACA,IACA,UACA,mBACA,aACA,aACA,YACA,GAAG,SACoB,CAAC,MAAM;CAC9B,MAAM,EAAE,uBAAuB,gBAAgB;CA0C/C,OAAO;EAAE,cAxCgC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,gBAnCyB,aAC7C,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAeA,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkC;CAAE;AACxC;AA4CA,MAAa,oBAAoB,EAC/B,MAAM,UACN,cACA,IACA,IACA,SACA,UACA,WACA,OACA,aACA,WACA,WAAW,GACX,eAAe,GACf,QAAQ,aAAa,IACrB,aACA,cACA,SACA,UAAU,GACV,YACA,YAAY,aACZ,gBACA,iBACA,OACA,GAAG,IACH,GAAG,IACH,GAAG,WACwB;CAC3B,MAAM,EAAE,uBAAuB,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,IAAI,MAAM,eAAe,UAAU,KAAK,IAAI,CAAC,WAAW,MAAM;CACpE,MAAM,IAAI,MAAM,eAAe,UAAU,KAAK,IAAI,CAAC,WAAW,MAAM;CAoEpE,OAAO;EAAE,cAlEgC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAgEa;EAAG,cA7DqB,aACzC,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAeD,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,mBAAmB;GACnB,UAAU,YAAY,OAAO,OAAO,KAAK;GACzC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,YAAY,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ;GAChD;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGgC;CAAE;AACtC;AAgCA,MAAa,wBAAwB,EACnC,MAAM,UACN,cACA,SACA,UACA,OACA,aACA,WACA,UACA,cACA,aACA,cACA,SACA,SACA,QACA,YACA,gBACA,iBACA,OACA,GAAG,WAC4B;CAC/B,MAAM,EAAE,uBAAuB,gBAAgB;CAE/C,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAqDA,OAAO;EAAE,eAnDqC,aAC3C,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAeD,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGmB;EAAG;CAAa;AACvC;AAkCA,MAAa,iBAAiB,EAC5B,WAAW,eACX,aACA,gBACA,mBACA,iBACA,gBACA,cACA,SAAS,aACT,KAAK,SACL,MACA,oBAAoB,OACpB,SACA,OAAO,WACP,YACA,QACA,cACA,OACA,QACA,aACA,QACA,gBACA,kBACA,cACA,cACA,GAAG,WACqB;CACxB,MAAM,EAAE,uBAAuB,gBAAgB;CAC/C,MAAM,QAAQ,cAA2C;EACvD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAIC,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CACd,MAAM,MAAM,cAAyC;EACnD,IAAI,CAAC,SAAS,OAAO;EACrB,KAAA,GAAID,cAAAA,WAAAA,CAAW,OAAO,KAAK,eAAe,OAAO,GAAG,OAAO;EAE3D,OAAO;GAAE,MAAM;GAAI,QAAQ;GAAI,IAAA,GAAIC,cAAAA,SAAAA,CAAS,OAAO,IAAI,UAAU,CAAC;EAAG;CACvE,GAAG,CAAC,OAAO,CAAC;CACZ,MAAM,YAAY,cAA+C;EAC/D,IAAI,CAAC,eAAe,OAAO;EAC3B,KAAA,GAAID,cAAAA,WAAAA,CAAW,aAAa,KAAK,eAAe,aAAa,GAC3D,OAAO;EAET,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIC,cAAAA,SAAAA,CAAS,aAAa,IAAI,gBAAgB,CAAC;EACjD;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAiEA,OAAO;EAAE,eA/DqC,aAC3C,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C,gBAAA,GAAeH,cAAAA,SAAAA,CACb,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAiBD,cAAAA,SAAAA,CACf,EAAA,GAACC,cAAAA,YAAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGmB;EAAG;CAAa;AACvC;AAgDA,MAAa,gBAAgB,EAC3B,MACA,MACA,mBACA,eACA,yBACA,OACA,aACA,UAAU,cACV,cACA,IACA,IACA,SACA,QACA,MACA,eACA,OAAO,WACP,aACA,QACA,OACA,UACA,OACA,MAAM,UACN,WACA,eACA,UAAU,cACV,OACA,UACA,MACA,QACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACoB;CACvB,MAAM,OAAO,cAAyC;EACpD,IAAI,CAAC,UAAU,OAAO;EACtB,KAAA,GAAIC,cAAAA,WAAAA,CAAW,QAAQ,KAAK,eAAe,QAAQ,GAAG,OAAO;EAE7D,OAAO;GAAE,MAAM;GAAI,IAAA,GAAIC,cAAAA,SAAAA,CAAS,QAAQ,IAAI,WAAW,CAAC;EAAG;CAC7D,GAAG,CAAC,QAAQ,CAAC;CACb,MAAM,WAAW,cAA6C;EAC5D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,WAAW,cAA6C;EAC5D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,QAAQ,cAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAoFA,OAAO;EAAE,mBAlFkD,aACxD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,iBAAiB,EAC5B,MACA,MACA,mBACA,eACA,yBACA,QAAQ,IACR,UAAU,eAAe,MACzB,SACA,QACA,MACA,eACA,OAAO,WACP,aACA,QACA,cACA,OACA,UACA,OACA,MAAM,UACN,WACA,eACA,UAAU,cACV,OACA,MACA,QACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACqB;CACxB,MAAM,OAAO,cAA0C;EACrD,IAAI,CAAC,UAAU,OAAO;EACtB,KAAA,GAAID,cAAAA,WAAAA,CAAW,QAAQ,KAAK,eAAe,QAAQ,GAAG,OAAO;EAE7D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,QAAQ,IAAI,WAAW,CAAC;EACvC;CACF,GAAG,CAAC,QAAQ,CAAC;CACb,MAAM,WAAW,cAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,WAAW,cAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,QAAQ,cAA2C;EACvD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,oBA1EoD,aAC1D,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,mBA9B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,QAAQ,cAA+C;EAC3D,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OACG,OAAO;CACd,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,aAAa,cAAoD;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAIA,cAAAA,WAAAA,CAAW,cAAc,KAAK,eAAe,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,eAAkC,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,gBAxEL,aACD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}
1
+ {"version":3,"file":"use-polar-chart.js","names":["dataAttr","isUndefined","isFunction","isObject"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp))\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n else return shapeProp\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAqDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,eAA2B,aAC9B,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,eA9CiD,aAChD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,eAAkC,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,aApFiC,aACvC,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA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,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,QAAQ,cAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAoFA,OAAO;EAAE,mBAlFkD,aACxD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,iBAAiB,EAC5B,MACA,MACA,mBACA,eACA,yBACA,QAAQ,IACR,UAAU,eAAe,MACzB,SACA,QACA,MACA,eACA,OAAO,WACP,aACA,QACA,cACA,OACA,UACA,OACA,MAAM,UACN,WACA,eACA,UAAU,cACV,OACA,MACA,QACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACqB;CACxB,MAAM,OAAO,cAA0C;EACrD,IAAI,CAAC,UAAU,OAAO;EACtB,KAAA,GAAID,cAAAA,WAAAA,CAAW,QAAQ,KAAK,eAAe,QAAQ,GAAG,OAAO;EAE7D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,QAAQ,IAAI,WAAW,CAAC;EACvC;CACF,GAAG,CAAC,QAAQ,CAAC;CACb,MAAM,WAAW,cAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,WAAW,cAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAIA,cAAAA,SAAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,QAAQ,cAA2C;EACvD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,KAAK,eAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAIC,cAAAA,SAAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,oBA1EoD,aAC1D,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,eAAmC,aACtC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,mBA9B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,QAAQ,cAA+C;EAC3D,KAAA,GAAID,cAAAA,WAAAA,CAAW,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OACG,OAAO;CACd,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,aAAa,cAAoD;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAIA,cAAAA,WAAAA,CAAW,cAAc,KAAK,eAAe,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,eAAkC,aACrC,UAAU,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,gBAxEL,aACD,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}