Home / File/ chart-toolbar.tsx — ui Source File

chart-toolbar.tsx — ui Source File

Architecture documentation for chart-toolbar.tsx, a tsx file in the ui codebase. 7 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 7 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  c17093f8_a59d_06ac_d1dd_8835cefccfcd["chart-toolbar.tsx"]
  79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81
  1c0309b7_7660_a423_33cb_84600ee8c1ed["chart-code-viewer"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> 1c0309b7_7660_a423_33cb_84600ee8c1ed
  0ef877d6_b768_4222_bd20_50d875ac5e58["separator"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> 0ef877d6_b768_4222_bd20_50d875ac5e58
  b13c0946_a391_4bd9_2f39_a58656bb80bd["mdx.css"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> b13c0946_a391_4bd9_2f39_a58656bb80bd
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  68e596e7_6979_4afc_6ab2_5388e7fb2914["chart-copy-button"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> 68e596e7_6979_4afc_6ab2_5388e7fb2914
  732e465a_ced3_b1a5_d804_02cfa6f4300b["chart-display"]
  c17093f8_a59d_06ac_d1dd_8835cefccfcd --> 732e465a_ced3_b1a5_d804_02cfa6f4300b
  style c17093f8_a59d_06ac_d1dd_8835cefccfcd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import { cn } from "@/lib/utils"
import { ChartCodeViewer } from "@/components/chart-code-viewer"
import { Separator } from "@/registry/new-york/ui/separator"

import "@/styles/mdx.css"
import {
  AreaChart,
  BarChartBig,
  Hexagon,
  LineChart,
  MousePointer2,
  PieChart,
  Radar,
} from "lucide-react"

import { ChartCopyButton } from "@/components/chart-copy-button"
import { Chart } from "@/components/chart-display"

export function ChartToolbar({
  chart,
  className,
  children,
}: {
  chart: Chart
} & React.ComponentProps<"div">) {
  return (
    <div className={cn("flex items-center gap-2", className)}>
      <div className="flex items-center gap-1.5 pl-1 text-[13px] text-muted-foreground [&>svg]:h-[0.9rem] [&>svg]:w-[0.9rem]">
        <ChartTitle chart={chart} />
      </div>
      <div className="ml-auto flex items-center gap-2 [&>form]:flex">
        <ChartCopyButton
          event="copy_chart_code"
          name={chart.name}
          code={chart.files?.[0]?.content ?? ""}
          className="[&_svg]-h-3 h-6 w-6 rounded-[6px] bg-transparent text-foreground shadow-none hover:bg-muted dark:text-foreground [&_svg]:w-3"
        />
        <Separator orientation="vertical" className="mx-0 hidden h-4 md:flex" />
        <ChartCodeViewer chart={chart}>{children}</ChartCodeViewer>
      </div>
    </div>
  )
}

function ChartTitle({ chart }: { chart: Chart }) {
  const { categories } = chart

  if (!categories?.length) {
    return null
  }

  if (categories.includes("charts-line")) {
    return (
      <>
        <LineChart /> Chart
      </>
    )
  }

  if (categories.includes("charts-bar")) {
    return (
      <>
        <BarChartBig /> Chart
      </>
    )
  }

  if (categories.includes("charts-pie")) {
    return (
      <>
        <PieChart /> Chart
      </>
    )
  }

  if (categories.includes("charts-area")) {
    return (
      <>
        <AreaChart /> Chart
      </>
    )
  }

  if (categories.includes("charts-radar")) {
    return (
      <>
        <Hexagon /> Chart
      </>
    )
  }

  if (categories.includes("charts-radial")) {
    return (
      <>
        <Radar /> Chart
      </>
    )
  }

  if (categories.includes("charts-tooltip")) {
    return (
      <>
        <MousePointer2 />
        Tooltip
      </>
    )
  }

  return categories[0]
}

Subdomains

Dependencies

  • chart-code-viewer
  • chart-copy-button
  • chart-display
  • lucide-react
  • mdx.css
  • separator
  • utils

Frequently Asked Questions

What does chart-toolbar.tsx do?
chart-toolbar.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in chart-toolbar.tsx?
chart-toolbar.tsx defines 2 function(s): ChartTitle, ChartToolbar.
What does chart-toolbar.tsx depend on?
chart-toolbar.tsx imports 7 module(s): chart-code-viewer, chart-copy-button, chart-display, lucide-react, mdx.css, separator, utils.
Where is chart-toolbar.tsx in the architecture?
chart-toolbar.tsx is located at deprecated/www/components/chart-toolbar.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: deprecated/www/components).

Analyze Your Own Codebase

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

Try Supermodel Free