{"version":3,"sources":["jsdelivr-header.js","/npm/@yamada-ui/charts@1.5.15/src/index.ts","/npm/@yamada-ui/charts@1.5.15/src/area-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/area-chart-gradient.tsx","/npm/@yamada-ui/charts@1.5.15/src/area-chart-split.tsx","/npm/@yamada-ui/charts@1.5.15/src/chart-legend.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-chart.ts","/npm/@yamada-ui/charts@1.5.15/src/chart-utils.ts","/npm/@yamada-ui/charts@1.5.15/src/rechart-properties.ts","/npm/@yamada-ui/charts@1.5.15/src/chart-tooltip.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-area-chart.ts","/npm/@yamada-ui/charts@1.5.15/src/use-chart-axis.ts","/npm/@yamada-ui/charts@1.5.15/src/use-chart-grid.ts","/npm/@yamada-ui/charts@1.5.15/src/use-chart-legend.ts","/npm/@yamada-ui/charts@1.5.15/src/use-chart-reference-line.ts","/npm/@yamada-ui/charts@1.5.15/src/use-chart-tooltip.ts","/npm/@yamada-ui/charts@1.5.15/src/bar-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-bar-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/donut-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-chart-label.ts","/npm/@yamada-ui/charts@1.5.15/src/use-pie-chart.ts","/npm/@yamada-ui/charts@1.5.15/src/pie-chart-label.tsx","/npm/@yamada-ui/charts@1.5.15/src/line-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-line-chart.ts","/npm/@yamada-ui/charts@1.5.15/src/pie-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/radar-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-polar-grid.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-radar-chart.ts","/npm/@yamada-ui/charts@1.5.15/src/radial-chart.tsx","/npm/@yamada-ui/charts@1.5.15/src/use-chart-label-list.ts","/npm/@yamada-ui/charts@1.5.15/src/use-radial-chart.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,8iBCNA,cAAA,GAAA,SAAA,cAAA,CAAA,UAAA,IAAA,UAAA,SAAA,IAAA,SAAA,UAAA,IAAA,iBAAA,KAAA,WAAA,IAAA,WAAA,UAAA,IAAA,UAAA,SAAA,IAAA,SAAA,WAAA,IAAA,WAAA,YAAA,IAAA,cAAA,OAAA,QAAA,aAAA,eCQA,IAAA,cAKO,QAAA,mBACP,eAAmB,QAAA,oBACnB,cAAkC,QAAA,SAClC,gBAWO,QAAA,YCVD,mBAAA,QAAA,qBARO,aAAsC,EACjD,KACA,QACA,cACA,kBAEI,GAEA,EAAA,mBAAA,MAAC,kBAAe,KAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAC9C,SAAA,IAAA,mBAAA,KAAC,QAAK,OAAO,KAAK,UAAW,EAAO,YAAa,KACjD,EAAA,mBAAA,KAAC,QAAK,OAAO,OAAO,UAAW,EAAO,YAAa,UAKrD,EAAA,mBAAA,KAAC,kBAAe,KAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAC9C,UAAA,EAAA,mBAAA,KAAC,QAAK,UAAW,EAAO,YAAa,MAM7C,aAAa,YAAc,eAC3B,aAAa,OAAS,eC/BtB,IAAA,YAAiC,QAAA,mBAY7B,oBAAA,QAAA,qBAJS,UAAgC,EAAG,KAAI,cAAa,aAC/D,MAAM,MAAE,IAAM,EAAI,YAAA,YAElB,OACE,EAAA,oBAAA,MAAC,kBAAe,KAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAC9C,SAAA,IAAA,oBAAA,KAAC,QACC,SACA,WAAA,EAAW,YAAA,QAAO,eAAlB,CAAkC,GAClC,YAAa,MAAA,IAAe,MAE9B,EAAA,oBAAA,KAAC,QACC,SACA,WAAA,EAAW,YAAA,QAAO,eAAlB,CAAkC,GAClC,YAAa,MAAA,IAAe,OAEhC,EAIJ,UAAU,YAAc,YACxB,UAAU,OAAS,YC3BnB,IAAA,aAA+B,QAAA,mBAC/B,cAAmB,QAAA,oBCCnB,aAAyB,QAAA,mBACzB,cAAkC,QAAA,oBAClC,aAA4B,QAAA,SCJ5B,aAAuB,QAAA,mBACvB,aAA0C,QAAA,oBAE7B,aACX,IAAI,IACH,IAAA,EACC,aAAA,OACK,EAAO,KAAK,IAAA,EACb,aAAA,UAAS,GAAS,GAAA,EAAQ,aAAA,QAAO,EAAf,CAAsB,MAInC,kBACX,EACG,EAAK,MACH,IAEL,CAA4B,EAAoB,KAC9C,MAAO,EAAa,IAAY,EAAI,aAAA,aAAkB,EAAK,GACrD,EAAY,gBAAgB,EAAO,EAAvB,CAAqC,GAEvD,OACG,EAAuC,IAAK,EAAa,aAA7C,CAAC,EAAa,EAAyC,ECpB7D,oBAEN,CACL,SACA,SACA,aACA,QACA,SACA,OACA,SACA,cACA,UACA,eACA,cACA,gBAGW,mBAEN,CACL,SACA,SACA,aACA,QACA,SACA,OACA,SACA,iBACA,SACA,UACA,aACA,cACA,oBACA,UACA,eACA,cACA,gBAGW,oBAEN,CACL,SACA,SACA,aACA,QACA,SACA,OACA,SACA,UACA,eACA,cACA,gBAGW,qBAEN,CACL,QACA,SACA,OACA,KACA,KACA,aACA,WACA,cACA,cACA,SACA,eACA,WAGW,mBAEN,CAAC,QAAS,SAAU,SAAU,UAAW,eAAgB,gBAEnD,sBAEN,CACL,QACA,SACA,OACA,SACA,iBACA,SACA,KACA,KACA,aACA,WACA,cACA,cACA,UACA,eACA,eACA,WAGW,wBAAiE,CAC5E,UACA,UACA,IACA,IACA,aACA,UACA,QACA,QACA,QACA,UACA,cACA,WAGW,oBAGN,CACL,SACA,QACA,SACA,WACA,YACA,WACA,YAGW,eAAwD,CACnE,IACA,IACA,QACA,SACA,aACA,WACA,mBACA,iCACA,iBACA,+BACA,OACA,cACA,mBAGW,gBAAiD,CAC5D,OACA,UACA,UACA,QACA,SACA,cACA,OACA,gBACA,oBACA,0BACA,QACA,YACA,SACA,gBACA,WACA,UACA,aACA,WACA,WACA,WACA,gBACA,QACA,OACA,SACA,WACA,QACA,QACA,OACA,OACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,eACA,cAGW,gBAAiD,CAC5D,OACA,UACA,UACA,QACA,SACA,cACA,OACA,YACA,SACA,gBACA,WACA,UACA,aACA,gBACA,oBACA,0BACA,WACA,WACA,WACA,gBACA,QACA,OACA,SACA,WACA,QACA,QACA,OACA,OACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,eACA,cAGW,iBAAgE,CAC3E,QACA,SACA,SACA,QACA,gBACA,WACA,WACA,UACA,aACA,cACA,SACA,UACA,YACA,eACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGW,kBAA+D,CAC1E,SACA,aACA,YACA,eACA,eACA,aACA,SACA,UACA,qBACA,SACA,WACA,aACA,UACA,QACA,UACA,YACA,iBACA,aACA,oBACA,oBACA,mBAGW,eAA4D,CACvE,OACA,UACA,UACA,UACA,aACA,MACA,YACA,QACA,SACA,cACA,SACA,WACA,SACA,UACA,eACA,OACA,OACA,oBACA,iBACA,oBACA,kBACA,KACA,mBACA,iBACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGW,cAA0D,CACrE,SACA,UACA,UACA,UACA,aACA,QACA,OACA,UACA,aACA,eACA,aACA,QACA,YACA,UACA,OACA,OACA,oBACA,iBACA,oBACA,kBACA,KACA,mBACA,iBACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,eACA,UAGW,gBAA8D,CACzE,UACA,SACA,QACA,MACA,YACA,aACA,QACA,oBACA,iBACA,oBACA,kBACA,mBACA,kBAGW,eAA4D,CACvE,OACA,UACA,UACA,UACA,aACA,MACA,YACA,QACA,OACA,SACA,SACA,cACA,SACA,eACA,OACA,OACA,oBACA,iBACA,oBACA,kBACA,KACA,mBACA,iBACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,eACA,mBAGW,cAA0D,CACrE,KACA,KACA,cACA,cACA,aACA,WACA,WACA,eACA,UACA,UACA,aACA,QACA,YACA,OACA,cACA,cACA,gBACA,oBACA,iBACA,oBACA,kBACA,mBACA,iBACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGW,oBAGN,CACL,aACA,QACA,aACA,OACA,UACA,oBACA,iBACA,oBACA,kBACA,mBACA,iBACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,eACA,gBAGW,cAA0D,CACrE,KACA,KACA,IACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGW,oBAAyD,CACpE,KACA,KACA,cACA,cACA,cACA,cACA,WACA,eAGW,yBACX,CACE,UACA,KACA,KACA,SACA,WACA,eACA,WACA,WACA,OACA,QACA,SACA,gBACA,OACA,0BACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGS,0BACX,CACE,QACA,OACA,0BACA,KACA,KACA,SACA,WACA,QACA,cACA,WACA,OACA,WACA,gBACA,YACA,QACA,UACA,cACA,YACA,cACA,cACA,aACA,eACA,gBAGS,gBAAiD,CAC5D,UACA,YACA,QACA,WACA,SACA,WACA,UACA,MAGW,oBAA+D,CAC1E,UACA,gBACA,UACA,WACA,SACA,YACA,OACA,YACA,KACA,aF7hBY,cAAe,kBAAe,EAAI,cAAA,eAA4B,CAC1E,KAAM,eACN,aAAc,iIAUH,SAAW,EAAG,iBAAiB,CAAC,MAC3C,MAAM,MAAE,IAAM,EAAI,aAAA,aACX,EAAe,GAAiB,kBAAgC,CACrE,EACA,qBAFqC,CAGpC,GAeH,MAAO,CACL,mBAdI,EAGF,aAAA,cACF,EAAG,eAAc,GAAU,CAAC,EAAG,EAAM,SACnC,MACA,WAAA,EAAW,cAAA,IAAG,sBAAuB,EAAqB,MACvD,KACA,KAEL,CAAC,EAAe,IAKlB,EAKW,UAAY,KACvB,MAAM,OAAE,GAAW,kBAEnB,MAAO,CACL,SACF,EAKW,WAAa,KACxB,MAAM,OAAE,GAAW,kBAEnB,MAAO,CACL,SACF,ED/CM,oBAAA,QAAA,qBARK,aAAA,EAAc,aAAA,aACzB,EAAG,YAAW,UAAU,GAAI,iBAAgB,GAAQ,KAClD,MAAM,OAAE,GAAW,YAEb,EAAQ,EAAQ,KAAI,EAAG,QAAO,UAAS,MAAO,GAAa,KAC/D,MAAM,EAAQ,MAAA,IAAW,EAEzB,OACE,EAAA,oBAAA,MAAC,aAAA,GAAG,IAAH,CAEC,UAAU,wBACV,aAAc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","file":"/npm/@yamada-ui/charts@1.5.15/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@yamada-ui/charts@1.5.15/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export { AreaChart } from \"./area-chart\"\nexport type { AreaChartProps } from \"./area-chart\"\nexport { BarChart } from \"./bar-chart\"\nexport type { BarChartProps } from \"./bar-chart\"\nexport type {\n  AreaChartType,\n  AreaProps,\n  BarChartType,\n  BarProps,\n  CellProps,\n  ChartAxisType,\n  ChartCurveType,\n  ChartLabel,\n  ChartLabelProps,\n  ChartLayoutType,\n  ChartTooltip,\n  ChartTooltipProps,\n  DotProps,\n  LineProps,\n  RadarProps,\n  TooltipDataSourceType,\n} from \"./chart.types\"\nexport { DonutChart } from \"./donut-chart\"\nexport type { DonutChartProps } from \"./donut-chart\"\nexport { LineChart } from \"./line-chart\"\nexport type { LineChartProps } from \"./line-chart\"\nexport { PieChart } from \"./pie-chart\"\nexport type { PieChartProps } from \"./pie-chart\"\nexport { RadarChart } from \"./radar-chart\"\nexport type { RadarChartProps } from \"./radar-chart\"\nexport { RadialChart } from \"./radial-chart\"\nexport type { RadialChartProps } from \"./radial-chart\"\nexport type { BarCellProps } from \"./use-bar-chart\"\nexport { Cell as ChartCell } from \"recharts\"\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { UseAreaChartOptions } from \"./use-area-chart\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartAxisOptions } from \"./use-chart-axis\"\nimport type { UseChartGridOptions } from \"./use-chart-grid\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartReferenceLineOptions } from \"./use-chart-reference-line\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { Fragment, useMemo } from \"react\"\nimport {\n  Area,\n  CartesianGrid,\n  Label,\n  Legend,\n  AreaChart as ReChartsAreaChart,\n  ReferenceLine,\n  ResponsiveContainer,\n  Tooltip,\n  XAxis,\n  YAxis,\n} from \"recharts\"\nimport { AreaGradient } from \"./area-chart-gradient\"\nimport { AreaSplit } from \"./area-chart-split\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { useAreaChart } from \"./use-area-chart\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartAxis } from \"./use-chart-axis\"\nimport { useChartGrid } from \"./use-chart-grid\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartReferenceLine } from \"./use-chart-reference-line\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\n\ninterface AreaChartOptions {\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport interface AreaChartProps\n  extends Omit<HTMLUIProps, \"fillOpacity\" | \"strokeDasharray\" | \"strokeWidth\">,\n    ThemeProps<\"AreaChart\">,\n    AreaChartOptions,\n    UseAreaChartOptions,\n    UseChartProps,\n    UseChartAxisOptions,\n    UseChartReferenceLineOptions,\n    UseChartGridOptions,\n    UseChartTooltipOptions,\n    UseChartLegendProps {}\n\n/**\n * `AreaChart` is a component for drawing area charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/area-chart\n */\nexport const AreaChart = forwardRef<AreaChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"AreaChart\", props)\n  const {\n    type = \"default\",\n    className,\n    connectNulls,\n    curveType,\n    data,\n    dataKey,\n    fillOpacity,\n    gridAxis,\n    labelFormatter,\n    layoutType,\n    series,\n    splitColors,\n    splitOffset,\n    strokeDasharray,\n    strokeWidth,\n    syncId,\n    tickLine,\n    tooltipAnimationDuration,\n    unit,\n    valueFormatter,\n    withActiveDots,\n    withDots,\n    withGradient,\n    withLegend = false,\n    withTooltip = true,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    areaProps,\n    chartProps,\n    containerProps,\n    gridProps,\n    legendProps,\n    referenceLineProps = [],\n    tooltipProps,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const {\n    areaVars,\n    setHighlightedArea,\n    getAreaChartProps,\n    getAreaGradientProps,\n    getAreaProps,\n    getAreaSplitProps,\n  } = useAreaChart({\n    type,\n    connectNulls,\n    curveType,\n    data,\n    fillOpacity,\n    layoutType,\n    series,\n    splitColors,\n    splitOffset,\n    strokeWidth,\n    styles,\n    syncId,\n    withActiveDots,\n    withDots,\n    withGradient,\n    xAxisLabel,\n    yAxisLabel,\n    areaProps,\n    chartProps,\n    referenceLineProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const {\n    getXAxisLabelProps,\n    getXAxisProps,\n    getYAxisLabelProps,\n    getYAxisProps,\n  } = useChartAxis({\n    type,\n    dataKey,\n    gridAxis,\n    layoutType,\n    styles,\n    tickLine,\n    unit,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n  })\n  const { getReferenceLineProps } = useChartReferenceLine({\n    styles,\n    referenceLineProps,\n  })\n  const { getGridProps } = useChartGrid({\n    gridAxis,\n    strokeDasharray,\n    styles,\n    gridProps,\n  })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n\n  const areas = useMemo(\n    () =>\n      series.map(({ dataKey }, index) => {\n        const { id, stroke, ...rest } = getAreaProps({\n          className: \"ui-area-chart__area\",\n          index,\n        })\n\n        return (\n          <Fragment key={`area-${dataKey}`}>\n            <defs>\n              <AreaGradient {...getAreaGradientProps({ id, color: stroke })} />\n            </defs>\n\n            <Area id={id} stroke={stroke} {...rest} />\n          </Fragment>\n        )\n      }),\n    [getAreaGradientProps, getAreaProps, series],\n  )\n\n  const referenceLinesItems = useMemo(\n    () =>\n      referenceLineProps.map((_, index) => (\n        <ReferenceLine\n          key={`referenceLine-${index}`}\n          {...getReferenceLineProps({\n            className: \"ui-area-chart__reference-line\",\n            index,\n          })}\n        />\n      )),\n    [getReferenceLineProps, referenceLineProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-area-chart\", className)}\n        __css={{ maxW: \"full\", vars: areaVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-area-chart__container\" })}\n        >\n          <ReChartsAreaChart\n            {...getAreaChartProps({ className: \"ui-area-chart__chart\" })}\n          >\n            <CartesianGrid\n              {...getGridProps({ className: \"ui-area-chart__grid\" })}\n            />\n\n            <XAxis {...getXAxisProps({ className: \"ui-area-chart__x-axis\" })}>\n              <Label\n                {...getXAxisLabelProps({\n                  className: \"ui-area-chart__x-axis-label\",\n                })}\n              />\n            </XAxis>\n\n            <YAxis {...getYAxisProps({ className: \"ui-area-chart__y-axis\" })}>\n              <Label\n                {...getYAxisLabelProps({\n                  className: \"ui-area-chart__y-axis-label\",\n                })}\n              />\n            </YAxis>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-area-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-area-chart__tooltip\"\n                    label={label}\n                    labelFormatter={labelFormatter}\n                    payload={payload}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n\n            {type === \"split\" ? (\n              <defs>\n                <AreaSplit {...getAreaSplitProps()} />\n              </defs>\n            ) : null}\n\n            {areas}\n            {referenceLinesItems}\n          </ReChartsAreaChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nAreaChart.displayName = \"AreaChart\"\nAreaChart.__ui__ = \"AreaChart\"\n","import type { FC } from \"@yamada-ui/core\"\n\nexport interface AreaGradientProps {\n  fillOpacity: number | string\n  id?: string\n  color?: string\n  withGradient?: boolean\n}\n\nexport const AreaGradient: FC<AreaGradientProps> = ({\n  id,\n  color,\n  fillOpacity,\n  withGradient,\n}) => {\n  if (withGradient) {\n    return (\n      <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n        <stop offset=\"0%\" stopColor={color} stopOpacity={fillOpacity} />\n        <stop offset=\"100%\" stopColor={color} stopOpacity={0.01} />\n      </linearGradient>\n    )\n  } else {\n    return (\n      <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n        <stop stopColor={color} stopOpacity={fillOpacity} />\n      </linearGradient>\n    )\n  }\n}\n\nAreaGradient.displayName = \"AreaGradient\"\nAreaGradient.__ui__ = \"AreaGradient\"\n","import type { FC } from \"@yamada-ui/core\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\n\nexport interface AreaSplitProps {\n  fillOpacity: number | string | undefined\n  offset: number\n  id?: string\n}\n\nexport const AreaSplit: FC<AreaSplitProps> = ({ id, fillOpacity, offset }) => {\n  const { theme } = useTheme()\n\n  return (\n    <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n      <stop\n        offset={offset}\n        stopColor={getVar(`area-split-0`)(theme)}\n        stopOpacity={fillOpacity ?? 0.4}\n      />\n      <stop\n        offset={offset}\n        stopColor={getVar(`area-split-1`)(theme)}\n        stopOpacity={fillOpacity ?? 0.4}\n      />\n    </linearGradient>\n  )\n}\n\nAreaSplit.displayName = \"AreaSplit\"\nAreaSplit.__ui__ = \"AreaSplit\"\n","import type { HTMLUIProps } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport { forwardRef, ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useLegend } from \"./use-chart\"\n\ninterface ChartLegendOptions {\n  onHighlight: (area: null | string) => void\n  payload?: Dict[]\n}\n\nexport interface ChartLegendProps extends HTMLUIProps, ChartLegendOptions {}\n\nexport const ChartLegend = forwardRef<ChartLegendProps, \"div\">(\n  ({ className, payload = [], onHighlight, ...rest }, ref) => {\n    const { styles } = useLegend()\n\n    const items = payload.map(({ color, dataKey, value: valueProp }, index) => {\n      const value = dataKey ?? valueProp\n\n      return (\n        <ui.div\n          key={`legend-${index}`}\n          className=\"ui-chart__legend-item\"\n          onMouseEnter={() => onHighlight(value)}\n          onMouseLeave={() => onHighlight(null)}\n          __css={styles.legendItem}\n        >\n          <ui.div\n            className=\"ui-chart__legend-swatch\"\n            background={color}\n            __css={styles.legendSwatch}\n          />\n\n          <ui.span className=\"ui-chart__legend-label\">{value}</ui.span>\n        </ui.div>\n      )\n    })\n\n    return (\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-chart__legend\", className)}\n        __css={styles.legend}\n        {...rest}\n      >\n        {items}\n      </ui.div>\n    )\n  },\n)\n\nChartLegend.displayName = \"ChartLegend\"\nChartLegend.__ui__ = \"ChartLegend\"\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { ResponsiveContainerProps } from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { createContext, cx } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { containerProperties } from \"./rechart-properties\"\n\ninterface ChartContext {\n  styles: { [key: string]: CSSUIObject | undefined }\n}\n\nexport const [ChartProvider, useChartContext] = createContext<ChartContext>({\n  name: \"ChartContext\",\n  errorMessage: `useChartContext returned is 'undefined'. Seems you forgot to wrap the components in \"<LineChart />\" or \"<BarChart />\" etc.`,\n})\n\nexport interface UseChartProps {\n  /**\n   * Props passed down to recharts `ResponsiveContainer` component.\n   */\n  containerProps?: ResponsiveContainerProps\n}\n\nexport const useChart = ({ containerProps = {} }: UseChartProps) => {\n  const { theme } = useTheme()\n  const [reChartsProps, propClassName] = getComponentProps<Dict, string>([\n    containerProps,\n    containerProperties,\n  ])(theme)\n\n  const getContainerProps: PropGetter<\n    Partial<Omit<Recharts.ResponsiveContainerProps, \"children\">>,\n    Omit<Recharts.ResponsiveContainerProps, \"children\">\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(\"ui-chart__container\", className as string, propClassName),\n      ...props,\n      ...reChartsProps,\n    }),\n    [propClassName, reChartsProps],\n  )\n\n  return {\n    getContainerProps,\n  }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport const useLegend = () => {\n  const { styles } = useChartContext()\n\n  return {\n    styles,\n  }\n}\n\nexport type UseLegendReturn = ReturnType<typeof useLegend>\n\nexport const useTooltip = () => {\n  const { styles } = useChartContext()\n\n  return {\n    styles,\n  }\n}\n\nexport type UseTooltipReturn = ReturnType<typeof useTooltip>\n","import type { StyledTheme } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport { getCSS } from \"@yamada-ui/core\"\nimport { cx, isString, splitObject } from \"@yamada-ui/utils\"\n\nexport const getClassName =\n  (...styles: (Dict | string | undefined)[]) =>\n  (theme: StyledTheme) =>\n    cx(\n      ...styles.map((style) =>\n        isString(style) ? style : getCSS(style)(theme),\n      ),\n    )\n\nexport const getComponentProps =\n  <T extends Dict, K extends keyof T>(\n    [obj, keys]: [T, K[]],\n    ...props: (Dict | string | undefined)[]\n  ) =>\n  <P extends boolean = false>(theme: StyledTheme, isContain?: P) => {\n    const [pickedProps, omittedProps] = splitObject<T, K>(obj, keys)\n    const className = getClassName(...props, omittedProps)(theme)\n\n    return (\n      !isContain ? [pickedProps, className] : { ...pickedProps, className }\n    ) as P extends false\n      ? [{ [P in K]: T[P] }, string]\n      : { [P in K]: T[P] } & { className: string }\n  }\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\n\nexport const areaChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.AreaChart\n>)[] = [\n  \"layout\",\n  \"syncId\",\n  \"syncMethod\",\n  \"width\",\n  \"height\",\n  \"data\",\n  \"margin\",\n  \"stackOffset\",\n  \"onClick\",\n  \"onMouseEnter\",\n  \"onMouseMove\",\n  \"onMouseLeave\",\n]\n\nexport const barChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.BarChart\n>)[] = [\n  \"layout\",\n  \"syncId\",\n  \"syncMethod\",\n  \"width\",\n  \"height\",\n  \"data\",\n  \"margin\",\n  \"barCategoryGap\",\n  \"barGap\",\n  \"barSize\",\n  \"maxBarSize\",\n  \"stackOffset\",\n  \"reverseStackOrder\",\n  \"onClick\",\n  \"onMouseEnter\",\n  \"onMouseMove\",\n  \"onMouseLeave\",\n]\n\nexport const lineChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.LineChart\n>)[] = [\n  \"layout\",\n  \"syncId\",\n  \"syncMethod\",\n  \"width\",\n  \"height\",\n  \"data\",\n  \"margin\",\n  \"onClick\",\n  \"onMouseEnter\",\n  \"onMouseMove\",\n  \"onMouseLeave\",\n]\n\nexport const radarChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.RadarChart\n>)[] = [\n  \"width\",\n  \"height\",\n  \"data\",\n  \"cx\",\n  \"cy\",\n  \"startAngle\",\n  \"endAngle\",\n  \"innerRadius\",\n  \"outerRadius\",\n  \"margin\",\n  \"onMouseEnter\",\n  \"onClick\",\n]\n\nexport const pieChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.PieChart\n>)[] = [\"width\", \"height\", \"margin\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\"]\n\nexport const radialChartProperties: (keyof ComponentPropsWithoutRef<\n  typeof Recharts.RadialBarChart\n>)[] = [\n  \"width\",\n  \"height\",\n  \"data\",\n  \"margin\",\n  \"barCategoryGap\",\n  \"barGap\",\n  \"cx\",\n  \"cy\",\n  \"startAngle\",\n  \"endAngle\",\n  \"innerRadius\",\n  \"outerRadius\",\n  \"barSize\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"onClick\",\n]\n\nexport const referenceLineProperties: (keyof Recharts.ReferenceLineProps)[] = [\n  \"xAxisId\",\n  \"yAxisId\",\n  \"x\",\n  \"y\",\n  \"ifOverflow\",\n  \"viewBox\",\n  \"xAxis\",\n  \"yAxis\",\n  \"label\",\n  \"isFront\",\n  \"strokeWidth\",\n  \"segment\",\n]\n\nexport const containerProperties: (keyof Omit<\n  Recharts.ResponsiveContainerProps,\n  \"children\"\n>)[] = [\n  \"aspect\",\n  \"width\",\n  \"height\",\n  \"minWidth\",\n  \"minHeight\",\n  \"debounce\",\n  \"onResize\",\n]\n\nexport const gridProperties: (keyof Recharts.CartesianGridProps)[] = [\n  \"x\",\n  \"y\",\n  \"width\",\n  \"height\",\n  \"horizontal\",\n  \"vertical\",\n  \"horizontalPoints\",\n  \"horizontalCoordinatesGenerator\",\n  \"verticalPoints\",\n  \"verticalCoordinatesGenerator\",\n  \"fill\",\n  \"fillOpacity\",\n  \"strokeDasharray\",\n]\n\nexport const xAxisProperties: (keyof Recharts.XAxisProps)[] = [\n  \"hide\",\n  \"dataKey\",\n  \"xAxisId\",\n  \"width\",\n  \"height\",\n  \"orientation\",\n  \"type\",\n  \"allowDecimals\",\n  \"allowDataOverflow\",\n  \"allowDuplicatedCategory\",\n  \"angle\",\n  \"tickCount\",\n  \"domain\",\n  \"includeHidden\",\n  \"interval\",\n  \"padding\",\n  \"minTickGap\",\n  \"axisLine\",\n  \"tickLine\",\n  \"tickSize\",\n  \"tickFormatter\",\n  \"ticks\",\n  \"tick\",\n  \"mirror\",\n  \"reversed\",\n  \"label\",\n  \"scale\",\n  \"unit\",\n  \"name\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"tickMargin\",\n]\n\nexport const yAxisProperties: (keyof Recharts.YAxisProps)[] = [\n  \"hide\",\n  \"dataKey\",\n  \"yAxisId\",\n  \"width\",\n  \"height\",\n  \"orientation\",\n  \"type\",\n  \"tickCount\",\n  \"domain\",\n  \"includeHidden\",\n  \"interval\",\n  \"padding\",\n  \"minTickGap\",\n  \"allowDecimals\",\n  \"allowDataOverflow\",\n  \"allowDuplicatedCategory\",\n  \"axisLine\",\n  \"tickLine\",\n  \"tickSize\",\n  \"tickFormatter\",\n  \"ticks\",\n  \"tick\",\n  \"mirror\",\n  \"reversed\",\n  \"label\",\n  \"scale\",\n  \"unit\",\n  \"name\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"tickMargin\",\n]\n\nexport const legendProperties: (keyof Omit<Recharts.LegendProps, \"ref\">)[] = [\n  \"width\",\n  \"height\",\n  \"layout\",\n  \"align\",\n  \"verticalAlign\",\n  \"iconSize\",\n  \"iconType\",\n  \"payload\",\n  \"chartWidth\",\n  \"chartHeight\",\n  \"margin\",\n  \"content\",\n  \"formatter\",\n  \"wrapperStyle\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n]\n\nexport const tooltipProperties: (keyof Recharts.TooltipProps<any, any>)[] = [\n  \"offset\",\n  \"filterNull\",\n  \"itemStyle\",\n  \"wrapperStyle\",\n  \"contentStyle\",\n  \"labelStyle\",\n  \"cursor\",\n  \"viewBox\",\n  \"allowEscapeViewBox\",\n  \"active\",\n  \"position\",\n  \"coordinate\",\n  \"payload\",\n  \"label\",\n  \"content\",\n  \"formatter\",\n  \"labelFormatter\",\n  \"itemSorter\",\n  \"isAnimationActive\",\n  \"animationDuration\",\n  \"animationEasing\",\n]\n\nexport const areaProperties: (keyof Omit<Recharts.AreaProps, \"ref\">)[] = [\n  \"type\",\n  \"dataKey\",\n  \"xAxisId\",\n  \"yAxisId\",\n  \"legendType\",\n  \"dot\",\n  \"activeDot\",\n  \"label\",\n  \"stroke\",\n  \"strokeWidth\",\n  \"layout\",\n  \"baseLine\",\n  \"points\",\n  \"stackId\",\n  \"connectNulls\",\n  \"unit\",\n  \"name\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"id\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n]\n\nexport const barProperties: (keyof Omit<Recharts.BarProps, \"ref\">)[] = [\n  \"layout\",\n  \"dataKey\",\n  \"xAxisId\",\n  \"yAxisId\",\n  \"legendType\",\n  \"label\",\n  \"data\",\n  \"barSize\",\n  \"maxBarSize\",\n  \"minPointSize\",\n  \"background\",\n  \"shape\",\n  \"activeBar\",\n  \"stackId\",\n  \"unit\",\n  \"name\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"id\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"radius\",\n]\n\nexport const radarProperties: (keyof Omit<Recharts.RadarProps, \"ref\">)[] = [\n  \"dataKey\",\n  \"points\",\n  \"shape\",\n  \"dot\",\n  \"activeDot\",\n  \"legendType\",\n  \"label\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n]\n\nexport const lineProperties: (keyof Omit<Recharts.LineProps, \"ref\">)[] = [\n  \"type\",\n  \"dataKey\",\n  \"xAxisId\",\n  \"yAxisId\",\n  \"legendType\",\n  \"dot\",\n  \"activeDot\",\n  \"label\",\n  \"hide\",\n  \"points\",\n  \"stroke\",\n  \"strokeWidth\",\n  \"layout\",\n  \"connectNulls\",\n  \"unit\",\n  \"name\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"id\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"strokeDasharray\",\n]\n\nexport const pieProperties: (keyof Omit<Recharts.PieProps, \"ref\">)[] = [\n  \"cx\",\n  \"cy\",\n  \"innerRadius\",\n  \"outerRadius\",\n  \"startAngle\",\n  \"endAngle\",\n  \"minAngle\",\n  \"paddingAngle\",\n  \"nameKey\",\n  \"dataKey\",\n  \"legendType\",\n  \"label\",\n  \"labelLine\",\n  \"data\",\n  \"activeIndex\",\n  \"activeShape\",\n  \"inactiveShape\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n]\n\nexport const radialBarProperties: (keyof Omit<\n  Recharts.RadialBarProps,\n  \"ref\"\n>)[] = [\n  \"legendType\",\n  \"label\",\n  \"background\",\n  \"data\",\n  \"dataKey\",\n  \"isAnimationActive\",\n  \"animationBegin\",\n  \"animationDuration\",\n  \"animationEasing\",\n  \"onAnimationStart\",\n  \"onAnimationEnd\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"cornerRadius\",\n]\n\nexport const dotProperties: (keyof Omit<Recharts.DotProps, \"ref\">)[] = [\n  \"cx\",\n  \"cy\",\n  \"r\",\n  \"onClick\",\n  \"onMouseDown\",\n  \"onMouseUp\",\n  \"onMouseMove\",\n  \"onMouseOver\",\n  \"onMouseOut\",\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n]\n\nexport const polarGridProperties: (keyof Recharts.PolarGridProps)[] = [\n  \"cx\",\n  \"cy\",\n  \"innerRadius\",\n  \"outerRadius\",\n  \"polarAngles\",\n  \"polarRadius\",\n  \"gridType\",\n  \"radialLines\",\n]\n\nexport const polarAngleAxisProperties: (keyof Recharts.PolarAngleAxisProps)[] =\n  [\n    \"dataKey\",\n    \"cx\",\n    \"cy\",\n    \"radius\",\n    \"axisLine\",\n    \"axisLineType\",\n    \"tickLine\",\n    \"tickSize\",\n    \"tick\",\n    \"ticks\",\n    \"orient\",\n    \"tickFormatter\",\n    \"type\",\n    \"allowDuplicatedCategory\",\n    \"onClick\",\n    \"onMouseDown\",\n    \"onMouseUp\",\n    \"onMouseMove\",\n    \"onMouseOver\",\n    \"onMouseOut\",\n    \"onMouseEnter\",\n    \"onMouseLeave\",\n  ]\n\nexport const polarRadiusAxisProperties: (keyof Recharts.PolarRadiusAxisProps)[] =\n  [\n    \"angle\",\n    \"type\",\n    \"allowDuplicatedCategory\",\n    \"cx\",\n    \"cy\",\n    \"domain\",\n    \"reversed\",\n    \"label\",\n    \"orientation\",\n    \"axisLine\",\n    \"tick\",\n    \"tickSize\",\n    \"tickFormatter\",\n    \"tickCount\",\n    \"scale\",\n    \"onClick\",\n    \"onMouseDown\",\n    \"onMouseUp\",\n    \"onMouseMove\",\n    \"onMouseOver\",\n    \"onMouseOut\",\n    \"onMouseEnter\",\n    \"onMouseLeave\",\n  ]\n\nexport const labelProperties: (keyof Recharts.LabelProps)[] = [\n  \"viewBox\",\n  \"formatter\",\n  \"value\",\n  \"position\",\n  \"offset\",\n  \"children\",\n  \"content\",\n  \"id\",\n]\n\nexport const labelListProperties: (keyof Recharts.LabelListProps<Dict>)[] = [\n  \"dataKey\",\n  \"valueAccessor\",\n  \"content\",\n  \"position\",\n  \"offset\",\n  \"formatter\",\n  \"data\",\n  \"clockWise\",\n  \"id\",\n  \"position\",\n]\n","import type { Dict } from \"@yamada-ui/utils\"\nimport { forwardRef, ui } from \"@yamada-ui/core\"\nimport { cx, isArray } from \"@yamada-ui/utils\"\nimport { useTooltip } from \"./use-chart\"\n\nexport interface ChartTooltipProps {\n  payload: Dict[] | undefined\n  dataKey?: string\n  label?: string\n  labelFormatter?: (label: string) => string\n  radialChart?: boolean\n  unit?: string\n  valueFormatter?: (value: any) => string\n}\n\nexport const ChartTooltip = forwardRef<ChartTooltipProps, \"div\">(\n  (\n    {\n      className,\n      dataKey = \"value\",\n      label,\n      labelFormatter,\n      payload = [],\n      radialChart,\n      unit,\n      valueFormatter,\n      ...rest\n    },\n    ref,\n  ) => {\n    const { styles } = useTooltip()\n\n    const items = payload.map(\n      (\n        {\n          name: nameProp,\n          color: colorProp,\n          [dataKey]: valueProp,\n          payload,\n        } = {},\n        index,\n      ) => {\n        const name = radialChart ? payload?.name : nameProp\n        const color = colorProp ?? payload?.color\n        let value: string\n\n        if (isArray(valueProp)) {\n          value = valueProp\n            .map((value) => {\n              return `${valueFormatter?.(value) ?? value}`\n            })\n            .join(\" - \")\n        } else {\n          value = valueFormatter?.(valueProp) ?? valueProp\n        }\n\n        return (\n          <ui.div\n            key={`tooltip-payload-${index}`}\n            className=\"ui-chart__tooltip-item\"\n            __css={styles.tooltipItem}\n          >\n            <ui.div\n              className=\"ui-chart__tooltip-swatch\"\n              background={color}\n              __css={styles.tooltipSwatch}\n            />\n\n            <ui.span\n              className=\"ui-chart__tooltip-label\"\n              __css={styles.tooltipLabel}\n            >\n              {name}\n            </ui.span>\n\n            <ui.span\n              className=\"ui-chart__tooltip-value\"\n              __css={styles.tooltipValue}\n            >\n              {value}\n              {unit ? unit : \"\"}\n            </ui.span>\n          </ui.div>\n        )\n      },\n    )\n\n    return (\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-chart__tooltip\", className)}\n        __css={styles.tooltip}\n        {...rest}\n      >\n        {label ? (\n          <ui.p className=\"ui-chart__tooltip-title\" __css={styles.tooltipTitle}>\n            {labelFormatter?.(label) ?? label}\n          </ui.p>\n        ) : null}\n\n        <ui.div className=\"ui-chart__tooltip-list\" __css={styles.tooltipList}>\n          {items}\n        </ui.div>\n      </ui.div>\n    )\n  },\n)\n\nChartTooltip.displayName = \"ChartTooltip\"\nChartTooltip.__ui__ = \"ChartTooltip\"\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type { AreaGradientProps } from \"./area-chart-gradient\"\nimport type { AreaSplitProps } from \"./area-chart-split\"\nimport type {\n  AreaChartProps,\n  AreaChartType,\n  AreaProps,\n  ChartCurveType,\n  ChartLayoutType,\n  ReferenceLineProps,\n} from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport {\n  areaChartProperties,\n  areaProperties,\n  dotProperties,\n} from \"./rechart-properties\"\n\nexport interface UseAreaChartOptions {\n  /**\n   * Chart data.\n   */\n  data: Dict[]\n  /**\n   * An array of objects with `dataKey` and `color` keys. Determines which data should be consumed from the `data` array.\n   */\n  series: AreaProps[]\n  /**\n   * Controls how chart areas are positioned relative to each other.\n   *\n   * @default `default`\n   */\n  type?: AreaChartType\n  /**\n   * Determines whether points with `null` values should be connected.\n   *\n   * @default true\n   */\n  connectNulls?: boolean\n  /**\n   * Type of the curve.\n   *\n   * @default `monotone`\n   */\n  curveType?: ChartCurveType\n  /**\n   * Controls fill opacity of all areas.\n   *\n   * @default 0.4\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * Chart orientation.\n   *\n   * @default 'horizontal'\n   */\n  layoutType?: ChartLayoutType\n  /**\n   * A tuple of colors used when `type=\"split\"` is set, ignored in all other cases.\n   *\n   * @default '[\"red.400\", \"green.400\"]'\n   */\n  splitColors?: [string, string]\n  /**\n   * Offset for the split gradient. By default, value is inferred from `data` and `series` if possible.\n   * Must be generated from the data array with `getSplitOffset` function.\n   */\n  splitOffset?: number\n  /**\n   * Stroke width for the chart areas.\n   *\n   * @default 2\n   */\n  strokeWidth?: number\n  /**\n   * If any two categorical charts have the same syncId,\n   * these two charts can sync the position tooltip, and the startIndex, endIndex of Brush.\n   */\n  syncId?: number | string\n  /**\n   * Determines whether activeDots should be displayed.\n   *\n   * @default true\n   */\n  withActiveDots?: boolean\n  /**\n   * Determines whether dots should be displayed.\n   *\n   * @default true\n   */\n  withDots?: boolean\n  /**\n   * Determines whether the chart area should be represented with a gradient instead of the solid color.\n   */\n  withGradient?: boolean\n  /**\n   * A label to display below the X axis.\n   */\n  xAxisLabel?: string\n  /**\n   * A label to display below the Y axis.\n   */\n  yAxisLabel?: string\n  /**\n   * Props for the areas.\n   */\n  areaProps?: Partial<AreaProps>\n  /**\n   * Props passed down to recharts `AreaChart` component.\n   */\n  chartProps?: AreaChartProps\n  /**\n   * Reference lines that should be displayed on the chart.\n   */\n  referenceLineProps?: ReferenceLineProps[]\n}\n\ninterface UseAreaChartProps extends UseAreaChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useAreaChart = ({\n  type,\n  connectNulls = true,\n  curveType = \"monotone\",\n  data,\n  fillOpacity = 0.4,\n  layoutType = \"horizontal\",\n  series,\n  splitColors = [\"#ee6a5d\", \"#5fce7d\"],\n  splitOffset,\n  strokeWidth = 2,\n  styles,\n  syncId,\n  withActiveDots = true,\n  withDots = true,\n  withGradient: withGradientProp,\n  xAxisLabel,\n  yAxisLabel,\n  referenceLineProps,\n  ...rest\n}: UseAreaChartProps) => {\n  const uuid = useId()\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const splitId = `${uuid}-split`\n  const stacked = type === \"stacked\" || type === \"percent\"\n  const withGradient =\n    typeof withGradientProp === \"boolean\"\n      ? withGradientProp\n      : type === \"default\"\n  const shouldHighlight = highlightedArea !== null\n  const {\n    activeDot = {},\n    dimArea,\n    dimDot,\n    dot = {},\n    ...computedAreaProps\n  } = rest.areaProps ?? {}\n\n  const areaColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      series.map(({ color }, index) => ({\n        name: `area-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [series],\n  )\n\n  const areaSplitColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      splitColors.map((color, index) => ({\n        name: `area-split-${index}`,\n        token: \"colors\",\n        value: color || \"transparent\",\n      })),\n    [splitColors],\n  )\n\n  const referenceLineColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      referenceLineProps\n        ? referenceLineProps.map(({ color }, index) => ({\n            name: `reference-line-${index}`,\n            token: \"colors\",\n            value: color ?? \"transparent\",\n          }))\n        : [],\n    [referenceLineProps],\n  )\n\n  const areaVars: CSSUIProps[\"vars\"] = useMemo(() => {\n    return [\n      ...areaColors,\n      ...areaSplitColors,\n      ...referenceLineColors,\n      { name: \"fill-opacity\", value: fillOpacity },\n    ]\n  }, [areaColors, areaSplitColors, referenceLineColors, fillOpacity])\n  const fillOpacityVar = useMemo(() => getVar(\"fill-opacity\")(theme), [theme])\n\n  const [chartProps, areaChartClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.chartProps ?? {}, areaChartProperties],\n        styles.chart,\n      )(theme),\n    [rest.chartProps, styles.chart, theme],\n  )\n\n  const [areaProps, areaClassName] = useMemo(() => {\n    const resolvedAreaProps = {\n      fillOpacity: 1,\n      strokeOpacity: 1,\n      ...computedAreaProps,\n    }\n\n    return getComponentProps<Dict, string>(\n      [resolvedAreaProps, areaProperties],\n      styles.area,\n    )(theme)\n  }, [computedAreaProps, styles.area, theme])\n\n  const [dimAreaProps, dimAreaClassName] = useMemo(() => {\n    const resolvedDimArea = {\n      fillOpacity: 0,\n      strokeOpacity: 0.3,\n      ...dimArea,\n    }\n\n    return getComponentProps<Dict, string>([resolvedDimArea, areaProperties])(\n      theme,\n    )\n  }, [dimArea, theme])\n\n  const [dotProps, dotClassName] = useMemo(() => {\n    const resolvedDot = { fillOpacity: 1, strokeWidth: 2, ...dot }\n\n    return getComponentProps<Dict, string>(\n      [resolvedDot, dotProperties],\n      styles.dot,\n    )(theme)\n  }, [dot, styles.dot, theme])\n\n  const [activeDotProps, activeDotClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [activeDot, dotProperties],\n        styles.activeDot,\n      )(theme),\n    [activeDot, styles.activeDot, theme],\n  )\n\n  const [dimDotProps, dimDotClassName] = useMemo(() => {\n    const resolvedDimDot = { fillOpacity: 0, strokeOpacity: 0, ...dimDot }\n    return getComponentProps<Dict, string>([resolvedDimDot, dotProperties])(\n      theme,\n    )\n  }, [dimDot, theme])\n\n  const defaultSplitOffset = useMemo(() => {\n    if (series.length === 1) {\n      const dataKey = series[0]?.dataKey as string\n\n      if (dataKey) {\n        const dataMax = Math.max(...data.map((item) => item[dataKey]))\n        const dataMin = Math.min(...data.map((item) => item[dataKey]))\n\n        if (dataMax <= 0) return 0\n        if (dataMin >= 0) return 1\n\n        return dataMax / (dataMax - dataMin)\n      }\n    }\n\n    return 0.5\n  }, [data, series])\n\n  const areaPropsList = useMemo(\n    () =>\n      series.map((props, index) => {\n        const {\n          activeDot = {},\n          dataKey,\n          dimArea = {},\n          dimDot = {},\n          dot = {},\n          strokeDasharray,\n          ...computedProps\n        } = props\n        const id = `${uuid}-${dataKey}`\n        const color = getVar(`area-${index}`)(theme)\n        const dimmed = shouldHighlight && highlightedArea !== dataKey\n        const computedDimArea = { ...dimAreaProps, ...dimArea }\n\n        const resolvedProps = {\n          ...areaProps,\n          ...computedProps,\n          ...(dimmed ? computedDimArea : {}),\n        }\n        const rest = getComponentProps<Dict, string>(\n          [resolvedProps, areaProperties],\n          areaClassName,\n          dimmed ? dimAreaClassName : undefined,\n        )(theme, true)\n\n        let resolvedActiveDot: boolean | Recharts.DotProps\n\n        if (withActiveDots) {\n          const computedActiveDot = { ...activeDotProps, ...activeDot }\n\n          const [rest, className] = getComponentProps(\n            [computedActiveDot, dotProperties],\n            activeDotClassName,\n          )(theme)\n\n          resolvedActiveDot = {\n            className: cx(\"ui-area-chart__active-dot\", className),\n            r: 4,\n            stroke: color,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedActiveDot = false\n        }\n\n        let resolvedDot: boolean | Recharts.DotProps\n\n        if (withDots) {\n          const computedDimDot = { ...dimDotProps, ...dimDot }\n          const computedDot = {\n            ...dotProps,\n            ...dot,\n            ...(dimmed ? computedDimDot : {}),\n          }\n\n          const [rest, className] = getComponentProps(\n            [computedDot, dotProperties],\n            dotClassName,\n            dimmed ? dimDotClassName : undefined,\n          )(theme)\n\n          resolvedDot = {\n            className: cx(\"ui-area-chart__dot\", className),\n            fill: color,\n            r: 4,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedDot = false\n        }\n\n        return {\n          ...rest,\n          id,\n          activeDot: resolvedActiveDot,\n          color,\n          dataKey,\n          dot: resolvedDot,\n          strokeDasharray,\n        }\n      }),\n    [\n      series,\n      uuid,\n      shouldHighlight,\n      highlightedArea,\n      dimAreaProps,\n      dimDotProps,\n      areaProps,\n      areaClassName,\n      dimAreaClassName,\n      theme,\n      withActiveDots,\n      withDots,\n      activeDotProps,\n      activeDotClassName,\n      dotProps,\n      dotClassName,\n      dimDotClassName,\n    ],\n  )\n\n  const getAreaChartProps: RequiredPropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.AreaChart>,\n    ComponentPropsWithoutRef<typeof Recharts.AreaChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, areaChartClassName),\n      data,\n      layout: layoutType,\n      margin: {\n        bottom: xAxisLabel ? 30 : undefined,\n        left: yAxisLabel ? 10 : undefined,\n        right: yAxisLabel ? 5 : undefined,\n      },\n      stackOffset: type === \"percent\" ? \"expand\" : undefined,\n      syncId,\n      ...props,\n      ...chartProps,\n    }),\n    [\n      areaChartClassName,\n      data,\n      type,\n      layoutType,\n      syncId,\n      xAxisLabel,\n      yAxisLabel,\n      chartProps,\n    ],\n  )\n\n  const getAreaSplitProps: PropGetter<\n    Partial<AreaSplitProps>,\n    AreaSplitProps\n  > = useCallback(\n    (props = {}) => ({\n      id: splitId,\n      fillOpacity: fillOpacityVar,\n      offset: splitOffset ?? defaultSplitOffset,\n      ...props,\n    }),\n    [defaultSplitOffset, splitId, splitOffset, fillOpacityVar],\n  )\n\n  const getAreaProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.AreaProps>,\n    Omit<Recharts.AreaProps, \"ref\">\n  > = useCallback(\n    ({ className: classNameProp, index, ...props }, ref = null) => {\n      const {\n        id,\n        className,\n        activeDot,\n        color,\n        dataKey = \"\",\n        dot,\n        strokeDasharray,\n        ...rest\n      } = areaPropsList[index] ?? {}\n\n      return {\n        id,\n        ref,\n        type: curveType,\n        name: dataKey as string,\n        className: cx(classNameProp, className),\n        activeDot,\n        connectNulls,\n        dataKey,\n        dot,\n        fill: type === \"split\" ? `url(#${splitId})` : `url(#${id})`,\n        isAnimationActive: false,\n        stackId: stacked ? \"stack\" : undefined,\n        stroke: color,\n        strokeDasharray,\n        strokeWidth,\n        ...(props as Omit<Recharts.AreaProps, \"dataKey\">),\n        ...rest,\n      }\n    },\n    [\n      areaPropsList,\n      connectNulls,\n      curveType,\n      splitId,\n      stacked,\n      strokeWidth,\n      type,\n    ],\n  )\n\n  const getAreaGradientProps: PropGetter<\n    Partial<AreaGradientProps>,\n    AreaGradientProps\n  > = useCallback(\n    (props = {}) => ({\n      fillOpacity: fillOpacityVar,\n      withGradient,\n      ...props,\n    }),\n    [withGradient, fillOpacityVar],\n  )\n\n  return {\n    areaVars,\n    setHighlightedArea,\n    getAreaChartProps,\n    getAreaGradientProps,\n    getAreaProps,\n    getAreaSplitProps,\n  }\n}\n\nexport type UseAreaChartReturn = ReturnType<typeof useAreaChart>\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { SVGProps } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type {\n  AreaChartType,\n  ChartAxisType,\n  ChartLayoutType,\n  LabelProps,\n  XAxisProps,\n  YAxisProps,\n} from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport {\n  labelProperties,\n  xAxisProperties,\n  yAxisProperties,\n} from \"./rechart-properties\"\n\nexport interface UseChartAxisOptions {\n  /**\n   * The key of a group of data which should be unique in an chart.\n   */\n  dataKey: string\n  /**\n   * Controls how chart areas are positioned relative to each other\n   *\n   * @default `default`\n   */\n  type?: AreaChartType\n  /**\n   * Specifies which lines should be displayed in the grid.\n   *\n   * @default 'x'\n   */\n  gridAxis?: ChartAxisType\n  /**\n   * Chart orientation.\n   *\n   * @default 'horizontal'\n   */\n  layoutType?: ChartLayoutType\n  /**\n   * The option is the configuration of tick lines.\n   *\n   * @default 'y'\n   */\n  tickLine?: ChartAxisType\n  /**\n   * Unit displayed next to each tick in y-axis.\n   */\n  unit?: string\n  /**\n   * If `true`, X axis is visible.\n   *\n   * @default true\n   */\n  withXAxis?: boolean\n  /**\n   * If `true`, Y axis is visible.\n   *\n   * @default true\n   */\n  withYAxis?: boolean\n  /**\n   * A label to display below the X axis.\n   */\n  xAxisLabel?: string\n  /**\n   * A function to format X axis tick.\n   */\n  xAxisTickFormatter?: (value: any) => string\n  /**\n   * A label to display below the Y axis.\n   */\n  yAxisLabel?: string\n  /**\n   * A function to format Y axis tick.\n   */\n  yAxisTickFormatter?: (value: any) => string\n  /**\n   * Props passed down to recharts 'XAxisLabel' component.\n   */\n  xAxisLabelProps?: LabelProps\n  /**\n   * Props passed down to recharts 'XAxis' component.\n   */\n  xAxisProps?: XAxisProps\n  /**\n   * Props passed down to recharts 'YAxisLabel' component.\n   */\n  yAxisLabelProps?: LabelProps\n  /**\n   * Props passed down to recharts 'YAxis' component.\n   */\n  yAxisProps?: YAxisProps\n}\n\nexport interface UseChartAxisProps extends UseChartAxisOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartAxis = ({\n  type,\n  dataKey,\n  gridAxis = \"x\",\n  layoutType = \"horizontal\",\n  styles,\n  tickLine = \"y\",\n  unit,\n  withXAxis = true,\n  withYAxis = true,\n  xAxisLabel: xAxisLabelProp,\n  xAxisTickFormatter = type === \"percent\" && layoutType === \"vertical\"\n    ? valueToPercent\n    : undefined,\n  yAxisLabel: yAxisLabelProp,\n  yAxisTickFormatter = type === \"percent\" && layoutType === \"horizontal\"\n    ? valueToPercent\n    : undefined,\n  ...rest\n}: UseChartAxisProps) => {\n  const { theme } = useTheme()\n  const xAxisKey: Recharts.XAxisProps = useMemo(\n    () => (layoutType === \"vertical\" ? { type: \"number\" } : { dataKey }),\n    [dataKey, layoutType],\n  )\n\n  const yAxisKey: Recharts.YAxisProps = useMemo(\n    () =>\n      layoutType === \"vertical\"\n        ? { type: \"category\", dataKey }\n        : { type: \"number\" },\n    [dataKey, layoutType],\n  )\n  const withXTickLine =\n    gridAxis !== \"none\" && (tickLine === \"x\" || tickLine === \"xy\")\n  const withYTickLine =\n    gridAxis !== \"none\" && (tickLine === \"y\" || tickLine === \"xy\")\n  const getTickLine = (\n    withTickLine: boolean,\n  ): boolean | SVGProps<SVGTextElement> =>\n    withTickLine ? { stroke: \"currentColor\" } : false\n  const xTickLine = getTickLine(withXTickLine)\n  const yTickLine = getTickLine(withYTickLine)\n\n  const xAxisLabel = layoutType === \"vertical\" ? yAxisLabelProp : xAxisLabelProp\n  const yAxisLabel = layoutType === \"vertical\" ? xAxisLabelProp : yAxisLabelProp\n\n  const [xAxisProps, xAxisClassName] = getComponentProps<Dict, string>(\n    [rest.xAxisProps ?? {}, xAxisProperties],\n    styles.xAxis,\n  )(theme)\n\n  const [yAxisProps, yAxisClassName] = getComponentProps<Dict, string>(\n    [rest.yAxisProps ?? {}, yAxisProperties],\n    styles.yAxis,\n  )(theme)\n\n  const [xAxisLabelProps, xAxisLabelClassName] = getComponentProps<\n    Dict,\n    string\n  >(\n    [rest.xAxisLabelProps ?? {}, labelProperties],\n    styles.xAxisLabel,\n  )(theme)\n\n  const [yAxisLabelProps, yAxisLabelClassName] = getComponentProps<\n    Dict,\n    string\n  >(\n    [rest.yAxisLabelProps ?? {}, labelProperties],\n    styles.yAxisLabel,\n  )(theme)\n\n  const getXAxisProps: PropGetter<\n    Partial<Recharts.XAxisProps>,\n    Recharts.XAxisProps\n  > = useCallback(\n    ({ className, ...props } = {}) => ({\n      className: cx(className, xAxisClassName),\n      hide: !withXAxis,\n      ...xAxisKey,\n      interval: \"preserveStartEnd\",\n      minTickGap: 5,\n      stroke: \"\",\n      tick: {\n        fill: \"currentColor\",\n        transform: \"translate(0, 10)\",\n      },\n      tickFormatter: xAxisTickFormatter,\n      tickLine: xTickLine,\n      ...props,\n      ...(xAxisProps as Recharts.XAxisProps),\n    }),\n    [\n      xAxisClassName,\n      withXAxis,\n      xAxisKey,\n      xTickLine,\n      xAxisTickFormatter,\n      xAxisProps,\n    ],\n  )\n\n  const getYAxisProps: PropGetter<\n    Partial<Recharts.YAxisProps>,\n    Recharts.YAxisProps\n  > = useCallback(\n    ({ className, ...props } = {}) => ({\n      className: cx(className, yAxisClassName),\n      axisLine: false,\n      hide: !withYAxis,\n      ...yAxisKey,\n      allowDecimals: true,\n      tick: {\n        fill: \"currentColor\",\n        transform: \"translate(-10, 0)\",\n      },\n      tickFormatter: yAxisTickFormatter,\n      tickLine: yTickLine,\n      unit: unit,\n      ...props,\n      ...(yAxisProps as Recharts.YAxisProps),\n    }),\n    [\n      yAxisClassName,\n      withYAxis,\n      yAxisKey,\n      yTickLine,\n      unit,\n      yAxisTickFormatter,\n      yAxisProps,\n    ],\n  )\n\n  const getXAxisLabelProps: PropGetter<\n    Partial<Recharts.LabelProps>,\n    Recharts.LabelProps\n  > = useCallback(\n    ({ className, ...props } = {}) => ({\n      className: cx(className, xAxisLabelClassName),\n      offset: -20,\n      position: \"insideBottom\",\n      value: xAxisLabel,\n      ...props,\n      ...xAxisLabelProps,\n    }),\n    [xAxisLabel, xAxisLabelClassName, xAxisLabelProps],\n  )\n\n  const getYAxisLabelProps: PropGetter<\n    Partial<Recharts.LabelProps>,\n    Recharts.LabelProps\n  > = useCallback(\n    ({ className, ...props } = {}) => ({\n      className: cx(className, yAxisLabelClassName),\n      angle: -90,\n      offset: -5,\n      position: \"insideLeft\",\n      textAnchor: \"middle\",\n      value: yAxisLabel,\n      ...props,\n      ...yAxisLabelProps,\n    }),\n    [yAxisLabel, yAxisLabelClassName, yAxisLabelProps],\n  )\n\n  return {\n    getXAxisLabelProps,\n    getXAxisProps,\n    getYAxisLabelProps,\n    getYAxisProps,\n  }\n}\n\nconst valueToPercent = (value: any) => {\n  return `${(value * 100).toFixed(0)}%`\n}\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { CartesianGridProps } from \"recharts\"\nimport type { ChartAxisType, GridProps } from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { gridProperties } from \"./rechart-properties\"\n\nexport interface UseChartGridOptions {\n  /**\n   * Specifies which lines should be displayed in the grid.\n   *\n   * @default 'x'\n   */\n  gridAxis?: ChartAxisType\n  /**\n   * Dash array for the grid lines and cursor. The first number is the length of the solid line section and the second number is the length of the interval.\n   *\n   * @default '5 5'\n   */\n  strokeDasharray?: number | string\n  /**\n   * Props passed down to recharts 'CartesianGrid' component.\n   */\n  gridProps?: GridProps\n}\n\ninterface UseChartGridProps extends UseChartGridOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartGrid = ({\n  gridAxis = \"x\",\n  strokeDasharray = \"5 5\",\n  styles,\n  gridProps = {},\n}: UseChartGridProps) => {\n  const { theme } = useTheme()\n  const [reChartsProps, propClassName] = getComponentProps(\n    [gridProps, gridProperties],\n    styles.grid,\n  )(theme)\n\n  const getGridProps: PropGetter<\n    Partial<CartesianGridProps>,\n    CartesianGridProps\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(\"ui-chart__grid\", className, propClassName),\n      horizontal: gridAxis === \"x\" || gridAxis === \"xy\",\n      strokeDasharray: strokeDasharray,\n      vertical: gridAxis === \"y\" || gridAxis === \"xy\",\n      ...props,\n      ...reChartsProps,\n    }),\n    [propClassName, strokeDasharray, gridAxis, reChartsProps],\n  )\n\n  return { getGridProps }\n}\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { LegendProps } from \"./chart.types\"\nimport { splitObject } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\nimport { legendProperties } from \"./rechart-properties\"\n\nexport interface UseChartLegendProps {\n  /**\n   * Props passed down to recharts 'Legend' component.\n   */\n  legendProps?: LegendProps\n}\n\nexport const useChartLegend = ({\n  legendProps: _legendProps = {},\n}: UseChartLegendProps) => {\n  const [rest, legendProps] = splitObject<Dict, string>(\n    _legendProps,\n    legendProperties,\n  )\n\n  const getLegendProps: PropGetter<\n    Partial<Recharts.LegendProps>,\n    Omit<Recharts.LegendProps, \"ref\">\n  > = useCallback(\n    (props, ref = null) => {\n      return {\n        ref,\n        verticalAlign: \"top\",\n        ...props,\n        ...rest,\n      }\n    },\n    [rest],\n  )\n\n  return { getLegendProps, legendProps }\n}\n","import type { CSSUIObject, RequiredPropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { ReferenceLineProps } from \"./chart.types\"\nimport { getCSS, getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx, isObject } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { referenceLineProperties } from \"./rechart-properties\"\n\nexport interface UseChartReferenceLineOptions {\n  /**\n   * Reference lines that should be displayed on the chart.\n   */\n  referenceLineProps?: ReferenceLineProps[]\n}\n\ninterface UseChartReferenceLineProps extends UseChartReferenceLineOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartReferenceLine = ({\n  styles,\n  referenceLineProps = [],\n}: UseChartReferenceLineProps) => {\n  const { theme } = useTheme()\n  const styleClassName = getCSS(styles.referenceLine)(theme)\n  const propList = useMemo(\n    () =>\n      referenceLineProps.map((props, index) => {\n        const [{ label: labelProp, ...rest }, propClassName] =\n          getComponentProps(\n            [props, referenceLineProperties],\n            styleClassName,\n          )(theme)\n\n        const color = getVar(`reference-line-${index}`)(theme)\n        const label: Recharts.ReferenceLineProps[\"label\"] = {\n          fill: color,\n          position: \"insideBottomLeft\",\n          value: labelProp as string,\n          ...(isObject(labelProp) ? labelProp : {}),\n        }\n\n        return { color, label, propClassName, ...rest }\n      }),\n    [referenceLineProps, styleClassName, theme],\n  )\n\n  const getReferenceLineProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.ReferenceLineProps>,\n    Omit<Recharts.ReferenceLineProps, \"ref\">\n  > = useCallback(\n    ({ className, index, ...props }, ref = null) => {\n      const { color, label, propClassName, ...rest } = propList[index] ?? {}\n\n      return {\n        ref,\n        className: cx(className, propClassName),\n        label,\n        stroke: color,\n        ...(props as Recharts.ReferenceLineProps),\n        ...rest,\n      }\n    },\n    [propList],\n  )\n\n  return { getReferenceLineProps }\n}\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { TooltipProps } from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { cx, splitObject } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport { getClassName } from \"./chart-utils\"\nimport { tooltipProperties } from \"./rechart-properties\"\n\nexport interface UseChartTooltipOptions {\n  /**\n   * A function to format labels on inside the tooltip.\n   */\n  labelFormatter?: (label: string) => string\n  /**\n   * Specifies the duration of animation, the unit of this option is ms.\n   *\n   * @default 0\n   */\n  tooltipAnimationDuration?: number\n  /**\n   * A function to format values on inside the tooltip.\n   */\n  valueFormatter?: (value: any) => string\n  /**\n   * Props passed down to recharts 'Tooltip' component.\n   */\n  tooltipProps?: TooltipProps\n}\n\ninterface UseChartTooltipProps extends UseChartTooltipOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartTooltip = ({\n  styles,\n  tooltipAnimationDuration = 0,\n  tooltipProps: _tooltipProps = {},\n}: UseChartTooltipProps) => {\n  const { theme } = useTheme()\n  const { cursor, ...rest } = _tooltipProps\n  const cursorClassName = useMemo(\n    () => getClassName({ ...styles.cursor, ...cursor })(theme),\n    [cursor, styles.cursor, theme],\n  )\n\n  const [tooltipProps, tooltipUIProps] = splitObject<Dict, string>(\n    rest,\n    tooltipProperties,\n  )\n\n  const getTooltipProps: PropGetter<\n    Partial<Recharts.TooltipProps<any, any>>,\n    Recharts.TooltipProps<any, any>\n  > = useCallback(\n    (props, ref = null) => ({\n      ref,\n      animationDuration: tooltipAnimationDuration,\n      cursor: {\n        className: cx(\"ui-chart__cursor\", cursorClassName),\n      },\n      isAnimationActive: (tooltipAnimationDuration || 0) > 0,\n      ...props,\n      ...tooltipProps,\n    }),\n    [cursorClassName, tooltipAnimationDuration, tooltipProps],\n  )\n\n  return { getTooltipProps, tooltipProps: tooltipUIProps }\n}\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { UseBarChartOptions } from \"./use-bar-chart\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartAxisOptions } from \"./use-chart-axis\"\nimport type { UseChartGridOptions } from \"./use-chart-grid\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartReferenceLineOptions } from \"./use-chart-reference-line\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  CartesianGrid,\n  Label,\n  Legend,\n  BarChart as ReChartsBarChart,\n  ReferenceLine,\n  ResponsiveContainer,\n  Tooltip,\n  XAxis,\n  YAxis,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { useBarChart } from \"./use-bar-chart\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartAxis } from \"./use-chart-axis\"\nimport { useChartGrid } from \"./use-chart-grid\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartReferenceLine } from \"./use-chart-reference-line\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\n\ninterface BarChartOptions {\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport type BarChartProps = BarChartOptions &\n  HTMLUIProps &\n  ThemeProps<\"BarChart\"> &\n  UseBarChartOptions &\n  UseChartAxisOptions &\n  UseChartGridOptions &\n  UseChartLegendProps &\n  UseChartProps &\n  UseChartReferenceLineOptions &\n  UseChartTooltipOptions\n\n/**\n * `BarChart` is a component for drawing bar charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/bar-chart\n */\nexport const BarChart = forwardRef<BarChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"BarChart\", props)\n  const {\n    type = \"default\",\n    className,\n    cell,\n    data,\n    dataKey,\n    fillOpacity,\n    gridAxis,\n    labelFormatter,\n    layoutType,\n    series,\n    strokeDasharray,\n    syncId,\n    tickLine,\n    tooltipAnimationDuration,\n    unit,\n    valueFormatter,\n    withLegend = false,\n    withTooltip = true,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    barProps,\n    chartProps,\n    containerProps,\n    gridProps,\n    legendProps,\n    referenceLineProps = [],\n    tooltipProps,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const { bars, barVars, setHighlightedArea, getBarChartProps } = useBarChart({\n    type,\n    cell,\n    data,\n    fillOpacity,\n    layoutType,\n    series,\n    styles,\n    syncId,\n    xAxisLabel,\n    yAxisLabel,\n    barProps,\n    chartProps,\n    referenceLineProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const {\n    getXAxisLabelProps,\n    getXAxisProps,\n    getYAxisLabelProps,\n    getYAxisProps,\n  } = useChartAxis({\n    type,\n    dataKey,\n    gridAxis,\n    layoutType,\n    styles,\n    tickLine,\n    unit,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n  })\n  const { getReferenceLineProps } = useChartReferenceLine({\n    styles,\n    referenceLineProps,\n  })\n  const { getGridProps } = useChartGrid({\n    gridAxis,\n    strokeDasharray,\n    styles,\n    gridProps,\n  })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n\n  const referenceLinesItems = useMemo(\n    () =>\n      referenceLineProps.map((_, index) => (\n        <ReferenceLine\n          key={`referenceLine-${index}`}\n          {...getReferenceLineProps({\n            className: \"ui-bar-chart__reference-line\",\n            index,\n          })}\n        />\n      )),\n    [getReferenceLineProps, referenceLineProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-bar-chart\", className)}\n        __css={{ maxW: \"full\", vars: barVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-bar-chart__container\" })}\n        >\n          <ReChartsBarChart\n            {...getBarChartProps({ className: \"ui-bar-chart__chart\" })}\n          >\n            <CartesianGrid\n              {...getGridProps({ className: \"ui-bar-chart__grid\" })}\n            />\n\n            <XAxis {...getXAxisProps({ className: \"ui-bar-chart__x-axis\" })}>\n              <Label\n                {...getXAxisLabelProps({\n                  className: \"ui-bar-chart__x-axis-label\",\n                })}\n              />\n            </XAxis>\n\n            <YAxis {...getYAxisProps({ className: \"ui-bar-chart__y-axis\" })}>\n              <Label\n                {...getYAxisLabelProps({\n                  className: \"ui-bar-chart__y-axis-label\",\n                })}\n              />\n            </YAxis>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-bar-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-bar-chart__tooltip\"\n                    label={label}\n                    labelFormatter={labelFormatter}\n                    payload={payload}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n\n            {bars}\n            {referenceLinesItems}\n          </ReChartsBarChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nBarChart.displayName = \"BarChart\"\nBarChart.__ui__ = \"BarChart\"\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef, FC, ReactNode } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type {\n  BarChartProps,\n  BarChartType,\n  BarProps,\n  ChartLayoutType,\n  ReferenceLineProps,\n} from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx, runIfFunc } from \"@yamada-ui/utils\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\nimport { Bar, Cell } from \"recharts\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { barChartProperties, barProperties } from \"./rechart-properties\"\n\nexport interface UseBarChartOptions {\n  /**\n   * Chart data.\n   */\n  data: Dict[]\n  /**\n   * An array of objects with `name` and `color` keys. Determines which data should be consumed from the `data` array.\n   */\n  series: BarProps[]\n  /**\n   * Controls how chart bars are positioned relative to each other.\n   *\n   * @default `default`\n   */\n  type?: BarChartType\n  /**\n   * A function that returns a component that renders the bar cells.\n   */\n  cell?: FC<BarCellProps> | ReactNode\n  /**\n   * Controls fill opacity of all bars.\n   *\n   * @default 1\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * Chart orientation.\n   *\n   * @default 'horizontal'\n   */\n  layoutType?: ChartLayoutType\n  /**\n   * If any two categorical charts have the same syncId,\n   * these two charts can sync the position tooltip, and the startIndex, endIndex of Brush.\n   */\n  syncId?: number | string\n  /**\n   * A label to display below the X axis.\n   */\n  xAxisLabel?: string\n  /**\n   * A label to display below the Y axis.\n   */\n  yAxisLabel?: string\n  /**\n   * Props for the bars.\n   */\n  barProps?: Partial<BarProps>\n  /**\n   * Props passed down to recharts `BarChart` component.\n   */\n  chartProps?: BarChartProps\n  /**\n   * Reference lines that should be displayed on the chart.\n   */\n  referenceLineProps?: ReferenceLineProps[]\n}\n\nexport interface UseBarChartProps extends UseBarChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useBarChart = ({\n  type = \"default\",\n  cell = defaultBarCell,\n  data,\n  fillOpacity = 1,\n  layoutType = \"horizontal\",\n  series,\n  styles,\n  syncId,\n  xAxisLabel,\n  yAxisLabel,\n  referenceLineProps = [],\n  ...rest\n}: UseBarChartProps) => {\n  const uuid = useId()\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const stacked = type === \"stacked\" || type === \"percent\"\n  const shouldHighlight = highlightedArea !== null\n  const {\n    activeBar = {},\n    background = {},\n    dimBar,\n    ...computedBarProps\n  } = rest.barProps ?? {}\n\n  const barColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      series.map(({ color }, index) => ({\n        name: `bar-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [series],\n  )\n\n  const referenceLineColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      referenceLineProps.map(({ color }, index) => ({\n        name: `reference-line-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [referenceLineProps],\n  )\n\n  const barVars: CSSUIProps[\"vars\"] = useMemo(() => {\n    return [\n      ...barColors,\n      ...referenceLineColors,\n      { name: \"fill-opacity\", value: fillOpacity },\n    ]\n  }, [barColors, fillOpacity, referenceLineColors])\n\n  const [chartProps, barChartClassName] = useMemo(() => {\n    const resolvedBarChartProps = { barGap: 8, ...rest.chartProps }\n\n    return getComponentProps<Dict, string>(\n      [resolvedBarChartProps, barChartProperties],\n      styles.chart,\n    )(theme)\n  }, [rest.chartProps, styles.chart, theme])\n\n  const [barProps, barClassName] = useMemo(() => {\n    const resolvedBarProps = {\n      fillOpacity: \"$fill-opacity\",\n      strokeOpacity: 1,\n      ...computedBarProps,\n    }\n\n    return getComponentProps<Dict, string>(\n      [resolvedBarProps, barProperties],\n      styles.bar,\n    )(theme)\n  }, [computedBarProps, styles.bar, theme])\n\n  const [dimBarProps, dimBarClassName] = useMemo(() => {\n    const resolvedDimBar = { fillOpacity: 0.3, strokeOpacity: 0, ...dimBar }\n\n    return getComponentProps<Dict, string>([resolvedDimBar, barProperties])(\n      theme,\n    )\n  }, [dimBar, theme])\n\n  const [activeBarProps, activeBarClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [activeBar, barProperties],\n        styles.activeBar,\n      )(theme),\n    [activeBar, styles.activeBar, theme],\n  )\n\n  const [backgroundProps, backgroundClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [background, barProperties],\n        styles.background,\n      )(theme),\n    [background, styles.background, theme],\n  )\n\n  const barPropsList = useMemo(\n    () =>\n      series.map((props, index) => {\n        const {\n          activeBar = {},\n          background = {},\n          dataKey,\n          dimBar = {},\n          ...computedProps\n        } = props\n        const id = `${uuid}-${dataKey}`\n        const color = getVar(`bar-${index}`)(theme)\n        const dimmed = shouldHighlight && highlightedArea !== dataKey\n        const computedDimBar = { ...dimBarProps, ...dimBar }\n        const resolvedProps = {\n          ...barProps,\n          ...computedProps,\n          ...(dimmed ? computedDimBar : {}),\n        }\n\n        const rest = getComponentProps<Dict, string>(\n          [resolvedProps, barProperties],\n          barClassName,\n          dimmed ? dimBarClassName : undefined,\n        )(theme, true)\n\n        const computedActiveBar = { ...activeBarProps, ...activeBar }\n\n        const resolvedActiveBar = getComponentProps<Dict, string>(\n          [computedActiveBar, barProperties],\n          activeBarClassName,\n        )(theme, true)\n\n        const computedBackground = { ...backgroundProps, ...background }\n\n        const resolvedBackground = getComponentProps<Dict, string>(\n          [computedBackground, barProperties],\n          backgroundClassName,\n        )(theme, true)\n\n        return {\n          ...rest,\n          id,\n          activeBar: resolvedActiveBar,\n          background: resolvedBackground,\n          color,\n          dataKey,\n        }\n      }),\n    [\n      activeBarClassName,\n      activeBarProps,\n      backgroundClassName,\n      backgroundProps,\n      barClassName,\n      barProps,\n      dimBarClassName,\n      dimBarProps,\n      highlightedArea,\n      series,\n      shouldHighlight,\n      theme,\n      uuid,\n    ],\n  )\n\n  const getBarProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.BarProps>,\n    Omit<Recharts.BarProps, \"ref\">\n  > = useCallback(\n    ({ className: classNameProp, index, ...props }, ref = null) => {\n      const {\n        id,\n        className,\n        activeBar,\n        background,\n        color,\n        dataKey = \"\",\n        ...rest\n      } = barPropsList[index] ?? {}\n\n      return {\n        id,\n        ref,\n        name: dataKey,\n        className: cx(classNameProp, className),\n        activeBar,\n        background,\n        dataKey,\n        fill: color,\n        isAnimationActive: false,\n        stackId: stacked ? \"stack\" : undefined,\n        stroke: color,\n        ...(props as Omit<Recharts.BarProps, \"dataKey\">),\n        ...rest,\n      } as Recharts.BarProps\n    },\n    [barPropsList, stacked],\n  )\n\n  const bars = useMemo(() => {\n    const hasStack = series.some((entry) => entry.stackId)\n\n    return series.map((series, index) => {\n      const { dataKey } = series\n\n      return (\n        <Bar\n          key={`bar-${dataKey}`}\n          {...getBarProps({ className: \"ui-bar-chart__bar\", index })}\n        >\n          {data.map((data, index) =>\n            runIfFunc(cell, { data, hasStack, index, series }),\n          )}\n        </Bar>\n      )\n    })\n  }, [series, getBarProps, cell, data])\n\n  const getBarChartProps: PropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.BarChart>,\n    ComponentPropsWithoutRef<typeof Recharts.BarChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, barChartClassName),\n      data,\n      layout: layoutType,\n      margin: {\n        bottom: xAxisLabel ? 30 : undefined,\n        left: yAxisLabel ? 10 : undefined,\n        right: yAxisLabel ? 5 : undefined,\n      },\n      stackOffset: type === \"percent\" ? \"expand\" : undefined,\n      syncId,\n      ...props,\n      ...chartProps,\n    }),\n    [\n      barChartClassName,\n      data,\n      type,\n      layoutType,\n      syncId,\n      xAxisLabel,\n      yAxisLabel,\n      chartProps,\n    ],\n  )\n\n  return {\n    bars,\n    barVars,\n    setHighlightedArea,\n    getBarChartProps,\n    getBarProps,\n  }\n}\n\nexport type UseBarChartReturn = ReturnType<typeof useBarChart>\n\nexport interface BarCellProps {\n  data: Dict\n  hasStack: boolean\n  index: number\n  series: BarProps\n}\n\nconst defaultBarCell: FC<BarCellProps> = ({\n  data,\n  hasStack,\n  index,\n  series,\n}) => {\n  const { dataKey } = series\n  const key = `cell-${dataKey}-${index}`\n\n  if (!hasStack) return <Cell key={key} />\n\n  const keys = Object.keys(data)\n  const values = Object.values(data)\n\n  const currentIndex = keys.findIndex((key) => key === dataKey)\n  const lastIndex = values.findLastIndex((value) => value !== 0)\n\n  if (currentIndex === lastIndex) return <Cell key={key} />\n\n  return <Cell key={key} radius={0} />\n}\n","import type { PieChartProps } from \"./pie-chart\"\nimport type { UseChartLabelOptions } from \"./use-chart-label\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  Cell,\n  Label,\n  Legend,\n  Pie,\n  PieChart as RechartsPieChart,\n  ResponsiveContainer,\n  Tooltip,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartLabel } from \"./use-chart-label\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\nimport { usePieChart } from \"./use-pie-chart\"\n\ninterface DonutChartOptions {\n  /**\n   * Controls innerRadius of the chart segments.\n   * If it is a number, it is the width of the radius.\n   * For example, `60` means the radius is `60px` and the diameter is `120px`.\n   *\n   * @default '60%'\n   */\n  innerRadius?: number | string\n}\n\nexport interface DonutChartProps\n  extends PieChartProps,\n    DonutChartOptions,\n    UseChartLabelOptions {}\n\n/**\n * `DonutChart` is a component for drawing donut charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/donut-chart\n */\nexport const DonutChart = forwardRef<DonutChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"DonutChart\", props)\n  const {\n    className,\n    data,\n    endAngle,\n    withLabels,\n    innerRadius = withLabels ? \"60%\" : \"80%\",\n    isPercent,\n    labelFormatter,\n    labelOffset,\n    outerRadius,\n    paddingAngle,\n    percent,\n    startAngle,\n    strokeWidth,\n    tooltipAnimationDuration,\n    tooltipDataSource = \"all\",\n    unit,\n    valueFormatter,\n    withLabelLines,\n    withLegend = false,\n    withTooltip = true,\n    cellProps,\n    chartProps,\n    containerProps,\n    labelProps,\n    legendProps,\n    pieProps,\n    tooltipProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const {\n    pieVars,\n    setHighlightedArea,\n    getCellProps,\n    getPieChartProps,\n    getPieProps,\n  } = usePieChart({\n    data,\n    endAngle,\n    innerRadius,\n    isPercent,\n    labelFormatter,\n    labelOffset,\n    outerRadius,\n    paddingAngle,\n    percent,\n    startAngle,\n    strokeWidth,\n    styles,\n    withLabelLines,\n    withLabels,\n    cellProps,\n    chartProps,\n    pieProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n  const { getLabelProps } = useChartLabel({ styles, labelProps })\n\n  const cells = useMemo(\n    () =>\n      data.map(({ name }, index) => (\n        <Cell\n          key={`donut-cell-${name}`}\n          {...getCellProps({ className: \"ui-donut-chart__cell\", index })}\n        />\n      )),\n    [data, getCellProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-donut-chart\", className)}\n        __css={{ maxW: \"full\", vars: pieVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-donut-chart__container\" })}\n        >\n          <RechartsPieChart\n            {...getPieChartProps({ className: \"ui-donut-chart__chart\" })}\n          >\n            <Pie\n              {...getPieProps({\n                className: \"ui-donut-chart__donut\",\n              })}\n            >\n              {cells}\n              <Label\n                {...getLabelProps({ className: \"ui-donut-chart__label\" })}\n              />\n            </Pie>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-donut-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-donut-chart__tooltip\"\n                    label={label}\n                    payload={tooltipDataSource === \"segment\" ? payload : data}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n          </RechartsPieChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nDonutChart.displayName = \"DonutChart\"\nDonutChart.__ui__ = \"DonutChart\"\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { LabelProps } from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { labelProperties } from \"./rechart-properties\"\n\nexport interface UseChartLabelOptions {\n  /**\n   * Props passed down to recharts 'Label' component.\n   */\n  labelProps?: LabelProps\n}\n\nexport interface UseChartLabelProps extends UseChartLabelOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartLabel = ({ styles, ...rest }: UseChartLabelProps) => {\n  const { theme } = useTheme()\n\n  const [labelProps, labelClassName] = getComponentProps<Dict, string>(\n    [rest.labelProps ?? {}, labelProperties],\n    styles.label,\n  )(theme)\n\n  const getLabelProps: PropGetter<\n    Omit<Recharts.LabelProps, \"ref\">,\n    Omit<Recharts.LabelProps, \"ref\">\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => {\n      return {\n        ref,\n        className: cx(className, labelClassName),\n        ...props,\n        ...labelProps,\n      }\n    },\n    [labelClassName, labelProps],\n  )\n\n  return { getLabelProps }\n}\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type { CellProps, PieChartProps, PieProps } from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { getClassName, getComponentProps } from \"./chart-utils\"\nimport { pieChartLabel, pieChartLabelLine } from \"./pie-chart-label\"\nimport { pieChartProperties, pieProperties } from \"./rechart-properties\"\n\nexport interface UsePieChartOptions {\n  /**\n   * Chart data.\n   */\n  data: CellProps[]\n  /**\n   * Controls angle at which chart ends.\n   *\n   * @default -270\n   */\n  endAngle?: number\n  /**\n   * Controls fill opacity of all pies.\n   *\n   * @default 1\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * Controls innerRadius of the chart segments.\n   * If it is a number, it is the width of the radius.\n   * For example, `60` means the radius is `60px` and the diameter is `120px`.\n   *\n   * @default '0%'\n   */\n  innerRadius?: number | string\n  /**\n   * Determines whether labels should be displayed as percentages.\n   *\n   * @default false\n   *\n   * @deprecated Use `percent` instead.\n   */\n  isPercent?: boolean\n  /**\n   * A function to format labels.\n   */\n  labelFormatter?: (value: number) => string\n  /**\n   * Distance between chart and label.\n   */\n  labelOffset?: number\n  /**\n   * Controls thickness of the chart segments. If it is a number, it is calculated as px.\n   * If it is a number, it is the width of the radius.\n   * For example, `60` means the radius is `60px` and the diameter is `120px`.\n   *\n   * @default '80%'\n   */\n  outerRadius?: number | string\n  /**\n   * Controls padding between segments.\n   *\n   * @default 0\n   */\n  paddingAngle?: number\n  /**\n   * Determines whether labels should be displayed as percentages.\n   *\n   * @default false\n   */\n  percent?: boolean\n  /**\n   * Controls angle at which chart starts.\n   *\n   * @default 90\n   */\n  startAngle?: number\n  /**\n   * Stroke width for the chart pies.\n   *\n   * @default 1\n   */\n  strokeWidth?: number\n  /**\n   * Determines whether segments labels should have lines that connect the segment with the label.\n   *\n   * @default false\n   */\n  withLabelLines?: boolean\n  /**\n   * Determines whether each segment should have associated label.\n   *\n   * @default false\n   */\n  withLabels?: boolean\n  /**\n   * Props for the cell.\n   */\n  cellProps?: Partial<CellProps>\n  /**\n   * Props passed down to recharts `PieChart` component.\n   */\n  chartProps?: PieChartProps\n  /**\n   * Props for the pie.\n   */\n  pieProps?: Partial<PieProps>\n}\n\ninterface UsePieChartProps extends UsePieChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const usePieChart = ({\n  data,\n  endAngle = -270,\n  fillOpacity = 1,\n  innerRadius = \"0%\",\n  isPercent = false,\n  labelFormatter,\n  labelOffset,\n  withLabels = false,\n  outerRadius = withLabels ? \"80%\" : \"100%\",\n  paddingAngle = 0,\n  percent = isPercent,\n  startAngle = 90,\n  strokeWidth = 1,\n  styles,\n  withLabelLines = false,\n  ...rest\n}: UsePieChartProps) => {\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const shouldHighlight = highlightedArea !== null\n  const { dimCell, ...computedCellProps } = rest.cellProps ?? {}\n  const {\n    activeShape = {},\n    inactiveShape = {},\n    label: labelProps,\n    labelLine: labelLineProps,\n    ...computedPieProps\n  } = rest.pieProps ?? {}\n\n  const cellColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      data.map(({ color }, index) => ({\n        name: `cell-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [data],\n  )\n\n  const pieVars: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      [\n        ...cellColors,\n        { name: \"fill-opacity\", value: fillOpacity },\n      ] as Required<CSSUIProps>[\"vars\"],\n    [fillOpacity, cellColors],\n  )\n\n  const [chartProps, chartClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.chartProps ?? {}, pieChartProperties],\n        styles.chart,\n      )(theme),\n    [rest.chartProps, styles.chart, theme],\n  )\n\n  const [pieProps, pieClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [computedPieProps, pieProperties],\n        styles.pie,\n      )(theme),\n    [computedPieProps, styles.pie, theme],\n  )\n\n  const cellClassName = useMemo(() => {\n    const resolvedCellProps = {\n      fillOpacity: \"$fill-opacity\",\n      ...styles.cell,\n      ...computedCellProps,\n    }\n\n    return getClassName(resolvedCellProps)(theme)\n  }, [computedCellProps, styles.cell, theme])\n\n  const dimCellClassName = useMemo(() => {\n    const resolvedDimCell = { fillOpacity: 0.3, strokeOpacity: 0, ...dimCell }\n\n    return getClassName(resolvedDimCell)(theme)\n  }, [dimCell, theme])\n\n  const activeShapeProps = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [{ _focus: { outline: \"none\" }, ...activeShape }, pieProperties],\n        styles.activeShape,\n      )(theme, true),\n    [activeShape, styles.activeShape, theme],\n  )\n\n  const inactiveShapeProps = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [inactiveShape, pieProperties],\n        styles.inactiveShape,\n      )(theme, true),\n    [inactiveShape, styles.inactiveShape, theme],\n  )\n\n  const label: Recharts.PieLabel = useCallback(\n    (props: any) =>\n      pieChartLabel({\n        calcPercent: percent,\n        labelFormatter,\n        labelOffset,\n        styles: styles.label,\n        labelProps,\n        ...props,\n      }),\n    [labelOffset, labelProps, styles.label, percent, labelFormatter],\n  )\n\n  const labelLine = useCallback(\n    (props: any) => {\n      return pieChartLabelLine({\n        labelOffset,\n        styles: styles.labelLine,\n        labelLineProps,\n        ...props,\n      })\n    },\n    [labelLineProps, labelOffset, styles.labelLine],\n  )\n\n  const cellPropList = useMemo(\n    () =>\n      data.map((props, index) => {\n        const { name, dimCell = {}, ...computedProps } = props\n        const color = getVar(`cell-${index}`)(theme)\n        const dimmed = shouldHighlight && highlightedArea !== name\n        const resolvedProps = {\n          ...computedProps,\n          ...(dimmed ? dimCell : {}),\n        }\n\n        const className = getClassName(\n          {\n            cellClassName,\n            ...resolvedProps,\n          },\n          dimmed ? dimCellClassName : undefined,\n        )(theme)\n\n        return {\n          className,\n          color,\n        }\n      }),\n    [\n      cellClassName,\n      data,\n      dimCellClassName,\n      highlightedArea,\n      shouldHighlight,\n      theme,\n    ],\n  )\n\n  const getPieChartProps: PropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.PieChart>,\n    ComponentPropsWithoutRef<typeof Recharts.PieChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, chartClassName),\n      ...props,\n      ...chartProps,\n    }),\n    [chartProps, chartClassName],\n  )\n\n  const getPieProps: RequiredPropGetter<\n    Partial<Recharts.PieProps>,\n    Omit<Recharts.PieProps, \"ref\">\n  > = useCallback(\n    ({ className, ...props }, ref = null) => ({\n      ref,\n      className: cx(className, pieClassName),\n      activeShape: activeShapeProps,\n      data,\n      dataKey: \"value\",\n      endAngle,\n      inactiveShape: inactiveShapeProps,\n      innerRadius,\n      isAnimationActive: false,\n      label: withLabels ? label : false,\n      labelLine: withLabelLines ? labelLine : false,\n      outerRadius,\n      paddingAngle,\n      rootTabIndex: -1,\n      startAngle,\n      ...(props as Omit<Recharts.PieProps, \"dataKey\">),\n      ...pieProps,\n    }),\n    [\n      pieClassName,\n      data,\n      outerRadius,\n      innerRadius,\n      paddingAngle,\n      startAngle,\n      endAngle,\n      withLabels,\n      label,\n      withLabelLines,\n      labelLine,\n      activeShapeProps,\n      inactiveShapeProps,\n      pieProps,\n    ],\n  )\n\n  const getCellProps: RequiredPropGetter<\n    { index: number } & Omit<Recharts.CellProps, \"ref\">,\n    Recharts.CellProps\n  > = useCallback(\n    ({ className: classNameProp, index, ...props }, ref = null) => {\n      const { className, color } = cellPropList[index] ?? {}\n\n      return {\n        ref,\n        className: cx(classNameProp, className),\n        fill: color,\n        stroke: color,\n        strokeWidth,\n        ...(props as Recharts.CellProps),\n      }\n    },\n    [cellPropList, strokeWidth],\n  )\n\n  return {\n    pieVars,\n    setHighlightedArea,\n    getCellProps,\n    getPieChartProps,\n    getPieProps,\n  }\n}\n\nexport type UsePieChartReturn = ReturnType<typeof usePieChart>\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ReactNode } from \"react\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx, isUndefined } from \"@yamada-ui/utils\"\n\nconst RADIAN = Math.PI / 180\nconst DEFAULT_LABEL_OFFSET = 22\n\nexport interface PieChartLabelProps {\n  styles: Dict<CSSUIObject | undefined>\n  className?: string\n  calcPercent?: boolean\n  cx?: number\n  cy?: number\n  innerRadius?: number\n  labelFormatter?: (value: number) => string\n  labelOffset?: number\n  midAngle?: number\n  middleRadius?: number\n  outerRadius?: number\n  percent?: number\n  value?: number\n  labelProps?: HTMLUIProps<\"text\">\n}\n\nexport const pieChartLabel: (props: PieChartLabelProps) => ReactNode = ({\n  className: cellClassName,\n  calcPercent,\n  cx: cxProp = 0,\n  cy: cyProp = 0,\n  innerRadius = 0,\n  labelFormatter,\n  labelOffset: labelOffsetProp,\n  midAngle = 0,\n  middleRadius = 0,\n  outerRadius = 0,\n  percent = 0,\n  styles,\n  value = 0,\n  labelProps,\n}) => {\n  const labelOffset =\n    labelOffsetProp ?? (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET\n\n  const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN)\n  const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN)\n\n  const textAnchor = x > cxProp ? \"start\" : x < cxProp ? \"end\" : \"middle\"\n  const displayLabel = () => {\n    if (calcPercent) {\n      return (\n        parseFloat((percent * 100).toFixed(0)) > 0 &&\n        `${(percent * 100).toFixed(0)}%`\n      )\n    } else if (!isUndefined(labelFormatter)) {\n      return labelFormatter(value)\n    } else {\n      return value\n    }\n  }\n\n  return (\n    <ui.text\n      className={cx(cellClassName, \"ui-chart__label\")}\n      dominantBaseline=\"central\"\n      textAnchor={textAnchor}\n      x={x}\n      y={y}\n      __css={styles}\n      {...labelProps}\n    >\n      {displayLabel()}\n    </ui.text>\n  )\n}\n\ninterface Point {\n  x: number\n  y: number\n}\n\nexport interface PieChartLabelLineProps {\n  styles: Dict<CSSUIObject | undefined>\n  className?: string\n  cx?: number\n  cy?: number\n  innerRadius?: number\n  labelOffset?: number\n  midAngle?: number\n  middleRadius?: number\n  outerRadius?: number\n  points?: Point[]\n  labelLineProps?: HTMLUIProps<\"path\">\n}\n\nexport const pieChartLabelLine: (\n  props: PieChartLabelLineProps,\n) => React.ReactElement<SVGElement> = ({\n  className: cellClassName,\n  cx: cxProp = 0,\n  cy: cyProp = 0,\n  innerRadius = 0,\n  labelOffset: labelOffsetProp,\n  midAngle = 0,\n  middleRadius = 0,\n  outerRadius = 0,\n  points = [{ x: 0, y: 0 }],\n  styles,\n  labelLineProps,\n}) => {\n  const labelOffset =\n    labelOffsetProp ?? (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET\n\n  const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN)\n  const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN)\n\n  const d = `M ${points[0]?.x} ${points[0]?.y} L ${x} ${y}`\n\n  return (\n    <ui.path\n      className={cx(cellClassName, \"ui-chart__label-line\")}\n      d={d}\n      __css={styles}\n      {...labelLineProps}\n    />\n  )\n}\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartAxisOptions } from \"./use-chart-axis\"\nimport type { UseChartGridOptions } from \"./use-chart-grid\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartReferenceLineOptions } from \"./use-chart-reference-line\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport type { UseLineChartOptions } from \"./use-line-chart\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  CartesianGrid,\n  Label,\n  Legend,\n  Line,\n  LineChart as ReChartsLineChart,\n  ReferenceLine,\n  ResponsiveContainer,\n  Tooltip,\n  XAxis,\n  YAxis,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartAxis } from \"./use-chart-axis\"\nimport { useChartGrid } from \"./use-chart-grid\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartReferenceLine } from \"./use-chart-reference-line\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\nimport { useLineChart } from \"./use-line-chart\"\n\ninterface LineChartOptions {\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport interface LineChartProps\n  extends Omit<HTMLUIProps, \"fillOpacity\" | \"strokeDasharray\" | \"strokeWidth\">,\n    ThemeProps<\"LineChart\">,\n    LineChartOptions,\n    UseChartProps,\n    UseChartAxisOptions,\n    UseChartReferenceLineOptions,\n    UseChartGridOptions,\n    UseChartTooltipOptions,\n    UseChartLegendProps,\n    UseLineChartOptions {}\n\n/**\n * `LineChart` is a component for drawing line charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/line-chart\n */\nexport const LineChart = forwardRef<LineChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"LineChart\", props)\n  const {\n    type,\n    className,\n    connectNulls,\n    curveType,\n    data,\n    dataKey,\n    fillOpacity,\n    gridAxis,\n    labelFormatter,\n    layoutType,\n    series,\n    strokeDasharray,\n    strokeWidth,\n    syncId,\n    tickLine,\n    tooltipAnimationDuration,\n    unit,\n    valueFormatter,\n    withActiveDots,\n    withDots,\n    withLegend = false,\n    withTooltip = true,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    chartProps,\n    containerProps,\n    gridProps,\n    legendProps,\n    lineProps,\n    referenceLineProps,\n    tooltipProps,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const { lineVars, setHighlightedArea, getLineChartProps, getLineProps } =\n    useLineChart({\n      connectNulls,\n      curveType,\n      data,\n      fillOpacity,\n      layoutType,\n      series,\n      strokeWidth,\n      styles,\n      syncId,\n      withActiveDots,\n      withDots,\n      xAxisLabel,\n      yAxisLabel,\n      chartProps,\n      lineProps,\n      referenceLineProps,\n    })\n  const { getContainerProps } = useChart({ containerProps })\n  const {\n    getXAxisLabelProps,\n    getXAxisProps,\n    getYAxisLabelProps,\n    getYAxisProps,\n  } = useChartAxis({\n    type,\n    dataKey,\n    gridAxis,\n    layoutType,\n    styles,\n    tickLine,\n    unit,\n    withXAxis,\n    withYAxis,\n    xAxisLabel,\n    xAxisTickFormatter,\n    yAxisLabel,\n    yAxisTickFormatter,\n    xAxisLabelProps,\n    xAxisProps,\n    yAxisLabelProps,\n    yAxisProps,\n  })\n  const { getReferenceLineProps } = useChartReferenceLine({\n    styles,\n    referenceLineProps,\n  })\n  const { getGridProps } = useChartGrid({\n    gridAxis,\n    strokeDasharray,\n    styles,\n    gridProps,\n  })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n\n  const lines = useMemo(\n    () =>\n      series.map(({ dataKey }, index) => (\n        <Line\n          key={`line-${dataKey}`}\n          {...getLineProps({ className: \"ui-line-chart__line\", index })}\n        />\n      )),\n    [getLineProps, series],\n  )\n\n  const referenceLinesItems = useMemo(\n    () =>\n      referenceLineProps?.map((_, index) => (\n        <ReferenceLine\n          key={`referenceLine-${index}`}\n          {...getReferenceLineProps({\n            className: \"ui-line-chart__reference-line\",\n            index,\n          })}\n        />\n      )),\n    [getReferenceLineProps, referenceLineProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-line-chart\", className)}\n        __css={{ maxW: \"full\", vars: lineVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-line-chart__container\" })}\n        >\n          <ReChartsLineChart\n            {...getLineChartProps({ className: \"ui-line-chart__chart\" })}\n          >\n            <CartesianGrid\n              {...getGridProps({ className: \"ui-line-chart__grid\" })}\n            />\n\n            <XAxis {...getXAxisProps({ className: \"ui-line-chart__x-axis\" })}>\n              <Label\n                {...getXAxisLabelProps({\n                  className: \"ui-line-chart__x-axis-label\",\n                })}\n              />\n            </XAxis>\n\n            <YAxis {...getYAxisProps({ className: \"ui-line-chart__y-axis\" })}>\n              <Label\n                {...getYAxisLabelProps({\n                  className: \"ui-line-chart__y-axis-label\",\n                })}\n              />\n            </YAxis>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-line-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-line-chart__tooltip\"\n                    label={label}\n                    labelFormatter={labelFormatter}\n                    payload={payload}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n\n            {lines}\n            {referenceLinesItems}\n          </ReChartsLineChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nLineChart.displayName = \"LineChart\"\nLineChart.__ui__ = \"LineChart\"\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type {\n  ChartCurveType,\n  ChartLayoutType,\n  LineChartProps,\n  LineProps,\n  ReferenceLineProps,\n} from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx, runIfFunc } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport {\n  dotProperties,\n  lineChartProperties,\n  lineProperties,\n} from \"./rechart-properties\"\n\nexport interface UseLineChartOptions {\n  /**\n   * Chart data.\n   */\n  data: Dict[]\n  /**\n   * An array of objects with `dataKey` and `color` keys. Determines which data should be consumed from the `data` array.\n   */\n  series: LineProps[]\n  /**\n   * Determines whether points with `null` values should be connected.\n   *\n   * @default true\n   */\n  connectNulls?: boolean\n  /**\n   * Type of the curve.\n   *\n   * @default `monotone`\n   */\n  curveType?: ChartCurveType\n  /**\n   * Controls fill opacity of all lines.\n   *\n   * @default 1\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * Chart orientation.\n   *\n   * @default 'horizontal'\n   */\n  layoutType?: ChartLayoutType\n  /**\n   * Stroke width for the chart lines.\n   *\n   * @default 2\n   */\n  strokeWidth?: number\n  /**\n   * If any two categorical charts have the same syncId,\n   * these two charts can sync the position tooltip, and the startIndex, endIndex of Brush.\n   */\n  syncId?: number | string\n  /**\n   * Determines whether activeDots should be displayed.\n   *\n   * @default true\n   */\n  withActiveDots?: boolean\n  /**\n   * Determines whether dots should be displayed.\n   *\n   * @default true\n   */\n  withDots?: boolean\n  /**\n   * A label to display below the X axis.\n   */\n  xAxisLabel?: string\n  /**\n   * A label to display below the Y axis.\n   */\n  yAxisLabel?: string\n  /**\n   * Props passed down to recharts `LineChart` component.\n   */\n  chartProps?: LineChartProps\n  /**\n   * Props for the lines.\n   */\n  lineProps?: Partial<LineProps>\n  /**\n   * Reference lines that should be displayed on the chart.\n   */\n  referenceLineProps?: ReferenceLineProps[]\n}\n\ninterface UseLineChartProps extends UseLineChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useLineChart = ({\n  connectNulls = true,\n  curveType = \"monotone\",\n  data,\n  fillOpacity = 1,\n  layoutType = \"horizontal\",\n  series,\n  strokeWidth = 2,\n  styles,\n  syncId,\n  withActiveDots = true,\n  withDots = true,\n  xAxisLabel,\n  yAxisLabel,\n  referenceLineProps,\n  ...rest\n}: UseLineChartProps) => {\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const shouldHighlight = highlightedArea !== null\n  const {\n    activeDot = {},\n    dimDot,\n    dimLine,\n    dot = {},\n    ...computedLineProps\n  } = rest.lineProps ?? {}\n\n  const lineColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      series.map(({ color }, index) => ({\n        name: `line-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [series],\n  )\n\n  const referenceLineColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      referenceLineProps\n        ? referenceLineProps.map(({ color }, index) => ({\n            name: `reference-line-${index}`,\n            token: \"colors\",\n            value: color ?? \"transparent\",\n          }))\n        : [],\n    [referenceLineProps],\n  )\n\n  const lineVars: CSSUIProps[\"vars\"] = useMemo(\n    () => [\n      ...lineColors,\n      ...referenceLineColors,\n      { name: \"fill-opacity\", value: fillOpacity },\n    ],\n    [fillOpacity, lineColors, referenceLineColors],\n  )\n\n  const [chartProps, lineChartClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.chartProps ?? {}, lineChartProperties],\n        styles.chart,\n      )(theme),\n    [rest.chartProps, styles.chart, theme],\n  )\n\n  const [lineProps, lineClassName] = useMemo(() => {\n    const resolvedLineProps = {\n      fillOpacity: \"$fill-opacity\",\n      strokeOpacity: \"$fill-opacity\",\n      ...computedLineProps,\n    }\n\n    return getComponentProps<Dict, string>(\n      [resolvedLineProps, lineProperties],\n      styles.line,\n    )(theme)\n  }, [computedLineProps, styles.line, theme])\n\n  const [dimLineProps, dimLineClassName] = useMemo(() => {\n    const resolvedDimLine = { fillOpacity: 0, strokeOpacity: 0.3, ...dimLine }\n\n    return getComponentProps<Dict, string>([resolvedDimLine, lineProperties])(\n      theme,\n    )\n  }, [dimLine, theme])\n\n  const [dotProps, dotClassName] = useMemo(() => {\n    const resolvedDot = { fillOpacity: 1, strokeOpacity: 1, ...dot }\n\n    return getComponentProps<Dict, string>(\n      [resolvedDot, dotProperties],\n      styles.dot,\n    )(theme)\n  }, [dot, styles.dot, theme])\n\n  const [activeDotProps, activeDotClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [activeDot, dotProperties],\n        styles.activeDot,\n      )(theme),\n    [activeDot, styles.activeDot, theme],\n  )\n\n  const [dimDotProps, dimDotClassName] = useMemo(() => {\n    const resolvedDimDot = {\n      fillOpacity: 0,\n      strokeOpacity: 0,\n      ...dimDot,\n    }\n\n    return getComponentProps<Dict, string>([resolvedDimDot, dotProperties])(\n      theme,\n    )\n  }, [dimDot, theme])\n\n  const linePropList = useMemo(\n    () =>\n      series.map((props, index) => {\n        const {\n          activeDot = {},\n          dataKey,\n          dimDot = {},\n          dimLine = {},\n          dot = {},\n          ...computedProps\n        } = props\n        const color = getVar(`line-${index}`)(theme)\n        const dimmed = shouldHighlight && highlightedArea !== dataKey\n        const computedDimLine = { ...dimLineProps, ...dimLine }\n        const resolvedProps = {\n          ...lineProps,\n          ...computedProps,\n          ...(dimmed ? computedDimLine : {}),\n        }\n\n        const rest = getComponentProps<Dict, string>(\n          [resolvedProps, lineProperties],\n          lineClassName,\n          dimmed ? dimLineClassName : undefined,\n        )(theme, true)\n\n        let resolvedActiveDot: boolean | Recharts.DotProps\n\n        if (withActiveDots) {\n          const computedActiveDot = { ...activeDotProps, ...activeDot }\n\n          const [rest, className] = getComponentProps(\n            [computedActiveDot, dotProperties],\n            activeDotClassName,\n          )(theme)\n\n          resolvedActiveDot = {\n            className: cx(\"ui-line-chart__active-dot\", className),\n            fill: color,\n            r: 4,\n            stroke: color,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedActiveDot = false\n        }\n\n        let resolvedDot: boolean | Recharts.DotProps\n\n        if (withDots) {\n          const computedDimDot = { ...dimDotProps, ...dimDot }\n          const computedDot = {\n            ...dotProps,\n            ...dot,\n            ...(dimmed ? computedDimDot : {}),\n          }\n\n          const [rest, className] = getComponentProps(\n            [computedDot, dotProperties],\n            dotClassName,\n            dimmed ? dimDotClassName : undefined,\n          )(theme)\n\n          resolvedDot = {\n            className: cx(\"ui-line-chart__dot\", className),\n            fill: color,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedDot = false\n        }\n\n        return {\n          ...rest,\n          activeDot: resolvedActiveDot,\n          color,\n          dataKey,\n          dot: resolvedDot,\n        }\n      }),\n    [\n      series,\n      shouldHighlight,\n      highlightedArea,\n      dimLineProps,\n      lineProps,\n      lineClassName,\n      dimLineClassName,\n      theme,\n      withActiveDots,\n      withDots,\n      activeDotProps,\n      activeDotClassName,\n      dimDotProps,\n      dotProps,\n      dotClassName,\n      dimDotClassName,\n    ],\n  )\n\n  const getLineChartProps: PropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.LineChart>,\n    ComponentPropsWithoutRef<typeof Recharts.LineChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, lineChartClassName),\n      data,\n      layout: layoutType,\n      margin: {\n        bottom: xAxisLabel ? 30 : undefined,\n        left: yAxisLabel ? 10 : undefined,\n        right: yAxisLabel ? 5 : undefined,\n      },\n      syncId,\n      ...props,\n      ...chartProps,\n    }),\n    [\n      lineChartClassName,\n      data,\n      layoutType,\n      syncId,\n      xAxisLabel,\n      yAxisLabel,\n      chartProps,\n    ],\n  )\n\n  const getLineProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.LineProps>,\n    Omit<Recharts.LineProps, \"ref\">\n  > = useCallback(\n    ({ className: classNameProp, index, ...props }) => {\n      const { className, activeDot, color, dataKey, dot, ...rest } =\n        linePropList[index] ?? {}\n\n      return {\n        type: curveType,\n        name: runIfFunc(dataKey, {}),\n        className: cx(classNameProp, className),\n        activeDot,\n        connectNulls,\n        dataKey,\n        dot,\n        fill: color,\n        isAnimationActive: false,\n        stroke: color,\n        strokeWidth,\n        ...(props as Omit<Recharts.LineProps, \"dataKey\">),\n        ...rest,\n      }\n    },\n    [connectNulls, curveType, linePropList, strokeWidth],\n  )\n\n  return {\n    lineVars,\n    setHighlightedArea,\n    getLineChartProps,\n    getLineProps,\n  }\n}\n\nexport type UseLineChartReturn = ReturnType<typeof useLineChart>\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { TooltipDataSourceType } from \"./chart.types\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport type { UsePieChartOptions } from \"./use-pie-chart\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  Cell,\n  Legend,\n  Pie,\n  PieChart as RechartsPieChart,\n  ResponsiveContainer,\n  Tooltip,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\nimport { usePieChart } from \"./use-pie-chart\"\n\ninterface PieChartOptions {\n  /**\n   * Determines which data is displayed in the tooltip.\n   *\n   * @default 'all'\n   */\n  tooltipDataSource?: TooltipDataSourceType\n  /**\n   * Unit displayed next to each value in tooltip.\n   */\n  unit?: string\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport interface PieChartProps\n  extends Omit<HTMLUIProps, \"fillOpacity\" | \"strokeWidth\">,\n    ThemeProps<\"pieChart\">,\n    PieChartOptions,\n    UsePieChartOptions,\n    Omit<UseChartTooltipOptions, \"labelFormatter\">,\n    UseChartLegendProps,\n    UseChartProps {}\n\n/**\n * `PieChart` is a component for drawing pie charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/pie-chart\n */\nexport const PieChart = forwardRef<PieChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"PieChart\", props)\n  const {\n    className,\n    data,\n    endAngle,\n    innerRadius,\n    isPercent,\n    labelFormatter,\n    labelOffset,\n    outerRadius,\n    paddingAngle,\n    percent,\n    startAngle,\n    strokeWidth,\n    tooltipAnimationDuration,\n    tooltipDataSource = \"all\",\n    unit,\n    valueFormatter,\n    withLabelLines,\n    withLabels,\n    withLegend = false,\n    withTooltip = true,\n    cellProps,\n    chartProps,\n    containerProps,\n    legendProps,\n    pieProps,\n    tooltipProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const {\n    pieVars,\n    setHighlightedArea,\n    getCellProps,\n    getPieChartProps,\n    getPieProps,\n  } = usePieChart({\n    data,\n    endAngle,\n    innerRadius,\n    isPercent,\n    labelFormatter,\n    labelOffset,\n    outerRadius,\n    paddingAngle,\n    percent,\n    startAngle,\n    strokeWidth,\n    styles,\n    withLabelLines,\n    withLabels,\n    cellProps,\n    chartProps,\n    pieProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n\n  const cells = useMemo(\n    () =>\n      data.map(({ name }, index) => (\n        <Cell\n          key={`pie-cell-${name}`}\n          {...getCellProps({ className: \"ui-pie-chart__cell\", index })}\n        />\n      )),\n    [data, getCellProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-pie-chart\", className)}\n        __css={{ maxW: \"full\", vars: pieVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-pie-chart__container\" })}\n        >\n          <RechartsPieChart\n            {...getPieChartProps({ className: \"ui-pie-chart__chart\" })}\n          >\n            <Pie\n              {...getPieProps({\n                className: \"ui-pie-chart__pie\",\n              })}\n            >\n              {cells}\n            </Pie>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-pie-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-pie-chart__tooltip\"\n                    label={label}\n                    payload={tooltipDataSource === \"segment\" ? payload : data}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n          </RechartsPieChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nPieChart.displayName = \"PieChart\"\nPieChart.__ui__ = \"PieChart\"\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport type { UsePolarGridOptions } from \"./use-polar-grid\"\nimport type { UseRadarChartOptions } from \"./use-radar-chart\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  Legend,\n  PolarAngleAxis,\n  PolarGrid,\n  PolarRadiusAxis,\n  Radar,\n  RadarChart as ReChartsRadarChart,\n  ResponsiveContainer,\n  Tooltip,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\nimport { usePolarGrid } from \"./use-polar-grid\"\nimport { useRadarChart } from \"./use-radar-chart\"\n\ninterface RadarChartOptions {\n  /**\n   * Unit displayed next to each tick in y-axis.\n   */\n  unit?: string\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * Determines whether polarAngleAxis should be displayed.\n   *\n   * @default true\n   */\n  withPolarAngleAxis?: boolean\n  /**\n   * Determines whether polarGrid should be displayed.\n   *\n   * @default true\n   */\n  withPolarGrid?: boolean\n  /**\n   * Determines whether polarRadiusAxis should be displayed.\n   *\n   * @default false\n   */\n  withPolarRadiusAxis?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport interface RadarChartProps\n  extends Omit<HTMLUIProps, \"fillOpacity\" | \"strokeDasharray\" | \"strokeWidth\">,\n    ThemeProps<\"RadarChart\">,\n    RadarChartOptions,\n    UseChartProps,\n    Omit<UseChartTooltipOptions, \"labelFormatter\">,\n    UseChartLegendProps,\n    UsePolarGridOptions,\n    UseRadarChartOptions {}\n\n/**\n * `RadarChart` is a component for drawing radar charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/radar-chart\n */\nexport const RadarChart = forwardRef<RadarChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"RadarChart\", props)\n  const {\n    className,\n    data,\n    dataKey,\n    fillOpacity,\n    polarAngleAxisTickFormatter,\n    polarRadiusAxisTickFormatter,\n    series,\n    strokeDasharray,\n    strokeWidth,\n    tooltipAnimationDuration,\n    unit,\n    valueFormatter,\n    withActiveDots,\n    withDots,\n    withLegend = false,\n    withPolarAngleAxis = true,\n    withPolarGrid = true,\n    withPolarRadiusAxis = false,\n    withTooltip = true,\n    chartProps,\n    containerProps,\n    legendProps,\n    polarAngleAxisProps,\n    polarAngleAxisTickProps,\n    polarGridProps,\n    polarRadiusAxisProps,\n    polarRadiusAxisTickProps,\n    radarProps,\n    tooltipProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const {\n    radarVars,\n    setHighlightedArea,\n    getPolarAngleAxisProps,\n    getPolarRadiusAxisProps,\n    getRadarChartProps,\n    getRadarProps,\n  } = useRadarChart({\n    data,\n    dataKey,\n    fillOpacity,\n    polarAngleAxisTickFormatter,\n    polarRadiusAxisTickFormatter,\n    series,\n    strokeWidth,\n    styles,\n    withActiveDots,\n    withDots,\n    chartProps,\n    polarAngleAxisProps,\n    polarAngleAxisTickProps,\n    polarRadiusAxisProps,\n    polarRadiusAxisTickProps,\n    radarProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n  const { getPolarGridProps } = usePolarGrid({\n    strokeDasharray,\n    styles,\n    polarGridProps,\n  })\n\n  const radars = useMemo(\n    () =>\n      series.map(({ dataKey }, index) => (\n        <Radar\n          key={`radar-${dataKey}`}\n          {...getRadarProps({ className: \"ui-radar-chart__radar\", index })}\n        />\n      )),\n    [getRadarProps, series],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-radar-chart\", className)}\n        __css={{ maxW: \"full\", vars: radarVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-radar-chart__container\" })}\n        >\n          <ReChartsRadarChart\n            {...getRadarChartProps({ className: \"ui-radar-chart__chart\" })}\n          >\n            {withPolarGrid ? (\n              <PolarGrid\n                {...getPolarGridProps({\n                  className: \"ui-radar-chart__polar-grid\",\n                })}\n              />\n            ) : null}\n            {withPolarAngleAxis ? (\n              <PolarAngleAxis\n                {...getPolarAngleAxisProps({\n                  className: \"ui-radar-chart__polar-angle-axis\",\n                })}\n              />\n            ) : null}\n            {withPolarRadiusAxis ? (\n              <PolarRadiusAxis\n                {...getPolarRadiusAxisProps({\n                  className: \"ui-radar-chart__polar-radius-axis\",\n                })}\n              />\n            ) : null}\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-area-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ label, payload }) => (\n                  <ChartTooltip\n                    className=\"ui-line-chart__tooltip\"\n                    label={label}\n                    payload={payload}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n\n            {radars}\n          </ReChartsRadarChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nRadarChart.displayName = \"RadarChart\"\nRadarChart.__ui__ = \"RadarChart\"\n","import type { CSSUIObject, PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { PolarGridProps } from \"./chart.types\"\nimport { useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { polarGridProperties } from \"./rechart-properties\"\n\nexport interface UsePolarGridOptions {\n  /**\n   * Dash array for the grid lines and cursor. The first number is the length of the solid line section and the second number is the length of the interval.\n   */\n  strokeDasharray?: number | string\n  /**\n   * Props passed down to recharts `PolarGrid` component.\n   */\n  polarGridProps?: PolarGridProps\n}\n\ninterface UsePolarGridProps extends UsePolarGridOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const usePolarGrid = ({\n  strokeDasharray,\n  styles,\n  ...rest\n}: UsePolarGridProps) => {\n  const { theme } = useTheme()\n\n  const [polarGridProps, polarGridClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.polarGridProps ?? {}, polarGridProperties],\n        styles.polarGrid,\n      )(theme),\n    [rest.polarGridProps, styles.polarGrid, theme],\n  )\n\n  const getPolarGridProps: PropGetter<\n    Recharts.PolarGridProps,\n    Recharts.PolarGridProps\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, polarGridClassName),\n      strokeDasharray,\n      ...props,\n      ...polarGridProps,\n    }),\n    [polarGridClassName, polarGridProps, strokeDasharray],\n  )\n\n  return { getPolarGridProps }\n}\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type {\n  PolarAngleAxisProps,\n  PolarRadiusAxisProps,\n  RadarChartProps,\n  RadarProps,\n} from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { getClassName, getComponentProps } from \"./chart-utils\"\nimport {\n  dotProperties,\n  polarAngleAxisProperties,\n  polarRadiusAxisProperties,\n  radarChartProperties,\n  radarProperties,\n} from \"./rechart-properties\"\n\nexport interface UseRadarChartOptions {\n  /**\n   * Chart data.\n   */\n  data: Dict[]\n  /**\n   * The key of a group of data which should be unique in an chart.\n   */\n  dataKey: string\n  /**\n   * An array of objects with `dataKey` and `color` keys. Determines which data should be consumed from the `data` array.\n   */\n  series: RadarProps[]\n  /**\n   * Controls fill opacity of all radars.\n   *\n   * @default 1\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * A function to format Y axis tick.\n   */\n  polarAngleAxisTickFormatter?: (value: number) => string\n  /**\n   * A function to format X axis tick.\n   */\n  polarRadiusAxisTickFormatter?: (value: number) => string\n  /**\n   * Stroke width for the chart radars.\n   *\n   * @default 2\n   */\n  strokeWidth?: number\n  /**\n   * Determines whether activeDots should be displayed.\n   *\n   * @default true\n   */\n  withActiveDots?: boolean\n  /**\n   * Determines whether dots should be displayed.\n   *\n   * @default false\n   */\n  withDots?: boolean\n  /**\n   * Props passed down to recharts `RadarChart` component.\n   */\n  chartProps?: RadarChartProps\n  /**\n   * Props passed down to recharts `PolarAngleAxis` component.\n   */\n  polarAngleAxisProps?: PolarAngleAxisProps\n  /**\n   * Props passed down to recharts `tick` of `PolarAngleAxis` component.\n   */\n  polarAngleAxisTickProps?: CSSUIProps\n  /**\n   * Props passed down to recharts `PolarRadiusAxis` component.\n   */\n  polarRadiusAxisProps?: PolarRadiusAxisProps\n  /**\n   * Props passed down to recharts `tick` of `PolarRadiusAxis` component.\n   */\n  polarRadiusAxisTickProps?: CSSUIProps\n  /**\n   * Props for the radar.\n   */\n  radarProps?: Partial<RadarProps>\n}\n\ninterface UseRadarChartProps extends UseRadarChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useRadarChart = ({\n  data,\n  dataKey,\n  fillOpacity = 0.4,\n  polarAngleAxisTickFormatter,\n  polarRadiusAxisTickFormatter,\n  series,\n  strokeWidth = 2,\n  styles,\n  withActiveDots = false,\n  withDots = false,\n  ...rest\n}: UseRadarChartProps) => {\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const shouldHighlight = highlightedArea !== null\n  const {\n    activeDot = {},\n    dimDot,\n    dimRadar,\n    dot = {},\n    ...computedRadarProps\n  } = rest.radarProps ?? {}\n\n  const radarColors: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      series.map(({ color }, index) => ({\n        name: `radar-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [series],\n  )\n\n  const radarVars: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      [\n        ...radarColors,\n        { name: \"fill-opacity\", value: fillOpacity },\n      ] as Required<CSSUIProps>[\"vars\"],\n    [fillOpacity, radarColors],\n  )\n\n  const [chartProps, radarChartClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.chartProps ?? {}, radarChartProperties],\n        styles.chart,\n      )(theme),\n    [rest.chartProps, styles.chart, theme],\n  )\n\n  const [polarAngleAxisProps, polarAngleAxisClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.polarAngleAxisProps ?? {}, polarAngleAxisProperties],\n        styles.polarAngleAxis,\n      )(theme),\n    [rest.polarAngleAxisProps, styles.polarAngleAxis, theme],\n  )\n\n  const polarAngleAxisTickClassName = useMemo(\n    () =>\n      getClassName({\n        ...styles.polarAngleAxisTick,\n        ...rest.polarAngleAxisTickProps,\n      })(theme),\n    [rest.polarAngleAxisTickProps, styles.polarAngleAxisTick, theme],\n  )\n\n  const [polarRadiusAxisProps, polarRadiusAxisClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.polarRadiusAxisProps ?? {}, polarRadiusAxisProperties],\n        styles.polarRadiusAxis,\n      )(theme),\n    [rest.polarRadiusAxisProps, styles.polarRadiusAxis, theme],\n  )\n\n  const polarRadiusAxisTickClassName = useMemo(\n    () =>\n      getClassName({\n        ...styles.polarRadiusAxisTick,\n        ...rest.polarRadiusAxisTickProps,\n      })(theme),\n    [rest.polarRadiusAxisTickProps, styles.polarRadiusAxisTick, theme],\n  )\n\n  const [radarProps, radarClassName] = useMemo(() => {\n    const resolvedRadarProps = {\n      fillOpacity: \"$fill-opacity\",\n      ...computedRadarProps,\n    }\n\n    return getComponentProps<Dict, string>(\n      [resolvedRadarProps, radarProperties],\n      styles.radar,\n    )(theme)\n  }, [computedRadarProps, styles.radar, theme])\n\n  const [dimRadarProps, dimRadarClassName] = useMemo(() => {\n    const resolvedDimRadar = {\n      fillOpacity: 0.3,\n      strokeOpacity: 0.3,\n      ...dimRadar,\n    }\n\n    return getComponentProps<Dict, string>([resolvedDimRadar, radarProperties])(\n      theme,\n    )\n  }, [dimRadar, theme])\n\n  const [dotProps, dotClassName] = useMemo(() => {\n    const resolvedDot = { fillOpacity: 1, strokeWidth: 2, ...dot }\n\n    return getComponentProps<Dict, string>(\n      [resolvedDot, dotProperties],\n      styles.dot,\n    )(theme)\n  }, [dot, styles.dot, theme])\n\n  const [activeDotProps, activeDotClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [activeDot, dotProperties],\n        styles.activeDot,\n      )(theme),\n    [activeDot, styles.activeDot, theme],\n  )\n\n  const [dimDotProps, dimDotClassName] = useMemo(() => {\n    const resolvedDimDot = { fillOpacity: 0, strokeOpacity: 0, ...dimDot }\n    return getComponentProps<Dict, string>([resolvedDimDot, dotProperties])(\n      theme,\n    )\n  }, [dimDot, theme])\n\n  const radarPropList = useMemo(\n    () =>\n      series.map((props, index) => {\n        const {\n          activeDot = {},\n          dataKey,\n          dimDot = {},\n          dimRadar = {},\n          dot = {},\n          ...computedProps\n        } = props\n        const color = getVar(`radar-${index}`)(theme)\n        const dimmed = shouldHighlight && highlightedArea !== dataKey\n        const computedDimRadar = { ...dimRadarProps, ...dimRadar }\n\n        const resolvedProps = {\n          ...radarProps,\n          ...computedProps,\n          ...(dimmed ? computedDimRadar : {}),\n        }\n        const rest = getComponentProps<Dict, string>(\n          [resolvedProps, radarProperties],\n          radarClassName,\n          dimmed ? dimRadarClassName : undefined,\n        )(theme, true)\n\n        let resolvedActiveDot: boolean | Recharts.DotProps\n\n        if (withActiveDots) {\n          const computedActiveDot = {\n            ...activeDotProps,\n            ...activeDot,\n          }\n\n          const [rest, className] = getComponentProps<Dict, string>(\n            [computedActiveDot, dotProperties],\n            activeDotClassName,\n          )(theme)\n\n          resolvedActiveDot = {\n            className: cx(\"ui-radar-chart__active-dot\", className),\n            fill: color,\n            r: 4,\n            stroke: color,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedActiveDot = false\n        }\n\n        let resolvedDot: boolean | Recharts.DotProps\n\n        if (withDots) {\n          const computedDimDot = { ...dimDotProps, ...dimDot }\n          const computedDot = {\n            ...dotProps,\n            ...dot,\n            ...(dimmed ? computedDimDot : {}),\n          }\n\n          const [rest, className] = getComponentProps(\n            [computedDot, dotProperties],\n            dotClassName,\n            dimmed ? dimDotClassName : undefined,\n          )(theme)\n\n          resolvedDot = {\n            className: cx(\"ui-radar-chart__dot\", className),\n            fill: color,\n            r: 4,\n            ...rest,\n          } as Recharts.DotProps\n        } else {\n          resolvedDot = false\n        }\n\n        return {\n          ...rest,\n          activeDot: resolvedActiveDot,\n          color,\n          dataKey,\n          dot: resolvedDot,\n        }\n      }),\n    [\n      activeDotClassName,\n      activeDotProps,\n      dimDotClassName,\n      dimDotProps,\n      dimRadarClassName,\n      dimRadarProps,\n      dotClassName,\n      dotProps,\n      highlightedArea,\n      radarClassName,\n      radarProps,\n      series,\n      shouldHighlight,\n      theme,\n      withActiveDots,\n      withDots,\n    ],\n  )\n\n  const getRadarChartProps: PropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.RadarChart>,\n    ComponentPropsWithoutRef<typeof Recharts.RadarChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, radarChartClassName),\n      data,\n      ...props,\n      ...chartProps,\n    }),\n    [data, radarChartClassName, chartProps],\n  )\n\n  const getRadarProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.RadarProps>,\n    Omit<Recharts.RadarProps, \"ref\">\n  > = useCallback(\n    ({ className: classNameProp, index, ...props }, ref = null) => {\n      const {\n        className,\n        activeDot,\n        color,\n        dataKey = \"\",\n        dot,\n        ...rest\n      } = radarPropList[index] ?? {}\n\n      return {\n        ref,\n        name: dataKey as string,\n        className: cx(classNameProp, className),\n        activeDot,\n        dataKey,\n        dot,\n        fill: color,\n        isAnimationActive: false,\n        stroke: color,\n        strokeWidth,\n        ...(props as Omit<Recharts.RadarProps, \"dataKey\">),\n        ...rest,\n      }\n    },\n    [radarPropList, strokeWidth],\n  )\n\n  const getPolarAngleAxisProps: PropGetter<\n    Recharts.PolarAngleAxisProps,\n    Omit<Recharts.PolarAngleAxisProps, \"ref\">\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, polarAngleAxisClassName),\n      dataKey,\n      tick: {\n        className: cx(\n          \"ui-radar-chart__polar-angle-axis-tick\",\n          polarAngleAxisTickClassName,\n        ),\n      },\n      tickFormatter: polarAngleAxisTickFormatter,\n      tickSize: 16,\n      ...props,\n      ...polarAngleAxisProps,\n    }),\n    [\n      dataKey,\n      polarAngleAxisClassName,\n      polarAngleAxisProps,\n      polarAngleAxisTickClassName,\n      polarAngleAxisTickFormatter,\n    ],\n  )\n\n  const getPolarRadiusAxisProps: PropGetter<\n    Recharts.PolarRadiusAxisProps,\n    Omit<Recharts.PolarRadiusAxisProps, \"ref\">\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, polarRadiusAxisClassName),\n      tick: {\n        className: cx(\n          \"ui-radar-chart__polar-radius-axis-tick\",\n          polarRadiusAxisTickClassName,\n        ),\n      },\n      tickFormatter: polarRadiusAxisTickFormatter,\n      ...props,\n      ...polarRadiusAxisProps,\n    }),\n    [\n      polarRadiusAxisClassName,\n      polarRadiusAxisProps,\n      polarRadiusAxisTickClassName,\n      polarRadiusAxisTickFormatter,\n    ],\n  )\n\n  return {\n    radarVars,\n    setHighlightedArea,\n    getPolarAngleAxisProps,\n    getPolarRadiusAxisProps,\n    getRadarChartProps,\n    getRadarProps,\n  }\n}\n\nexport type UseRadarChartReturn = ReturnType<typeof useRadarChart>\n","import type { HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { TooltipDataSourceType } from \"./chart.types\"\nimport type { UseChartProps } from \"./use-chart\"\nimport type { UseChartLabelListOptions } from \"./use-chart-label-list\"\nimport type { UseChartLegendProps } from \"./use-chart-legend\"\nimport type { UseChartTooltipOptions } from \"./use-chart-tooltip\"\nimport type { UsePolarGridOptions } from \"./use-polar-grid\"\nimport type { UseRadialChartOptions } from \"./use-radial-chart\"\nimport {\n  forwardRef,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport {\n  LabelList,\n  Legend,\n  PolarGrid,\n  RadialBar,\n  RadialBarChart as RechartsRadialChart,\n  ResponsiveContainer,\n  Tooltip,\n} from \"recharts\"\nimport { ChartLegend } from \"./chart-legend\"\nimport { ChartTooltip } from \"./chart-tooltip\"\nimport { ChartProvider, useChart } from \"./use-chart\"\nimport { useChartLabelList } from \"./use-chart-label-list\"\nimport { useChartLegend } from \"./use-chart-legend\"\nimport { useChartTooltip } from \"./use-chart-tooltip\"\nimport { usePolarGrid } from \"./use-polar-grid\"\nimport { useRadialChart } from \"./use-radial-chart\"\n\ninterface RadialChartOptions {\n  /**\n   * Determines which data is displayed in the tooltip.\n   *\n   * @default 'all'\n   */\n  tooltipDataSource?: TooltipDataSourceType\n  /**\n   * Unit displayed next to each value in tooltip.\n   */\n  unit?: string\n  /**\n   * If `true`, legend is visible.\n   *\n   * @default false\n   */\n  withLegend?: boolean\n  /**\n   * Determines whether polarGrid should be displayed.\n   *\n   * @default false\n   */\n  withPolarGrid?: boolean\n  /**\n   * If `true`, tooltip is visible.\n   *\n   * @default true\n   */\n  withTooltip?: boolean\n}\n\nexport interface RadialChartProps\n  extends Omit<HTMLUIProps, \"fillOpacity\" | \"strokeDasharray\">,\n    ThemeProps<\"radialChart\">,\n    RadialChartOptions,\n    UseRadialChartOptions,\n    UseChartTooltipOptions,\n    UseChartLegendProps,\n    UseChartLabelListOptions,\n    UsePolarGridOptions,\n    UseChartProps {}\n\n/**\n * `RadialChart` is a component for drawing radial charts to compare multiple sets of data.\n *\n * @see Docs https://yamada-ui.com/components/data-display/radial-chart\n */\nexport const RadialChart = forwardRef<RadialChartProps, \"div\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"RadialChart\", props)\n  const {\n    className,\n    data,\n    dataKey,\n    endAngle,\n    fillOpacity,\n    innerRadius,\n    outerRadius,\n    startAngle,\n    strokeDasharray,\n    tooltipAnimationDuration,\n    tooltipDataSource = \"all\",\n    unit,\n    valueFormatter,\n    withLegend = false,\n    withPolarGrid = false,\n    withTooltip = true,\n    chartProps,\n    containerProps,\n    labelListProps = [],\n    legendProps,\n    polarGridProps,\n    radialBarProps,\n    tooltipProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n\n  const {\n    radialVars,\n    setHighlightedArea,\n    getRadialBarProps,\n    getRadialChartProps,\n  } = useRadialChart({\n    data,\n    dataKey,\n    endAngle,\n    fillOpacity,\n    innerRadius,\n    outerRadius,\n    startAngle,\n    styles,\n    chartProps,\n    radialBarProps,\n  })\n  const { getContainerProps } = useChart({ containerProps })\n  const { getTooltipProps, tooltipProps: computedTooltipProps } =\n    useChartTooltip({\n      styles,\n      tooltipAnimationDuration,\n      tooltipProps,\n    })\n  const { getLegendProps, legendProps: computedLegendProps } = useChartLegend({\n    legendProps,\n  })\n  const { getLabelLineProps } = useChartLabelList({ styles, labelListProps })\n  const { getPolarGridProps } = usePolarGrid({\n    strokeDasharray,\n    styles,\n    polarGridProps,\n  })\n\n  const radialChart = tooltipDataSource === \"segment\"\n\n  const labelLists = useMemo(\n    () =>\n      labelListProps.map((_, index) => (\n        <LabelList\n          key={`labelList-${index}`}\n          {...getLabelLineProps({\n            className: \"ui-radial-chart__label-list\",\n            index,\n          })}\n        />\n      )),\n    [getLabelLineProps, labelListProps],\n  )\n\n  return (\n    <ChartProvider value={{ styles }}>\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-radial-chart\", className)}\n        __css={{ maxW: \"full\", vars: radialVars, ...styles.container }}\n        {...rest}\n      >\n        <ResponsiveContainer\n          {...getContainerProps({ className: \"ui-radial-chart__container\" })}\n        >\n          <RechartsRadialChart\n            {...getRadialChartProps({\n              className: \"ui-radial-chart__chart\",\n            })}\n          >\n            {withPolarGrid ? (\n              <PolarGrid\n                {...getPolarGridProps({\n                  className: \"ui-radial-chart__polar-grid\",\n                })}\n              />\n            ) : null}\n\n            <RadialBar\n              {...getRadialBarProps({\n                className: \"ui-radial-chart__radial-bar\",\n              })}\n            >\n              {labelLists}\n            </RadialBar>\n\n            {withLegend ? (\n              <Legend\n                content={({ payload }) => (\n                  <ChartLegend\n                    className=\"ui-radial-chart__legend\"\n                    payload={payload}\n                    onHighlight={setHighlightedArea}\n                    {...computedLegendProps}\n                  />\n                )}\n                {...getLegendProps()}\n              />\n            ) : null}\n\n            {withTooltip ? (\n              <Tooltip\n                content={({ payload }) => (\n                  <ChartTooltip\n                    className=\"ui-radial-chart__tooltip\"\n                    payload={radialChart ? payload : data}\n                    radialChart={radialChart}\n                    unit={unit}\n                    valueFormatter={valueFormatter}\n                    {...computedTooltipProps}\n                  />\n                )}\n                {...getTooltipProps()}\n              />\n            ) : null}\n          </RechartsRadialChart>\n        </ResponsiveContainer>\n      </ui.div>\n    </ChartProvider>\n  )\n})\n\nRadialChart.displayName = \"RadialChart\"\nRadialChart.__ui__ = \"RadialChart\"\n","import type { CSSUIObject, RequiredPropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type * as Recharts from \"recharts\"\nimport type { LabelListProps } from \"./chart.types\"\nimport { getCSS, useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport { getComponentProps } from \"./chart-utils\"\nimport { labelListProperties } from \"./rechart-properties\"\n\nexport interface UseChartLabelListOptions {\n  /**\n   * Props passed down to recharts `LabelList` components.\n   */\n  labelListProps?: LabelListProps[]\n}\n\ninterface UseChartLabelListProps extends UseChartLabelListOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useChartLabelList = ({\n  styles,\n  labelListProps = [],\n}: UseChartLabelListProps) => {\n  const { theme } = useTheme()\n  const styleClassName = getCSS(styles.labelList)(theme)\n\n  const propList = useMemo(\n    () =>\n      labelListProps.map((props) =>\n        getComponentProps<Dict, string>(\n          [props, labelListProperties],\n          styleClassName,\n        )(theme, true),\n      ),\n    [labelListProps, styleClassName, theme],\n  )\n\n  const getLabelLineProps: RequiredPropGetter<\n    { index: number } & Partial<Recharts.LabelListProps<Dict>>,\n    Omit<Recharts.LabelListProps<Dict>, \"ref\">\n  > = useCallback(\n    ({ className, index, ...props }, ref = null) => {\n      const { className: propClassName, ...rest } = propList[index] ?? {}\n\n      return {\n        ref,\n        className: cx(className, propClassName),\n        ...(props as Recharts.LabelListProps<Dict>),\n        ...rest,\n      }\n    },\n    [propList],\n  )\n\n  return { getLabelLineProps }\n}\n","import type {\n  CSSUIObject,\n  CSSUIProps,\n  PropGetter,\n  RequiredPropGetter,\n} from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentPropsWithoutRef } from \"react\"\nimport type * as Recharts from \"recharts\"\nimport type { RadialBarProps, RadialChartProps } from \"./chart.types\"\nimport { getVar, useTheme } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { getClassName, getComponentProps } from \"./chart-utils\"\nimport {\n  radialBarProperties,\n  radialChartProperties,\n} from \"./rechart-properties\"\n\nexport interface UseRadialChartOptions {\n  /**\n   * Chart data.\n   */\n  data: Dict[]\n  /**\n   * The key of a group of data which should be unique in an chart.\n   *\n   * @default 'value'\n   */\n  dataKey?: string\n  /**\n   * Controls angle at which chart ends.\n   *\n   * @default -180\n   */\n  endAngle?: number\n  /**\n   * Controls fill opacity of all pies.\n   *\n   * @default 1\n   */\n  fillOpacity?: [number, number] | number\n  /**\n   * Controls innerRadius of the chart segments.\n   * If it is a number, it is the width of the radius.\n   * For example, `60` means the radius is `60px` and the diameter is `120px`.\n   *\n   * @default '10%'\n   */\n  innerRadius?: number | string\n  /**\n   * Controls thickness of the chart segments. If it is a number, it is calculated as px.\n   * If it is a number, it is the width of the radius.\n   * For example, `60` means the radius is `60px` and the diameter is `120px`.\n   *\n   * @default '80%'\n   */\n  outerRadius?: number | string\n  /**\n   * Controls angle at which chart starts.\n   *\n   * @default 90\n   */\n  startAngle?: number\n  /**\n   * Props passed down to recharts `RadialBarChart` component.\n   */\n  chartProps?: RadialChartProps\n  /**\n   * Props for the radialBar.\n   */\n  radialBarProps?: Partial<RadialBarProps>\n}\n\ninterface UseRadialChartProps extends UseRadialChartOptions {\n  styles: Dict<CSSUIObject | undefined>\n}\n\nexport const useRadialChart = ({\n  data: dataProp,\n  dataKey = \"value\",\n  endAngle = -180,\n  fillOpacity = 1,\n  innerRadius = \"10%\",\n  outerRadius = \"80%\",\n  startAngle = 90,\n  styles,\n  ...rest\n}: UseRadialChartProps) => {\n  const { theme } = useTheme()\n  const [highlightedArea, setHighlightedArea] = useState<null | string>(null)\n  const shouldHighlight = highlightedArea !== null\n  const {\n    background: backgroundProps = {},\n    dimRadialBar: dimRadialBarProps = {},\n    ...computedRadialBarProps\n  } = rest.radialBarProps ?? {}\n\n  const radialVars: CSSUIProps[\"vars\"] = useMemo(\n    () =>\n      dataProp.map(({ color }, index) => ({\n        name: `radial-bar-${index}`,\n        token: \"colors\",\n        value: color ?? \"transparent\",\n      })),\n    [dataProp],\n  )\n\n  const dimRadialBarClassName = useMemo(() => {\n    const resolvedDimRadialBar = {\n      fillOpacity: 0.3,\n      strokeOpacity: 0,\n      ...dimRadialBarProps,\n    }\n\n    return getClassName(resolvedDimRadialBar)(theme)\n  }, [dimRadialBarProps, theme])\n\n  const [chartProps, chartClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [rest.chartProps ?? {}, radialChartProperties],\n        styles.chart,\n      )(theme),\n    [rest.chartProps, styles.chart, theme],\n  )\n\n  const background = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [backgroundProps, radialBarProperties],\n        styles.background,\n      )(theme, true),\n    [backgroundProps, styles.background, theme],\n  )\n\n  const [radialBarProps, radialBarClassName] = useMemo(\n    () =>\n      getComponentProps<Dict, string>(\n        [computedRadialBarProps, radialBarProperties],\n        styles.radialBar,\n      )(theme),\n    [computedRadialBarProps, styles.radialBar, theme],\n  )\n\n  const data = useMemo(\n    () =>\n      dataProp.map((props, index) => {\n        const {\n          name,\n          color,\n          dimRadialBar = {},\n          value,\n          ...computedProps\n        } = props\n        const dimmed = shouldHighlight && highlightedArea !== name\n        const resolvedProps = {\n          ...computedProps,\n          ...(dimmed ? dimRadialBar : { fillOpacity }),\n        }\n\n        const className = getClassName(\n          resolvedProps,\n          dimmed ? dimRadialBarClassName : undefined,\n        )(theme)\n\n        return {\n          name,\n          className,\n          color,\n          fill: getVar(`radial-bar-${index}`)(theme),\n          value,\n        }\n      }),\n    [\n      dataProp,\n      dimRadialBarClassName,\n      fillOpacity,\n      highlightedArea,\n      shouldHighlight,\n      theme,\n    ],\n  )\n\n  const getRadialChartProps: PropGetter<\n    ComponentPropsWithoutRef<typeof Recharts.RadialBarChart>,\n    ComponentPropsWithoutRef<typeof Recharts.RadialBarChart>\n  > = useCallback(\n    ({ className, ...props } = {}, ref = null) => ({\n      ref,\n      className: cx(className, chartClassName),\n      data,\n      endAngle,\n      innerRadius,\n      outerRadius,\n      startAngle,\n      ...props,\n      ...chartProps,\n    }),\n    [\n      chartClassName,\n      chartProps,\n      data,\n      endAngle,\n      innerRadius,\n      outerRadius,\n      startAngle,\n    ],\n  )\n\n  const getRadialBarProps: RequiredPropGetter<\n    Partial<Recharts.RadialBarProps>,\n    Omit<Recharts.RadialBarProps, \"ref\">\n  > = useCallback(\n    ({ className, ...props }, ref = null) => ({\n      ref,\n      className: cx(className, radialBarClassName),\n      background,\n      dataKey,\n      isAnimationActive: false,\n      ...props,\n      ...radialBarProps,\n    }),\n    [background, dataKey, radialBarClassName, radialBarProps],\n  )\n\n  return {\n    radialVars,\n    setHighlightedArea,\n    getRadialBarProps,\n    getRadialChartProps,\n  }\n}\n\nexport type UseRadialChartReturn = ReturnType<typeof useRadialChart>\n"]}