@qxs-bns/components 0.0.64 → 0.0.66

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 (37) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/src/data-chart/src/components/area.vue3.mjs +1 -1
  3. package/es/src/data-chart/src/components/bar.vue3.mjs +1 -1
  4. package/es/src/data-chart/src/components/card.vue3.mjs +1 -1
  5. package/es/src/data-chart/src/components/funnel.vue3.mjs +1 -1
  6. package/es/src/data-chart/src/components/line.vue2.mjs +1 -1
  7. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -1
  8. package/es/src/data-chart/src/components/line.vue3.mjs +1 -1
  9. package/es/src/data-chart/src/components/pie.vue3.mjs +1 -1
  10. package/es/src/data-chart/src/components/radar.vue3.mjs +1 -1
  11. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs +1 -1
  12. package/es/src/data-chart/src/components/scatter.vue3.mjs +1 -1
  13. package/es/src/data-chart/src/data-chart.vue.mjs +1 -1
  14. package/es/src/data-chart/src/data-chart.vue.mjs.map +1 -1
  15. package/es/src/data-chart/src/utils/useCharts.mjs +1 -1
  16. package/es/src/data-chart/src/utils/useCharts.mjs.map +1 -1
  17. package/lib/package.json.cjs +1 -1
  18. package/lib/src/data-chart/src/components/area.vue3.cjs +1 -1
  19. package/lib/src/data-chart/src/components/bar.vue3.cjs +1 -1
  20. package/lib/src/data-chart/src/components/card.vue3.cjs +1 -1
  21. package/lib/src/data-chart/src/components/funnel.vue3.cjs +1 -1
  22. package/lib/src/data-chart/src/components/line.vue2.cjs +1 -1
  23. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -1
  24. package/lib/src/data-chart/src/components/line.vue3.cjs +1 -1
  25. package/lib/src/data-chart/src/components/pie.vue3.cjs +1 -1
  26. package/lib/src/data-chart/src/components/radar.vue3.cjs +1 -1
  27. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs +1 -1
  28. package/lib/src/data-chart/src/components/scatter.vue3.cjs +1 -1
  29. package/lib/src/data-chart/src/data-chart.vue.cjs +1 -1
  30. package/lib/src/data-chart/src/data-chart.vue.cjs.map +1 -1
  31. package/lib/src/data-chart/src/utils/useCharts.cjs +1 -1
  32. package/lib/src/data-chart/src/utils/useCharts.cjs.map +1 -1
  33. package/package.json +1 -1
  34. package/types/src/data-chart/src/components/line.vue.d.ts.map +1 -1
  35. package/types/src/data-chart/src/data-chart.vue.d.ts.map +1 -1
  36. package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -1
  37. package/types/tsconfig.tsbuildinfo +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("echarts"),t=require("vue"),n=require("@vueuse/core"),i=require("../components/empty.svg.cjs");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=o(e);function s(e,t){const{width:i,height:o}=n.useElementSize(t);n.watchDebounced([i,o],()=>{if(e&&!e.isDisposed())try{e.resize()}catch(e){console.warn("Error during chart resize:",e)}})}exports.useCharts=function(e){let{chartDOM:o,chartData:a,chartOptions:c,initBefore:l,initAfter:u,lazyLoad:d=!0}=e,f=null,h=!1,p=!1,g=null,v=null,w=!1;const y=window.devicePixelRatio||1;function b(){if(f&&!f.isDisposed()){try{f.dispose()}catch(e){console.warn("Error disposing chart:",e)}f=null}}function D(){if(!f||f.isDisposed()){if(!o.value)return console.warn("[ECharts] DOM element not found"),null;const{clientWidth:e,clientHeight:t}=o.value;if(0===e||0===t)return console.warn("[ECharts] Container has zero size. Width:",e,"Height:",t,". Skipping initialization."),null;f=r.init(o.value,null,{devicePixelRatio:y,renderer:"svg"}),p=!0}return f}async function m(){await t.nextTick();const{clientWidth:e,clientHeight:n}=o.value||{clientWidth:0,clientHeight:0};e>0&&n>0?(D(),u&&u(f),f&&!f.isDisposed()&&s(f,o)):function(){if(!o.value||"undefined"==typeof ResizeObserver)return;g=new ResizeObserver(e=>{for(const t of e){const{width:e,height:n}=t.contentRect;if(e>0&&n>0&&!p&&(!d||w)){D(),u&&u(f),f&&!f.isDisposed()&&s(f,o),g?.disconnect(),g=null;break}}}),g.observe(o.value)}()}async function x(){return p||!o.value?f:(await t.nextTick(),d?(o.value&&"undefined"!=typeof IntersectionObserver&&(v=new IntersectionObserver(e=>{for(const t of e)if(t.isIntersecting&&!w){w=!0,m(),v?.disconnect(),v=null;break}},{threshold:0,rootMargin:"100px"}),v.observe(o.value)),f):(await m(),f))}function O(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"暂无数据";return new Promise(t=>{const n=new Image;n.src=i.default,n.onload=()=>{const o=n.width/n.height,r={title:[{text:a.value?.modelName,...c.value.title},{subtext:e,top:"center",left:"center",text:"{a|}",itemGap:-20,subtextStyle:{fontSize:14},textStyle:{align:"center",rich:{a:{height:100/o,width:100,backgroundColor:{image:i.default}}}}}]};h=!0,t([r,{notMerge:!0,replaceMerge:["xAxis","yAxis","series"],lazyUpdate:!1}])}})}const{isOutside:z}=n.useMouseInElement(o);return n.watchDebounced(z,e=>{"boolean"==typeof e&&f&&!f.isDisposed()&&function(e){if(f&&!f.isDisposed())try{f.setOption({toolbox:{show:e}})}catch(e){console.warn("Error toggling toolbox:",e)}}(!e)},{debounce:200}),n.watchDebounced(()=>c.value,async()=>{f&&!f.isDisposed()&&await async function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];try{f&&!f.isDisposed()||await x(),f?.showLoading(),a.value?.data?.length?(!0===h&&(t[1]||(t[1]={}),t[1].notMerge=!0),h=!1):t=await O(),f?.setOption(...t)}catch(e){f&&!f.isDisposed()&&b(),D(),t=await O("配置项错误"),f?.setOption(...t)}finally{f?.hideLoading()}}(c.value)},{debounce:500,deep:!0,immediate:!0}),t.onMounted(async()=>{l&&await l(),await t.nextTick(),await x(),f&&!f.isDisposed()&&(u&&u(f),s(f,o))}),t.onUnmounted(()=>{if(g&&(g.disconnect(),g=null),v&&(v.disconnect(),v=null),f&&!f.isDisposed())try{f.getZr()?.off("mousemove"),f.getZr()?.off("mouseout"),f.getZr()?.off("click"),f.off("click"),b()}catch(e){console.warn("Error during chart cleanup:",e)}}),{myChart:()=>f}},exports.useDataToExcelJson=function(e){const{desc:{colDesc:t=[],groupByDesc:n=[]}={},data:i=[]}=e,o=[...n.map(e=>e.colDesc),...t].filter(e=>e),r=i.map(e=>o.map(t=>e[t]||""));return[o,...r]},exports.useResize=s;
