{"version":3,"file":"lazy-chart-9300132f.mjs","sources":["../../../common/resources/client/charts/lazy-chart.tsx"],"sourcesContent":["import {\n ArcElement,\n BarController,\n BarElement,\n CategoryScale,\n Chart,\n ChartOptions,\n ChartType,\n Filler,\n Legend,\n LinearScale,\n LineController,\n LineElement,\n PointElement,\n PolarAreaController,\n RadialLinearScale,\n Tooltip,\n} from 'chart.js';\nimport {useEffect, useRef} from 'react';\nimport {BaseChartProps} from './base-chart';\nimport {FormattedDatasetItem} from './data/formatted-dataset-item';\nimport deepMerge from 'deepmerge';\n\nChart.register([\n LineElement,\n PointElement,\n BarElement,\n ArcElement,\n LineController,\n BarController,\n PolarAreaController,\n RadialLinearScale,\n CategoryScale,\n LinearScale,\n Tooltip,\n Filler,\n Legend,\n]);\n\nexport default function LazyChart({\n type,\n data,\n options,\n hideLegend,\n}: Omit, 'children'>) {\n const ref = useRef(null);\n const chartRef = useRef>();\n\n useEffect(() => {\n if (ref.current) {\n chartRef.current = new Chart(ref.current, {\n type,\n data,\n options: deepMerge(\n {\n maintainAspectRatio: false,\n animation: {\n duration: 250,\n },\n plugins: {\n legend: {\n position: 'bottom',\n display: !hideLegend,\n },\n tooltip: {\n padding: 16,\n cornerRadius: 4,\n callbacks: {\n title: ([item]) => {\n const data = item.raw as FormattedDatasetItem;\n return data.tooltipTitle ?? item.label;\n },\n label: item => {\n return ` ${item.dataset.label}: ${item.formattedValue}`;\n },\n },\n },\n },\n },\n options as ChartOptions\n ),\n });\n }\n\n return () => {\n chartRef.current?.destroy();\n };\n }, [data, type, options, hideLegend]);\n\n return ;\n}\n"],"names":["data"],"mappings":";;;;AAuBA,MAAM,SAAS;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,SAAwB,UAAU;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0C;AAClC,QAAA,MAAM,OAA0B,IAAI;AAC1C,QAAM,WAAW;AAEjB,YAAU,MAAM;AACd,QAAI,IAAI,SAAS;AACf,eAAS,UAAU,IAAI,MAAM,IAAI,SAAS;AAAA,QACxC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACP;AAAA,YACE,qBAAqB;AAAA,YACrB,WAAW;AAAA,cACT,UAAU;AAAA,YACZ;AAAA,YACA,SAAS;AAAA,cACP,QAAQ;AAAA,gBACN,UAAU;AAAA,gBACV,SAAS,CAAC;AAAA,cACZ;AAAA,cACA,SAAS;AAAA,gBACP,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,WAAW;AAAA,kBACT,OAAO,CAAC,CAAC,IAAI,MAAM;AACjB,0BAAMA,QAAO,KAAK;AACXA,2BAAAA,MAAK,gBAAgB,KAAK;AAAA,kBACnC;AAAA,kBACA,OAAO,CAAQ,SAAA;AACb,2BAAO,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,cAAc;AAAA,kBACxD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;AAEA,WAAO,MAAM;;AACX,qBAAS,YAAT,mBAAkB;AAAA,IAAQ;AAAA,KAE3B,CAAC,MAAM,MAAM,SAAS,UAAU,CAAC;AAE7B,SAAA,oBAAC,YAAO,IAAU,CAAA;AAC3B;"}