> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/recharts/recharts/llms.txt
> Use this file to discover all available pages before exploring further.

# FunnelChart

> API reference for the FunnelChart component

FunnelChart renders a funnel chart, which is often used to represent stages in a sales process and show the amount of potential revenue for each stage.

```tsx theme={null}
import { FunnelChart, Funnel, Tooltip, Cell } from 'recharts';

const data = [
  { value: 100, name: 'Sent', fill: '#8884d8' },
  { value: 80, name: 'Viewed', fill: '#83a6ed' },
  { value: 50, name: 'Clicked', fill: '#8dd1e1' },
  { value: 40, name: 'Add to Cart', fill: '#82ca9d' },
  { value: 26, name: 'Purchased', fill: '#a4de6c' },
];

<FunnelChart width={730} height={250}>
  <Tooltip />
  <Funnel dataKey="value" data={data} isAnimationActive>
    {data.map((entry, index) => (
      <Cell key={`cell-${index}`} fill={entry.fill} />
    ))}
  </Funnel>
</FunnelChart>
```

## Props

<ParamField path="data" type="array">
  The source data. Each element should be an object.
</ParamField>

<ParamField path="width" type="number | string">
  The width of chart container. Can be a number or a percent string like "100%".
</ParamField>

<ParamField path="height" type="number | string">
  The height of chart container. Can be a number or a percent string like "100%".
</ParamField>

<ParamField path="layout" type="'horizontal' | 'vertical'" default="horizontal">
  The layout of chart defines the orientation of axes, graphical items, and tooltip.
</ParamField>

<ParamField path="margin" type="object" default="{top: 5, right: 5, bottom: 5, left: 5}">
  Empty space around the container.

  <Expandable title="properties">
    <ParamField path="top" type="number" />

    <ParamField path="right" type="number" />

    <ParamField path="bottom" type="number" />

    <ParamField path="left" type="number" />
  </Expandable>
</ParamField>

<ParamField path="barCategoryGap" type="number | string" default="10%">
  The gap between two bar categories.
</ParamField>

<ParamField path="barGap" type="number | string" default="4">
  The gap between two bars in the same category.
</ParamField>

<ParamField path="barSize" type="number | string">
  The width or height of each bar.
</ParamField>

<ParamField path="maxBarSize" type="number">
  The maximum width of all the bars in a horizontal chart, or maximum height in a vertical chart.
</ParamField>

<ParamField path="stackOffset" type="'sign' | 'expand' | 'none' | 'wiggle' | 'silhouette' | 'positive'" default="none">
  The type of offset function used to generate the lower and upper values in the series array.
</ParamField>

<ParamField path="reverseStackOrder" type="boolean" default="false">
  If `false`, stacked items will be rendered left to right. If `true`, stacked items will be rendered right to left.
</ParamField>

<ParamField path="syncId" type="number | string">
  Charts with the same syncId will synchronize Tooltip and Brush events.
</ParamField>

<ParamField path="syncMethod" type="'index' | 'value' | function" default="index">
  Customize how the charts will synchronize tooltips and brushes.
</ParamField>

<ParamField path="accessibilityLayer" type="boolean" default="true">
  Turn on accessibility support for keyboard-only and screen reader users.
</ParamField>

<ParamField path="responsive" type="boolean" default="false">
  If true, then it will listen to container size changes and adapt the SVG chart accordingly.
</ParamField>

<ParamField path="className" type="string">
  CSS class name for the chart container.
</ParamField>

<ParamField path="style" type="CSSProperties">
  Inline CSS styles for the chart container.
</ParamField>

<ParamField path="id" type="string">
  The unique id of chart.
</ParamField>

<ParamField path="throttleDelay" type="number | 'raf'" default="'raf'">
  Decides the time interval to throttle events.
</ParamField>

<ParamField path="onClick" type="function">
  The customized event handler of click in this chart.
</ParamField>

<ParamField path="onMouseEnter" type="function">
  The customized event handler of mouseenter in this chart.
</ParamField>

<ParamField path="onMouseMove" type="function">
  The customized event handler of mousemove in this chart.
</ParamField>

<ParamField path="onMouseLeave" type="function">
  The customized event handler of mouseleave in this chart.
</ParamField>
