{"version":3,"file":"index.mjs","sources":["../../../../../../../../packages/components/visualized/charts/spire-column-chart/src/index.vue"],"sourcesContent":["<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport * as echarts from 'echarts/core'\nimport { BarChart, PictorialBarChart } from 'echarts/charts'\nimport {\n  TitleComponent,\n  TooltipComponent,\n  LegendComponent,\n  GridComponent,\n  DataZoomComponent,\n} from 'echarts/components'\nimport { CanvasRenderer } from 'echarts/renderers'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@fx-front-framework/hooks'\n\nimport type { SpireColumnChartData } from './types'\n\necharts.use([\n  PictorialBarChart,\n  BarChart,\n  LegendComponent,\n  TitleComponent,\n  TooltipComponent,\n  GridComponent,\n  DataZoomComponent,\n  CanvasRenderer,\n])\n\nexport default defineComponent({\n  name: 'VSpireColumnChart',\n  props: {\n    chartData: {\n      type: Array as PropType<SpireColumnChartData[]>,\n      default: () => [],\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const renderChart = () => {\n      const option = {\n        grid: {\n          left: '0',\n          top: '0',\n          right: '0',\n          bottom: '20%',\n        },\n        tooltip: {\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => {\n            return params.componentType === 'series' ? `\n              <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n                ${params.marker}\n                <span>${params.data.name} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n              </div>\n            ` : ''\n          },\n        },\n        legend: {\n          data: props.chartData.map(d => ({\n            name: d.label,\n            itemStyle: {\n              color: {\n                type: 'linear',\n                x: 0,\n                y: 0,\n                x2: 0,\n                y2: 1,\n                colorStops: [{\n                  offset: 0,\n                  color: d.color[0],\n                },\n                {\n                  offset: 1,\n                  color: d.color[1],\n                },\n                ],\n                global: false,\n              },\n            },\n          })),\n          bottom: '-5',\n          icon: 'rect',\n          itemHeight: 12,\n          itemWidth: 12,\n          itemGap: 16,\n          textStyle: {\n            'color': '#84A4F6',\n          },\n        },\n        xAxis: {\n          type: 'category',\n          data: props.chartData.map(d => d.label),\n          axisLabel: {\n            show: false,\n          },\n          axisTick: {\n            show: false,\n          },\n          axisLine: {\n            show: false,\n          },\n          splitLine: {\n            'show': false,\n          },\n        },\n        yAxis: {\n          type: 'value',\n          axisLabel: {\n            show: false,\n          },\n          axisTick: {\n            show: false,\n          },\n          axisLine: {\n            show: false,\n          },\n          splitLine: {\n            show: false,\n          },\n        },\n        series: [\n          ...new Array(props.chartData.length).fill(0).map((_, idx) => ({\n            name: props.chartData[idx].label,\n            data: new Array(props.chartData.length).fill(0),\n            'stack': 'a',\n            'type': 'bar',\n          })),\n          {\n            type: 'pictorialBar',\n            name: '',\n            data: props.chartData.map(d => ({\n              name: d.label,\n              value: d.value,\n              label: {\n                show: true,\n                position: 'top',\n                fontSize: 14,\n                fontWeight: 'bold',\n                color: '#fff',\n              },\n              itemStyle: {\n                color: {\n                  type: 'linear',\n                  x: 0,\n                  y: 0,\n                  x2: 0,\n                  y2: 1,\n                  colorStops: [{\n                    offset: 0,\n                    color: d.color[0],\n                  },\n                  {\n                    offset: 1,\n                    color: d.color[1],\n                  },\n                  ],\n                  global: false,\n                },\n              },\n            })),\n            stack: 'a',\n            symbol: 'path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z',\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    useRenderChart(renderChart, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;AAoBA,OAAA,CAAQ,GAAI,CAAA;AAAA,EACV,iBAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AACF,CAAC,CAAA,CAAA;AAED,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,mBAAA;AAAA,EACN,KAAO,EAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAe,EAAA,GAAI,SAAU,EAAA,CAAA;AACrD,IAAM,MAAA,EAAE,wBAAyB,EAAA,GAAI,kBAAmB,EAAA,CAAA;AAExD,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,IAAM,EAAA;AAAA,UACJ,IAAM,EAAA,GAAA;AAAA,UACN,GAAK,EAAA,GAAA;AAAA,UACL,KAAO,EAAA,GAAA;AAAA,UACP,MAAQ,EAAA,KAAA;AAAA,SACV;AAAA,QACA,OAAS,EAAA;AAAA,UACP,WAAa,EAAA;AAAA,YACX,IAAM,EAAA,MAAA;AAAA,WACR;AAAA,UACA,YAAc,EAAA,mBAAA;AAAA,UACd,SAAA,EAAW,CAAC,MAAgB,KAAA;AAC1B,YAAO,OAAA,MAAA,CAAO,kBAAkB,QAAW,GAAA,CAAA;AAAA;AAAA,gBAAA,EAErC,MAAO,CAAA,MAAA,CAAA;AAAA,sBAAA,EACD,MAAO,CAAA,IAAA,CAAK,IAAgE,CAAA,yDAAA,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAA;AAAA;AAAA,YAEhG,CAAA,GAAA,EAAA,CAAA;AAAA,WACN;AAAA,SACF;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,IAAM,EAAA,KAAA,CAAM,SAAU,CAAA,GAAA,CAAI,CAAM,CAAA,MAAA;AAAA,YAC9B,MAAM,CAAE,CAAA,KAAA;AAAA,YACR,SAAW,EAAA;AAAA,cACT,KAAO,EAAA;AAAA,gBACL,IAAM,EAAA,QAAA;AAAA,gBACN,CAAG,EAAA,CAAA;AAAA,gBACH,CAAG,EAAA,CAAA;AAAA,gBACH,EAAI,EAAA,CAAA;AAAA,gBACJ,EAAI,EAAA,CAAA;AAAA,gBACJ,UAAY,EAAA;AAAA,kBAAC;AAAA,oBACX,MAAQ,EAAA,CAAA;AAAA,oBACR,KAAA,EAAO,EAAE,KAAM,CAAA,CAAA,CAAA;AAAA,mBACjB;AAAA,kBACA;AAAA,oBACE,MAAQ,EAAA,CAAA;AAAA,oBACR,KAAA,EAAO,EAAE,KAAM,CAAA,CAAA,CAAA;AAAA,mBACjB;AAAA,iBACA;AAAA,gBACA,MAAQ,EAAA,KAAA;AAAA,eACV;AAAA,aACF;AAAA,WACA,CAAA,CAAA;AAAA,UACF,MAAQ,EAAA,IAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,UAAY,EAAA,EAAA;AAAA,UACZ,SAAW,EAAA,EAAA;AAAA,UACX,OAAS,EAAA,EAAA;AAAA,UACT,SAAW,EAAA;AAAA,YACT,OAAS,EAAA,SAAA;AAAA,WACX;AAAA,SACF;AAAA,QACA,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,UAAA;AAAA,UACN,MAAM,KAAM,CAAA,SAAA,CAAU,GAAI,CAAA,CAAA,CAAA,KAAK,EAAE,KAAK,CAAA;AAAA,UACtC,SAAW,EAAA;AAAA,YACT,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,QAAU,EAAA;AAAA,YACR,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,QAAU,EAAA;AAAA,YACR,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,SAAW,EAAA;AAAA,YACT,MAAQ,EAAA,KAAA;AAAA,WACV;AAAA,SACF;AAAA,QACA,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,OAAA;AAAA,UACN,SAAW,EAAA;AAAA,YACT,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,QAAU,EAAA;AAAA,YACR,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,QAAU,EAAA;AAAA,YACR,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA,SAAW,EAAA;AAAA,YACT,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,SACF;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,GAAG,IAAI,KAAM,CAAA,KAAA,CAAM,SAAU,CAAA,MAAM,CAAE,CAAA,IAAA,CAAK,CAAC,CAAA,CAAE,GAAI,CAAA,CAAC,GAAG,GAAS,MAAA;AAAA,YAC5D,IAAA,EAAM,KAAM,CAAA,SAAA,CAAU,GAAK,CAAA,CAAA,KAAA;AAAA,YAC3B,IAAA,EAAM,IAAI,KAAM,CAAA,KAAA,CAAM,UAAU,MAAM,CAAA,CAAE,KAAK,CAAC,CAAA;AAAA,YAC9C,OAAS,EAAA,GAAA;AAAA,YACT,MAAQ,EAAA,KAAA;AAAA,WACR,CAAA,CAAA;AAAA,UACF;AAAA,YACE,IAAM,EAAA,cAAA;AAAA,YACN,IAAM,EAAA,EAAA;AAAA,YACN,IAAM,EAAA,KAAA,CAAM,SAAU,CAAA,GAAA,CAAI,CAAM,CAAA,MAAA;AAAA,cAC9B,MAAM,CAAE,CAAA,KAAA;AAAA,cACR,OAAO,CAAE,CAAA,KAAA;AAAA,cACT,KAAO,EAAA;AAAA,gBACL,IAAM,EAAA,IAAA;AAAA,gBACN,QAAU,EAAA,KAAA;AAAA,gBACV,QAAU,EAAA,EAAA;AAAA,gBACV,UAAY,EAAA,MAAA;AAAA,gBACZ,KAAO,EAAA,MAAA;AAAA,eACT;AAAA,cACA,SAAW,EAAA;AAAA,gBACT,KAAO,EAAA;AAAA,kBACL,IAAM,EAAA,QAAA;AAAA,kBACN,CAAG,EAAA,CAAA;AAAA,kBACH,CAAG,EAAA,CAAA;AAAA,kBACH,EAAI,EAAA,CAAA;AAAA,kBACJ,EAAI,EAAA,CAAA;AAAA,kBACJ,UAAY,EAAA;AAAA,oBAAC;AAAA,sBACX,MAAQ,EAAA,CAAA;AAAA,sBACR,KAAA,EAAO,EAAE,KAAM,CAAA,CAAA,CAAA;AAAA,qBACjB;AAAA,oBACA;AAAA,sBACE,MAAQ,EAAA,CAAA;AAAA,sBACR,KAAA,EAAO,EAAE,KAAM,CAAA,CAAA,CAAA;AAAA,qBACjB;AAAA,mBACA;AAAA,kBACA,MAAQ,EAAA,KAAA;AAAA,iBACV;AAAA,eACF;AAAA,aACA,CAAA,CAAA;AAAA,YACF,KAAO,EAAA,GAAA;AAAA,YACP,MAAQ,EAAA,4DAAA;AAAA,WACV;AAAA,SACF;AAAA,OACF,CAAA;AACA,MAAA,wBAAA,CAAyB,MAAM,CAAA,CAAA;AAC/B,MAAA,cAAA,CAAe,MAAM,CAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,cAAA,CAAe,aAAa,KAAK,CAAA,CAAA;AAEjC,IAAO,OAAA;AAAA,MACL,cAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;EAtLM,GAAI,EAAA,gBAAA;AAAA,EAAiB,KAAM,EAAA,kBAAA;;;AAAhC,EAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAyD,OAAzD,UAAyD,EAAA,IAAA,EAAA,GAAA,CAAA,CAAA;;;;;;"}