1
+ "use strict";var e=require("echarts"),t=require("vue"),n=require("@vueuse/core"),i=require("../components/empty.svg.cjs");function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var s=r(e),o=Object.defineProperty,a=(e,t,n)=>((e,t,n)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);const c=new class{constructor(){a(this,"observer",null),a(this,"callbacks",new Map)}createObserver(){return"undefined"==typeof IntersectionObserver?null:new IntersectionObserver(e=>{for(const t of e)if(t.isIntersecting){const e=this.callbacks.get(t.target);e&&(e(),this.unobserve(t.target))}},{threshold:0,rootMargin:"200px"})}observe(e,t){this.observer||(this.observer=this.createObserver()),this.observer&&(this.callbacks.set(e,t),this.observer.observe(e))}unobserve(e){this.observer&&(this.observer.unobserve(e),this.callbacks.delete(e))}disconnect(){this.observer&&(this.observer.disconnect(),this.callbacks.clear(),this.observer=null)}};function l(e,t){const{width:i,height:r}=n.useElementSize(t);n.watchDebounced([i,r],()=>{if(e&&!e.isDisposed())try{e.resize()}catch(e){console.warn("Error during chart resize:",e)}})}exports.useCharts=function(e){let{chartDOM:r,chartData:o,chartOptions:a,initBefore:u,initAfter:h,lazyLoad:d=!0}=e,f=null,v=!1,b=null,p=[];const g=window.devicePixelRatio||1;function w(){if(f){try{f.isDisposed()||f.dispose()}catch(e){console.warn("Error disposing chart:",e)}f=null}}function y(){if(!f||f.isDisposed()){if(!r.value)return console.warn("[ECharts] DOM element not found"),null;const{clientWidth:e,clientHeight:t}=r.value;if(0===e||0===t)return console.warn("[ECharts] Container has zero size. Width:",e,"Height:",t,". Skipping initialization."),null;f=s.init(r.value,null,{devicePixelRatio:g,renderer:"svg"})}return f}function m(){r.value&&c.unobserve(r.value)}function D(){if(p.length>0)return;const{isOutside:e}=n.useMouseInElement(r),t=n.watchDebounced(e,e=>{"boolean"==typeof e&&f&&!f.isDisposed()&&function(e){if(f&&!f.isDisposed())try{f.setOption({toolbox:{show:e}})}catch(e){console.warn("Error toggling toolbox:",e)}}(!e)},{debounce:200}),i=n.watchDebounced(()=>a.value,async()=>{await async function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];try{f&&!f.isDisposed()||await O(),f?.showLoading(),o.value?.data?.length?(!0===v&&(t[1]||(t[1]={}),t[1].notMerge=!0),v=!1):t=await k(),f?.setOption(...t)}catch(e){f&&!f.isDisposed()&&w(),y(),t=await k("配置项错误"),f?.setOption(...t)}finally{f?.hideLoading()}}(a.value)},{debounce:500,deep:!0,immediate:!0});p.push(t,i)}async function x(){await t.nextTick();const{clientWidth:e,clientHeight:n}=r.value||{clientWidth:0,clientHeight:0};if(e>0&&n>0){y()&&(h&&h(f),f&&!f.isDisposed()&&l(f,r),D()),m()}else!function(){if(!r.value||"undefined"==typeof ResizeObserver)return;b=new ResizeObserver(e=>{for(const t of e){const{width:e,height:n}=t.contentRect;if(e>0&&n>0){y()&&(h&&h(f),f&&!f.isDisposed()&&l(f,r),D()),b?.disconnect(),b=null,m();break}}}),b.observe(r.value)}()}async function O(){return r.value?(await t.nextTick(),d?(r.value&&c.observe(r.value,()=>{x()}),f):(await x(),f)):f}function k(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"暂无数据";return new Promise(t=>{const n=new Image;n.src=i.default,n.onload=()=>{const r=n.width/n.height,s={title:[{text:o.value?.modelName,...a.value.title},{subtext:e,top:"center",left:"center",text:"{a|}",itemGap:-20,subtextStyle:{fontSize:14},textStyle:{align:"center",rich:{a:{height:100/r,width:100,backgroundColor:{image:i.default}}}}}]};v=!0,t([s,{notMerge:!0,replaceMerge:["xAxis","yAxis","series"],lazyUpdate:!1}])}})}return t.onMounted(async()=>{u&&await u(),await t.nextTick(),await O(),f&&!f.isDisposed()&&(h&&h(f),l(f,r),D())}),t.onUnmounted(()=>{if(p.forEach(e=>e()),p=[],b&&(b.disconnect(),b=null),m(),f&&!f.isDisposed())try{f.getZr()?.off("mousemove"),f.getZr()?.off("mouseout"),f.getZr()?.off("click"),f.off("click"),w()}catch(e){console.warn("Error during chart cleanup:",e)}}),{myChart:()=>f}},exports.useDataToExcelJson=function(e){const{desc:{colDesc:t=[],groupByDesc:n=[]}={},data:i=[]}=e,r=[...n.map(e=>e.colDesc),...t].filter(e=>e),s=i.map(e=>r.map(t=>e[t]||""));return[r,...s]},exports.useResize=l;
2
2
  //# sourceMappingURL=useCharts.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCharts.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"sourcesContent":["import type { ECharts, SetOptionOpts } from 'echarts'\nimport type { Ref } from 'vue'\nimport type { EChartData, EChartsOption, IFormatPublicData } from './types'\nimport * as echarts from 'echarts'\nimport { onMounted, onUnmounted, nextTick } from 'vue'\nimport { useMouseInElement, useElementSize, watchDebounced } from '@vueuse/core'\n\n// 使用别名路径导入 SVG\nimport emptyImg from '../components/empty.svg'\n\nexport function useCharts({ chartDOM, chartData, chartOptions, initBefore, initAfter, lazyLoad = true }: {\n chartDOM: Ref<HTMLElement | null>\n chartData: Ref<IFormatPublicData>\n chartOptions: Ref<EChartsOption>\n initBefore?: () => Promise<void>\n initAfter?: (e: ECharts | null) => void\n lazyLoad?: boolean\n}) {\n // 每个组件实例的独立状态\n let myChart: ECharts | null = null\n let isEmpty = false\n let isInitialized = false\n let resizeObserver: ResizeObserver | null = null\n let intersectionObserver: IntersectionObserver | null = null\n let isInViewport = false\n\n // 获取设备像素比\n const dpr = window.devicePixelRatio || 1\n\n function disposeChart() {\n if (myChart && !myChart.isDisposed()) {\n try {\n myChart.dispose()\n }\n catch (error) {\n console.warn('Error disposing chart:', error)\n }\n myChart = null\n }\n }\n\n function initChart() {\n if (!(myChart && !myChart.isDisposed())) {\n // 检查 DOM 元素是否存在\n if (!chartDOM.value) {\n console.warn('[ECharts] DOM element not found')\n return null\n }\n\n // 检查容器尺寸\n const { clientWidth, clientHeight } = chartDOM.value\n if (clientWidth === 0 || clientHeight === 0) {\n // 如果容器没有尺寸,返回 null 而不是强制初始化\n console.warn('[ECharts] Container has zero size. Width:', clientWidth, 'Height:', clientHeight, '. Skipping initialization.')\n return null\n }\n\n // 创建 ECharts 实例\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n\n isInitialized = true\n }\n return myChart\n }\n\n // 开始初始化流程\n async function startInitialization() {\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 检查容器是否已经有尺寸\n const { clientWidth, clientHeight } = chartDOM.value || { clientWidth: 0, clientHeight: 0 }\n if (clientWidth > 0 && clientHeight > 0) {\n // 直接初始化\n initChart()\n if (initAfter) {\n initAfter(myChart)\n }\n if (myChart && !myChart.isDisposed()) {\n useResize(myChart, chartDOM)\n }\n } else {\n // 如果没有尺寸,使用 ResizeObserver 等待\n setupResizeObserver()\n }\n }\n\n // 使用 IntersectionObserver 监听元素是否进入可视区域\n function setupIntersectionObserver() {\n if (!chartDOM.value || typeof IntersectionObserver === 'undefined') {\n return\n }\n\n intersectionObserver = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting && !isInViewport) {\n isInViewport = true\n // 进入可视区域,开始初始化流程\n startInitialization()\n // 停止观察,避免重复初始化\n intersectionObserver?.disconnect()\n intersectionObserver = null\n break\n }\n }\n },\n {\n // 当元素有任何部分进入可视区域时触发\n threshold: 0,\n // 可以设置 rootMargin 来提前触发,比如提前 100px\n rootMargin: '100px'\n }\n )\n\n intersectionObserver.observe(chartDOM.value)\n }\n\n // 使用 ResizeObserver 监听容器尺寸变化\n function setupResizeObserver() {\n if (!chartDOM.value || typeof ResizeObserver === 'undefined') {\n return\n }\n\n resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect\n if (width > 0 && height > 0 && !isInitialized && (!lazyLoad || isInViewport)) {\n // 容器有尺寸了,且满足懒加载条件,可以安全初始化\n initChart()\n if (initAfter) {\n initAfter(myChart)\n }\n // 设置 resize 监听\n if (myChart && !myChart.isDisposed()) {\n useResize(myChart, chartDOM)\n }\n // 初始化后停止观察\n resizeObserver?.disconnect()\n resizeObserver = null\n break\n }\n }\n })\n\n resizeObserver.observe(chartDOM.value)\n }\n\n // 安全的初始化函数\n async function safeInitChart() {\n if (isInitialized || !chartDOM.value) {\n return myChart\n }\n\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 如果启用了懒加载,先检查是否在可视区域\n if (lazyLoad) {\n setupIntersectionObserver()\n return myChart\n }\n\n // 非懒加载模式,直接开始初始化流程\n await startInitialization()\n\n return myChart\n }\n\n async function renderChart(...opt: [EChartsOption, SetOptionOpts?]) {\n try {\n // 确保图表已初始化\n if (!myChart || myChart.isDisposed()) {\n await safeInitChart()\n }\n\n myChart?.showLoading()\n if (chartData.value?.data?.length) {\n if (isEmpty === true) {\n if (!opt[1]) {\n opt[1] = {}\n }\n opt[1].notMerge = true\n }\n isEmpty = false\n }\n else {\n // 数据为空时保持原有配置\n opt = await setEmpty()\n }\n myChart?.setOption(...opt)\n }\n catch (error) {\n if (myChart && !myChart.isDisposed()) {\n disposeChart()\n }\n // 如果实例已被销毁,重新创建\n initChart()\n opt = await setEmpty('配置项错误')\n myChart?.setOption(...opt)\n } finally {\n myChart?.hideLoading()\n }\n }\n\n function setEmpty(subtext = '暂无数据'): Promise<[EChartsOption, SetOptionOpts]> {\n return new Promise((resolve) => {\n const img = new Image()\n img.src = emptyImg\n\n img.onload = () => {\n const aspectRatio = img.width / img.height\n\n const obj: EChartsOption = {\n title: [{\n text: chartData.value?.modelName,\n ...chartOptions.value.title,\n }, {\n subtext,\n top: 'center',\n left: 'center',\n text: '{a|}',\n itemGap: -20,\n subtextStyle: {\n fontSize: 14,\n },\n textStyle: {\n align: 'center',\n rich: {\n a: {\n height: 100 / aspectRatio,\n width: 100,\n backgroundColor: {\n image: emptyImg,\n },\n },\n },\n },\n }],\n }\n isEmpty = true\n resolve([obj, {\n notMerge: true,\n replaceMerge: ['xAxis', 'yAxis', 'series'],\n lazyUpdate: false,\n }])\n }\n })\n }\n\n function toggleToolbox(show: boolean) {\n // 修改条件判断,移除 isDisposed 检查\n if (myChart && !myChart.isDisposed()) {\n try {\n myChart.setOption({\n toolbox: {\n show,\n },\n })\n }\n catch (error) {\n console.warn('Error toggling toolbox:', error)\n }\n }\n }\n\n const { isOutside: mouseInChart } = useMouseInElement(chartDOM)\n watchDebounced(mouseInChart, (newVal) => {\n // 修改条件判断\n if (typeof newVal !== 'boolean' || (!myChart || myChart.isDisposed())) {\n return\n }\n toggleToolbox(!newVal)\n }, { debounce: 200 })\n\n watchDebounced(\n () => chartOptions.value,\n async () => {\n // 修改条件判断\n if (myChart && !myChart.isDisposed()) {\n await renderChart(chartOptions.value)\n }\n },\n { debounce: 500, deep: true, immediate: true },\n )\n\n onMounted(async () => {\n if (initBefore) {\n await initBefore()\n }\n\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 使用安全的初始化函数\n await safeInitChart()\n\n // 如果图表已经初始化(容器有尺寸),调用 initAfter 和设置 resize\n if (myChart && !myChart.isDisposed()) {\n if (initAfter) {\n initAfter(myChart)\n }\n useResize(myChart, chartDOM)\n }\n })\n\n onUnmounted(() => {\n // 清理 ResizeObserver\n if (resizeObserver) {\n resizeObserver.disconnect()\n resizeObserver = null\n }\n\n // 清理 IntersectionObserver\n if (intersectionObserver) {\n intersectionObserver.disconnect()\n intersectionObserver = null\n }\n\n if (myChart && !myChart.isDisposed()) {\n try {\n // 清理所有事件监听器\n myChart.getZr()?.off('mousemove')\n myChart.getZr()?.off('mouseout')\n myChart.getZr()?.off('click')\n myChart.off('click')\n disposeChart()\n }\n catch (error) {\n console.warn('Error during chart cleanup:', error)\n }\n }\n })\n\n return {\n myChart: () => myChart,\n }\n}\n\nexport function useResize(myChart: ECharts, chartDOM: Ref<HTMLElement | null>) {\n const { width, height } = useElementSize(chartDOM)\n watchDebounced([width, height], () => {\n if (myChart && !myChart.isDisposed()) {\n try {\n myChart.resize()\n }\n catch (error) {\n console.warn('Error during chart resize:', error)\n }\n }\n })\n}\n\nexport function useDataToExcelJson(dataSource: EChartData) {\n const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = dataSource\n const header = [...groupByDesc.map(item => item.colDesc), ...colDesc].filter(v => v) as string[]\n const json = data.map((item) => {\n return header.map((headerItem) => {\n return item[headerItem as keyof typeof item] || ''\n })\n })\n return [header, ...json]\n}\n"],"names":["useResize","myChart","chartDOM","width","height","useElementSize","watchDebounced","isDisposed","resize","error","console","warn","_ref","chartData","chartOptions","initBefore","initAfter","lazyLoad","isEmpty","isInitialized","resizeObserver","intersectionObserver","isInViewport","dpr","window","devicePixelRatio","disposeChart","dispose","initChart","value","clientWidth","clientHeight","echarts","init","renderer","async","startInitialization","nextTick","ResizeObserver","entries","entry","contentRect","disconnect","observe","setupResizeObserver","safeInitChart","IntersectionObserver","isIntersecting","threshold","rootMargin","setEmpty","subtext","Promise","resolve","img","Image","src","emptyImg","onload","aspectRatio","obj","title","text","modelName","top","left","itemGap","subtextStyle","fontSize","textStyle","align","rich","a","backgroundColor","image","notMerge","replaceMerge","lazyUpdate","isOutside","mouseInChart","useMouseInElement","newVal","show","setOption","toolbox","toggleToolbox","debounce","_len","arguments","length","opt","Array","_key","showLoading","data","hideLoading","renderChart","deep","immediate","onMounted","onUnmounted","getZr","off","dataSource","desc","colDesc","groupByDesc","header","map","item","filter","v","json","headerItem"],"mappings":"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"}
