cats4u-charts 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.editorconfig +17 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +20 -0
  4. package/.vscode/tasks.json +42 -0
  5. package/README.md +59 -0
  6. package/angular.json +118 -0
  7. package/dist/charts-lib/README.md +63 -0
  8. package/dist/charts-lib/fesm2022/charts-lib.mjs +3418 -0
  9. package/dist/charts-lib/fesm2022/charts-lib.mjs.map +1 -0
  10. package/dist/charts-lib/index.d.ts +110 -0
  11. package/package.json +58 -0
  12. package/projects/charts-lib/README.md +63 -0
  13. package/projects/charts-lib/ng-package.json +8 -0
  14. package/projects/charts-lib/package.json +12 -0
  15. package/projects/charts-lib/src/lib/charts-lib.html +1 -0
  16. package/projects/charts-lib/src/lib/charts-lib.spec.ts +23 -0
  17. package/projects/charts-lib/src/lib/charts-lib.ts +121 -0
  18. package/projects/charts-lib/src/lib/component/area-chart/area-chart.html +1 -0
  19. package/projects/charts-lib/src/lib/component/area-chart/area-chart.scss +0 -0
  20. package/projects/charts-lib/src/lib/component/area-chart/area-chart.spec.ts +23 -0
  21. package/projects/charts-lib/src/lib/component/area-chart/area-chart.ts +266 -0
  22. package/projects/charts-lib/src/lib/component/bar-chart/bar-chart.html +1 -0
  23. package/projects/charts-lib/src/lib/component/bar-chart/bar-chart.scss +0 -0
  24. package/projects/charts-lib/src/lib/component/bar-chart/bar-chart.spec.ts +23 -0
  25. package/projects/charts-lib/src/lib/component/bar-chart/bar-chart.ts +301 -0
  26. package/projects/charts-lib/src/lib/component/line-chart/line-chart.html +1 -0
  27. package/projects/charts-lib/src/lib/component/line-chart/line-chart.scss +0 -0
  28. package/projects/charts-lib/src/lib/component/line-chart/line-chart.spec.ts +23 -0
  29. package/projects/charts-lib/src/lib/component/line-chart/line-chart.ts +266 -0
  30. package/projects/charts-lib/src/lib/modal/charts-lib.modal.ts +79 -0
  31. package/projects/charts-lib/src/lib/services/chart.service.ts +296 -0
  32. package/projects/charts-lib/src/lib/themes/chalk.ts +357 -0
  33. package/projects/charts-lib/src/lib/themes/dark.ts +380 -0
  34. package/projects/charts-lib/src/lib/themes/default.ts +377 -0
  35. package/projects/charts-lib/src/lib/themes/essos.ts +357 -0
  36. package/projects/charts-lib/src/lib/themes/roma.ts +399 -0
  37. package/projects/charts-lib/src/lib/themes/vintage.ts +378 -0
  38. package/projects/charts-lib/src/public-api.ts +2 -0
  39. package/projects/charts-lib/tsconfig.lib.json +14 -0
  40. package/projects/charts-lib/tsconfig.lib.prod.json +11 -0
  41. package/projects/charts-lib/tsconfig.spec.json +15 -0
  42. package/projects/demo-app/public/favicon.ico +0 -0
  43. package/projects/demo-app/src/app/app.config.ts +16 -0
  44. package/projects/demo-app/src/app/app.html +43 -0
  45. package/projects/demo-app/src/app/app.routes.ts +3 -0
  46. package/projects/demo-app/src/app/app.scss +47 -0
  47. package/projects/demo-app/src/app/app.spec.ts +25 -0
  48. package/projects/demo-app/src/app/app.ts +98 -0
  49. package/projects/demo-app/src/index.html +13 -0
  50. package/projects/demo-app/src/main.ts +6 -0
  51. package/projects/demo-app/src/styles.scss +4 -0
  52. package/projects/demo-app/tsconfig.app.json +15 -0
  53. package/projects/demo-app/tsconfig.spec.json +15 -0
  54. package/tsconfig.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts-lib.mjs","sources":["../../../projects/charts-lib/src/lib/modal/charts-lib.modal.ts","../../../projects/charts-lib/src/lib/services/chart.service.ts","../../../projects/charts-lib/src/lib/themes/default.ts","../../../projects/charts-lib/src/lib/themes/vintage.ts","../../../projects/charts-lib/src/lib/themes/dark.ts","../../../projects/charts-lib/src/lib/themes/essos.ts","../../../projects/charts-lib/src/lib/themes/chalk.ts","../../../projects/charts-lib/src/lib/themes/roma.ts","../../../projects/charts-lib/src/lib/component/bar-chart/bar-chart.ts","../../../projects/charts-lib/src/lib/component/bar-chart/bar-chart.html","../../../projects/charts-lib/src/lib/component/line-chart/line-chart.ts","../../../projects/charts-lib/src/lib/component/line-chart/line-chart.html","../../../projects/charts-lib/src/lib/component/area-chart/area-chart.ts","../../../projects/charts-lib/src/lib/component/area-chart/area-chart.html","../../../projects/charts-lib/src/lib/charts-lib.ts","../../../projects/charts-lib/src/lib/charts-lib.html","../../../projects/charts-lib/src/charts-lib.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\nimport {\n Color,\n DataZoomComponentOption,\n GridComponentOption,\n LegendComponentOption,\n SeriesOption,\n TitleComponentOption,\n TooltipComponentOption,\n XAXisComponentOption,\n YAXisComponentOption,\n} from 'echarts';\n\nexport class ClickEvent {\n seriesName: string = '';\n value: any = undefined;\n name: string = '';\n dataIndex?: number = -1;\n seriesIndex?: number = -1;\n}\n\nexport class ChartsLibType {\n chartType: 'line' | 'bar' | 'area' | 'pie' = 'bar';\n columns: string[] = [];\n data: any[][] = [];\n themeName?: 'default' | 'dark' | 'vintage' | 'essos' | 'chalk' | 'roma' = 'default';\n colorsScheme?: string[] | undefined;\n chartOptionsConfig?: OptionsConfig;\n}\n\nexport class OptionsConfig implements EChartsOption {\n title?: TitleComponentOption = {\n show: true,\n text: '',\n left: 'center',\n textStyle: { fontSize: 16 },\n };\n legend?: LegendComponentOption = { show: true };\n tooltip?: TooltipComponentOption = { trigger: 'axis', axisPointer: { type: 'shadow' } };\n xAxis?: XAXisComponentOption = {\n type: 'category',\n data: [], // Populated dynamically\n axisLabel: { rotate: 45, fontSize: 10 },\n axisTick: { show: false },\n };\n yAxis?: YAXisComponentOption = {\n type: 'value',\n axisLabel: { fontSize: 12 },\n };\n dataZoom?: DataZoomComponentOption[] = [\n {\n type: 'slider',\n start: 0,\n end: 100,\n height: 25,\n bottom: 20,\n textStyle: { fontSize: 12 },\n },\n {\n type: 'inside', // Mouse wheel/pinch zoom\n start: 0,\n end: 10,\n },\n ];\n series?: SeriesOption[] = [];\n grid?: GridComponentOption = {\n left: '5%',\n right: '5%',\n containLabel: true,\n };\n [key: string]: any;\n}\n\nexport class ContextMenuListItem {\n label: string = '';\n options?: ContextMenuListItem[] = [];\n action?: (event?: ClickEvent) => void;\n disabled?: boolean = false;\n}\n","import { Injectable, signal, computed, ElementRef, EventEmitter } from '@angular/core';\nimport { ECElementEvent } from 'echarts';\nimport { Subject } from 'rxjs';\nimport {\n ChartsLibType,\n ClickEvent,\n ContextMenuListItem,\n OptionsConfig,\n} from '../modal/charts-lib.modal';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChartService {\n private themeSignal = signal<ChartsLibType['themeName']>('default');\n public theme = this.themeSignal.asReadonly();\n newsubject = new Subject();\n\n private dataSignal = signal<any[][]>([]);\n public data = this.dataSignal.asReadonly();\n\n private columnsSignal = signal<string[]>([]);\n public columns = this.columnsSignal.asReadonly();\n\n private chartOptionsConfigSignal = signal<OptionsConfig>({});\n public chartOptionsConfig = this.chartOptionsConfigSignal.asReadonly();\n\n private eventSignal = signal<ClickEvent>(new ClickEvent());\n public clickEvent = this.eventSignal.asReadonly();\n\n private contextMenuEventSignal = signal<ClickEvent>(new ClickEvent());\n public contextMenuEvent = this.contextMenuEventSignal.asReadonly();\n\n private contextMenuListSignal = signal<ContextMenuListItem[]>([]);\n public contextMenuList = this.contextMenuListSignal.asReadonly();\n\n private drillByConfigSignal = signal<ClickEvent>(new ClickEvent());\n public drillByConfig = this.drillByConfigSignal.asReadonly();\n\n private loadingSignal = signal<boolean>(false);\n public loading = this.loadingSignal.asReadonly();\n\n private contextMenu: HTMLElement | null = null;\n\n public isDarkTheme = computed(() => this.theme() === 'dark');\n\n constructor() {}\n\n setTheme(themeName: ChartsLibType['themeName']): void {\n this.themeSignal.set(themeName);\n }\n\n setData(data: any[][]): void {\n this.dataSignal.set(data);\n }\n\n setColumns(columns: string[]): void {\n this.columnsSignal.set(columns);\n }\n\n setChartOptionsConfig(config: OptionsConfig) {\n this.chartOptionsConfigSignal.set(config);\n }\n\n setContextMenuList(contextMenu: ContextMenuListItem[]) {\n this.contextMenuListSignal.set(contextMenu);\n }\n\n setLoading(isLoading: boolean): void {\n this.loadingSignal.set(isLoading);\n }\n\n getCurrentTheme(): ChartsLibType['themeName'] {\n return this.themeSignal();\n }\n\n getCurrentData(): any[][] {\n return this.dataSignal();\n }\n getCurrentColumns(): string[] {\n return this.columnsSignal();\n }\n handleClick(event: ECElementEvent): void {\n this.eventSignal.set({\n seriesName: event?.seriesName,\n value: event?.value,\n name: event?.name,\n dataIndex: event?.dataIndex,\n seriesIndex: event?.seriesIndex,\n } as ClickEvent);\n }\n\n getClickEvent(): ClickEvent {\n return this.eventSignal();\n }\n\n showContextMenu(\n x: number,\n y: number,\n params: ECElementEvent | null,\n chartContainer: ElementRef<HTMLDivElement>\n ): void {\n // Remove existing menu\n this.hideContextMenu();\n // Create menu element\n this.contextMenu = document.createElement('div');\n this.contextMenu.style.position = 'absolute';\n this.contextMenu.style.left = `${x}px`;\n this.contextMenu.style.top = `${y}px`;\n this.contextMenu.style.background = 'white';\n this.contextMenu.style.border = '1px solid #ccc';\n this.contextMenu.style.borderRadius = '6px';\n this.contextMenu.style.boxShadow = '0 2px 10px rgba(0,0,0,0.2)';\n this.contextMenu.style.zIndex = '10000000';\n this.contextMenu.style.padding = '5px 0';\n this.contextMenu.style.minWidth = '120px';\n\n // Define menu options (customize as needed)\n const options: ContextMenuListItem[] = [\n {\n label: 'Drill By',\n options: this.columns().map((column) => ({\n label: column,\n action: () => {\n this.drillByHandler(column);\n },\n })),\n action: () => {},\n },\n {\n label: 'Drill Down',\n action: () => this.drillDownHandler(params),\n disabled: !params,\n },\n ...this.contextMenuList(),\n ];\n let activeSubMenu: HTMLElement | null = null;\n // Add options to menu\n options.forEach((option, index) => {\n const item = document.createElement('div');\n item.innerHTML = option.options\n ? `<div style=\"display: flex; justify-content: space-between;align-items:center;\"><label>${option.label}</label><label style=\"font-weight:600; margin-left: 1rem;\">></label></div>`\n : `<label>${option.label}</label>`;\n item.style.padding = '8px 12px';\n item.style.cursor = 'pointer';\n if (option.disabled) {\n item.style.opacity = '0.5';\n item.style.cursor = 'not-allowed';\n }\n if (index < options.length - 1) {\n item.style.borderBottom = '1px solid #e1e1e1';\n }\n item.style.fontSize = '14px';\n item.style.position = 'relative';\n item.onmouseover = (event: MouseEvent) => {\n if (!option.disabled) {\n item.style.background = '#cee2ff';\n\n if (activeSubMenu) {\n activeSubMenu.remove();\n activeSubMenu = null;\n }\n if (option.options) {\n activeSubMenu = document.createElement('div');\n activeSubMenu.style.position = 'absolute';\n activeSubMenu.style.left = `${item.offsetWidth + 4}px`; // Position to the right of the item\n activeSubMenu.style.top = '0px'; // Align with the top of the item\n activeSubMenu.style.background = 'white';\n activeSubMenu.style.border = '1px solid #ccc';\n activeSubMenu.style.borderRadius = '6px';\n activeSubMenu.style.boxShadow = '0 2px 10px rgba(0,0,0,0.2)';\n activeSubMenu.style.zIndex = '10000001'; // Higher than main menu\n activeSubMenu.style.padding = '5px 0';\n activeSubMenu.style.minWidth = '120px';\n // Add submenu items\n option.options.forEach((subOption, idx) => {\n const subItem = document.createElement('div');\n subItem.textContent = subOption.label;\n subItem.style.padding = '8px 12px';\n subItem.style.cursor = 'pointer';\n if (option.options && idx < option.options.length - 1) {\n subItem.style.borderBottom = '1px solid #e1e1e1';\n }\n subItem.style.fontSize = '14px';\n subItem.onmouseover = () => {\n subItem.style.background = '#cee2ff';\n };\n subItem.onmouseout = () => (subItem.style.background = 'white');\n subItem.onclick = () => {\n if (subOption.action) {\n subOption.action(\n params\n ? ({\n seriesName: params?.seriesName,\n value: params?.value,\n name: params?.name,\n dataIndex: params?.dataIndex,\n seriesIndex: params?.seriesIndex,\n } as ClickEvent)\n : undefined\n );\n }\n this.hideContextMenu();\n this.resetContextEvent();\n };\n activeSubMenu!.appendChild(subItem);\n });\n if (this.contextMenu) {\n this.contextMenu.appendChild(activeSubMenu);\n }\n }\n }\n };\n item.onmouseout = (event: MouseEvent) => {\n if (!option.disabled) {\n item.style.background = 'white';\n }\n };\n\n item.onclick = () => {\n if (!option.options && !option.disabled) {\n if (option.action) {\n option.action();\n }\n this.hideContextMenu();\n this.resetContextEvent();\n }\n };\n if (this.contextMenu) {\n this.contextMenu.appendChild(item);\n }\n });\n // Append to chart container\n chartContainer.nativeElement.appendChild(this.contextMenu);\n }\n\n openContextMenu(\n params: ECElementEvent | null,\n chartContainer: ElementRef<HTMLDivElement>,\n mouseEvent?: MouseEvent\n ): void {\n if (params) {\n this.contextMenuEventSignal.set({\n seriesName: params?.seriesName,\n value: params?.value,\n name: params?.name,\n dataIndex: params?.dataIndex,\n seriesIndex: params?.seriesIndex,\n } as ClickEvent);\n } else {\n this.resetContextEvent();\n }\n const event = mouseEvent || (params?.event?.event as MouseEvent);\n event?.preventDefault();\n\n if (!event) return;\n const rect = chartContainer.nativeElement.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const y = event.clientY - rect.top;\n // Create or update the menu\n this.showContextMenu(x, y, params, chartContainer);\n }\n hideContextMenu(): void {\n if (this.contextMenu) {\n this.contextMenu.remove();\n this.contextMenu = null;\n }\n }\n\n resetContextEvent(): void {\n this.contextMenuEventSignal.set(new ClickEvent());\n }\n\n drillDownHandler(params: ECElementEvent | null): void {\n if (params) {\n this.eventSignal.set({\n seriesName: params?.seriesName,\n value: params?.value,\n name: params?.name,\n dataIndex: params?.dataIndex,\n seriesIndex: params?.seriesIndex,\n } as ClickEvent);\n }\n }\n\n drillByHandler(columnName: string = ''): void {\n const params = {\n seriesName: columnName,\n value: undefined,\n name: '',\n dataIndex: -1,\n seriesIndex: -1,\n } as ClickEvent;\n this.drillByConfigSignal.set(params);\n }\n}\n","import * as echarts from 'echarts';\n\nconst defaultTheme = {\n color: [\n '#5470c6',\n '#91cc75',\n '#fac858',\n '#ee6666',\n '#73c0de',\n '#3ba272',\n '#fc8452',\n '#9a60b4',\n '#ea7ccc',\n ],\n backgroundColor: 'rgba(0, 0, 0, 0)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#464646',\n },\n subtextStyle: {\n color: '#6E7079',\n },\n },\n line: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n radar: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#eb5454',\n color0: '#47b262',\n borderColor: '#eb5454',\n borderColor0: '#47b262',\n borderWidth: 1,\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: 1,\n color: '#aaa',\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n color: [\n '#5470c6',\n '#91cc75',\n '#fac858',\n '#ee6666',\n '#73c0de',\n '#3ba272',\n '#fc8452',\n '#9a60b4',\n '#ea7ccc',\n ],\n label: {\n color: '#eee',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#eee',\n borderColor: '#444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#eee',\n borderColor: '#444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisLabel: {\n show: true,\n color: '#6E7079',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#E0E6F1'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: false,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisLabel: {\n show: true,\n color: '#6E7079',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#E0E6F1'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: false,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisLabel: {\n show: true,\n color: '#6E7079',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#E0E6F1'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#6E7079',\n },\n },\n axisLabel: {\n show: true,\n color: '#6E7079',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#E0E6F1'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#333',\n },\n left: 'center',\n right: 'auto',\n top: 0,\n bottom: 10,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#ccc',\n width: 1,\n },\n crossStyle: {\n color: '#ccc',\n width: 1,\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#DAE1F5',\n width: 2,\n },\n itemStyle: {\n color: '#A4B1D7',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#A4B1D7',\n borderColor: '#A4B1D7',\n borderWidth: 1,\n },\n checkpointStyle: {\n color: '#316bf3',\n borderColor: '#fff',\n },\n label: {\n color: '#A4B1D7',\n },\n emphasis: {\n itemStyle: {\n color: '#FFF',\n },\n controlStyle: {\n color: '#A4B1D7',\n borderColor: '#A4B1D7',\n borderWidth: 1,\n },\n label: {\n color: '#A4B1D7',\n },\n },\n },\n visualMap: {\n color: ['#bf444c', '#d88273', '#f6efa6'],\n },\n markPoint: {\n label: {\n color: '#eee',\n },\n emphasis: {\n label: {\n color: '#eee',\n },\n },\n },\n grid: {\n left: '10%',\n right: '10%',\n top: 60,\n bottom: 70,\n },\n};\necharts.registerTheme('vintage', (defaultTheme as any).default ?? defaultTheme);\n","import * as echarts from 'echarts';\nconst vintageTheme = {\n color: [\n '#d87c7c',\n '#919e8b',\n '#d7ab82',\n '#6e7074',\n '#61a0a8',\n '#efa18d',\n '#787464',\n '#cc7e63',\n '#724e58',\n '#4b565b',\n ],\n backgroundColor: 'rgba(254,248,239,1)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#333333',\n },\n subtextStyle: {\n color: '#aaa',\n },\n },\n line: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n radar: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#c23531',\n color0: '#314656',\n borderColor: '#c23531',\n borderColor0: '#314656',\n borderWidth: 1,\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: 1,\n color: '#aaa',\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n color: [\n '#d87c7c',\n '#919e8b',\n '#d7ab82',\n '#6e7074',\n '#61a0a8',\n '#efa18d',\n '#787464',\n '#cc7e63',\n '#724e58',\n '#4b565b',\n ],\n label: {\n color: '#eee',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#eeeeee',\n borderColor: '#444444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#eeeeee',\n borderColor: '#444444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#333333',\n },\n left: 'center',\n right: 'auto',\n top: 0,\n bottom: 10,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#cccccc',\n width: 1,\n },\n crossStyle: {\n color: '#cccccc',\n width: 1,\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#293c55',\n width: 1,\n },\n itemStyle: {\n color: '#293c55',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#293c55',\n borderColor: '#293c55',\n borderWidth: 0.5,\n },\n checkpointStyle: {\n color: '#e43c59',\n borderColor: 'rgba(194,53,49,0.5)',\n },\n label: {\n color: '#293c55',\n },\n emphasis: {\n itemStyle: {\n color: '#a9334c',\n },\n controlStyle: {\n color: '#293c55',\n borderColor: '#293c55',\n borderWidth: 0.5,\n },\n label: {\n color: '#293c55',\n },\n },\n },\n visualMap: {\n color: ['#bf444c', '#d88273', '#f6efa6'],\n },\n markPoint: {\n label: {\n color: '#eee',\n },\n emphasis: {\n label: {\n color: '#eee',\n },\n },\n },\n grid: {\n left: '10%',\n right: '10%',\n top: 60,\n bottom: 70,\n },\n};\necharts.registerTheme('vintage', (vintageTheme as any).default ?? vintageTheme);\n","import * as echarts from 'echarts';\nconst darkTheme = {\n color: [\n '#dd6b66',\n '#759aa0',\n '#e69d87',\n '#8dc1a9',\n '#ea7e53',\n '#eedd78',\n '#73a373',\n '#73b9bc',\n '#7289ab',\n '#91ca8c',\n '#f49f42',\n ],\n backgroundColor: 'rgba(51,51,51,1)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#eeeeee',\n },\n subtextStyle: {\n color: '#aaa',\n },\n },\n line: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'circle',\n smooth: false,\n },\n radar: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'circle',\n smooth: false,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#fd1050',\n color0: '#0cf49b',\n borderColor: '#fd1050',\n borderColor0: '#0cf49b',\n borderWidth: 1,\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: 1,\n color: '#aaa',\n },\n symbolSize: 4,\n symbol: 'circle',\n smooth: false,\n color: [\n '#dd6b66',\n '#759aa0',\n '#e69d87',\n '#8dc1a9',\n '#ea7e53',\n '#eedd78',\n '#73a373',\n '#73b9bc',\n '#7289ab',\n '#91ca8c',\n '#f49f42',\n ],\n label: {\n color: '#eee',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#eee',\n borderColor: '#444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#eee',\n borderColor: '#444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisLabel: {\n show: true,\n color: '#eeeeee',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#aaaaaa'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['#eeeeee'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisLabel: {\n show: true,\n color: '#eeeeee',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#aaaaaa'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['#eeeeee'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisLabel: {\n show: true,\n color: '#eeeeee',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#aaaaaa'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['#eeeeee'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#eeeeee',\n },\n },\n axisLabel: {\n show: true,\n color: '#eeeeee',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#aaaaaa'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['#eeeeee'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#eeeeee',\n },\n left: 'center',\n right: 'auto',\n top: 'auto',\n bottom: 15,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#eeeeee',\n width: '1',\n },\n crossStyle: {\n color: '#eeeeee',\n width: '1',\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#eeeeee',\n width: 1,\n },\n itemStyle: {\n color: '#dd6b66',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#eeeeee',\n borderColor: '#eeeeee',\n borderWidth: 0.5,\n },\n checkpointStyle: {\n color: '#e43c59',\n borderColor: 'rgba(194,53,49, 0.5)',\n },\n label: {\n color: '#eeeeee',\n },\n emphasis: {\n itemStyle: {\n color: '#a9334c',\n },\n controlStyle: {\n color: '#eeeeee',\n borderColor: '#eeeeee',\n borderWidth: 0.5,\n },\n label: {\n color: '#eeeeee',\n },\n },\n },\n visualMap: {\n color: ['#bf444c', '#d88273', '#f6efa6'],\n },\n markPoint: {\n label: {\n color: '#eee',\n },\n emphasis: {\n label: {\n color: '#eee',\n },\n },\n },\n grid: {\n left: '15%',\n right: '10%',\n top: 65,\n bottom: 80,\n },\n};\necharts.registerTheme('dark', (darkTheme as any).default ?? darkTheme);\n","import * as echarts from 'echarts';\n\nconst essosTheme = {\n color: ['#893448', '#d95850', '#eb8146', '#ffb248', '#f2d643', '#ebdba4'],\n backgroundColor: 'rgba(242,234,191,0.15)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#893448',\n },\n subtextStyle: {\n color: '#d95850',\n },\n },\n line: {\n itemStyle: {\n borderWidth: '2',\n },\n lineStyle: {\n width: '2',\n },\n symbolSize: '6',\n symbol: 'emptyCircle',\n smooth: true,\n },\n radar: {\n itemStyle: {\n borderWidth: '2',\n },\n lineStyle: {\n width: '2',\n },\n symbolSize: '6',\n symbol: 'emptyCircle',\n smooth: true,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#eb8146',\n color0: 'transparent',\n borderColor: '#d95850',\n borderColor0: '#58c470',\n borderWidth: '2',\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: 1,\n color: '#aaa',\n },\n symbolSize: '6',\n symbol: 'emptyCircle',\n smooth: true,\n color: ['#893448', '#d95850', '#eb8146', '#ffb248', '#f2d643', '#ebdba4'],\n label: {\n color: '#ffffff',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#f3f3f3',\n borderColor: '#999999',\n borderWidth: 0.5,\n },\n label: {\n color: '#893448',\n },\n emphasis: {\n itemStyle: {\n areaColor: '#ffb248',\n borderColor: '#eb8146',\n borderWidth: 1,\n },\n label: {\n color: '#893448',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#f3f3f3',\n borderColor: '#999999',\n borderWidth: 0.5,\n },\n label: {\n color: '#893448',\n },\n emphasis: {\n itemStyle: {\n areaColor: '#ffb248',\n borderColor: '#eb8146',\n borderWidth: 1,\n },\n label: {\n color: '#893448',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#aaaaaa',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#999999',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#aaaaaa',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#999999',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#aaaaaa',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#999999',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#aaaaaa',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#999999',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#999999',\n },\n left: 'center',\n right: 'auto',\n top: 'auto',\n bottom: 15,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#ccc',\n width: 1,\n },\n crossStyle: {\n color: '#ccc',\n width: 1,\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#893448',\n width: 1,\n },\n itemStyle: {\n color: '#893448',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#893448',\n borderColor: '#893448',\n borderWidth: 0.5,\n },\n checkpointStyle: {\n color: '#eb8146',\n borderColor: 'rgba(255,178,72,0.41)',\n },\n label: {\n color: '#893448',\n },\n emphasis: {\n itemStyle: {\n color: '#ffb248',\n },\n controlStyle: {\n color: '#893448',\n borderColor: '#893448',\n borderWidth: 0.5,\n },\n label: {\n color: '#893448',\n },\n },\n },\n visualMap: {\n color: ['#893448', '#d95850', '#eb8146', '#ffb248', '#f2d643', 'rgb(247,238,173)'],\n },\n markPoint: {\n label: {\n color: '#ffffff',\n },\n emphasis: {\n label: {\n color: '#ffffff',\n },\n },\n },\n grid: {\n left: '15%',\n right: '10%',\n top: 65,\n bottom: 80,\n },\n};\necharts.registerTheme('essos', (essosTheme as any).default ?? essosTheme);\n","import * as echarts from 'echarts';\n\nconst chalkTheme = {\n color: ['#fc97af', '#87f7cf', '#f7f494', '#72ccff', '#f7c5a0', '#d4a4eb', '#d2f5a6', '#76f2f2'],\n backgroundColor: 'rgba(41,52,65,1)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#ffffff',\n },\n subtextStyle: {\n color: '#dddddd',\n },\n },\n line: {\n itemStyle: {\n borderWidth: '4',\n },\n lineStyle: {\n width: '3',\n },\n symbolSize: '0',\n symbol: 'circle',\n smooth: true,\n },\n radar: {\n itemStyle: {\n borderWidth: '4',\n },\n lineStyle: {\n width: '3',\n },\n symbolSize: '0',\n symbol: 'circle',\n smooth: true,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#fc97af',\n color0: 'transparent',\n borderColor: '#fc97af',\n borderColor0: '#87f7cf',\n borderWidth: '2',\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: '1',\n color: '#ffffff',\n },\n symbolSize: '0',\n symbol: 'circle',\n smooth: true,\n color: ['#fc97af', '#87f7cf', '#f7f494', '#72ccff', '#f7c5a0', '#d4a4eb', '#d2f5a6', '#76f2f2'],\n label: {\n color: '#293441',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#f3f3f3',\n borderColor: '#999999',\n borderWidth: 0.5,\n },\n label: {\n color: '#893448',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,178,72,1)',\n borderColor: '#eb8146',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(137,52,72)',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#f3f3f3',\n borderColor: '#999999',\n borderWidth: 0.5,\n },\n label: {\n color: '#893448',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,178,72,1)',\n borderColor: '#eb8146',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(137,52,72)',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#666666',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#aaaaaa',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#666666',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#aaaaaa',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#666666',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#aaaaaa',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#666666',\n },\n },\n axisTick: {\n show: false,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#aaaaaa',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#e6e6e6'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#999999',\n },\n left: 'center',\n right: 'auto',\n top: 'auto',\n bottom: 15,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#cccccc',\n width: 1,\n },\n crossStyle: {\n color: '#cccccc',\n width: 1,\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#87f7cf',\n width: 1,\n },\n itemStyle: {\n color: '#87f7cf',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#87f7cf',\n borderColor: '#87f7cf',\n borderWidth: 0.5,\n },\n checkpointStyle: {\n color: '#fc97af',\n borderColor: 'rgba(252,151,175,0.3)',\n },\n label: {\n color: '#87f7cf',\n },\n emphasis: {\n itemStyle: {\n color: '#f7f494',\n },\n controlStyle: {\n color: '#87f7cf',\n borderColor: '#87f7cf',\n borderWidth: 0.5,\n },\n label: {\n color: '#87f7cf',\n },\n },\n },\n visualMap: {\n color: ['#fc97af', '#87f7cf'],\n },\n markPoint: {\n label: {\n color: '#293441',\n },\n emphasis: {\n label: {\n color: '#293441',\n },\n },\n },\n grid: {\n left: '15%',\n right: '10%',\n top: 65,\n bottom: 80,\n },\n};\necharts.registerTheme('chalk', (chalkTheme as any).default ?? chalkTheme);\n","import * as echarts from 'echarts';\n\nconst romaTheme = {\n color: [\n '#e01f54',\n '#001852',\n '#f5e8c8',\n '#b8d2c7',\n '#c6b38e',\n '#a4d8c2',\n '#f3d999',\n '#d3758f',\n '#dcc392',\n '#2e4783',\n '#82b6e9',\n '#ff6347',\n '#a092f1',\n '#0a915d',\n '#eaf889',\n '#6699FF',\n '#ff6666',\n '#3cb371',\n '#d5b158',\n '#38b6b6',\n ],\n backgroundColor: 'rgba(0,0,0,0)',\n textStyle: {},\n title: {\n textStyle: {\n color: '#333333',\n },\n subtextStyle: {\n color: '#aaa',\n },\n },\n line: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n radar: {\n itemStyle: {\n borderWidth: 1,\n },\n lineStyle: {\n width: 2,\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n },\n bar: {\n itemStyle: {\n barBorderWidth: 0,\n barBorderColor: '#ccc',\n },\n },\n pie: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n scatter: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n boxplot: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n parallel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n sankey: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n funnel: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n gauge: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n },\n candlestick: {\n itemStyle: {\n color: '#e01f54',\n color0: '#001852',\n borderColor: '#f5e8c8',\n borderColor0: '#b8d2c7',\n borderWidth: 1,\n },\n },\n graph: {\n itemStyle: {\n borderWidth: 0,\n borderColor: '#ccc',\n },\n lineStyle: {\n width: 1,\n color: '#aaa',\n },\n symbolSize: 4,\n symbol: 'emptyCircle',\n smooth: false,\n color: [\n '#e01f54',\n '#001852',\n '#f5e8c8',\n '#b8d2c7',\n '#c6b38e',\n '#a4d8c2',\n '#f3d999',\n '#d3758f',\n '#dcc392',\n '#2e4783',\n '#82b6e9',\n '#ff6347',\n '#a092f1',\n '#0a915d',\n '#eaf889',\n '#6699FF',\n '#ff6666',\n '#3cb371',\n '#d5b158',\n '#38b6b6',\n ],\n label: {\n color: '#eee',\n },\n },\n map: {\n itemStyle: {\n areaColor: '#eeeeee',\n borderColor: '#444444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n geo: {\n itemStyle: {\n areaColor: '#eeeeee',\n borderColor: '#444444',\n borderWidth: 0.5,\n },\n label: {\n color: '#000000',\n },\n emphasis: {\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)',\n borderColor: '#444',\n borderWidth: 1,\n },\n label: {\n color: 'rgb(100,0,0)',\n },\n },\n },\n categoryAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: false,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n valueAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n logAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n timeAxis: {\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisTick: {\n show: true,\n lineStyle: {\n color: '#333',\n },\n },\n axisLabel: {\n show: true,\n color: '#333',\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n },\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)'],\n },\n },\n },\n toolbox: {\n iconStyle: {\n borderColor: '#999999',\n },\n emphasis: {\n iconStyle: {\n borderColor: '#666666',\n },\n },\n },\n legend: {\n textStyle: {\n color: '#333333',\n },\n left: 'center',\n right: 'auto',\n top: 'auto',\n bottom: 15,\n },\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: '#cccccc',\n width: 1,\n },\n crossStyle: {\n color: '#cccccc',\n width: 1,\n },\n },\n },\n timeline: {\n lineStyle: {\n color: '#293c55',\n width: 1,\n },\n itemStyle: {\n color: '#293c55',\n borderWidth: 1,\n },\n controlStyle: {\n color: '#293c55',\n borderColor: '#293c55',\n borderWidth: 0.5,\n },\n checkpointStyle: {\n color: '#e43c59',\n borderColor: 'rgba(194,53,49,0.5)',\n },\n label: {\n color: '#293c55',\n },\n emphasis: {\n itemStyle: {\n color: '#a9334c',\n },\n controlStyle: {\n color: '#293c55',\n borderColor: '#293c55',\n borderWidth: 0.5,\n },\n label: {\n color: '#293c55',\n },\n },\n },\n visualMap: {\n color: ['#e01f54', '#e7dbc3'],\n },\n markPoint: {\n label: {\n color: '#eee',\n },\n emphasis: {\n label: {\n color: '#eee',\n },\n },\n },\n grid: {\n left: '15%',\n right: '10%',\n top: 65,\n bottom: 80,\n },\n};\necharts.registerTheme('roma', (romaTheme as any).default ?? romaTheme);\n","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n inject,\n effect,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as echarts from 'echarts';\nimport { Subject } from 'rxjs';\nimport { ChartService } from '../../services/chart.service';\nimport type { EChartsOption } from 'echarts';\nimport { OptionsConfig } from '../../modal/charts-lib.modal';\nimport '../../themes/default';\nimport '../../themes/vintage';\nimport '../../themes/dark';\nimport '../../themes/essos';\nimport '../../themes/chalk';\nimport '../../themes/roma';\n\n@Component({\n selector: 'lib-bar-chart',\n imports: [CommonModule],\n templateUrl: './bar-chart.html',\n styleUrl: './bar-chart.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BarChart implements OnInit, OnDestroy {\n @Input() title: string = '';\n @Input() height = '600px';\n @Input() enableSampling = true; // Sample data if > threshold for perf\n @Input() sampleThreshold = 10000; // Sample if data > 10k (keep full for 50k if hardware allows)\n @Input() isLoading: boolean = true;\n private defaultConfig: OptionsConfig = new OptionsConfig();\n private optionsConfig: OptionsConfig = {};\n\n @ViewChild('barChartContainer', { static: false }) chartContainer!: ElementRef<HTMLDivElement>;\n\n private chartInstance: echarts.ECharts | null = null;\n private chartService = inject(ChartService);\n\n private destroy$ = new Subject<void>();\n private currentData: any[][] = [];\n private currentColumns: string[] = [];\n\n private boundHandleContextMenu: (event: MouseEvent) => void;\n\n constructor(private cdr: ChangeDetectorRef) {\n this.boundHandleContextMenu = this.handleContextMenu.bind(this);\n // Effect for theme changes\n effect(() => {\n this.chartService.theme(); // Read signal\n if (this.chartInstance) {\n this.reinitializeChart();\n }\n });\n // Effect for data changes\n effect(() => {\n const data = this.chartService.data(); // Read signal\n const columns = this.chartService.columns();\n this.currentColumns = columns;\n this.currentData = data;\n this.processAndUpdateData();\n });\n // Effect for chartOptionsConfig changes\n effect(() => {\n this.chartService.chartOptionsConfig();\n this.optionsConfig = this.chartService.chartOptionsConfig();\n this.reinitializeChart();\n });\n }\n\n ngOnInit(): void {\n if (this.currentData.length > 0) {\n this.processAndUpdateData();\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.chartService.hideContextMenu();\n this.disposeChart();\n if (this.chartInstance) {\n this.chartInstance.dispose(); // Clean up to free memory\n }\n if (this.chartContainer) {\n this.chartContainer.nativeElement.removeEventListener(\n 'contextmenu',\n this.boundHandleContextMenu\n );\n }\n document.removeEventListener('click', () => {\n this.chartService.hideContextMenu();\n this.chartService.resetContextEvent();\n });\n }\n\n private reinitializeChart(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.cdr.markForCheck();\n }\n\n private initializeChart(): void {\n if (!this.chartContainer) {\n return;\n }\n const chartDom = this.chartContainer.nativeElement;\n chartDom.innerHTML = '';\n\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance = null;\n }\n this.chartInstance = echarts.init(chartDom, this.chartService.theme()); // Init ECharts\n this.chartInstance.setOption({\n ...this.defaultConfig,\n ...this.optionsConfig,\n title: {\n ...this.defaultConfig.title,\n ...this.optionsConfig.title,\n textStyle: {\n ...this.defaultConfig.title?.textStyle,\n ...this.optionsConfig.title?.textStyle,\n },\n },\n tooltip: {\n ...this.defaultConfig.tooltip,\n ...this.optionsConfig.tooltip,\n },\n legend: { ...this.defaultConfig.legend, ...this.optionsConfig.legend },\n dataZoom: this.optionsConfig.dataZoom || this.defaultConfig.dataZoom,\n grid: {\n ...this.defaultConfig.grid,\n ...this.optionsConfig.grid,\n },\n xAxis: {\n ...this.defaultConfig.xAxis,\n ...this.optionsConfig.xAxis,\n data: [],\n },\n yAxis: {\n ...this.defaultConfig.yAxis,\n ...this.optionsConfig.yAxis,\n },\n series: [],\n } as EChartsOption);\n\n // Responsive: Resize on window change\n window.addEventListener('resize', () => this.chartInstance?.resize(), { passive: true });\n\n // Handle dataZoom events (optional: Log zoom changes)\n this.chartInstance.on('dataZoom', (params) => {\n // console.log('Zoomed to:', params.start, params.end);\n });\n\n this.chartInstance.on('rendered', () => {\n // console.log('Chart rendered successfully');\n });\n\n this.chartInstance.on('click', (params) => {\n this.chartService.hideContextMenu();\n this.chartService.resetContextEvent();\n this.chartService.handleClick(params);\n });\n\n this.chartInstance.on('contextmenu', (params) => {\n this.chartService.openContextMenu(params, this.chartContainer);\n });\n\n chartDom.addEventListener('contextmenu', this.boundHandleContextMenu);\n document.addEventListener(\n 'click',\n () => {\n this.chartService.hideContextMenu();\n this.chartService.resetContextEvent();\n },\n {\n passive: true,\n }\n );\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n private handleContextMenu(event: MouseEvent): void {\n event.preventDefault();\n setTimeout(() => {\n if (!this.chartService.contextMenuEvent().seriesName) {\n this.chartService.openContextMenu(null, this.chartContainer, event);\n }\n }, 0);\n }\n\n private updateChartWithData(): void {\n this.processData(); // Process without updating yet\n if (this.chartInstance) {\n const updatedOptions: Partial<echarts.EChartsOption> = {\n xAxis: { data: this.getProcessedCategories() },\n series: this.getProcessedValues(),\n };\n this.chartInstance.setOption(updatedOptions, {\n notMerge: false,\n lazyUpdate: true,\n silent: false,\n replaceMerge: ['series'],\n });\n }\n }\n\n private processedData: any[][] = [];\n private processedColumns: string[] = [];\n private getProcessedCategories(): string[] {\n return this.processedData.map((d) => d[0]);\n }\n private getProcessedValues(): any[] {\n const columnData = this.processedColumns.slice(1);\n return columnData.map((c, i) => {\n const seriesData = this.processedData.map((d) => d[i + 1]);\n return {\n name: c,\n type: 'bar',\n data: seriesData, // Populated dynamically\n barWidth: 'auto', // Auto-adjust for density\n large: true, // Enable large mode: Canvas rendering for 50k+ efficiency\n largeThreshold: 5000, // Start large mode at 5k points\n progressive: 300, // Render 300 bars per chunk (tune for your hardware)\n progressiveChunkMode: 'sequential', // Sequential rendering for smooth init\n progressiveThreshold: 5000, // Apply progressive above 5k\n animation: true, // Disable initial animation for faster load on large data (re-enable for updates)\n itemStyle: {\n // color: '#5470c6', // Bar color\n // shadowBlur: 0, // Reduce shadows for perf\n },\n // emphasis: {\n // // Hover highlight (lightweight)\n // focus: 'series',\n // itemStyle: { opacity: 0.8 },\n // },\n };\n });\n }\n private processData(): void {\n let dataToProcess = this.currentData;\n if (this.enableSampling && this.currentData.length > this.sampleThreshold) {\n const step = Math.ceil(this.currentData.length / this.sampleThreshold);\n dataToProcess = this.currentData.filter((_, index) => index % step === 0);\n console.warn(\n `Sampled data from ${this.currentData.length} to ${dataToProcess.length} points.`\n );\n }\n this.processedData = dataToProcess; // Cache processed\n this.processedColumns = this.currentColumns;\n }\n\n private processAndUpdateData(): void {\n this.processData();\n if (this.chartInstance) {\n this.updateChartWithData();\n }\n }\n\n private handleResize(): void {\n if (this.chartInstance) {\n this.chartInstance.resize();\n }\n }\n\n private disposeChart(): void {\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance.off('click');\n this.chartInstance = null;\n // console.log('ECharts instance disposed');\n }\n window.removeEventListener('resize', this.handleResize.bind(this));\n }\n\n // Public method: Update data externally (e.g., from API)\n updateData(newData: any[][]): void {\n this.currentData = newData;\n this.processAndUpdateData();\n }\n}\n","<div #barChartContainer style=\"width: 100%; height: 100%\"></div>\n","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n inject,\n effect,\n} from '@angular/core';\nimport * as echarts from 'echarts'; // Core ECharts\nimport { Subject } from 'rxjs'; // For cleanup\nimport { ChartService } from '../../services/chart.service';\nimport '../../themes/default';\nimport '../../themes/vintage';\nimport '../../themes/dark';\nimport '../../themes/essos';\nimport '../../themes/chalk';\nimport '../../themes/roma';\n\n@Component({\n selector: 'lib-line-chart',\n imports: [],\n templateUrl: './line-chart.html',\n styleUrl: './line-chart.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LineChart implements OnInit, OnDestroy {\n @Input() title: string = '';\n @Input() height = '600px';\n @Input() enableSampling = true; // Sample data if > threshold for perf\n @Input() sampleThreshold = 10000; // Sample if data > 10k (keep full for 50k if hardware allows)\n @Input() isLoading: boolean = true;\n\n @ViewChild('lineChartContainer', { static: false }) chartContainer!: ElementRef<HTMLDivElement>;\n\n chartInstance: echarts.ECharts | null = null;\n private destroy$ = new Subject<void>();\n private chartService = inject(ChartService);\n private currentData: any[][] = [];\n private currentColumns: string[] = [];\n\n // ECharts options optimized for 50k+ data\n chartOptions = {\n title: {\n text: this.title,\n left: 'center',\n textStyle: { fontSize: 16 },\n },\n tooltip: {\n // Hover info (efficient for large data)\n trigger: 'axis',\n axisPointer: { type: 'shadow' },\n // formatter: (params = [{ name: '', value: '' }]) => {\n // const param = params[0];\n // return `${param.name}<br/>Value: ${param.value}`;\n // },\n },\n legend: { show: false }, // Disable for single series; add if multi-series\n dataZoom: [\n // Critical for large data: Zoom/slider to navigate 50k data points\n {\n type: 'slider', // Bottom slider\n start: 0,\n end: 100, // Initial view: First 10% (e.g., 5k of 50k)\n height: 25,\n bottom: 20,\n textStyle: { fontSize: 12 },\n },\n {\n type: 'inside', // Mouse wheel/pinch zoom\n start: 0,\n end: 10,\n },\n ],\n grid: {\n left: '5%',\n right: '5%',\n bottom: '80px', // Space for dataZoom slider\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n data: [], // Populated dynamically\n axisLabel: { rotate: 45, fontSize: 10 },\n axisTick: { show: false },\n },\n yAxis: {\n type: 'value',\n axisLabel: { fontSize: 12 },\n },\n series: [],\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n // Effect for theme changes\n effect(() => {\n const theme = this.chartService.theme(); // Read signal\n if (this.chartInstance) {\n this.reinitializeChart();\n }\n });\n // Effect for data changes\n effect(() => {\n const data = this.chartService.data(); // Read signal\n const columns = this.chartService.columns();\n this.currentColumns = columns;\n this.currentData = data;\n this.processAndUpdateData();\n });\n }\n\n ngOnInit(): void {\n if (this.currentData.length > 0) {\n this.processAndUpdateData();\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.disposeChart();\n if (this.chartInstance) {\n this.chartInstance.dispose(); // Clean up to free memory\n }\n }\n\n private reinitializeChart(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.cdr.markForCheck();\n }\n\n private initializeChart(): void {\n if (!this.chartContainer) {\n console.error('Chart container not found!');\n return;\n }\n const chartDom = this.chartContainer.nativeElement;\n chartDom.innerHTML = '';\n\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance = null;\n }\n\n this.chartInstance = echarts.init(chartDom, this.chartService.theme()); // Init ECharts\n this.chartInstance.setOption(this.chartOptions);\n\n // Responsive: Resize on window change\n window.addEventListener('resize', () => this.chartInstance?.resize(), { passive: true });\n\n // Handle dataZoom events (optional: Log zoom changes)\n this.chartInstance.on('dataZoom', (params) => {\n // console.log('Zoomed to:', params.start, params.end);\n });\n\n this.chartInstance.on('rendered', () => {\n // console.log('Chart rendered successfully');\n });\n\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n private updateChartWithData(): void {\n this.processData(); // Process without updating yet\n if (this.chartInstance) {\n const updatedOptions: Partial<echarts.EChartsOption> = {\n xAxis: { data: this.getProcessedCategories() },\n series: this.getProcessedValues(),\n };\n this.chartInstance.setOption(updatedOptions, {\n notMerge: false,\n lazyUpdate: true,\n silent: false,\n replaceMerge: ['series'],\n });\n }\n }\n\n private processedData: any[][] = [];\n private processedColumns: string[] = [];\n private getProcessedCategories(): string[] {\n return this.processedData.map((d) => d[0]);\n }\n private getProcessedValues(): any[] {\n const columnData = this.processedColumns.slice(1);\n return columnData.map((c, i) => {\n const seriesData = this.processedData.map((d) => d[i + 1]);\n return {\n name: c,\n type: 'line',\n data: seriesData, // Populated dynamically\n large: true, // Enable large mode: Canvas rendering for 50k+ efficiency\n largeThreshold: 5000, // Start large mode at 5k points\n progressive: 300, // Render 300 points per chunk (tune for your hardware)\n progressiveChunkMode: 'sequential', // Sequential rendering for smooth init\n progressiveThreshold: 5000, // Apply progressive above 5k\n animation: true, // Disable initial animation for faster load on large data (re-enable for updates)\n itemStyle: {\n // color: '#5470c6', // line color\n // shadowBlur: 0, // Reduce shadows for perf\n },\n // emphasis: {\n // // Hover highlight (lightweight)\n // focus: 'series',\n // itemStyle: { opacity: 0.8 },\n // },\n };\n });\n }\n private processData(): void {\n let dataToProcess = this.currentData;\n if (this.enableSampling && this.currentData.length > this.sampleThreshold) {\n const step = Math.ceil(this.currentData.length / this.sampleThreshold);\n dataToProcess = this.currentData.filter((_, index) => index % step === 0);\n console.warn(\n `Sampled data from ${this.currentData.length} to ${dataToProcess.length} points.`\n );\n }\n this.processedData = dataToProcess; // Cache processed\n this.processedColumns = this.currentColumns;\n }\n\n private processAndUpdateData(): void {\n this.processData();\n if (this.chartInstance) {\n this.updateChartWithData();\n }\n }\n\n private handleResize(): void {\n if (this.chartInstance) {\n this.chartInstance.resize();\n }\n }\n\n private disposeChart(): void {\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance = null;\n // console.log('ECharts instance disposed');\n }\n window.removeEventListener('resize', this.handleResize.bind(this));\n }\n\n // Public method: Update data externally (e.g., from API)\n updateData(newData: any[][]): void {\n this.currentData = newData;\n this.processAndUpdateData();\n }\n}\n","<div #lineChartContainer style=\"width: 100%; height: 100%\"></div>\n","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n inject,\n effect,\n} from '@angular/core';\nimport * as echarts from 'echarts'; // Core ECharts\nimport { Subject } from 'rxjs'; // For cleanup\nimport { ChartService } from '../../services/chart.service';\nimport '../../themes/default';\nimport '../../themes/vintage';\nimport '../../themes/dark';\nimport '../../themes/essos';\nimport '../../themes/chalk';\nimport '../../themes/roma';\n\n@Component({\n selector: 'lib-area-chart',\n imports: [],\n templateUrl: './area-chart.html',\n styleUrl: './area-chart.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AreaChart implements OnInit, OnDestroy {\n @Input() title: string = '';\n @Input() height = '600px';\n @Input() enableSampling = true; // Sample data if > threshold for perf\n @Input() sampleThreshold = 10000; // Sample if data > 10k (keep full for 50k if hardware allows)\n @Input() isLoading: boolean = true;\n\n @ViewChild('areaChartContainer', { static: false }) chartContainer!: ElementRef<HTMLDivElement>;\n\n chartInstance: echarts.ECharts | null = null;\n private chartService = inject(ChartService);\n private destroy$ = new Subject<void>();\n private currentData: any[][] = [];\n private currentColumns: string[] = [];\n\n // ECharts options optimized for 50k+ data\n chartOptions = {\n title: {\n text: this.title,\n left: 'center',\n textStyle: { fontSize: 16 },\n },\n tooltip: {\n // Hover info (efficient for large data)\n trigger: 'axis',\n axisPointer: { type: 'shadow' },\n // formatter: (params = [{ name: '', value: '' }]) => {\n // const param = params[0];\n // return `${param.name}<br/>Value: ${param.value}`;\n // },\n },\n legend: { show: false }, // Disable for single series; add if multi-series\n dataZoom: [\n // Critical for large data: Zoom/slider to navigate 50k data points\n {\n type: 'slider', // Bottom slider\n start: 0,\n end: 100, // Initial view: First 10% (e.g., 5k of 50k)\n height: 25,\n bottom: 20,\n textStyle: { fontSize: 12 },\n },\n {\n type: 'inside', // Mouse wheel/pinch zoom\n start: 0,\n end: 10,\n },\n ],\n grid: {\n left: '5%',\n right: '5%',\n bottom: '80px', // Space for dataZoom slider\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n data: [], // Populated dynamically\n axisLabel: { rotate: 45, fontSize: 10 },\n axisTick: { show: false },\n },\n yAxis: {\n type: 'value',\n axisLabel: { fontSize: 12 },\n },\n series: [],\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n effect(() => {\n const theme = this.chartService.theme(); // Read signal\n if (this.chartInstance) {\n this.reinitializeChart();\n }\n });\n // Effect for data changes\n effect(() => {\n const data = this.chartService.data(); // Read signal\n const columns = this.chartService.columns();\n this.currentColumns = columns;\n this.currentData = data;\n this.processAndUpdateData();\n });\n }\n\n ngOnInit(): void {\n if (this.currentData.length > 0) {\n this.processAndUpdateData();\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.disposeChart();\n if (this.chartInstance) {\n this.chartInstance.dispose(); // Clean up to free memory\n }\n }\n\n private reinitializeChart(): void {\n this.initializeChart();\n if (this.currentData.length > 0) {\n this.updateChartWithData();\n }\n this.cdr.markForCheck();\n }\n\n private initializeChart(): void {\n if (!this.chartContainer) {\n console.error('Chart container not found!');\n return;\n }\n const chartDom = this.chartContainer.nativeElement;\n chartDom.innerHTML = '';\n\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance = null;\n }\n\n this.chartInstance = echarts.init(chartDom, this.chartService.theme()); // Init ECharts\n this.chartInstance.setOption(this.chartOptions);\n\n // Responsive: Resize on window change\n window.addEventListener('resize', () => this.chartInstance?.resize(), { passive: true });\n\n // Handle dataZoom events (optional: Log zoom changes)\n this.chartInstance.on('dataZoom', (params) => {\n // console.log('Zoomed to:', params.start, params.end);\n });\n\n this.chartInstance.on('rendered', () => {\n // console.log('Chart rendered successfully');\n });\n\n this.isLoading = false;\n this.cdr.markForCheck();\n }\n\n private updateChartWithData(): void {\n this.processData(); // Process without updating yet\n if (this.chartInstance) {\n const updatedOptions: Partial<echarts.EChartsOption> = {\n xAxis: { data: this.getProcessedCategories() },\n series: this.getProcessedValues(),\n };\n this.chartInstance.setOption(updatedOptions, {\n notMerge: false,\n lazyUpdate: true,\n silent: false,\n replaceMerge: ['series'],\n });\n }\n }\n\n private processedData: any[][] = [];\n private processedColumns: string[] = [];\n private getProcessedCategories(): string[] {\n return this.processedData.map((d) => d[0]);\n }\n private getProcessedValues(): any[] {\n const columnData = this.processedColumns.slice(1);\n return columnData.map((c, i) => {\n const seriesData = this.processedData.map((d) => d[i + 1]);\n return {\n name: c,\n type: 'line',\n data: seriesData, // Populated dynamically\n large: true, // Enable large mode: Canvas rendering for 50k+ efficiency\n largeThreshold: 5000, // Start large mode at 5k points\n progressive: 300, // Render 300 points per chunk (tune for your hardware)\n progressiveChunkMode: 'sequential', // Sequential rendering for smooth init\n progressiveThreshold: 5000, // Apply progressive above 5k\n animation: true, // Disable initial animation for faster load on large data (re-enable for updates)\n itemStyle: {\n // color: '#5470c6', // line color\n // shadowBlur: 0, // Reduce shadows for perf\n },\n areaStyle: { opacity: 0.2 },\n // emphasis: {\n // // Hover highlight (lightweight)\n // focus: 'series',\n // itemStyle: { opacity: 0.8 },\n // },\n };\n });\n }\n private processData(): void {\n let dataToProcess = this.currentData;\n if (this.enableSampling && this.currentData.length > this.sampleThreshold) {\n const step = Math.ceil(this.currentData.length / this.sampleThreshold);\n dataToProcess = this.currentData.filter((_, index) => index % step === 0);\n console.warn(\n `Sampled data from ${this.currentData.length} to ${dataToProcess.length} points.`\n );\n }\n this.processedData = dataToProcess; // Cache processed\n this.processedColumns = this.currentColumns;\n }\n\n private processAndUpdateData(): void {\n this.processData();\n if (this.chartInstance) {\n this.updateChartWithData();\n }\n }\n\n private handleResize(): void {\n if (this.chartInstance) {\n this.chartInstance.resize();\n }\n }\n\n private disposeChart(): void {\n if (this.chartInstance) {\n this.chartInstance.dispose();\n this.chartInstance = null;\n // console.log('ECharts instance disposed');\n }\n window.removeEventListener('resize', this.handleResize.bind(this));\n }\n\n // Public method: Update data externally (e.g., from API)\n updateData(newData: any[][]): void {\n this.currentData = newData;\n this.processAndUpdateData();\n }\n}\n","<div #areaChartContainer style=\"width: 100%; height: 100%\"></div>\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n ViewChild,\n ViewContainerRef,\n ComponentRef,\n Type,\n Output,\n EventEmitter,\n effect,\n OnInit,\n KeyValueDiffers,\n KeyValueDiffer,\n DoCheck,\n} from '@angular/core';\nimport { BarChart } from './component/bar-chart/bar-chart';\nimport { LineChart } from './component/line-chart/line-chart';\nimport { AreaChart } from './component/area-chart/area-chart';\nimport { ChartService } from './services/chart.service';\nimport { OptionsConfig, ChartsLibType, ContextMenuListItem } from './modal/charts-lib.modal';\n\ntype ChartType = 'line' | 'bar' | 'area' | 'pie';\n\n@Component({\n selector: 'lib-charts-lib',\n imports: [],\n templateUrl: './charts-lib.html',\n styles: ``,\n})\nexport class ChartsLib implements OnInit, OnChanges, DoCheck {\n @ViewChild('chartContainer', { read: ViewContainerRef }) container!: ViewContainerRef;\n @Input() chartType!: ChartType;\n @Input() columns: string[] = [];\n @Input() data: any[][] = [];\n @Input() themeName: ChartsLibType['themeName'] = 'default';\n @Input() chartOptionsConfig: OptionsConfig = {};\n @Input() contextMenuList: ContextMenuListItem[] = [];\n @Output() handleSingleClick = new EventEmitter();\n @Output() handleDrillBy = new EventEmitter();\n\n private optionsConfigDiffer!: KeyValueDiffer<string, any>;\n private componentRef: ComponentRef<any> | null = null;\n constructor(private chartService: ChartService, private differs: KeyValueDiffers) {\n effect(() => {\n if (this.chartService.clickEvent().seriesName) {\n this.handleSingleClick.emit(this.chartService.clickEvent());\n }\n });\n effect(() => {\n if (this.chartService.drillByConfig().seriesName) {\n this.handleDrillBy.emit(this.chartService.drillByConfig());\n }\n });\n }\n\n ngOnInit(): void {\n this.optionsConfigDiffer = this.differs.find(this.chartOptionsConfig).create();\n }\n\n ngAfterViewInit(): void {\n this.loadComponent();\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['chartType']) {\n this.loadComponent();\n }\n if (changes['themeName'] && this.componentRef) {\n this.chartService.setTheme(this.themeName);\n }\n if (changes['data']) {\n this.chartService.setData(this.data);\n }\n if (changes['columns']) {\n this.chartService.setColumns(this.columns);\n }\n if (changes['contextMenuList']) {\n this.chartService.setContextMenuList(this.contextMenuList);\n }\n }\n\n ngDoCheck(): void {\n if (this.chartOptionsConfig) {\n const changes = this.optionsConfigDiffer.diff(this.chartOptionsConfig);\n if (changes) {\n this.chartService.setChartOptionsConfig({ ...this.chartOptionsConfig });\n }\n }\n }\n\n private loadComponent(): void {\n if (!this.container) {\n return;\n }\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n const componentType = this.getComponentType();\n if (componentType) {\n this.componentRef = this.container.createComponent(componentType);\n }\n }\n private getComponentType(): Type<any> | null {\n switch (this.chartType) {\n case 'bar':\n return BarChart;\n case 'line':\n return LineChart;\n case 'area':\n return AreaChart;\n default:\n return null;\n }\n }\n ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n}\n","<ng-template #chartContainer></ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ChartService"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef, OnInit, OnChanges, DoCheck, ViewContainerRef, EventEmitter, KeyValueDiffers, SimpleChanges } from '@angular/core';
3
+ import { EChartsOption, TitleComponentOption, LegendComponentOption, TooltipComponentOption, XAXisComponentOption, YAXisComponentOption, DataZoomComponentOption, SeriesOption, GridComponentOption, ECElementEvent } from 'echarts';
4
+ import { Subject } from 'rxjs';
5
+
6
+ declare class ClickEvent {
7
+ seriesName: string;
8
+ value: any;
9
+ name: string;
10
+ dataIndex?: number;
11
+ seriesIndex?: number;
12
+ }
13
+ declare class ChartsLibType {
14
+ chartType: 'line' | 'bar' | 'area' | 'pie';
15
+ columns: string[];
16
+ data: any[][];
17
+ themeName?: 'default' | 'dark' | 'vintage' | 'essos' | 'chalk' | 'roma';
18
+ colorsScheme?: string[] | undefined;
19
+ chartOptionsConfig?: OptionsConfig;
20
+ }
21
+ declare class OptionsConfig implements EChartsOption {
22
+ title?: TitleComponentOption;
23
+ legend?: LegendComponentOption;
24
+ tooltip?: TooltipComponentOption;
25
+ xAxis?: XAXisComponentOption;
26
+ yAxis?: YAXisComponentOption;
27
+ dataZoom?: DataZoomComponentOption[];
28
+ series?: SeriesOption[];
29
+ grid?: GridComponentOption;
30
+ [key: string]: any;
31
+ }
32
+ declare class ContextMenuListItem {
33
+ label: string;
34
+ options?: ContextMenuListItem[];
35
+ action?: (event?: ClickEvent) => void;
36
+ disabled?: boolean;
37
+ }
38
+
39
+ declare class ChartService {
40
+ private themeSignal;
41
+ theme: _angular_core.Signal<"default" | "dark" | "vintage" | "essos" | "chalk" | "roma" | undefined>;
42
+ newsubject: Subject<unknown>;
43
+ private dataSignal;
44
+ data: _angular_core.Signal<any[][]>;
45
+ private columnsSignal;
46
+ columns: _angular_core.Signal<string[]>;
47
+ private chartOptionsConfigSignal;
48
+ chartOptionsConfig: _angular_core.Signal<OptionsConfig>;
49
+ private eventSignal;
50
+ clickEvent: _angular_core.Signal<ClickEvent>;
51
+ private contextMenuEventSignal;
52
+ contextMenuEvent: _angular_core.Signal<ClickEvent>;
53
+ private contextMenuListSignal;
54
+ contextMenuList: _angular_core.Signal<ContextMenuListItem[]>;
55
+ private drillByConfigSignal;
56
+ drillByConfig: _angular_core.Signal<ClickEvent>;
57
+ private loadingSignal;
58
+ loading: _angular_core.Signal<boolean>;
59
+ private contextMenu;
60
+ isDarkTheme: _angular_core.Signal<boolean>;
61
+ constructor();
62
+ setTheme(themeName: ChartsLibType['themeName']): void;
63
+ setData(data: any[][]): void;
64
+ setColumns(columns: string[]): void;
65
+ setChartOptionsConfig(config: OptionsConfig): void;
66
+ setContextMenuList(contextMenu: ContextMenuListItem[]): void;
67
+ setLoading(isLoading: boolean): void;
68
+ getCurrentTheme(): ChartsLibType['themeName'];
69
+ getCurrentData(): any[][];
70
+ getCurrentColumns(): string[];
71
+ handleClick(event: ECElementEvent): void;
72
+ getClickEvent(): ClickEvent;
73
+ showContextMenu(x: number, y: number, params: ECElementEvent | null, chartContainer: ElementRef<HTMLDivElement>): void;
74
+ openContextMenu(params: ECElementEvent | null, chartContainer: ElementRef<HTMLDivElement>, mouseEvent?: MouseEvent): void;
75
+ hideContextMenu(): void;
76
+ resetContextEvent(): void;
77
+ drillDownHandler(params: ECElementEvent | null): void;
78
+ drillByHandler(columnName?: string): void;
79
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartService, never>;
80
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartService>;
81
+ }
82
+
83
+ type ChartType = 'line' | 'bar' | 'area' | 'pie';
84
+ declare class ChartsLib implements OnInit, OnChanges, DoCheck {
85
+ private chartService;
86
+ private differs;
87
+ container: ViewContainerRef;
88
+ chartType: ChartType;
89
+ columns: string[];
90
+ data: any[][];
91
+ themeName: ChartsLibType['themeName'];
92
+ chartOptionsConfig: OptionsConfig;
93
+ contextMenuList: ContextMenuListItem[];
94
+ handleSingleClick: EventEmitter<any>;
95
+ handleDrillBy: EventEmitter<any>;
96
+ private optionsConfigDiffer;
97
+ private componentRef;
98
+ constructor(chartService: ChartService, differs: KeyValueDiffers);
99
+ ngOnInit(): void;
100
+ ngAfterViewInit(): void;
101
+ ngOnChanges(changes: SimpleChanges): void;
102
+ ngDoCheck(): void;
103
+ private loadComponent;
104
+ private getComponentType;
105
+ ngOnDestroy(): void;
106
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartsLib, never>;
107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartsLib, "lib-charts-lib", never, { "chartType": { "alias": "chartType"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "data": { "alias": "data"; "required": false; }; "themeName": { "alias": "themeName"; "required": false; }; "chartOptionsConfig": { "alias": "chartOptionsConfig"; "required": false; }; "contextMenuList": { "alias": "contextMenuList"; "required": false; }; }, { "handleSingleClick": "handleSingleClick"; "handleDrillBy": "handleDrillBy"; }, never, never, true, never>;
108
+ }
109
+
110
+ export { ChartsLib, ChartsLibType, ClickEvent, ContextMenuListItem, OptionsConfig };
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "cats4u-charts",
3
+ "version": "0.0.1",
4
+ "author": {
5
+ "name": "Rohit Patel"
6
+ },
7
+ "main": "dist/index.js",
8
+ "keywords": [
9
+ "echarts",
10
+ "chart",
11
+ "npm"
12
+ ],
13
+ "scripts": {
14
+ "ng": "ng",
15
+ "start": "ng serve",
16
+ "build": "ng build",
17
+ "watch": "ng build --watch --configuration development",
18
+ "test": "ng test"
19
+ },
20
+ "prettier": {
21
+ "printWidth": 100,
22
+ "singleQuote": true,
23
+ "overrides": [
24
+ {
25
+ "files": "*.html",
26
+ "options": {
27
+ "parser": "angular"
28
+ }
29
+ }
30
+ ]
31
+ },
32
+ "dependencies": {
33
+ "@angular/common": "^20.3.0",
34
+ "@angular/compiler": "^20.3.0",
35
+ "@angular/core": "^20.3.0",
36
+ "@angular/forms": "^20.3.0",
37
+ "@angular/platform-browser": "^20.3.0",
38
+ "@angular/router": "^20.3.0",
39
+ "@types/echarts": "^4.9.22",
40
+ "echarts": "^6.0.0",
41
+ "rxjs": "~7.8.0",
42
+ "tslib": "^2.3.0"
43
+ },
44
+ "devDependencies": {
45
+ "@angular/build": "^20.3.13",
46
+ "@angular/cli": "^20",
47
+ "@angular/compiler-cli": "^20.3.0",
48
+ "@types/jasmine": "~5.1.0",
49
+ "jasmine-core": "~5.9.0",
50
+ "karma": "~6.4.0",
51
+ "karma-chrome-launcher": "~3.2.0",
52
+ "karma-coverage": "~2.2.0",
53
+ "karma-jasmine": "~5.1.0",
54
+ "karma-jasmine-html-reporter": "~2.1.0",
55
+ "ng-packagr": "^20.3.0",
56
+ "typescript": "~5.9.2"
57
+ }
58
+ }
@@ -0,0 +1,63 @@
1
+ # ChartsLib
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build charts-lib
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+ ```bash
35
+ cd dist/charts-lib
36
+ ```
37
+
38
+ 2. Run the `npm publish` command to publish your library to the npm registry:
39
+ ```bash
40
+ npm publish
41
+ ```
42
+
43
+ ## Running unit tests
44
+
45
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
46
+
47
+ ```bash
48
+ ng test
49
+ ```
50
+
51
+ ## Running end-to-end tests
52
+
53
+ For end-to-end (e2e) testing, run:
54
+
55
+ ```bash
56
+ ng e2e
57
+ ```
58
+
59
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
60
+
61
+ ## Additional Resources
62
+
63
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.