"use client"; import dynamic from "next/dynamic"; const Chart = dynamic(() => import("react-apexcharts"), { ssr: false }); import { colors } from "@/lib/colors"; import { useTheme } from "next-themes"; import { hexToRGB } from "@/lib/utils"; import { useConfig } from "@/hooks/use-config"; import { getGridConfig, getLabel } from "@/lib/appex-chart-options"; const LineColumnArea = ({ height = 300 }) => { const [config] = useConfig(); const { theme: mode } = useTheme(); const series = [ { name: "TEAM A", type: "column", data: [23, 11, 22, 27, 13, 22, 37, 21, 44, 22, 30], }, { name: "TEAM B", type: "area", data: [44, 55, 41, 67, 22, 43, 21, 41, 56, 27, 43], }, { name: "TEAM C", type: "line", data: [30, 25, 36, 30, 45, 35, 64, 52, 59, 36, 39], }, ]; const options: any = { chart: { toolbar: { show: false } }, stroke: { width: [0, 2, 5], curve: "smooth", }, plotOptions: { bar: { columnWidth: "50%" }, }, fill: { opacity: [0.85, 0.25, 1], gradient: { inverseColors: false, shade: "light", type: "vertical", opacityFrom: 0.85, opacityTo: 0.55, stops: [0, 100, 100, 100], } }, labels: [ "01/01/2003", "02/01/2003", "03/01/2003", "04/01/2003", "05/01/2003", "06/01/2003", "07/01/2003", "08/01/2003", "09/01/2003", "10/01/2003", "11/01/2003", ], markers: { size: 0, }, xaxis: { type: "datetime", labels: getLabel(mode === 'light' ? colors["default-600"] : colors["default-300"]), axisBorder: { show: false, }, axisTicks: { show: false, } }, yaxis: { labels: getLabel(mode === 'light' ? colors["default-600"] : colors["default-300"]), title: { text: "Points", style: { color: mode === 'light' ? colors["default-600"] : colors["default-300"], }, }, min: 0, }, colors: [ colors.primary, colors.info, colors.primary, ], tooltip: { theme: mode === "dark" ? "dark" : "light", shared: true, intersect: false, y: { formatter: function (y: any) { if (typeof y !== "undefined") { return y.toFixed(0) + " points"; } return y; }, }, }, grid: getGridConfig(), legend: { labels: { colors: mode === 'light' ? colors["default-600"] : colors["default-300"], }, itemMargin: { horizontal: 5, vertical: 10, }, markers: { width: 10, height: 10, radius: 10, offsetX: config.isRtl ? 5 : -5 } } }; return ( ); }; export default LineColumnArea;