1
+ {"version":3,"file":"useCharts.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"sourcesContent":["import type { ECharts, SetOptionOpts } from 'echarts'\nimport type { Ref } from 'vue'\nimport type { EChartData, EChartsOption, IFormatPublicData } from './types'\nimport * as echarts from 'echarts'\nimport { onMounted, onUnmounted, nextTick } from 'vue'\nimport { useMouseInElement, useElementSize, watchDebounced } from '@vueuse/core'\n\n// 使用别名路径导入 SVG\nimport emptyImg from '../components/empty.svg'\n\n// 全局 IntersectionObserver 管理器\nclass IntersectionObserverManager {\n private observer: IntersectionObserver | null = null\n private callbacks = new Map<Element, () => void>()\n\n private createObserver() {\n if (typeof IntersectionObserver === 'undefined') {\n return null\n }\n\n return new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n const callback = this.callbacks.get(entry.target)\n if (callback) {\n callback()\n // 执行回调后移除监听,避免重复初始化\n this.unobserve(entry.target)\n }\n }\n }\n },\n {\n threshold: 0,\n rootMargin: '200px'\n }\n )\n }\n\n observe(element: Element, callback: () => void) {\n if (!this.observer) {\n this.observer = this.createObserver()\n }\n\n if (this.observer) {\n this.callbacks.set(element, callback)\n this.observer.observe(element)\n }\n }\n\n unobserve(element: Element) {\n if (this.observer) {\n this.observer.unobserve(element)\n this.callbacks.delete(element)\n }\n }\n\n disconnect() {\n if (this.observer) {\n this.observer.disconnect()\n this.callbacks.clear()\n this.observer = null\n }\n }\n}\n\n// 全局单例实例\nconst globalIntersectionObserver = new IntersectionObserverManager()\n\nexport function useCharts({ chartDOM, chartData, chartOptions, initBefore, initAfter, lazyLoad = true }: {\n chartDOM: Ref<HTMLElement | null>\n chartData: Ref<IFormatPublicData>\n chartOptions: Ref<EChartsOption>\n initBefore?: () => Promise<void>\n initAfter?: (e: ECharts | null) => void\n lazyLoad?: boolean\n}) {\n // 每个组件实例的独立状态\n let myChart: ECharts | null = null\n let isEmpty = false\n let resizeObserver: ResizeObserver | null = null\n let watchStopHandles: Array<() => void> = [] // 存储 watch 停止函数\n\n // 获取设备像素比\n const dpr = window.devicePixelRatio || 1\n\n function disposeChart() {\n if (myChart) {\n try {\n if (!myChart.isDisposed()) {\n myChart.dispose()\n }\n }\n catch (error) {\n console.warn('Error disposing chart:', error)\n }\n myChart = null\n }\n }\n\n function initChart() {\n if (!(myChart && !myChart.isDisposed())) {\n // 检查 DOM 元素是否存在\n if (!chartDOM.value) {\n console.warn('[ECharts] DOM element not found')\n return null\n }\n\n // 检查容器尺寸\n const { clientWidth, clientHeight } = chartDOM.value\n if (clientWidth === 0 || clientHeight === 0) {\n // 如果容器没有尺寸,返回 null 而不是强制初始化\n console.warn('[ECharts] Container has zero size. Width:', clientWidth, 'Height:', clientHeight, '. Skipping initialization.')\n return null\n }\n\n // 创建 ECharts 实例\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n }\n return myChart\n }\n\n // 清理所有观察器\n function cleanupObservers() {\n // 从全局观察器中移除当前元素\n if (chartDOM.value) {\n globalIntersectionObserver.unobserve(chartDOM.value)\n }\n }\n\n // 初始化 watchDebounced 监听器\n function setupWatchers() {\n if (watchStopHandles.length > 0) {\n return // 已经设置过了,避免重复设置\n }\n\n // 鼠标悬停监听\n const { isOutside: mouseInChart } = useMouseInElement(chartDOM)\n const stopMouseWatch = watchDebounced(mouseInChart, (newVal) => {\n if (typeof newVal !== 'boolean' || (!myChart || myChart.isDisposed())) {\n return\n }\n toggleToolbox(!newVal)\n }, { debounce: 200 })\n\n // 图表选项监听\n const stopOptionsWatch = watchDebounced(\n () => chartOptions.value,\n async () => {\n await renderChart(chartOptions.value)\n },\n { debounce: 500, deep: true, immediate: true },\n )\n\n watchStopHandles.push(stopMouseWatch, stopOptionsWatch)\n }\n\n // 开始初始化流程\n async function startInitialization() {\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 检查容器是否已经有尺寸\n const { clientWidth, clientHeight } = chartDOM.value || { clientWidth: 0, clientHeight: 0 }\n if (clientWidth > 0 && clientHeight > 0) {\n // 直接初始化\n const chart = initChart()\n if (chart) {\n if (initAfter) {\n initAfter(myChart)\n }\n if (myChart && !myChart.isDisposed()) {\n useResize(myChart, chartDOM)\n }\n // 图表初始化成功后,设置监听器\n setupWatchers()\n }\n // 初始化成功后清理观察器\n cleanupObservers()\n } else {\n // 如果没有尺寸,使用 ResizeObserver 等待\n setupResizeObserver()\n }\n }\n\n // 使用全局 IntersectionObserver 监听元素是否进入可视区域\n function setupIntersectionObserver() {\n if (!chartDOM.value) {\n return\n }\n\n // 使用全局观察器,避免重复创建\n globalIntersectionObserver.observe(chartDOM.value, () => {\n startInitialization()\n })\n }\n\n\n\n // 使用 ResizeObserver 监听容器尺寸变化\n function setupResizeObserver() {\n if (!chartDOM.value || typeof ResizeObserver === 'undefined') {\n return\n }\n\n resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect\n if (width > 0 && height > 0) {\n // 容器有尺寸了,可以安全初始化\n const chart = initChart()\n if (chart) {\n if (initAfter) {\n initAfter(myChart)\n }\n // 设置 resize 监听\n if (myChart && !myChart.isDisposed()) {\n useResize(myChart, chartDOM)\n }\n // 图表初始化成功后,设置监听器\n setupWatchers()\n }\n // 初始化后停止观察并清理其他观察器\n resizeObserver?.disconnect()\n resizeObserver = null\n cleanupObservers()\n break\n }\n }\n })\n\n resizeObserver.observe(chartDOM.value)\n }\n\n // 安全的初始化函数\n async function safeInitChart() {\n if (!chartDOM.value) {\n return myChart\n }\n\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 如果启用了懒加载\n if (lazyLoad) {\n // 直接设置 IntersectionObserver,让它检测元素是否进入可视区域\n setupIntersectionObserver()\n return myChart\n }\n\n // 非懒加载模式,直接开始初始化流程\n await startInitialization()\n\n return myChart\n }\n\n async function renderChart(...opt: [EChartsOption, SetOptionOpts?]) {\n try {\n // 确保图表已初始化\n if (!myChart || myChart.isDisposed()) {\n await safeInitChart()\n }\n\n myChart?.showLoading()\n if (chartData.value?.data?.length) {\n if (isEmpty === true) {\n if (!opt[1]) {\n opt[1] = {}\n }\n opt[1].notMerge = true\n }\n isEmpty = false\n }\n else {\n // 数据为空时保持原有配置\n opt = await setEmpty()\n }\n myChart?.setOption(...opt)\n }\n catch (error) {\n if (myChart && !myChart.isDisposed()) {\n disposeChart()\n }\n // 如果实例已被销毁,重新创建\n initChart()\n opt = await setEmpty('配置项错误')\n myChart?.setOption(...opt)\n } finally {\n myChart?.hideLoading()\n }\n }\n\n function setEmpty(subtext = '暂无数据'): Promise<[EChartsOption, SetOptionOpts]> {\n return new Promise((resolve) => {\n const img = new Image()\n img.src = emptyImg\n\n img.onload = () => {\n const aspectRatio = img.width / img.height\n\n const obj: EChartsOption = {\n title: [{\n text: chartData.value?.modelName,\n ...chartOptions.value.title,\n }, {\n subtext,\n top: 'center',\n left: 'center',\n text: '{a|}',\n itemGap: -20,\n subtextStyle: {\n fontSize: 14,\n },\n textStyle: {\n align: 'center',\n rich: {\n a: {\n height: 100 / aspectRatio,\n width: 100,\n backgroundColor: {\n image: emptyImg,\n },\n },\n },\n },\n }],\n }\n isEmpty = true\n resolve([obj, {\n notMerge: true,\n replaceMerge: ['xAxis', 'yAxis', 'series'],\n lazyUpdate: false,\n }])\n }\n })\n }\n\n function toggleToolbox(show: boolean) {\n // 修改条件判断,移除 isDisposed 检查\n if (myChart && !myChart.isDisposed()) {\n try {\n myChart.setOption({\n toolbox: {\n show,\n },\n })\n }\n catch (error) {\n console.warn('Error toggling toolbox:', error)\n }\n }\n }\n\n // 移除这里的 watchDebounced 调用,改为在图表初始化后调用\n\n onMounted(async () => {\n if (initBefore) {\n await initBefore()\n }\n\n // 等待 DOM 渲染完成\n await nextTick()\n\n // 使用安全的初始化函数\n await safeInitChart()\n\n // 如果图表已经初始化(容器有尺寸),调用 initAfter 和设置 resize\n if (myChart && !myChart.isDisposed()) {\n if (initAfter) {\n initAfter(myChart)\n }\n useResize(myChart, chartDOM)\n // 图表初始化成功后,设置监听器\n setupWatchers()\n }\n })\n\n onUnmounted(() => {\n // 停止所有 watch 监听器\n watchStopHandles.forEach(stop => stop())\n watchStopHandles = []\n\n // 清理 ResizeObserver\n if (resizeObserver) {\n resizeObserver.disconnect()\n resizeObserver = null\n }\n\n // 清理全局 IntersectionObserver 中的当前元素\n cleanupObservers()\n\n if (myChart && !myChart.isDisposed()) {\n try {\n // 清理所有事件监听器\n myChart.getZr()?.off('mousemove')\n myChart.getZr()?.off('mouseout')\n myChart.getZr()?.off('click')\n myChart.off('click')\n disposeChart()\n }\n catch (error) {\n console.warn('Error during chart cleanup:', error)\n }\n }\n })\n\n return {\n myChart: () => myChart,\n }\n}\n\nexport function useResize(myChart: ECharts, chartDOM: Ref<HTMLElement | null>) {\n const { width, height } = useElementSize(chartDOM)\n watchDebounced([width, height], () => {\n if (myChart && !myChart.isDisposed()) {\n try {\n myChart.resize()\n }\n catch (error) {\n console.warn('Error during chart resize:', error)\n }\n }\n })\n}\n\nexport function useDataToExcelJson(dataSource: EChartData) {\n const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = dataSource\n const header = [...groupByDesc.map(item => item.colDesc), ...colDesc].filter(v => v) as string[]\n const json = data.map((item) => {\n return header.map((headerItem) => {\n return item[headerItem as keyof typeof item] || ''\n })\n })\n return [header, ...json]\n}\n"],"names":["globalIntersectionObserver","constructor","__publicField","this","Map","createObserver","IntersectionObserver","entries","entry","isIntersecting","callback","callbacks","get","target","unobserve","threshold","rootMargin","observe","element","observer","set","delete","disconnect","clear","useResize","myChart","chartDOM","width","height","useElementSize","watchDebounced","isDisposed","resize","error","console","warn","_ref","chartData","chartOptions","initBefore","initAfter","lazyLoad","isEmpty","resizeObserver","watchStopHandles","dpr","window","devicePixelRatio","disposeChart","dispose","initChart","value","clientWidth","clientHeight","echarts","init","renderer","cleanupObservers","setupWatchers","length","isOutside","mouseInChart","useMouseInElement","stopMouseWatch","newVal","show","setOption","toolbox","toggleToolbox","debounce","stopOptionsWatch","async","_len","arguments","opt","Array","_key","safeInitChart","showLoading","data","notMerge","setEmpty","hideLoading","renderChart","deep","immediate","push","startInitialization","nextTick","ResizeObserver","contentRect","setupResizeObserver","subtext","Promise","resolve","img","Image","src","emptyImg","onload","aspectRatio","obj","title","text","modelName","top","left","itemGap","subtextStyle","fontSize","textStyle","align","rich","a","backgroundColor","image","replaceMerge","lazyUpdate","onMounted","onUnmounted","forEach","stop","getZr","off","dataSource","desc","colDesc","groupByDesc","header","map","item","filter","v","json","headerItem"],"mappings":"4hBAoEA,MAAMA,EAA6B,IAzDnC,MAAAC,WAAAA,GACEC,EAAAC,KAAQ,WAAwC,MAChDD,EAAAC,KAAQ,gBAAgBC,IAAyB,CAEzCC,cAAAA,GACN,MAAoC,oBAAzBC,qBACF,KAGF,IAAIA,qBACRC,IACC,IAAA,MAAWC,KAASD,EAClB,GAAIC,EAAMC,eAAgB,CACxB,MAAMC,EAAWP,KAAKQ,UAAUC,IAAIJ,EAAMK,QACtCH,IACFA,IAEAP,KAAKW,UAAUN,EAAMK,QAEzB,GAGJ,CACEE,UAAW,EACXC,WAAY,SAGlB,CAEAC,OAAAA,CAAQC,EAAkBR,GACnBP,KAAKgB,WACRhB,KAAKgB,SAAWhB,KAAKE,kBAGnBF,KAAKgB,WACPhB,KAAKQ,UAAUS,IAAIF,EAASR,GAC5BP,KAAKgB,SAASF,QAAQC,GAE1B,CAEAJ,SAAAA,CAAUI,GACJf,KAAKgB,WACPhB,KAAKgB,SAASL,UAAUI,GACxBf,KAAKQ,UAAUU,OAAOH,GAE1B,CAEAI,UAAAA,GACMnB,KAAKgB,WACPhB,KAAKgB,SAASG,aACdnB,KAAKQ,UAAUY,QACfpB,KAAKgB,SAAW,KAEpB,GA+VK,SAASK,EAAUC,EAAkBC,GAC1C,MAAMC,MAAEA,EAAAC,OAAOA,GAAWC,EAAAA,eAAeH,GACzCI,EAAAA,eAAe,CAACH,EAAOC,GAAS,KAC9B,GAAIH,IAAYA,EAAQM,aACtB,IACEN,EAAQO,QACV,OACOC,GACLC,QAAQC,KAAK,6BAA8BF,EAC7C,GAGN,mBArWO,SAASG,GAOb,IAPuBV,SAAEA,EAAAW,UAAUA,EAAAC,aAAWA,aAAcC,EAAAC,UAAYA,EAAAC,SAAWA,GAAW,GAAKL,EAShGX,EAA0B,KAC1BiB,GAAU,EACVC,EAAwC,KACxCC,EAAsC,GAG1C,MAAMC,EAAMC,OAAOC,kBAAoB,EAEvC,SAASC,IACP,GAAIvB,EAAS,CACX,IACOA,EAAQM,cACXN,EAAQwB,SAEZ,OACOhB,GACLC,QAAQC,KAAK,yBAA0BF,EACzC,CACAR,EAAU,IACZ,CACF,CAEA,SAASyB,IACP,IAAMzB,GAAYA,EAAQM,aAAe,CAEvC,IAAKL,EAASyB,MAEZ,OADAjB,QAAQC,KAAK,mCACN,KAIT,MAAMiB,YAAEA,EAAAC,aAAaA,GAAiB3B,EAASyB,MAC/C,GAAoB,IAAhBC,GAAsC,IAAjBC,EAGvB,OADAnB,QAAQC,KAAK,4CAA6CiB,EAAa,UAAWC,EAAc,8BACzF,KAIT5B,EAAU6B,EAAQC,KAAK7B,EAASyB,MAAO,KAAM,CAC3CJ,iBAAkBF,EAClBW,SAAU,OAEd,CACA,OAAO/B,CACT,CAGA,SAASgC,IAEH/B,EAASyB,OACXnD,EAA2Bc,UAAUY,EAASyB,MAElD,CAGA,SAASO,IACP,GAAId,EAAiBe,OAAS,EAC5B,OAIF,MAAQC,UAAWC,GAAiBC,EAAAA,kBAAkBpC,GAChDqC,EAAiBjC,EAAAA,eAAe+B,EAAeG,IAC7B,kBAAXA,GAA0BvC,IAAWA,EAAQM,cAsM5D,SAAuBkC,GAErB,GAAIxC,IAAYA,EAAQM,aACtB,IACEN,EAAQyC,UAAU,CAChBC,QAAS,CACPF,SAGN,OACOhC,GACLC,QAAQC,KAAK,0BAA2BF,EAC1C,CAEJ,CAjNImC,EAAeJ,IACd,CAAEK,SAAU,MAGTC,EAAmBxC,EAAAA,eACvB,IAAMQ,EAAaa,MACnBoB,gBA4GJA,iBAAoE,IAAA,IAAAC,EAAAC,UAAAd,OAAtCe,EAAA,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAAF,EAAAE,GAAAH,UAAAG,GAC5B,IAEOnD,IAAWA,EAAQM,oBAChB8C,IAGRpD,GAASqD,cACLzC,EAAUc,OAAO4B,MAAMpB,SACT,IAAZjB,IACGgC,EAAI,KACPA,EAAI,GAAK,CAAA,GAEXA,EAAI,GAAGM,UAAW,GAEpBtC,GAAU,GAIVgC,QAAYO,IAEdxD,GAASyC,aAAaQ,EACxB,OACOzC,GACDR,IAAYA,EAAQM,cACtBiB,IAGFE,IACAwB,QAAYO,EAAS,SACrBxD,GAASyC,aAAaQ,EACxB,CAAA,QACEjD,GAASyD,aACX,CACF,CA7IYC,CAAY7C,EAAaa,QAEjC,CAAEkB,SAAU,IAAKe,MAAM,EAAMC,WAAW,IAG1CzC,EAAiB0C,KAAKvB,EAAgBO,EACxC,CAGAC,eAAegB,UAEPC,aAGN,MAAMpC,YAAEA,EAAAC,aAAaA,GAAiB3B,EAASyB,OAAS,CAAEC,YAAa,EAAGC,aAAc,GACxF,GAAID,EAAc,GAAKC,EAAe,EAAG,CAEzBH,MAERV,GACFA,EAAUf,GAERA,IAAYA,EAAQM,cACtBP,EAAUC,EAASC,GAGrBgC,KAGFD,GACF,MAqBF,WACE,IAAK/B,EAASyB,OAAmC,oBAAnBsC,eAC5B,OAGF9C,EAAiB,IAAI8C,eAAgBlF,IACnC,IAAA,MAAWC,KAASD,EAAS,CAC3B,MAAMoB,MAAEA,EAAAC,OAAOA,GAAWpB,EAAMkF,YAChC,GAAI/D,EAAQ,GAAKC,EAAS,EAAG,CAEbsB,MAERV,GACFA,EAAUf,GAGRA,IAAYA,EAAQM,cACtBP,EAAUC,EAASC,GAGrBgC,KAGFf,GAAgBrB,aAChBqB,EAAiB,KACjBc,IACA,KACF,CACF,IAGFd,EAAe1B,QAAQS,EAASyB,MAClC,CAnDIwC,EAEJ,CAoDApB,eAAeM,IACb,OAAKnD,EAASyB,aAKRqC,aAGF/C,GAzDCf,EAASyB,OAKdnD,EAA2BiB,QAAQS,EAASyB,MAAO,KACjDoC,MAsDO9D,UAIH8D,IAEC9D,IAhBEA,CAiBX,CAsCA,SAASwD,IAAoE,IAA3DW,yDAAU,OAC1B,OAAO,IAAIC,QAASC,IAClB,MAAMC,EAAM,IAAIC,MAChBD,EAAIE,IAAMC,EAAAA,QAEVH,EAAII,OAAS,KACX,MAAMC,EAAcL,EAAIpE,MAAQoE,EAAInE,OAE9ByE,EAAqB,CACzBC,MAAO,CAAC,CACNC,KAAMlE,EAAUc,OAAOqD,aACpBlE,EAAaa,MAAMmD,OACrB,CACDV,UACAa,IAAK,SACLC,KAAM,SACNH,KAAM,OACNI,SAAS,GACTC,aAAc,CACZC,SAAU,IAEZC,UAAW,CACTC,MAAO,SACPC,KAAM,CACJC,EAAG,CACDrF,OAAQ,IAAMwE,EACdzE,MAAO,IACPuF,gBAAiB,CACfC,MAAOjB,EAAAA,eAOnBxD,GAAU,EACVoD,EAAQ,CAACO,EAAK,CACZrB,UAAU,EACVoC,aAAc,CAAC,QAAS,QAAS,UACjCC,YAAY,OAIpB,CAuEA,OAnDAC,EAAAA,UAAU/C,UACJhC,SACIA,UAIFiD,mBAGAX,IAGFpD,IAAYA,EAAQM,eAClBS,GACFA,EAAUf,GAEZD,EAAUC,EAASC,GAEnBgC,OAIJ6D,EAAAA,YAAY,KAcV,GAZA3E,EAAiB4E,QAAQC,GAAQA,KACjC7E,EAAmB,GAGfD,IACFA,EAAerB,aACfqB,EAAiB,MAInBc,IAEIhC,IAAYA,EAAQM,aACtB,IAEEN,EAAQiG,SAASC,IAAI,aACrBlG,EAAQiG,SAASC,IAAI,YACrBlG,EAAQiG,SAASC,IAAI,SACrBlG,EAAQkG,IAAI,SACZ3E,GACF,OACOf,GACLC,QAAQC,KAAK,8BAA+BF,EAC9C,IAIG,CACLR,QAASA,IAAMA,EAEnB,6BAgBO,SAA4BmG,GACjC,MAAQC,MAAMC,QAAEA,EAAU,GAACC,YAAGA,EAAc,IAAO,CAAA,EAAChD,KAAGA,EAAO,IAAO6C,EAC/DI,EAAS,IAAID,EAAYE,IAAIC,GAAQA,EAAKJ,YAAaA,GAASK,UAAYC,GAC5EC,EAAOtD,EAAKkD,IAAKC,GACdF,EAAOC,IAAKK,GACVJ,EAAKI,IAAoC,KAGpD,MAAO,CAACN,KAAWK,EACrB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qxs-bns/components",
3
3
  "type": "module",
4
- "version": "0.0.64",
4
+ "version": "0.0.66",
5
5
  "description": "Vue 3 Component Library",
6
6
  "license": "MIT",
7
7
  "homepage": "https://trry-hub.github.io/qxs-bns/",
@@ -1 +1 @@
1
- {"version":3,"file":"line.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/line.vue"],"names":[],"mappings":"AAiKA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAOtE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;;;;AA2KF,wBAOG"}
1
+ {"version":3,"file":"line.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/line.vue"],"names":[],"mappings":"AAkLA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAOtE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;;;;AA4LF,wBAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-chart.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/data-chart/src/data-chart.vue"],"names":[],"mappings":"AAAA,OAiNO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAA;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAWpC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAIxC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAMtC,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAsGF,iBAAS,UAAU,SAQlB;AAmBD,iBAAS,UAAU,IAAI,OAAO,GAAG,IAAI,CAkBpC;;;;;;;;;;;AAuED,wBAOG"}
1
+ {"version":3,"file":"data-chart.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/data-chart/src/data-chart.vue"],"names":[],"mappings":"AAAA,OAwNO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAA;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAWpC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAIxC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAMtC,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AA6GF,iBAAS,UAAU,SAQlB;AAmBD,iBAAS,UAAU,IAAI,OAAO,GAAG,IAAI,CAkBpC;;;;;;;;;;;AAuED,wBAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCharts.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,SAAS,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQ3E,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAe,EAAE,EAAE;IACvG,QAAQ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjC,SAAS,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACjC,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;;EAmUA;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAY5E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,yBASxD"}
1
+ {"version":3,"file":"useCharts.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,SAAS,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAoE3E,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAe,EAAE,EAAE;IACvG,QAAQ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjC,SAAS,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACjC,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;;EAgVA;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAY5E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,yBASxD"}