hamster-charts 0.6.0 → 0.6.2

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.
@@ -1 +1 @@
1
- (function(f,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("echarts"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","echarts","@vueuse/core"],t):(f=typeof globalThis<"u"?globalThis:f||self,t(f.HamsterCharts={},f.Vue,f.echarts,f.VueUse))})(this,function(f,t,yt,A){"use strict";function _t(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const o in n)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(n,o);Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>n[o]})}}return e.default=n,Object.freeze(e)}const dt=_t(yt),_=(n,e)=>{const o=n.__vccOpts||n;for(const[i,a]of e)o[i]=a;return o},F=_(Object.assign({name:"hPanel",chineseName:"面板",description:"页面主体容器"},{props:{url:{type:String,default:""},position:{type:String,default:"relative",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)}},setup(n){let e=n,o=t.computed(()=>({position:e.position,backgroundImage:e.url?`url(${e.url})`:"none"}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-panel",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-474190fc"]]);F.install=n=>{n.component(F.name,F)};const H=_(Object.assign({name:"hHeader",chineseName:"标题",description:"页面标题容器"},{props:{url:{type:String,default:""},width:{type:String,default:"100%"},height:{type:String,default:"70px"},text:{type:String,default:"测试标题"},fontSize:{type:String,default:"26px"},color:{type:String,default:"#fff"},showText:{type:Boolean,default:!0},textPosition:{type:String,default:"absolute",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)},textTop:{type:String,default:"50%"},textLeft:{type:String,default:"50%"},textTransform:{type:String,default:"translate(-50%, -50%)"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,backgroundImage:`url( ${e.url})`})),i=t.computed(()=>({color:e.color,fontSize:e.fontSize,position:e.textPosition,top:e.textTop,left:e.textLeft,transform:e.textTransform}));return(a,S)=>(t.openBlock(),t.createElementBlock("div",{class:"h-header",style:t.normalizeStyle(t.unref(o))},[t.unref(e).showText?(t.openBlock(),t.createElementBlock("span",{key:0,style:t.normalizeStyle(t.unref(i))},t.toDisplayString(t.unref(e).text),5)):t.createCommentVNode("",!0),t.renderSlot(a.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-b83cf769"]]);H.install=n=>{n.component(H.name,H)};const M=_(Object.assign({name:"hMain",chineseName:"主内容区",description:"页面主内容工作区"},{props:{height:{type:String,default:"200px"},display:{type:String,default:"flex"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"},padding:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({height:e.height!=="auto"||e.height!=="0"?`calc(100% - ${e.height})`:e.height,display:e.display,columnGap:e.columnGap,rowGap:e.rowGap,padding:e.padding}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-main",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-1025786b"]]);M.install=n=>{n.component(M.name,M)};const St={class:"def-text"},O=_(Object.assign({name:"hChartTitle",chineseName:"图表标题",description:"图表标题组件"},{props:{fontSize:{type:String,default:"16px"},url:{type:String,default:""},height:{type:String,default:"50px"},paddingLeft:{type:String,default:"auto"},paddingRight:{type:String,default:"auto"},paddingTop:{type:String,default:"auto"},paddingBottom:{type:String,default:"auto"},color:{type:String,default:"#fff"},text:{type:String,default:"测试标题"},display:{type:String,default:"block"},textAlign:{type:String,default:"start"},alignItems:{type:String,default:"center"},justifyContent:{type:String,default:"start"},position:{type:String,default:"relative"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,backgroundImage:`url(${e.url})`,fontSize:e.fontSize,paddingLeft:e.paddingLeft,paddingRight:e.paddingRight,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,color:e.color,display:e.display,textAlign:e.textAlign,alignItems:e.alignItems,justifyContent:e.justifyContent,position:e.position}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart-title",style:t.normalizeStyle(t.unref(o))},[t.createElementVNode("span",St,t.toDisplayString(t.unref(e).text),1),t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-412bbd72"]]),pt="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1780631644175'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1701'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M923.851581%20338.007247c-20.012799-47.313585-47.717791-90.324168-82.448804-128.128169%206.875594-13.544481%2010.753925-28.866445%2010.753925-45.096081%200-55.099922-44.667316-99.767238-99.767238-99.767238-29.051663%200-55.19816%2012.420891-73.431429%2032.237215-53.058426-21.390169-109.183701-32.237215-166.958546-32.237215-60.334133%200-118.873388%2011.821233-173.98866%2035.134195-53.232388%2022.51376-101.031021%2054.741765-142.073786%2095.78453-41.045835%2041.043788-73.272817%2088.844467-95.785553%20142.073786C76.837504%20393.126612%2065.014224%20451.665867%2065.014224%20512.001023c0%2060.33311%2011.82328%20118.873388%2035.134195%20173.989683%2022.51376%2053.230342%2054.741765%20101.029998%2095.785553%20142.073786%2041.041742%2041.043788%2088.841398%2073.27077%20142.073786%2095.785553%2055.116295%2023.311939%20113.65555%2035.134195%20173.989683%2035.134195s118.873388-11.822257%20173.992753-35.134195c53.229319-22.514783%20101.029998-54.742788%20142.072763-95.785553%2041.045835-41.043788%2073.272817-88.843444%2095.785553-142.073786%2023.309892-55.116295%2035.134195-113.656573%2035.134195-173.989683C958.985776%20451.665867%20947.161473%20393.127635%20923.851581%20338.007247zM887.891578%20670.783353c-20.545942%2048.575322-49.960879%2092.203982-87.430258%20129.676431-37.473473%2037.470403-81.100086%2066.88841-129.679501%2087.432305-50.28015%2021.263279-103.702873%2032.047904-158.783353%2032.047904-55.07741%200-108.500133-10.782577-158.785399-32.047904-48.575322-20.545942-92.203982-49.961902-129.676431-87.432305-37.47245-37.47245-66.88841-81.101109-87.430258-129.676431-21.267373-50.28015-32.050973-103.703897-32.050973-158.784376s10.783601-108.503203%2032.050973-158.783353c20.541849-48.575322%2049.958832-92.206028%2087.430258-129.676431%2037.47245-37.470403%2081.101109-66.887386%20129.676431-87.433328%2050.285267-21.266349%20103.70799-32.04995%20158.785399-32.04995%2050.600445%200%2099.797937%209.107425%20146.447397%2027.074635-3.767813%2010.514471-5.824659%2021.842471-5.824659%2033.653471%200%2055.099922%2044.667316%2099.767238%2099.767238%2099.767238%2024.573675%200%2047.065945-8.889461%2064.452941-23.620977%2029.737278%2033.372062%2053.603849%2071.037916%2071.050196%20112.285343%2021.266349%2050.28015%2032.04995%20103.702873%2032.04995%20158.783353S909.15895%20620.503203%20887.891578%20670.783353z'%20fill='%230066ff'%20p-id='1702'%3e%3c/path%3e%3c/svg%3e",xt={class:"chart-wrapper"},bt=["src"],kt={key:0,class:"loading-text"},W=_(Object.assign({name:"hChart",chineseName:"图表",description:"基于 ECharts 的图表容器组件,支持自适应和事件交互"},{props:{height:{type:String,default:"auto"},showChart:{type:Boolean,default:!0},url:{type:String,default:""},flex:{type:Number,default:.3},option:{type:Object,required:!0},tooltipLoop:{type:[Boolean,Object],default:!1},title:{type:[String,Object],default:""},showTitle:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:o}){const i=o,a=n,S=t.computed(()=>({backgroundImage:a.url?`url(${a.url})`:"none",flex:a.flex,height:a.height})),d=t.ref(null);let l=null;const w=t.useSlots(),z=t.computed(()=>!!w.default),T=t.computed(()=>a.title?typeof a.title=="string"?{text:a.title}:a.title:null),x=t.ref(!1);let b=0;t.watch(()=>a.loading,s=>{if(s)x.value=!0,b=Date.now();else{const r=Date.now()-b,u=(a.loadingMinDuration||0)-r;u<=0?x.value=!1:setTimeout(()=>{x.value=!1},u)}},{immediate:!0});const y=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),c=t.computed(()=>{if(!a.tooltipLoop)return null;if(a.tooltipLoop===!0)return{interval:2e3,seriesIndex:0,loop:!0,pauseOnHover:!0};const s=a.tooltipLoop;return{interval:s.interval??2e3,seriesIndex:s.seriesIndex??0,loop:s.loop??!0,pauseOnHover:s.pauseOnHover??!0}});let h=null,g=0,B=!1,$=!0;const k=()=>{var s,r;try{const u=(s=a.option)==null?void 0:s.series;if(!u||!Array.isArray(u))return 0;const I=u[((r=c.value)==null?void 0:r.seriesIndex)??0];return I!=null&&I.data?I.data.length:0}catch{return 0}},E=()=>{if(!l||!c.value||B||!$)return;const s=k();s!==0&&(l.dispatchAction({type:"showTip",seriesIndex:c.value.seriesIndex,dataIndex:g}),g++,g>=s&&(c.value.loop?g=0:D()))},C=()=>{D(),!(!c.value||k()===0)&&(g=0,h=setInterval(E,c.value.interval))},D=()=>{h&&(clearInterval(h),h=null),l&&l.dispatchAction({type:"hideTip"})},st=()=>{B=!0},G=()=>{B=!1},L=A.useDebounceFn(()=>{l&&(l.resize(),i("chart-resize",{instance:l}))},100),ut=()=>{var r;if(!l)return;["click","dblclick","mouseover","mouseout"].forEach(u=>{l.on(u,I=>{i(`chart-${u}`,I)})}),(r=c.value)!=null&&r.pauseOnHover&&(l.on("mouseover",()=>{st()}),l.on("mouseout",()=>{G()}))},V=()=>{l&&(D(),["click","dblclick","mouseover","mouseout"].forEach(r=>{l.off(r)}),l.dispose(),l=null)},m=()=>{if(V(),!!d.value)try{const s=p(a.option);l=dt.init(d.value),l.setOption(s,{notMerge:!0}),ut(),i("chart-ready",{instance:l,dom:d.value}),C()}catch(s){console.error("ECharts initialization failed:",s)}},p=s=>{if(!s||typeof s!="object")return{series:[]};const r=JSON.parse(JSON.stringify(s));return r.series?Array.isArray(r.series)||(r.series=[r.series]):r.series=[],r.series=r.series.map(u=>{if(!u||typeof u!="object")return{type:"line"};const I={type:"line",...u,type:u.type||"line"};return I.type==="pie"&&I.data&&(I.data=I.data.map(ct=>typeof ct=="object"&&ct!==null?{type:"line",...ct,type:ct.type||"line"}:ct)),I}),r.xAxis?Array.isArray(r.xAxis)?r.xAxis=r.xAxis.map(u=>!u||typeof u!="object"?{type:"category"}:{type:"category",...u,type:u.type||"category"}):typeof r.xAxis=="object"?r.xAxis={type:"category",...r.xAxis,type:r.xAxis.type||"category"}:r.xAxis={type:"category"}:r.xAxis={type:"category"},r.yAxis?Array.isArray(r.yAxis)?r.yAxis=r.yAxis.map(u=>!u||typeof u!="object"?{type:"value"}:{type:"value",...u,type:u.type||"value"}):typeof r.yAxis=="object"?r.yAxis={type:"value",...r.yAxis,type:r.yAxis.type||"value"}:r.yAxis={type:"value"}:r.yAxis={type:"value"},r.legend&&(typeof r.legend=="object"&&!Array.isArray(r.legend)||Array.isArray(r.legend)&&(r.legend={data:r.legend})),r},N=()=>{L()};return t.onMounted(()=>{setTimeout(()=>{m()},0),window.addEventListener("resize",N),A.useResizeObserver(d,s=>{L()}),a.tooltipLoop&&A.useIntersectionObserver(d,([s])=>{$=s.isIntersecting,$?G():st()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",N),D(),V()}),t.watch(()=>a.option,(s,r)=>{if(s)try{const u=p(s);if(!l){m();return}l.clear(),l.setOption(u,{notMerge:!0}),C(),i("chart-update",{instance:l,option:u})}catch(u){console.error("更新图表配置时出错:",u),console.error(" 错误堆栈:",u.stack)}},{deep:!0}),t.watch(()=>a.showChart,s=>{l&&setTimeout(()=>{l.resize()},0)}),e({getInstance:()=>l,resize:()=>L(),dispatchAction:s=>l==null?void 0:l.dispatchAction(s),dispose:V,startLoop:C,stopLoop:D,pauseLoop:st,resumeLoop:G}),(s,r)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart",style:t.normalizeStyle(S.value)},[z.value?t.renderSlot(s.$slots,"default",{key:0},void 0,!0):T.value&&a.showTitle?(t.openBlock(),t.createBlock(O,t.normalizeProps(t.mergeProps({key:1},T.value)),null,16)):t.createCommentVNode("",!0),t.createElementVNode("div",xt,[t.withDirectives(t.createElementVNode("div",{class:"chart",ref_key:"charts",ref:d},null,512),[[t.vShow,a.showChart]]),x.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chart-loading",style:t.normalizeStyle(y.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"loading-icon",alt:"loading"},null,8,bt),a.loadingText?(t.openBlock(),t.createElementBlock("span",kt,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)])],4))}}),[["__scopeId","data-v-c9b75a2f"]]);W.install=n=>{n.component(W.name,W)};const R=_(Object.assign({name:"hLeft",chineseName:"左侧",description:"页面左侧容器"},{props:{width:{type:String,default:"25%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-left",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-7d94e3d8"]]);R.install=n=>{n.component(R.name,R)};const P=_(Object.assign({name:"hRight",chineseName:"右侧",description:"页面右侧容器"},{props:{width:{type:String,default:"25%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-right",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-8ef316d0"]]);P.install=n=>{n.component(P.name,P)};const q=_(Object.assign({name:"hCenter",chineseName:"居中布局",description:"水平居中布局容器"},{props:{width:{type:String,default:"50%"},height:{type:String,default:"100%"},display:{type:String,default:"block"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-center",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-69a501ea"]]);q.install=n=>{n.component(q.name,q)};const J=_(Object.assign({name:"hTop",chineseName:"顶部",description:"页面顶部容器"},{props:{height:{type:String,default:"70%"},display:{type:String,default:"block"},position:{type:String,default:"relative"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,display:e.display,position:e.position}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-top",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-ee9ecf79"]]);J.install=n=>{n.component(J.name,J)};const U=_(Object.assign({name:"hBottom",chineseName:"底部",description:"页面底部容器"},{props:{height:{type:String,default:"30%"},display:{type:String,default:"flex"},gap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"},columnGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-bottom",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-9fc5eff9"]]);U.install=n=>{n.component(U.name,U)},O.install=n=>{n.component(O.name,O)};const wt={class:"h-item-chart-wrapper"},Bt=["src"],$t={key:0,class:"h-item-chart-loading-text"},Y=_(Object.assign({name:"hItemChart",chineseName:"独立图表",description:"独立的 ECharts 图表容器组件,支持 loading、tooltip 轮播,适用于大屏数据可视化展示"},{props:{height:{type:String,default:"200px"},url:{type:String,default:""},option:{type:Object,required:!0},tooltipLoop:{type:[Boolean,Object],default:!1},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:o}){const i=o,a=n,S=t.computed(()=>({backgroundImage:a.url?`url(${a.url})`:"none",height:a.height})),d=t.ref(null);let l=null;const w=t.ref(!1);let z=0;t.watch(()=>a.loading,m=>{if(m)w.value=!0,z=Date.now();else{const p=(a.loadingMinDuration||0)-(Date.now()-z);p<=0?w.value=!1:setTimeout(()=>{w.value=!1},p)}},{immediate:!0});const T=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),x=t.computed(()=>{if(!a.tooltipLoop)return null;if(a.tooltipLoop===!0)return{interval:2e3,seriesIndex:0,loop:!0,pauseOnHover:!0};const m=a.tooltipLoop;return{interval:m.interval??2e3,seriesIndex:m.seriesIndex??0,loop:m.loop??!0,pauseOnHover:m.pauseOnHover??!0}});let b=null,y=0,c=!1,h=!0;const g=()=>{var m,p,N;try{const s=(m=a.option)==null?void 0:m.series;if(!s||!Array.isArray(s))return 0;const r=s[((p=x.value)==null?void 0:p.seriesIndex)??0];return((N=r==null?void 0:r.data)==null?void 0:N.length)??0}catch{return 0}},B=()=>{if(!l||!x.value||c||!h)return;const m=g();m!==0&&(l.dispatchAction({type:"showTip",seriesIndex:x.value.seriesIndex,dataIndex:y}),y++,y>=m&&(x.value.loop?y=0:k()))},$=()=>{k(),!(!x.value||g()===0)&&(y=0,b=setInterval(B,x.value.interval))},k=()=>{b&&(clearInterval(b),b=null),l&&l.dispatchAction({type:"hideTip"})},E=()=>{c=!0},C=()=>{c=!1},D=A.useDebounceFn(()=>{l&&(l.resize(),i("chart-resize",{instance:l}))},100),st=()=>{var p;if(!l)return;["click","dblclick","mouseover","mouseout"].forEach(N=>l.on(N,s=>i(`chart-${N}`,s))),(p=x.value)!=null&&p.pauseOnHover&&(l.on("mouseover",()=>E()),l.on("mouseout",()=>C()))},G=()=>{l&&(k(),["click","dblclick","mouseover","mouseout"].forEach(p=>l.off(p)),l.dispose(),l=null)},L=()=>{if(G(),!!d.value)try{l=dt.init(d.value),l.setOption(ut(a.option),{notMerge:!0}),st(),i("chart-ready",{instance:l,dom:d.value}),$()}catch(m){console.error("[hItemChart] init:",m)}},ut=m=>{if(!m||typeof m!="object")return{series:[]};const p=JSON.parse(JSON.stringify(m));p.series?Array.isArray(p.series)||(p.series=[p.series]):p.series=[],p.series=p.series.map(s=>{if(!s||typeof s!="object")return{type:"line"};const r={type:"line",...s,type:s.type||"line"};return r.type==="pie"&&r.data&&(r.data=r.data.map(u=>typeof u=="object"&&u!==null?{value:u.value||0,name:u.name||""}:u)),r});const N=(s,r)=>{p[s]?Array.isArray(p[s])?p[s]=p[s].map(u=>({type:r,...u,type:u.type||r})):typeof p[s]=="object"?p[s]={type:r,...p[s],type:p[s].type||r}:p[s]={type:r}:p[s]={type:r}};return N("xAxis","category"),N("yAxis","value"),p.legend&&Array.isArray(p.legend)&&(p.legend={data:p.legend}),p},V=()=>D();return t.onMounted(()=>{setTimeout(()=>L(),0),window.addEventListener("resize",V),A.useResizeObserver(d,()=>D()),a.tooltipLoop&&A.useIntersectionObserver(d,([m])=>{h=m.isIntersecting,h?C():E()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",V),k(),G()}),t.watch(()=>a.option,m=>{if(m)try{if(!l){L();return}l.clear(),l.setOption(ut(m),{notMerge:!0}),$(),i("chart-update",{instance:l,option:m})}catch(p){console.error("[hItemChart] update:",p)}},{deep:!0}),e({getInstance:()=>l,resize:()=>D(),dispatchAction:m=>l==null?void 0:l.dispatchAction(m),dispose:G,startLoop:$,stopLoop:k,pauseLoop:E,resumeLoop:C}),(m,p)=>(t.openBlock(),t.createElementBlock("div",wt,[t.createElementVNode("div",{class:"h-item-chart",ref_key:"itemCharts",ref:d,style:t.normalizeStyle(S.value)},null,4),w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-item-chart-loading",style:t.normalizeStyle(T.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"h-item-chart-loading-icon",alt:"loading"},null,8,Bt),a.loadingText?(t.openBlock(),t.createElementBlock("span",$t,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-4585b2db"]]);Y.install=n=>{n.component(Y.name,Y)};const K=_(Object.assign({name:"hList",chineseName:"滚动列表",description:"支持自动滚动的数据列表组件,适用于大屏数据展示"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100%"},backgroundColor:{type:String,default:"transparent"},data:{type:Array,default:()=>[]},header:{type:Array,default:()=>[]},showHeader:{type:Boolean,default:!1},enableScroll:{type:Boolean,default:!0},headerHeight:{type:String,default:"40px"},headerBackground:{type:String,default:"rgba(255, 255, 255, 0.1)"},scrollDuration:{type:Number,default:2e3},scrollSpeed:{type:Number,default:500},highlightStyle:{type:Object,default:()=>({background:"rgba(0, 102, 255, 0.3)",color:"#fff",boxShadow:"0 0 10px rgba(0, 102, 255, 0.5)"})}},setup(n,{expose:e}){const o=n,i=t.ref(0),a=t.ref(null),S=t.ref(0),d=t.ref([]),l=t.ref(null),w=t.computed(()=>({width:o.width,height:o.height,backgroundColor:o.backgroundColor,position:"relative",overflow:"hidden"})),z=t.computed(()=>({height:o.headerHeight,display:"flex",alignItems:"center",background:o.headerBackground,position:"absolute",top:0,left:0,zIndex:10,width:"100%"})),T=t.computed(()=>({transform:`translateY(-${i.value*S.value}px)`,transition:`transform ${o.scrollSpeed}ms ease-in-out`,marginTop:o.showHeader?o.headerHeight:"0"})),x=g=>g===a.value?o.highlightStyle:{};t.watch(i,g=>{if(o.data.length>0){const B=g%o.data.length;a.value=B}});let b=null;const y=()=>{!o.enableScroll||o.data.length===0||(clearInterval(b),b=setInterval(()=>{i.value=(i.value+1)%o.data.length},o.scrollDuration))},c=()=>{b&&(clearInterval(b),b=null)},h=()=>{d.value&&d.value[0]&&(S.value=d.value[0].offsetHeight||40)};return t.onMounted(()=>{h(),y(),window.addEventListener("resize",h)}),t.onBeforeUnmount(()=>{c(),window.removeEventListener("resize",h)}),t.watch(()=>o.data,g=>{g.length>0?(i.value=0,a.value=null,setTimeout(()=>{h(),y()},100)):c()},{deep:!0}),t.watch(()=>o.enableScroll,g=>{g?y():(c(),i.value=0)}),e({startScroll:y,stopScroll:c,getCurrentIndex:()=>i.value,scrollTo:g=>{g>=0&&g<o.data.length&&(i.value=g)}}),(g,B)=>(t.openBlock(),t.createElementBlock("div",{class:"h-list",style:t.normalizeStyle(w.value)},[n.showHeader?(t.openBlock(),t.createElementBlock("div",{key:0,class:"list-header",style:t.normalizeStyle(z.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.header,($,k)=>(t.openBlock(),t.createElementBlock("p",{key:k,class:"header-item"},t.toDisplayString($),1))),128))],4)):t.createCommentVNode("",!0),n.enableScroll?(t.openBlock(),t.createElementBlock("div",{key:1,class:"scroll-wrapper",style:t.normalizeStyle(T.value)},[t.createElementVNode("div",{class:"data-list",ref_key:"listContainer",ref:l},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.data,($,k)=>(t.openBlock(),t.createElementBlock("div",{key:k,class:"data-list-item",style:t.normalizeStyle(x(k)),ref_for:!0,ref_key:"listItems",ref:d},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList($,(E,C)=>(t.openBlock(),t.createElementBlock("p",{key:C,class:"data-item-cell"},t.toDisplayString(E),1))),128))],4))),128))],512)],4)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-937cc59c"]]);K.install=n=>{n.component(K.name,K)};const Q=_(Object.assign({name:"hView",chineseName:"视图",description:"通用视图容器组件"},{props:{url:{type:String,default:""},height:{type:String,default:"200px"},width:{type:String,default:"100%"},display:{type:String,default:"block"},flexDirection:{type:String,default:"column"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},flex:{type:String,default:"0.2"},position:{type:String,default:"relative"},top:{type:String,default:"auto"},left:{type:String,default:"auto"},alignItems:{type:String,default:"center"},justifyContent:{type:String,default:"start"},padding:{type:String,default:"0"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,rowGap:e.rowGap,columnGap:e.columnGap,flex:e.flex,position:e.position,top:e.top,left:e.left,alignItems:e.alignItems,justifyContent:e.justifyContent,padding:e.padding,backgroundImage:e.url?`url(${e.url})`:"none"}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-view",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-c79a990c"]]);Q.install=n=>{n.component(Q.name,Q)};const X=_(Object.assign({name:"hDataLabel",chineseName:"数据标签",description:"数值与文本标签展示组件"},{props:{url:{type:String,default:""},num:{type:Number,default:12345},text:{type:String,default:"测试"},someText:{type:String,default:"测试"},show:{type:Boolean,default:!0},width:{type:String,default:"230px"},height:{type:String,default:"54px"},position:{type:String,default:"absolute"},left:{type:String,default:"0"},right:{type:String,default:""},top:{type:String,default:"0"},bottom:{type:String,default:""},zIndex:{type:String,default:"1"},display:{type:String,default:"flex"},border:{type:String,default:"none"},flexDirection:{type:String,default:"column"},justifyContent:{type:String,default:"center"},alignItems:{type:String,default:"center"},color:{type:String,default:"#fff"},numFontSize:{type:String,default:"20px"},numFontWeight:{type:String,default:"600"},numColor:{type:String,default:"#fff"},textFontSize:{type:String,default:"10px"},textFontWeight:{type:String,default:""},textColor:{type:String,default:"#fff"},titlelineHeight:{type:String,default:""},titletextAlign:{type:String,default:""},titleFontSize:{type:String,default:"10px"},titleFontWeight:{type:String,default:""},titleColor:{type:String,default:"#fff"},titleShow:{type:Boolean,default:!1}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,position:e.position,left:e.left,right:e.right,top:e.top,bottom:e.bottom,zIndex:e.zIndex,display:e.display,border:e.border,backgroundImage:e.url?`url(${e.url})`:"none",flexDirection:e.flexDirection,justifyContent:e.justifyContent,alignItems:e.alignItems,color:e.color})),i=t.computed(()=>({fontSize:e.numFontSize,fontWeight:e.numFontWeight,color:e.numColor})),a=t.computed(()=>({fontSize:e.textFontSize,fontWeight:e.textFontWeight,color:e.textColor})),S=t.computed(()=>({fontSize:e.titleFontSize,fontWeight:e.titleFontWeight,color:e.titleColor,lineHeight:e.titlelineHeight,textAlign:e.titletextAlign}));return(d,l)=>(t.openBlock(),t.createElementBlock("div",{class:"h-data-label",style:t.normalizeStyle(t.unref(o))},[n.show?(t.openBlock(),t.createElementBlock("span",{key:0,class:"h-data-label-num",style:t.normalizeStyle(t.unref(i))},t.toDisplayString(n.num),5)):t.createCommentVNode("",!0),n.show?(t.openBlock(),t.createElementBlock("span",{key:1,class:"h-data-label-text",style:t.normalizeStyle(t.unref(a))},t.toDisplayString(n.text),5)):t.createCommentVNode("",!0),n.titleShow?(t.openBlock(),t.createElementBlock("span",{key:2,class:"h-data-label-title",style:t.normalizeStyle(t.unref(S))},t.toDisplayString(n.someText),5)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-5b0fbecc"]]);X.install=n=>{n.component(X.name,X)};const Z=_(Object.assign({name:"hButton",chineseName:"按钮",description:"可自定义样式的按钮组件"},{props:{url:{type:String,default:""},padding:{type:String,default:"5px 15px"},margin:{type:String,default:""},width:{type:String,default:""},height:{type:String,default:""},fontSize:{type:String,default:""},fontWeight:{type:Number,default:400},color:{type:String,default:""},border:{type:String,default:""},text:{type:String,default:"测试按钮"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,padding:e.padding,margin:e.margin,border:e.border,backgroundImage:e.url?`url(${e.url})`:"none",fontSize:e.fontSize,fontWeight:e.fontWeight,color:e.color}));return(i,a)=>(t.openBlock(),t.createElementBlock("button",{class:"h-button",style:t.normalizeStyle(t.unref(o))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-533f0ead"]]);Z.install=n=>{n.component(Z.name,Z)};const v=_(Object.assign({name:"hGrid",chineseName:"网格布局",description:"基于 CSS Grid 的网格布局容器"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"200px"},url:{type:String,default:""},display:{type:String,default:"grid"},gridTemplateColumns:{type:String,default:"repeat(3, 1fr)"},gridTemplateRows:{type:String,default:"auto"},gap:{type:String,default:"0"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},padding:{type:String,default:"0"},justifyItems:{type:String,default:""},alignItems:{type:String,default:""},justifyContent:{type:String,default:""},alignContent:{type:String,default:""},gridAutoFlow:{type:String,default:""},gridAutoRows:{type:String,default:""},gridAutoColumns:{type:String,default:""}},setup(n){let e=n,o=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",gridTemplateColumns:e.gridTemplateColumns,gridTemplateRows:e.gridTemplateRows,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap,padding:e.padding,justifyItems:e.justifyItems||void 0,alignItems:e.alignItems||void 0,justifyContent:e.justifyContent||void 0,alignContent:e.alignContent||void 0,gridAutoFlow:e.gridAutoFlow||void 0,gridAutoRows:e.gridAutoRows||void 0,gridAutoColumns:e.gridAutoColumns||void 0}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-grid",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-d4038f65"]]);v.install=n=>{n.component(v.name,v)};const tt=_(Object.assign({name:"hCounter",chineseName:"数字计数器",description:"支持老虎机滚动动画的数字计数器组件,每个数字位独立从0滚动到目标值"},{props:{data:{type:[Number,String],default:123456},width:{type:String,default:"auto"},height:{type:String,default:"auto"},backgroundColor:{type:String,default:"transparent"},backgroundImage:{type:String,default:""},display:{type:String,default:"flex"},justifyContent:{type:String,default:"center"},alignItems:{type:String,default:"center"},gap:{type:String,default:"5px"},position:{type:String,default:"relative",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)},left:{type:String,default:""},right:{type:String,default:""},top:{type:String,default:""},bottom:{type:String,default:""},zIndex:{type:Number,default:1},digitWidth:{type:String,default:""},digitHeight:{type:String,default:""},digitBackgroundImage:{type:String,default:""},digitColor:{type:String,default:"#fff"},digitFontSize:{type:String,default:"32px"},digitFontWeight:{type:String,default:"bold"},digitBackgroundColor:{type:String,default:"transparent"},digitBorderRadius:{type:String,default:"4px"},showSeparator:{type:Boolean,default:!1},separator:{type:String,default:","},decimalPlaces:{type:Number,default:-1},prefix:{type:String,default:""},suffix:{type:String,default:""},enableAnimation:{type:Boolean,default:!0},animationDuration:{type:Number,default:2e3},digitDelay:{type:Number,default:100},transform:{type:String,default:"none"}},setup(n,{expose:e}){const o=n,i=t.ref([]),a=t.ref(!1),S=t.computed(()=>{let y=o.data;o.decimalPlaces>=0&&typeof y=="number"&&(y=y.toFixed(o.decimalPlaces));let c=String(y);if(o.showSeparator&&typeof o.data=="number"){const h=c.split(".");h[0]=h[0].replace(/\B(?=(\d{3})+(?!\d))/g,o.separator),c=h.join(".")}return o.prefix&&(c=o.prefix+c),o.suffix&&(c=c+o.suffix),c.split("")}),d=t.computed(()=>o.digitWidth?o.digitWidth:`${(parseInt(o.digitFontSize)||32)*1.2}px`),l=t.computed(()=>o.digitHeight?o.digitHeight:`${(parseInt(o.digitFontSize)||32)*1.5}px`),w=()=>{if(!o.enableAnimation){i.value=S.value.map(()=>0);return}a.value=!0,i.value=S.value.map(()=>0);const y=S.value;y.forEach((c,h)=>{if(isNaN(parseInt(c))){i.value[h]=c;return}const g=parseInt(c),B=h*o.digitDelay,$=o.animationDuration;setTimeout(()=>{let k=0;const E=$/(g+1),C=()=>{k<=g&&(i.value[h]=k,k++,k<=g?setTimeout(C,E):(h===y.length-1||y.slice(h+1).every(D=>isNaN(parseInt(D))))&&(a.value=!1))};C()},B)})},z=y=>{const c=i.value[y];if(isNaN(parseInt(c)))return{transform:"translateY(0)",transition:"none"};const h=parseInt(l.value)||60;return{transform:`translateY(${-parseInt(c)*h}px)`,transition:`transform ${o.animationDuration}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`}},T=t.computed(()=>({width:o.width,height:o.height,backgroundColor:o.backgroundColor,backgroundImage:o.backgroundImage?`url(${o.backgroundImage})`:"none",display:o.display,justifyContent:o.justifyContent,alignItems:o.alignItems,gap:o.gap,position:o.position,left:o.left||void 0,right:o.right||void 0,top:o.top||void 0,bottom:o.bottom||void 0,zIndex:o.zIndex,transform:o.transform||void 0})),x=t.computed(()=>({width:d.value,height:l.value,overflow:"hidden",position:"relative",borderRadius:o.digitBorderRadius,backgroundColor:o.digitBackgroundColor})),b=t.computed(()=>({width:"100%",height:l.value,color:o.digitColor,fontSize:o.digitFontSize,fontWeight:o.digitFontWeight,display:"flex",justifyContent:"center",alignItems:"center",textAlign:"center",flexShrink:0,lineHeight:"1"}));return t.watch(()=>o.data,()=>{w()}),t.onMounted(()=>{w()}),e({restart:w,getCurrentValue:()=>i.value.join("")}),(y,c)=>(t.openBlock(),t.createElementBlock("div",{class:"h-counter",style:t.normalizeStyle(T.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(S.value,(h,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:"counter-digit",style:t.normalizeStyle(x.value)},[t.createElementVNode("div",{class:"digit-scroll",style:t.normalizeStyle(z(g))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(10,B=>t.createElementVNode("div",{key:B-1,class:"digit-item",style:t.normalizeStyle(b.value)},t.toDisplayString(B-1),5)),64))],4)],4))),128)),t.renderSlot(y.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-fba32a26"]]);tt.install=n=>{n.component(tt.name,tt)};const et=_(Object.assign({name:"hButtonGroup",chineseName:"按钮组",description:"按钮组容器,支持 flex 布局排列"},{props:{width:{type:String,default:""},height:{type:String,default:""},gap:{type:String,default:"5px"},rowGap:{type:String,default:"5px"},columnGap:{type:String,default:"5px"},position:{type:String,default:"relative"},left:{type:String,default:""},right:{type:String,default:""},top:{type:String,default:""},bottom:{type:String,default:""},display:{type:String,default:"flex"},flexWrap:{type:String,default:"nowrap"}},setup(n){let e=n,o=t.computed(()=>({position:e.position,left:e.left,right:e.right,top:e.top,bottom:e.bottom,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap,flexWrap:e.flexWrap,width:e.width,height:e.height}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-button-group",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-f90f2b62"]]);et.install=n=>{n.component(et.name,et)};const nt=_(Object.assign({name:"hText",chineseName:"文本",description:"用于显示文本内容"},{props:{text:{type:String,default:"测试文字"},fontSize:{type:String,default:"16px"},color:{type:String,default:"#fff"}},setup(n){let e=n,o=t.computed(()=>({fontSize:e.fontSize,color:e.color}));return(i,a)=>(t.openBlock(),t.createElementBlock("span",{class:"h-text",style:t.normalizeStyle(t.unref(o))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-7fb2fc92"]]);nt.install=n=>{n.component(nt.name,nt)};const ot=_(Object.assign({name:"hLayout",chineseName:"布局",description:"页面布局容器"},{props:{width:{type:String,default:"25%"},height:{type:String,default:"100%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-layout",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-957ea318"]]);ot.install=n=>{n.component(ot.name,ot)};const at=_(Object.assign({name:"hFlex",chineseName:"弹性布局",description:"基于 CSS Flexbox 的弹性布局容器"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100px"},url:{type:String,default:""},display:{type:String,default:"flex"},flexDirection:{type:String,default:""},flexWrap:{type:String,default:"wrap"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},padding:{type:String,default:"0"}},setup(n){let e=n,o=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",rowGap:e.rowGap,columnGap:e.columnGap,padding:e.padding,flexDirection:e.flexDirection,flexWrap:e.flexWrap}));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-flex",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-6ecd9f03"]]);at.install=n=>{n.component(at.name,at)};const Ct={class:"h-map-wrapper"},It=["src"],zt={key:0,class:"h-map-loading-text"},it=_(Object.assign({name:"hMap",chineseName:"地图",description:"基于 ECharts 的高自定义地图组件,支持 GeoJSON 注册、多层 geo 叠加、散点标记等"},{props:{mapName:{type:String,required:!0},mapJson:{type:Object,required:!0},option:{type:Object,required:!0},roam:{type:[Boolean,String],default:!1},height:{type:String,default:"100%"},width:{type:String,default:"100%"},url:{type:String,default:""},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-click","chart-dblclick"],setup(n,{expose:e,emit:o}){const i=o,a=n,S=t.ref(null);let d=null;const l=t.computed(()=>({width:a.width,height:a.height,backgroundImage:a.url?`url(${a.url})`:"none",backgroundSize:"100% 100%",backgroundRepeat:"no-repeat"})),w=t.ref(!1);let z=0;t.watch(()=>a.loading,c=>{if(c)w.value=!0,z=Date.now();else{const h=Date.now()-z,g=(a.loadingMinDuration||0)-h;g<=0?w.value=!1:setTimeout(()=>{w.value=!1},g)}},{immediate:!0});const T=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),x=A.useDebounceFn(()=>{d&&!d.isDisposed()&&d.resize()},100),b=()=>{d&&(d.isDisposed()||(d.off("click"),d.off("dblclick"),d.dispose()),d=null)},y=()=>{if(b(),!!S.value)try{dt.registerMap(a.mapName,a.mapJson),d=dt.init(S.value),d.on("click",c=>{i("chart-click",c)}),d.on("dblclick",c=>{i("chart-dblclick",c)}),d.setOption(a.option,{notMerge:!0}),i("chart-ready",{instance:d,dom:S.value})}catch(c){console.error("[h-map] 初始化失败:",c)}};return t.watch(()=>a.mapJson,()=>{t.nextTick(()=>{y()})}),t.watch(()=>a.option,c=>{if(!(!c||!d||d.isDisposed()))try{d.setOption(c,{notMerge:!0})}catch(h){console.error("[h-map] 更新配置失败:",h)}},{deep:!0}),t.onMounted(()=>{t.nextTick(()=>{y()}),A.useResizeObserver(S,()=>{x()})}),t.onBeforeUnmount(()=>{b()}),e({getInstance:()=>d,resize:()=>x(),dispatchAction:c=>d==null?void 0:d.dispatchAction(c),dispose:b}),(c,h)=>(t.openBlock(),t.createElementBlock("div",Ct,[t.createElementVNode("div",{class:"h-map",ref_key:"mapContainer",ref:S,style:t.normalizeStyle(l.value)},null,4),w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-map-loading",style:t.normalizeStyle(T.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"h-map-loading-icon",alt:"loading"},null,8,It),a.loadingText?(t.openBlock(),t.createElementBlock("span",zt,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-7350dc12"]]);it.install=n=>{n.component(it.name,it)};const lt=t.ref(!1),ft=t.ref(""),mt=t.ref(""),gt=t.ref("");let j=null,ht=0;function Dt(n){ht=n}function Nt(){function n(o={}){ft.value=o.text??"加载中...",mt.value=o.icon??"",gt.value=o.bgColor??"",lt.value=!0,j&&clearTimeout(j);const i=o.duration!==void 0?o.duration:ht;i>0&&(j=setTimeout(()=>{lt.value=!1,j=null},i))}function e(){j&&(clearTimeout(j),j=null),lt.value=!1}return{show:n,hide:e,visible:lt}}const Tt={class:"h-loading-box"},Et=["src"],At={key:0,class:"h-loading-text"},rt=_(Object.assign({name:"hLoading",chineseName:"全局加载",description:"页面级全屏 loading 遮罩,支持 router 跳转、页面刷新等场景,通过 useLoading() 全局控制"},{setup(n){const e=t.computed(()=>mt.value||pt),o=t.computed(()=>gt.value?{background:gt.value}:{});return(i,a)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"h-loading-fade"},{default:t.withCtx(()=>[t.unref(lt)?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-loading",style:t.normalizeStyle(o.value)},[t.createElementVNode("div",Tt,[t.createElementVNode("img",{src:e.value,class:"h-loading-icon",alt:"loading"},null,8,Et),t.unref(ft)?(t.openBlock(),t.createElementBlock("span",At,t.toDisplayString(t.unref(ft)),1)):t.createCommentVNode("",!0)])],4)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-ae6739ea"]]);rt.install=n=>{n.component(rt.name,rt)};const jt={install:n=>{n.use(F),n.use(H),n.use(ot),n.use(M),n.use(W),n.use(R),n.use(P),n.use(q),n.use(J),n.use(U),n.use(O),n.use(Y),n.use(K),n.use(Q),n.use(X),n.use(Z),n.use(v),n.use(tt),n.use(et),n.use(nt),n.use(at),n.use(it),n.use(rt)}};f.default=jt,f.hBottom=U,f.hButton=Z,f.hButtonGroup=et,f.hCenter=q,f.hChart=W,f.hChartTitle=O,f.hCounter=tt,f.hDataLabel=X,f.hFlex=at,f.hGrid=v,f.hHeader=H,f.hItemChart=Y,f.hLayout=ot,f.hLeft=R,f.hList=K,f.hLoading=rt,f.hMain=M,f.hMap=it,f.hPanel=F,f.hRight=P,f.hText=nt,f.hTop=J,f.hView=Q,f.setDefaultDuration=Dt,f.useLoading=Nt,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(f,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("echarts"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","echarts","@vueuse/core"],t):(f=typeof globalThis<"u"?globalThis:f||self,t(f.HamsterCharts={},f.Vue,f.echarts,f.VueUse))})(this,function(f,t,ht,E){"use strict";function _t(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const o in n)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(n,o);Object.defineProperty(e,o,l.get?l:{enumerable:!0,get:()=>n[o]})}}return e.default=n,Object.freeze(e)}const dt=_t(ht),_=(n,e)=>{const o=n.__vccOpts||n;for(const[l,a]of e)o[l]=a;return o},F=_(Object.assign({name:"hPanel",chineseName:"面板",description:"页面主体容器"},{props:{url:{type:String,default:""},position:{type:String,default:"relative",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)}},setup(n){let e=n,o=t.computed(()=>({position:e.position,backgroundImage:e.url?`url(${e.url})`:"none"}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-panel",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-474190fc"]]);F.install=n=>{n.component(F.name,F)};const H=_(Object.assign({name:"hHeader",chineseName:"标题",description:"页面标题容器"},{props:{url:{type:String,default:""},width:{type:String,default:"100%"},height:{type:String,default:"70px"},text:{type:String,default:"测试标题"},fontSize:{type:String,default:"26px"},color:{type:String,default:"#fff"},showText:{type:Boolean,default:!0},textPosition:{type:String,default:"absolute",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)},textTop:{type:String,default:"50%"},textLeft:{type:String,default:"50%"},textTransform:{type:String,default:"translate(-50%, -50%)"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,backgroundImage:`url( ${e.url})`})),l=t.computed(()=>({color:e.color,fontSize:e.fontSize,position:e.textPosition,top:e.textTop,left:e.textLeft,transform:e.textTransform}));return(a,S)=>(t.openBlock(),t.createElementBlock("div",{class:"h-header",style:t.normalizeStyle(t.unref(o))},[t.unref(e).showText?(t.openBlock(),t.createElementBlock("span",{key:0,style:t.normalizeStyle(t.unref(l))},t.toDisplayString(t.unref(e).text),5)):t.createCommentVNode("",!0),t.renderSlot(a.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-b83cf769"]]);H.install=n=>{n.component(H.name,H)};const M=_(Object.assign({name:"hMain",chineseName:"主内容区",description:"页面主内容工作区"},{props:{height:{type:String,default:"200px"},display:{type:String,default:"flex"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"},padding:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({height:e.height!=="auto"||e.height!=="0"?`calc(100% - ${e.height})`:e.height,display:e.display,columnGap:e.columnGap,rowGap:e.rowGap,padding:e.padding}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-main",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-1025786b"]]);M.install=n=>{n.component(M.name,M)};const St={class:"def-text"},O=_(Object.assign({name:"hChartTitle",chineseName:"图表标题",description:"图表标题组件"},{props:{fontSize:{type:String,default:"16px"},url:{type:String,default:""},height:{type:String,default:"50px"},paddingLeft:{type:String,default:"auto"},paddingRight:{type:String,default:"auto"},paddingTop:{type:String,default:"auto"},paddingBottom:{type:String,default:"auto"},color:{type:String,default:"#fff"},text:{type:String,default:"测试标题"},display:{type:String,default:"block"},textAlign:{type:String,default:"start"},alignItems:{type:String,default:"center"},justifyContent:{type:String,default:"start"},position:{type:String,default:"relative"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,backgroundImage:`url(${e.url})`,fontSize:e.fontSize,paddingLeft:e.paddingLeft,paddingRight:e.paddingRight,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,color:e.color,display:e.display,textAlign:e.textAlign,alignItems:e.alignItems,justifyContent:e.justifyContent,position:e.position}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart-title",style:t.normalizeStyle(t.unref(o))},[t.createElementVNode("span",St,t.toDisplayString(t.unref(e).text),1),t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-412bbd72"]]),pt="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1780631644175'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1701'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M923.851581%20338.007247c-20.012799-47.313585-47.717791-90.324168-82.448804-128.128169%206.875594-13.544481%2010.753925-28.866445%2010.753925-45.096081%200-55.099922-44.667316-99.767238-99.767238-99.767238-29.051663%200-55.19816%2012.420891-73.431429%2032.237215-53.058426-21.390169-109.183701-32.237215-166.958546-32.237215-60.334133%200-118.873388%2011.821233-173.98866%2035.134195-53.232388%2022.51376-101.031021%2054.741765-142.073786%2095.78453-41.045835%2041.043788-73.272817%2088.844467-95.785553%20142.073786C76.837504%20393.126612%2065.014224%20451.665867%2065.014224%20512.001023c0%2060.33311%2011.82328%20118.873388%2035.134195%20173.989683%2022.51376%2053.230342%2054.741765%20101.029998%2095.785553%20142.073786%2041.041742%2041.043788%2088.841398%2073.27077%20142.073786%2095.785553%2055.116295%2023.311939%20113.65555%2035.134195%20173.989683%2035.134195s118.873388-11.822257%20173.992753-35.134195c53.229319-22.514783%20101.029998-54.742788%20142.072763-95.785553%2041.045835-41.043788%2073.272817-88.843444%2095.785553-142.073786%2023.309892-55.116295%2035.134195-113.656573%2035.134195-173.989683C958.985776%20451.665867%20947.161473%20393.127635%20923.851581%20338.007247zM887.891578%20670.783353c-20.545942%2048.575322-49.960879%2092.203982-87.430258%20129.676431-37.473473%2037.470403-81.100086%2066.88841-129.679501%2087.432305-50.28015%2021.263279-103.702873%2032.047904-158.783353%2032.047904-55.07741%200-108.500133-10.782577-158.785399-32.047904-48.575322-20.545942-92.203982-49.961902-129.676431-87.432305-37.47245-37.47245-66.88841-81.101109-87.430258-129.676431-21.267373-50.28015-32.050973-103.703897-32.050973-158.784376s10.783601-108.503203%2032.050973-158.783353c20.541849-48.575322%2049.958832-92.206028%2087.430258-129.676431%2037.47245-37.470403%2081.101109-66.887386%20129.676431-87.433328%2050.285267-21.266349%20103.70799-32.04995%20158.785399-32.04995%2050.600445%200%2099.797937%209.107425%20146.447397%2027.074635-3.767813%2010.514471-5.824659%2021.842471-5.824659%2033.653471%200%2055.099922%2044.667316%2099.767238%2099.767238%2099.767238%2024.573675%200%2047.065945-8.889461%2064.452941-23.620977%2029.737278%2033.372062%2053.603849%2071.037916%2071.050196%20112.285343%2021.266349%2050.28015%2032.04995%20103.702873%2032.04995%20158.783353S909.15895%20620.503203%20887.891578%20670.783353z'%20fill='%230066ff'%20p-id='1702'%3e%3c/path%3e%3c/svg%3e",xt=["src"],bt={key:0,class:"loading-text"},W=_(Object.assign({name:"hChart",chineseName:"图表",description:"基于 ECharts 的图表容器组件,支持自适应和事件交互"},{props:{height:{type:String,default:"auto"},showChart:{type:Boolean,default:!0},url:{type:String,default:""},flex:{type:Number,default:.3},option:{type:Object,required:!0},tooltipLoop:{type:[Boolean,Object],default:!1},title:{type:[String,Object],default:""},showTitle:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:o}){const l=o,a=n,S=t.computed(()=>({backgroundImage:a.url?`url(${a.url})`:"none",flex:a.flex,height:a.height})),d=t.ref(null);let i=null;const w=t.useSlots(),z=t.computed(()=>!!w.default),T=t.computed(()=>a.title?typeof a.title=="string"?{text:a.title}:a.title:null),x=t.ref(!1);let b=0;t.watch(()=>a.loading,s=>{if(s)x.value=!0,b=Date.now();else{const r=Date.now()-b,u=(a.loadingMinDuration||0)-r;u<=0?x.value=!1:setTimeout(()=>{x.value=!1},u)}},{immediate:!0});const h=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),c=t.computed(()=>{if(!a.tooltipLoop)return null;if(a.tooltipLoop===!0)return{interval:2e3,seriesIndex:0,loop:!0,pauseOnHover:!0};const s=a.tooltipLoop;return{interval:s.interval??2e3,seriesIndex:s.seriesIndex??0,loop:s.loop??!0,pauseOnHover:s.pauseOnHover??!0}});let y=null,g=0,B=!1,$=!0;const k=()=>{var s,r;try{const u=(s=a.option)==null?void 0:s.series;if(!u||!Array.isArray(u))return 0;const I=u[((r=c.value)==null?void 0:r.seriesIndex)??0];return I!=null&&I.data?I.data.length:0}catch{return 0}},A=()=>{if(!i||!c.value||B||!$)return;const s=k();s!==0&&(i.dispatchAction({type:"showTip",seriesIndex:c.value.seriesIndex,dataIndex:g}),g++,g>=s&&(c.value.loop?g=0:D()))},C=()=>{D(),!(!c.value||k()===0)&&(g=0,y=setInterval(A,c.value.interval))},D=()=>{y&&(clearInterval(y),y=null),i&&i.dispatchAction({type:"hideTip"})},st=()=>{B=!0},G=()=>{B=!1},L=E.useDebounceFn(()=>{i&&(i.resize(),l("chart-resize",{instance:i}))},100),ut=()=>{var r;if(!i)return;["click","dblclick","mouseover","mouseout"].forEach(u=>{i.on(u,I=>{l(`chart-${u}`,I)})}),(r=c.value)!=null&&r.pauseOnHover&&(i.on("mouseover",()=>{st()}),i.on("mouseout",()=>{G()}))},V=()=>{i&&(D(),["click","dblclick","mouseover","mouseout"].forEach(r=>{i.off(r)}),i.dispose(),i=null)},m=()=>{if(V(),!!d.value)try{const s=p(a.option);i=dt.init(d.value),i.setOption(s,{notMerge:!0}),ut(),l("chart-ready",{instance:i,dom:d.value}),C()}catch(s){console.error("ECharts initialization failed:",s)}},p=s=>{if(!s||typeof s!="object")return{series:[]};const r=JSON.parse(JSON.stringify(s));return r.series?Array.isArray(r.series)||(r.series=[r.series]):r.series=[],r.series=r.series.map(u=>{if(!u||typeof u!="object")return{type:"line"};const I={type:"line",...u,type:u.type||"line"};return I.type==="pie"&&I.data&&(I.data=I.data.map(ct=>typeof ct=="object"&&ct!==null?{type:"line",...ct,type:ct.type||"line"}:ct)),I}),r.xAxis?Array.isArray(r.xAxis)?r.xAxis=r.xAxis.map(u=>!u||typeof u!="object"?{type:"category"}:{type:"category",...u,type:u.type||"category"}):typeof r.xAxis=="object"?r.xAxis={type:"category",...r.xAxis,type:r.xAxis.type||"category"}:r.xAxis={type:"category"}:r.xAxis={type:"category"},r.yAxis?Array.isArray(r.yAxis)?r.yAxis=r.yAxis.map(u=>!u||typeof u!="object"?{type:"value"}:{type:"value",...u,type:u.type||"value"}):typeof r.yAxis=="object"?r.yAxis={type:"value",...r.yAxis,type:r.yAxis.type||"value"}:r.yAxis={type:"value"}:r.yAxis={type:"value"},r.legend&&(typeof r.legend=="object"&&!Array.isArray(r.legend)||Array.isArray(r.legend)&&(r.legend={data:r.legend})),r},N=()=>{L()};return t.onMounted(()=>{setTimeout(()=>{m()},0),window.addEventListener("resize",N),E.useResizeObserver(d,s=>{L()}),a.tooltipLoop&&E.useIntersectionObserver(d,([s])=>{$=s.isIntersecting,$?G():st()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",N),D(),V()}),t.watch(()=>a.option,(s,r)=>{if(s)try{const u=p(s);if(!i){m();return}i.clear(),i.setOption(u,{notMerge:!0}),C(),l("chart-update",{instance:i,option:u})}catch(u){console.error("更新图表配置时出错:",u),console.error(" 错误堆栈:",u.stack)}},{deep:!0}),t.watch(()=>a.showChart,s=>{i&&setTimeout(()=>{i.resize()},0)}),e({getInstance:()=>i,resize:()=>L(),dispatchAction:s=>i==null?void 0:i.dispatchAction(s),dispose:V,startLoop:C,stopLoop:D,pauseLoop:st,resumeLoop:G}),(s,r)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart",style:t.normalizeStyle(S.value)},[z.value?t.renderSlot(s.$slots,"default",{key:0},void 0,!0):T.value&&a.showTitle?(t.openBlock(),t.createBlock(O,t.normalizeProps(t.mergeProps({key:1},T.value)),null,16)):t.createCommentVNode("",!0),a.showChart?(t.openBlock(),t.createElementBlock("div",{key:2,class:"chart",ref_key:"charts",ref:d},[x.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chart-loading",style:t.normalizeStyle(h.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"loading-icon",alt:"loading"},null,8,xt),a.loadingText?(t.openBlock(),t.createElementBlock("span",bt,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)],512)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-0af49945"]]);W.install=n=>{n.component(W.name,W)};const R=_(Object.assign({name:"hLeft",chineseName:"左侧",description:"页面左侧容器"},{props:{width:{type:String,default:"25%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-left",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-7d94e3d8"]]);R.install=n=>{n.component(R.name,R)};const P=_(Object.assign({name:"hRight",chineseName:"右侧",description:"页面右侧容器"},{props:{width:{type:String,default:"25%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-right",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-8ef316d0"]]);P.install=n=>{n.component(P.name,P)};const q=_(Object.assign({name:"hCenter",chineseName:"居中布局",description:"水平居中布局容器"},{props:{width:{type:String,default:"50%"},height:{type:String,default:"100%"},display:{type:String,default:"block"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-center",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-69a501ea"]]);q.install=n=>{n.component(q.name,q)};const J=_(Object.assign({name:"hTop",chineseName:"顶部",description:"页面顶部容器"},{props:{height:{type:String,default:"70%"},display:{type:String,default:"block"},position:{type:String,default:"relative"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,display:e.display,position:e.position}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-top",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-ee9ecf79"]]);J.install=n=>{n.component(J.name,J)};const U=_(Object.assign({name:"hBottom",chineseName:"底部",description:"页面底部容器"},{props:{height:{type:String,default:"30%"},display:{type:String,default:"flex"},gap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"},columnGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({height:e.height,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-bottom",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-9fc5eff9"]]);U.install=n=>{n.component(U.name,U)},O.install=n=>{n.component(O.name,O)};const kt=["src"],wt={key:0,class:"h-item-chart-loading-text"},Y=_(Object.assign({name:"hItemChart",chineseName:"独立图表",description:"独立的 ECharts 图表容器组件,支持 loading、tooltip 轮播,适用于大屏数据可视化展示"},{props:{height:{type:String,default:"200px"},url:{type:String,default:""},option:{type:Object,required:!0},tooltipLoop:{type:[Boolean,Object],default:!1},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:o}){const l=o,a=n,S=t.computed(()=>({backgroundImage:a.url?`url(${a.url})`:"none",height:a.height})),d=t.ref(null);let i=null;const w=t.ref(!1);let z=0;t.watch(()=>a.loading,m=>{if(m)w.value=!0,z=Date.now();else{const p=(a.loadingMinDuration||0)-(Date.now()-z);p<=0?w.value=!1:setTimeout(()=>{w.value=!1},p)}},{immediate:!0});const T=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),x=t.computed(()=>{if(!a.tooltipLoop)return null;if(a.tooltipLoop===!0)return{interval:2e3,seriesIndex:0,loop:!0,pauseOnHover:!0};const m=a.tooltipLoop;return{interval:m.interval??2e3,seriesIndex:m.seriesIndex??0,loop:m.loop??!0,pauseOnHover:m.pauseOnHover??!0}});let b=null,h=0,c=!1,y=!0;const g=()=>{var m,p,N;try{const s=(m=a.option)==null?void 0:m.series;if(!s||!Array.isArray(s))return 0;const r=s[((p=x.value)==null?void 0:p.seriesIndex)??0];return((N=r==null?void 0:r.data)==null?void 0:N.length)??0}catch{return 0}},B=()=>{if(!i||!x.value||c||!y)return;const m=g();m!==0&&(i.dispatchAction({type:"showTip",seriesIndex:x.value.seriesIndex,dataIndex:h}),h++,h>=m&&(x.value.loop?h=0:k()))},$=()=>{k(),!(!x.value||g()===0)&&(h=0,b=setInterval(B,x.value.interval))},k=()=>{b&&(clearInterval(b),b=null),i&&i.dispatchAction({type:"hideTip"})},A=()=>{c=!0},C=()=>{c=!1},D=E.useDebounceFn(()=>{i&&(i.resize(),l("chart-resize",{instance:i}))},100),st=()=>{var p;if(!i)return;["click","dblclick","mouseover","mouseout"].forEach(N=>i.on(N,s=>l(`chart-${N}`,s))),(p=x.value)!=null&&p.pauseOnHover&&(i.on("mouseover",()=>A()),i.on("mouseout",()=>C()))},G=()=>{i&&(k(),["click","dblclick","mouseover","mouseout"].forEach(p=>i.off(p)),i.dispose(),i=null)},L=()=>{if(G(),!!d.value)try{i=dt.init(d.value),i.setOption(ut(a.option),{notMerge:!0}),st(),l("chart-ready",{instance:i,dom:d.value}),$()}catch(m){console.error("[hItemChart] init:",m)}},ut=m=>{if(!m||typeof m!="object")return{series:[]};const p=JSON.parse(JSON.stringify(m));p.series?Array.isArray(p.series)||(p.series=[p.series]):p.series=[],p.series=p.series.map(s=>{if(!s||typeof s!="object")return{type:"line"};const r={type:"line",...s,type:s.type||"line"};return r.type==="pie"&&r.data&&(r.data=r.data.map(u=>typeof u=="object"&&u!==null?{value:u.value||0,name:u.name||""}:u)),r});const N=(s,r)=>{p[s]?Array.isArray(p[s])?p[s]=p[s].map(u=>({type:r,...u,type:u.type||r})):typeof p[s]=="object"?p[s]={type:r,...p[s],type:p[s].type||r}:p[s]={type:r}:p[s]={type:r}};return N("xAxis","category"),N("yAxis","value"),p.legend&&Array.isArray(p.legend)&&(p.legend={data:p.legend}),p},V=()=>D();return t.onMounted(()=>{setTimeout(()=>L(),0),window.addEventListener("resize",V),E.useResizeObserver(d,()=>D()),a.tooltipLoop&&E.useIntersectionObserver(d,([m])=>{y=m.isIntersecting,y?C():A()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",V),k(),G()}),t.watch(()=>a.option,m=>{if(m)try{if(!i){L();return}i.clear(),i.setOption(ut(m),{notMerge:!0}),$(),l("chart-update",{instance:i,option:m})}catch(p){console.error("[hItemChart] update:",p)}},{deep:!0}),e({getInstance:()=>i,resize:()=>D(),dispatchAction:m=>i==null?void 0:i.dispatchAction(m),dispose:G,startLoop:$,stopLoop:k,pauseLoop:A,resumeLoop:C}),(m,p)=>(t.openBlock(),t.createElementBlock("div",{class:"h-item-chart",ref_key:"itemCharts",ref:d,style:t.normalizeStyle(S.value)},[w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-item-chart-loading",style:t.normalizeStyle(T.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"h-item-chart-loading-icon",alt:"loading"},null,8,kt),a.loadingText?(t.openBlock(),t.createElementBlock("span",wt,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-477585e0"]]);Y.install=n=>{n.component(Y.name,Y)};const K=_(Object.assign({name:"hList",chineseName:"滚动列表",description:"支持自动滚动的数据列表组件,适用于大屏数据展示"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100%"},backgroundColor:{type:String,default:"transparent"},data:{type:Array,default:()=>[]},header:{type:Array,default:()=>[]},showHeader:{type:Boolean,default:!1},enableScroll:{type:Boolean,default:!0},headerHeight:{type:String,default:"40px"},headerBackground:{type:String,default:"rgba(255, 255, 255, 0.1)"},scrollDuration:{type:Number,default:2e3},scrollSpeed:{type:Number,default:500},highlightStyle:{type:Object,default:()=>({background:"rgba(0, 102, 255, 0.3)",color:"#fff",boxShadow:"0 0 10px rgba(0, 102, 255, 0.5)"})}},setup(n,{expose:e}){const o=n,l=t.ref(0),a=t.ref(null),S=t.ref(0),d=t.ref([]),i=t.ref(null),w=t.computed(()=>({width:o.width,height:o.height,backgroundColor:o.backgroundColor,position:"relative",overflow:"hidden"})),z=t.computed(()=>({height:o.headerHeight,display:"flex",alignItems:"center",background:o.headerBackground,position:"absolute",top:0,left:0,zIndex:10,width:"100%"})),T=t.computed(()=>({transform:`translateY(-${l.value*S.value}px)`,transition:`transform ${o.scrollSpeed}ms ease-in-out`,marginTop:o.showHeader?o.headerHeight:"0"})),x=g=>g===a.value?o.highlightStyle:{};t.watch(l,g=>{if(o.data.length>0){const B=g%o.data.length;a.value=B}});let b=null;const h=()=>{!o.enableScroll||o.data.length===0||(clearInterval(b),b=setInterval(()=>{l.value=(l.value+1)%o.data.length},o.scrollDuration))},c=()=>{b&&(clearInterval(b),b=null)},y=()=>{d.value&&d.value[0]&&(S.value=d.value[0].offsetHeight||40)};return t.onMounted(()=>{y(),h(),window.addEventListener("resize",y)}),t.onBeforeUnmount(()=>{c(),window.removeEventListener("resize",y)}),t.watch(()=>o.data,g=>{g.length>0?(l.value=0,a.value=null,setTimeout(()=>{y(),h()},100)):c()},{deep:!0}),t.watch(()=>o.enableScroll,g=>{g?h():(c(),l.value=0)}),e({startScroll:h,stopScroll:c,getCurrentIndex:()=>l.value,scrollTo:g=>{g>=0&&g<o.data.length&&(l.value=g)}}),(g,B)=>(t.openBlock(),t.createElementBlock("div",{class:"h-list",style:t.normalizeStyle(w.value)},[n.showHeader?(t.openBlock(),t.createElementBlock("div",{key:0,class:"list-header",style:t.normalizeStyle(z.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.header,($,k)=>(t.openBlock(),t.createElementBlock("p",{key:k,class:"header-item"},t.toDisplayString($),1))),128))],4)):t.createCommentVNode("",!0),n.enableScroll?(t.openBlock(),t.createElementBlock("div",{key:1,class:"scroll-wrapper",style:t.normalizeStyle(T.value)},[t.createElementVNode("div",{class:"data-list",ref_key:"listContainer",ref:i},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.data,($,k)=>(t.openBlock(),t.createElementBlock("div",{key:k,class:"data-list-item",style:t.normalizeStyle(x(k)),ref_for:!0,ref_key:"listItems",ref:d},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList($,(A,C)=>(t.openBlock(),t.createElementBlock("p",{key:C,class:"data-item-cell"},t.toDisplayString(A),1))),128))],4))),128))],512)],4)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-937cc59c"]]);K.install=n=>{n.component(K.name,K)};const Q=_(Object.assign({name:"hView",chineseName:"视图",description:"通用视图容器组件"},{props:{url:{type:String,default:""},height:{type:String,default:"200px"},width:{type:String,default:"100%"},display:{type:String,default:"block"},flexDirection:{type:String,default:"column"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},flex:{type:String,default:"0.2"},position:{type:String,default:"relative"},top:{type:String,default:"auto"},left:{type:String,default:"auto"},alignItems:{type:String,default:"center"},justifyContent:{type:String,default:"start"},padding:{type:String,default:"0"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,rowGap:e.rowGap,columnGap:e.columnGap,flex:e.flex,position:e.position,top:e.top,left:e.left,alignItems:e.alignItems,justifyContent:e.justifyContent,padding:e.padding,backgroundImage:e.url?`url(${e.url})`:"none"}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-view",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-c79a990c"]]);Q.install=n=>{n.component(Q.name,Q)};const X=_(Object.assign({name:"hDataLabel",chineseName:"数据标签",description:"数值与文本标签展示组件"},{props:{url:{type:String,default:""},num:{type:Number,default:12345},text:{type:String,default:"测试"},someText:{type:String,default:"测试"},show:{type:Boolean,default:!0},width:{type:String,default:"230px"},height:{type:String,default:"54px"},position:{type:String,default:"absolute"},left:{type:String,default:"0"},right:{type:String,default:""},top:{type:String,default:"0"},bottom:{type:String,default:""},zIndex:{type:String,default:"1"},display:{type:String,default:"flex"},border:{type:String,default:"none"},flexDirection:{type:String,default:"column"},justifyContent:{type:String,default:"center"},alignItems:{type:String,default:"center"},color:{type:String,default:"#fff"},numFontSize:{type:String,default:"20px"},numFontWeight:{type:String,default:"600"},numColor:{type:String,default:"#fff"},textFontSize:{type:String,default:"10px"},textFontWeight:{type:String,default:""},textColor:{type:String,default:"#fff"},titlelineHeight:{type:String,default:""},titletextAlign:{type:String,default:""},titleFontSize:{type:String,default:"10px"},titleFontWeight:{type:String,default:""},titleColor:{type:String,default:"#fff"},titleShow:{type:Boolean,default:!1}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,position:e.position,left:e.left,right:e.right,top:e.top,bottom:e.bottom,zIndex:e.zIndex,display:e.display,border:e.border,backgroundImage:e.url?`url(${e.url})`:"none",flexDirection:e.flexDirection,justifyContent:e.justifyContent,alignItems:e.alignItems,color:e.color})),l=t.computed(()=>({fontSize:e.numFontSize,fontWeight:e.numFontWeight,color:e.numColor})),a=t.computed(()=>({fontSize:e.textFontSize,fontWeight:e.textFontWeight,color:e.textColor})),S=t.computed(()=>({fontSize:e.titleFontSize,fontWeight:e.titleFontWeight,color:e.titleColor,lineHeight:e.titlelineHeight,textAlign:e.titletextAlign}));return(d,i)=>(t.openBlock(),t.createElementBlock("div",{class:"h-data-label",style:t.normalizeStyle(t.unref(o))},[n.show?(t.openBlock(),t.createElementBlock("span",{key:0,class:"h-data-label-num",style:t.normalizeStyle(t.unref(l))},t.toDisplayString(n.num),5)):t.createCommentVNode("",!0),n.show?(t.openBlock(),t.createElementBlock("span",{key:1,class:"h-data-label-text",style:t.normalizeStyle(t.unref(a))},t.toDisplayString(n.text),5)):t.createCommentVNode("",!0),n.titleShow?(t.openBlock(),t.createElementBlock("span",{key:2,class:"h-data-label-title",style:t.normalizeStyle(t.unref(S))},t.toDisplayString(n.someText),5)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-5b0fbecc"]]);X.install=n=>{n.component(X.name,X)};const Z=_(Object.assign({name:"hButton",chineseName:"按钮",description:"可自定义样式的按钮组件"},{props:{url:{type:String,default:""},padding:{type:String,default:"5px 15px"},margin:{type:String,default:""},width:{type:String,default:""},height:{type:String,default:""},fontSize:{type:String,default:""},fontWeight:{type:Number,default:400},color:{type:String,default:""},border:{type:String,default:""},text:{type:String,default:"测试按钮"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,padding:e.padding,margin:e.margin,border:e.border,backgroundImage:e.url?`url(${e.url})`:"none",fontSize:e.fontSize,fontWeight:e.fontWeight,color:e.color}));return(l,a)=>(t.openBlock(),t.createElementBlock("button",{class:"h-button",style:t.normalizeStyle(t.unref(o))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-533f0ead"]]);Z.install=n=>{n.component(Z.name,Z)};const v=_(Object.assign({name:"hGrid",chineseName:"网格布局",description:"基于 CSS Grid 的网格布局容器"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"200px"},url:{type:String,default:""},display:{type:String,default:"grid"},gridTemplateColumns:{type:String,default:"repeat(3, 1fr)"},gridTemplateRows:{type:String,default:"auto"},gap:{type:String,default:"0"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},padding:{type:String,default:"0"},justifyItems:{type:String,default:""},alignItems:{type:String,default:""},justifyContent:{type:String,default:""},alignContent:{type:String,default:""},gridAutoFlow:{type:String,default:""},gridAutoRows:{type:String,default:""},gridAutoColumns:{type:String,default:""}},setup(n){let e=n,o=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",gridTemplateColumns:e.gridTemplateColumns,gridTemplateRows:e.gridTemplateRows,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap,padding:e.padding,justifyItems:e.justifyItems||void 0,alignItems:e.alignItems||void 0,justifyContent:e.justifyContent||void 0,alignContent:e.alignContent||void 0,gridAutoFlow:e.gridAutoFlow||void 0,gridAutoRows:e.gridAutoRows||void 0,gridAutoColumns:e.gridAutoColumns||void 0}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-grid",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-d4038f65"]]);v.install=n=>{n.component(v.name,v)};const tt=_(Object.assign({name:"hCounter",chineseName:"数字计数器",description:"支持老虎机滚动动画的数字计数器组件,每个数字位独立从0滚动到目标值"},{props:{data:{type:[Number,String],default:123456},width:{type:String,default:"auto"},height:{type:String,default:"auto"},backgroundColor:{type:String,default:"transparent"},backgroundImage:{type:String,default:""},display:{type:String,default:"flex"},justifyContent:{type:String,default:"center"},alignItems:{type:String,default:"center"},gap:{type:String,default:"5px"},position:{type:String,default:"relative",validator:n=>["static","relative","absolute","fixed","sticky"].includes(n)},left:{type:String,default:""},right:{type:String,default:""},top:{type:String,default:""},bottom:{type:String,default:""},zIndex:{type:Number,default:1},digitWidth:{type:String,default:""},digitHeight:{type:String,default:""},digitBackgroundImage:{type:String,default:""},digitColor:{type:String,default:"#fff"},digitFontSize:{type:String,default:"32px"},digitFontWeight:{type:String,default:"bold"},digitBackgroundColor:{type:String,default:"transparent"},digitBorderRadius:{type:String,default:"4px"},showSeparator:{type:Boolean,default:!1},separator:{type:String,default:","},decimalPlaces:{type:Number,default:-1},prefix:{type:String,default:""},suffix:{type:String,default:""},enableAnimation:{type:Boolean,default:!0},animationDuration:{type:Number,default:2e3},digitDelay:{type:Number,default:100},transform:{type:String,default:"none"}},setup(n,{expose:e}){const o=n,l=t.ref([]),a=t.ref(!1),S=t.computed(()=>{let h=o.data;o.decimalPlaces>=0&&typeof h=="number"&&(h=h.toFixed(o.decimalPlaces));let c=String(h);if(o.showSeparator&&typeof o.data=="number"){const y=c.split(".");y[0]=y[0].replace(/\B(?=(\d{3})+(?!\d))/g,o.separator),c=y.join(".")}return o.prefix&&(c=o.prefix+c),o.suffix&&(c=c+o.suffix),c.split("")}),d=t.computed(()=>o.digitWidth?o.digitWidth:`${(parseInt(o.digitFontSize)||32)*1.2}px`),i=t.computed(()=>o.digitHeight?o.digitHeight:`${(parseInt(o.digitFontSize)||32)*1.5}px`),w=()=>{if(!o.enableAnimation){l.value=S.value.map(()=>0);return}a.value=!0,l.value=S.value.map(()=>0);const h=S.value;h.forEach((c,y)=>{if(isNaN(parseInt(c))){l.value[y]=c;return}const g=parseInt(c),B=y*o.digitDelay,$=o.animationDuration;setTimeout(()=>{let k=0;const A=$/(g+1),C=()=>{k<=g&&(l.value[y]=k,k++,k<=g?setTimeout(C,A):(y===h.length-1||h.slice(y+1).every(D=>isNaN(parseInt(D))))&&(a.value=!1))};C()},B)})},z=h=>{const c=l.value[h];if(isNaN(parseInt(c)))return{transform:"translateY(0)",transition:"none"};const y=parseInt(i.value)||60;return{transform:`translateY(${-parseInt(c)*y}px)`,transition:`transform ${o.animationDuration}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`}},T=t.computed(()=>({width:o.width,height:o.height,backgroundColor:o.backgroundColor,backgroundImage:o.backgroundImage?`url(${o.backgroundImage})`:"none",display:o.display,justifyContent:o.justifyContent,alignItems:o.alignItems,gap:o.gap,position:o.position,left:o.left||void 0,right:o.right||void 0,top:o.top||void 0,bottom:o.bottom||void 0,zIndex:o.zIndex,transform:o.transform||void 0})),x=t.computed(()=>({width:d.value,height:i.value,overflow:"hidden",position:"relative",borderRadius:o.digitBorderRadius,backgroundColor:o.digitBackgroundColor})),b=t.computed(()=>({width:"100%",height:i.value,color:o.digitColor,fontSize:o.digitFontSize,fontWeight:o.digitFontWeight,display:"flex",justifyContent:"center",alignItems:"center",textAlign:"center",flexShrink:0,lineHeight:"1"}));return t.watch(()=>o.data,()=>{w()}),t.onMounted(()=>{w()}),e({restart:w,getCurrentValue:()=>l.value.join("")}),(h,c)=>(t.openBlock(),t.createElementBlock("div",{class:"h-counter",style:t.normalizeStyle(T.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(S.value,(y,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:"counter-digit",style:t.normalizeStyle(x.value)},[t.createElementVNode("div",{class:"digit-scroll",style:t.normalizeStyle(z(g))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(10,B=>t.createElementVNode("div",{key:B-1,class:"digit-item",style:t.normalizeStyle(b.value)},t.toDisplayString(B-1),5)),64))],4)],4))),128)),t.renderSlot(h.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-fba32a26"]]);tt.install=n=>{n.component(tt.name,tt)};const et=_(Object.assign({name:"hButtonGroup",chineseName:"按钮组",description:"按钮组容器,支持 flex 布局排列"},{props:{width:{type:String,default:""},height:{type:String,default:""},gap:{type:String,default:"5px"},rowGap:{type:String,default:"5px"},columnGap:{type:String,default:"5px"},position:{type:String,default:"relative"},left:{type:String,default:""},right:{type:String,default:""},top:{type:String,default:""},bottom:{type:String,default:""},display:{type:String,default:"flex"},flexWrap:{type:String,default:"nowrap"}},setup(n){let e=n,o=t.computed(()=>({position:e.position,left:e.left,right:e.right,top:e.top,bottom:e.bottom,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap,flexWrap:e.flexWrap,width:e.width,height:e.height}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-button-group",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-f90f2b62"]]);et.install=n=>{n.component(et.name,et)};const nt=_(Object.assign({name:"hText",chineseName:"文本",description:"用于显示文本内容"},{props:{text:{type:String,default:"测试文字"},fontSize:{type:String,default:"16px"},color:{type:String,default:"#fff"}},setup(n){let e=n,o=t.computed(()=>({fontSize:e.fontSize,color:e.color}));return(l,a)=>(t.openBlock(),t.createElementBlock("span",{class:"h-text",style:t.normalizeStyle(t.unref(o))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-7fb2fc92"]]);nt.install=n=>{n.component(nt.name,nt)};const ot=_(Object.assign({name:"hLayout",chineseName:"布局",description:"页面布局容器"},{props:{width:{type:String,default:"25%"},height:{type:String,default:"100%"},display:{type:String,default:"flex"},flexDirection:{type:String,default:"column"},columnGap:{type:String,default:"auto"},rowGap:{type:String,default:"auto"}},setup(n){let e=n,o=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-layout",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-957ea318"]]);ot.install=n=>{n.component(ot.name,ot)};const at=_(Object.assign({name:"hFlex",chineseName:"弹性布局",description:"基于 CSS Flexbox 的弹性布局容器"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100px"},url:{type:String,default:""},display:{type:String,default:"flex"},flexDirection:{type:String,default:""},flexWrap:{type:String,default:"wrap"},rowGap:{type:String,default:"0"},columnGap:{type:String,default:"0"},padding:{type:String,default:"0"}},setup(n){let e=n,o=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",rowGap:e.rowGap,columnGap:e.columnGap,padding:e.padding,flexDirection:e.flexDirection,flexWrap:e.flexWrap}));return(l,a)=>(t.openBlock(),t.createElementBlock("div",{class:"h-flex",style:t.normalizeStyle(t.unref(o))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-6ecd9f03"]]);at.install=n=>{n.component(at.name,at)};const Bt={class:"h-map-wrapper"},$t=["src"],Ct={key:0,class:"h-map-loading-text"},lt=_(Object.assign({name:"hMap",chineseName:"地图",description:"基于 ECharts 的高自定义地图组件,支持 GeoJSON 注册、多层 geo 叠加、散点标记等"},{props:{mapName:{type:String,required:!0},mapJson:{type:Object,required:!0},option:{type:Object,required:!0},roam:{type:[Boolean,String],default:!1},height:{type:String,default:"100%"},width:{type:String,default:"100%"},url:{type:String,default:""},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},loadingMinDuration:{type:Number,default:600},loadingIcon:{type:String,default:""},loadingBgColor:{type:String,default:""}},emits:["chart-ready","chart-click","chart-dblclick"],setup(n,{expose:e,emit:o}){const l=o,a=n,S=t.ref(null);let d=null;const i=t.computed(()=>({width:a.width,height:a.height,backgroundImage:a.url?`url(${a.url})`:"none",backgroundSize:"100% 100%",backgroundRepeat:"no-repeat"})),w=t.ref(!1);let z=0;t.watch(()=>a.loading,c=>{if(c)w.value=!0,z=Date.now();else{const y=Date.now()-z,g=(a.loadingMinDuration||0)-y;g<=0?w.value=!1:setTimeout(()=>{w.value=!1},g)}},{immediate:!0});const T=t.computed(()=>a.loadingBgColor?{background:a.loadingBgColor}:{}),x=E.useDebounceFn(()=>{d&&!d.isDisposed()&&d.resize()},100),b=()=>{d&&(d.isDisposed()||(d.off("click"),d.off("dblclick"),d.dispose()),d=null)},h=()=>{if(b(),!!S.value)try{dt.registerMap(a.mapName,a.mapJson),d=dt.init(S.value),d.on("click",c=>{l("chart-click",c)}),d.on("dblclick",c=>{l("chart-dblclick",c)}),d.setOption(a.option,{notMerge:!0}),l("chart-ready",{instance:d,dom:S.value})}catch(c){console.error("[h-map] 初始化失败:",c)}};return t.watch(()=>a.mapJson,()=>{t.nextTick(()=>{h()})}),t.watch(()=>a.option,c=>{if(!(!c||!d||d.isDisposed()))try{d.setOption(c,{notMerge:!0})}catch(y){console.error("[h-map] 更新配置失败:",y)}},{deep:!0}),t.onMounted(()=>{t.nextTick(()=>{h()}),E.useResizeObserver(S,()=>{x()})}),t.onBeforeUnmount(()=>{b()}),e({getInstance:()=>d,resize:()=>x(),dispatchAction:c=>d==null?void 0:d.dispatchAction(c),dispose:b}),(c,y)=>(t.openBlock(),t.createElementBlock("div",Bt,[t.createElementVNode("div",{class:"h-map",ref_key:"mapContainer",ref:S,style:t.normalizeStyle(i.value)},null,4),w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-map-loading",style:t.normalizeStyle(T.value)},[t.createElementVNode("img",{src:a.loadingIcon||t.unref(pt),class:"h-map-loading-icon",alt:"loading"},null,8,$t),a.loadingText?(t.openBlock(),t.createElementBlock("span",Ct,t.toDisplayString(a.loadingText),1)):t.createCommentVNode("",!0)],4)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-7350dc12"]]);lt.install=n=>{n.component(lt.name,lt)};const it=t.ref(!1),ft=t.ref(""),mt=t.ref(""),gt=t.ref("");let j=null,yt=0;function It(n){yt=n}function zt(){function n(o={}){ft.value=o.text??"加载中...",mt.value=o.icon??"",gt.value=o.bgColor??"",it.value=!0,j&&clearTimeout(j);const l=o.duration!==void 0?o.duration:yt;l>0&&(j=setTimeout(()=>{it.value=!1,j=null},l))}function e(){j&&(clearTimeout(j),j=null),it.value=!1}return{show:n,hide:e,visible:it}}const Dt={class:"h-loading-box"},Nt=["src"],Tt={key:0,class:"h-loading-text"},rt=_(Object.assign({name:"hLoading",chineseName:"全局加载",description:"页面级全屏 loading 遮罩,支持 router 跳转、页面刷新等场景,通过 useLoading() 全局控制"},{setup(n){const e=t.computed(()=>mt.value||pt),o=t.computed(()=>gt.value?{background:gt.value}:{});return(l,a)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"h-loading-fade"},{default:t.withCtx(()=>[t.unref(it)?(t.openBlock(),t.createElementBlock("div",{key:0,class:"h-loading",style:t.normalizeStyle(o.value)},[t.createElementVNode("div",Dt,[t.createElementVNode("img",{src:e.value,class:"h-loading-icon",alt:"loading"},null,8,Nt),t.unref(ft)?(t.openBlock(),t.createElementBlock("span",Tt,t.toDisplayString(t.unref(ft)),1)):t.createCommentVNode("",!0)])],4)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-ae6739ea"]]);rt.install=n=>{n.component(rt.name,rt)};const At={install:n=>{n.use(F),n.use(H),n.use(ot),n.use(M),n.use(W),n.use(R),n.use(P),n.use(q),n.use(J),n.use(U),n.use(O),n.use(Y),n.use(K),n.use(Q),n.use(X),n.use(Z),n.use(v),n.use(tt),n.use(et),n.use(nt),n.use(at),n.use(lt),n.use(rt)}};f.default=At,f.hBottom=U,f.hButton=Z,f.hButtonGroup=et,f.hCenter=q,f.hChart=W,f.hChartTitle=O,f.hCounter=tt,f.hDataLabel=X,f.hFlex=at,f.hGrid=v,f.hHeader=H,f.hItemChart=Y,f.hLayout=ot,f.hLeft=R,f.hList=K,f.hLoading=rt,f.hMain=M,f.hMap=lt,f.hPanel=F,f.hRight=P,f.hText=nt,f.hTop=J,f.hView=Q,f.setDefaultDuration=It,f.useLoading=zt,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hamster-charts",
3
3
  "private": false,
4
- "version": "0.6.0",
4
+ "version": "0.6.2",
5
5
  "description": "基于 Vue3 + ECharts 的大屏数据可视化组件库,支持地图、图表、布局等开箱即用组件",
6
6
  "type": "module",
7
7
  "main": "./dist/hamster-charts.umd.cjs",