Home / Function/ ChartTooltipContent() — ui Function Reference

ChartTooltipContent() — ui Function Reference

Architecture documentation for the ChartTooltipContent() function in chart.tsx from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  f5f03e6d_ca14_f90f_0cec_a9f22ec8c2e1["ChartTooltipContent()"]
  2491c23f_d44e_4528_8994_1ccc44078cfa["chart.tsx"]
  f5f03e6d_ca14_f90f_0cec_a9f22ec8c2e1 -->|defined in| 2491c23f_d44e_4528_8994_1ccc44078cfa
  77910341_64d5_40e1_b225_48aa42b248e3["useChart()"]
  f5f03e6d_ca14_f90f_0cec_a9f22ec8c2e1 -->|calls| 77910341_64d5_40e1_b225_48aa42b248e3
  da9742ea_7739_cafb_4832_87cc666385d0["getPayloadConfigFromPayload()"]
  f5f03e6d_ca14_f90f_0cec_a9f22ec8c2e1 -->|calls| da9742ea_7739_cafb_4832_87cc666385d0
  style f5f03e6d_ca14_f90f_0cec_a9f22ec8c2e1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/examples/base/ui-rtl/chart.tsx lines 106–250

function ChartTooltipContent({
  active,
  payload,
  className,
  indicator = "dot",
  hideLabel = false,
  hideIndicator = false,
  label,
  labelFormatter,
  labelClassName,
  formatter,
  color,
  nameKey,
  labelKey,
}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &
  React.ComponentProps<"div"> & {
    hideLabel?: boolean
    hideIndicator?: boolean
    indicator?: "line" | "dot" | "dashed"
    nameKey?: string
    labelKey?: string
  }) {
  const { config } = useChart()

  const tooltipLabel = React.useMemo(() => {
    if (hideLabel || !payload?.length) {
      return null
    }

    const [item] = payload
    const key = `${labelKey || item?.dataKey || item?.name || "value"}`
    const itemConfig = getPayloadConfigFromPayload(config, item, key)
    const value =
      !labelKey && typeof label === "string"
        ? config[label as keyof typeof config]?.label || label
        : itemConfig?.label

    if (labelFormatter) {
      return (
        <div className={cn("font-medium", labelClassName)}>
          {labelFormatter(value, payload)}
        </div>
      )
    }

    if (!value) {
      return null
    }

    return <div className={cn("font-medium", labelClassName)}>{value}</div>
  }, [
    label,
    labelFormatter,
    payload,
    hideLabel,
    labelClassName,
    config,
    labelKey,
  ])

  if (!active || !payload?.length) {
    return null
  }

  const nestLabel = payload.length === 1 && indicator !== "dot"

  return (
    <div
      className={cn(
        "border-border/50 bg-background grid min-w-32 items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
        className
      )}
    >
      {!nestLabel ? tooltipLabel : null}
      <div className="grid gap-1.5">
        {payload
          .filter((item) => item.type !== "none")
          .map((item, index) => {
            const key = `${nameKey || item.name || item.dataKey || "value"}`
            const itemConfig = getPayloadConfigFromPayload(config, item, key)
            const indicatorColor = color || item.payload.fill || item.color

Subdomains

Frequently Asked Questions

What does ChartTooltipContent() do?
ChartTooltipContent() is a function in the ui codebase, defined in apps/v4/examples/base/ui-rtl/chart.tsx.
Where is ChartTooltipContent() defined?
ChartTooltipContent() is defined in apps/v4/examples/base/ui-rtl/chart.tsx at line 106.
What does ChartTooltipContent() call?
ChartTooltipContent() calls 2 function(s): getPayloadConfigFromPayload, useChart.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free