{"version":3,"file":"dep-72ade837.mjs","sources":["../../src/chart/line/index.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n  name: 'TlbsLine',\n  \n})\n</script>\n<template>\n  <v-chart\n    class=\"tlbs-line\"\n    :option=\"option\"\n    :autoresize=\"true\"\n  />\n</template>\n\n<script lang=\"ts\" setup name=\"TlbsLine\">\nimport * as echarts from 'echarts/core';\nimport VChart from 'vue-echarts';\nimport { LegendComponentOption, TooltipComponentOption } from 'echarts/components';\nimport { LineSeriesOption } from 'echarts/charts';\n\ntype EChartsOption = echarts.ComposeOption<\nTooltipComponentOption | LegendComponentOption | LineSeriesOption\n>;\n\ninterface DataItem {\n  value: number;\n  name: string;\n  itemStyle: {\n    color: string;\n  }\n}\n\ninterface Props {\n  data: DataItem[];\n  type: string,\n  color?: string | string[],\n  linearColor?: string | string[],\n  lineStyle: LooseObject;\n  label: LooseObject;\n  smooth: boolean;\n  legend: EChartsOption['legend'];\n  xAxis: LooseObject,\n  yAxis: LooseObject,\n  seriesProperty?: LooseObject;\n  optionConfig?: LooseObject,\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n  data: () => [],\n  smooth: false,\n  color: () => ['#ED8139', '#31C8C8', '#3479ED'],\n  linearColor: () => [],\n  legend: () => ({}),\n  lineStyle: () => ({}),\n  label: () => ({}),\n  xAxis: () => ({}),\n  yAxis: () => ({}),\n  optionConfig: () => ({}),\n  seriesProperty: () => ({}),\n  type: 'column',\n});\n\nconst getOption = (): EChartsOption => {\n  let nameArr: never[] | Set<any> = [];\n  const categoryArr: string[] = [];\n  const valueArr: unknown[][] = [];\n  props.data.forEach((data) => {\n    categoryArr.push(data.name);\n    nameArr = new Set([...nameArr, ...Object.keys(data.value)]);\n    Object.values(data.value).forEach((item, index) => {\n      valueArr[index] = valueArr[index] || [];\n      valueArr[index].push(item);\n    });\n  });\n  // if (props.lineStyle) {\n  //   series.lineStyle = props.lineStyle;\n  // }\n  // if (props.label) {\n  //   series.label = props.label;\n  // }\n  const series = Array.from(nameArr).map((name, index) => ({\n    data: valueArr[index],\n    type: 'line',\n    lineStyle: props.lineStyle || undefined,\n    label: props.label || undefined,\n    smooth: props.smooth,\n    areaStyle: {\n      opacity: 0.4,\n      color: new echarts.graphic.LinearGradient(1, 1, 1, 0, [\n        {\n          offset: 0,\n          color: props.linearColor[index] || 'rgba(0, 0, 0, 0)',\n        },\n        {\n          offset: 1,\n          color: props.color[index],\n        },\n      ]),\n    },\n    ...props.seriesProperty[name] || {},\n    name,\n  }));\n  // console.log('series', series);\n  const valueData = {\n    type: 'value',\n    // axisLabel: {\n    //   textStyle: props.textStyle,\n    // },\n  };\n  const nameData = {\n    type: 'category',\n    data: Array.from(categoryArr),\n    // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n    boundaryGap: false,\n    // axisLabel: {\n    //   textStyle: props.textStyle,\n    // },\n  };\n  const xAxis = props.type === 'column' ? valueData : nameData;\n  const yAxis = props.type === 'column' ? nameData : valueData;\n  const option = {\n    tooltip: {\n      show: true,\n      trigger: 'axis',\n    },\n    color: props.color,\n    xAxis: {\n      ...xAxis,\n      name: props.xAxis.name,\n      axisLabel: {\n        show: true,\n      },\n      ...props.xAxis,\n    },\n    yAxis: {\n      ...yAxis,\n      name: props.yAxis.name,\n      axisLabel: {\n        show: true,\n      },\n      ...props.yAxis,\n    },\n    legend: props.legend,\n    series,\n    ...props.optionConfig,\n  };\n  console.log(option);\n  return option;\n};\n\nconst option = ref<EChartsOption>(getOption());\n\nwatch(props, () => {\n  option.value = getOption();\n});\n\n\n</script>\n"],"names":["__default__","defineComponent","name","_defineComponent","_objectSpread","props","data","type","Array","required","default","String","color","linearColor","lineStyle","label","smooth","Boolean","legend","xAxis","yAxis","seriesProperty","optionConfig","setup","__props","getOption","nameArr","categoryArr","valueArr","forEach","push","Set","Object","keys","value","values","item","index","series","from","map","nameData","boundaryGap","valueData","option2","tooltip","show","trigger","axisLabel","console","log","option","ref","watch","_ctx","_cache","_openBlock","_createBlock","_unref","VChart","class","autoresize"],"mappings":"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"}