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
  5d369464_81d1_30d9_1978_d50d51b0f8c2["ChartTooltipContent()"]
  3944601b_9405_8ad6_7082_5bb7d87ab41c["chart.tsx"]
  5d369464_81d1_30d9_1978_d50d51b0f8c2 -->|defined in| 3944601b_9405_8ad6_7082_5bb7d87ab41c
  b9971c9d_6704_f41c_394f_f87738ca27b7["useChart()"]
  5d369464_81d1_30d9_1978_d50d51b0f8c2 -->|calls| b9971c9d_6704_f41c_394f_f87738ca27b7
  e3e14a02_1665_d2c0_9b2a_26a1066b5901["getPayloadConfigFromPayload()"]
  5d369464_81d1_30d9_1978_d50d51b0f8c2 -->|calls| e3e14a02_1665_d2c0_9b2a_26a1066b5901
  style 5d369464_81d1_30d9_1978_d50d51b0f8c2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/examples/radix/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/radix/ui-rtl/chart.tsx.
Where is ChartTooltipContent() defined?
ChartTooltipContent() is defined in apps/v4/examples/radix/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