hamster-charts 0.4.6 → 0.4.8

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
- .h-panel[data-v-474190fc]{width:100%;height:100%;background-size:100% 100%;background-repeat:no-repeat}.h-header[data-v-b83cf769]{background-size:100% 100%;background-repeat:no-repeat;position:relative}.h-main[data-v-1025786b]{width:100%}.h-chart[data-v-ad5727b9]{background-size:100% 100%;background-repeat:no-repeat}.h-chart .chart[data-v-ad5727b9]{width:100%}.h-left[data-v-65e91535],.h-right[data-v-e897c957]{height:100%}.h-top[data-v-54014ba4],.h-bottom[data-v-086bec2a]{width:100%}.h-chart-title[data-v-36cebf9b]{width:100%;background-size:100% 100%;background-repeat:no-repeat}.h-item-chart[data-v-7c5da244]{background-size:100% 100%;background-repeat:no-repeat}[data-v-937cc59c]::-webkit-scrollbar{width:0px}[data-v-937cc59c]::-webkit-scrollbar-track{background:#31313181}[data-v-937cc59c]::-webkit-scrollbar-thumb{background:#444;border-radius:10px}[data-v-937cc59c]::-webkit-scrollbar-thumb:hover{background:#555}.h-list[data-v-937cc59c]{position:relative;overflow:hidden}.list-header[data-v-937cc59c]{display:flex;align-items:center;width:100%}.header-item[data-v-937cc59c]{flex:1;display:flex;justify-content:center;align-items:center;font-weight:700}.scroll-wrapper[data-v-937cc59c]{position:relative;width:100%;will-change:transform}.data-list[data-v-937cc59c]{width:100%}.data-list-item[data-v-937cc59c]{display:flex;transition:all .3s ease;border-bottom:1px solid rgba(255,255,255,.1)}.data-list-item[data-v-937cc59c]:hover{background:#ffffff0d}.data-item-cell[data-v-937cc59c]{flex:1;display:flex;justify-content:center;align-items:center;padding:8px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h-view[data-v-1c58f2d8]{background-size:100% 100%;background-repeat:no-repeat}.h-data-label[data-v-f0ce86db]{background-repeat:no-repeat;background-size:100% 100%}.h-button[data-v-0a183c56]{outline:none;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;border:none}.h-grid[data-v-34e7422b]{border:1px solid red}.h-grid .h-grid-item[data-v-34e7422b]{border:1px solid rebeccapurple}.h-counter[data-v-fba32a26]{display:flex;align-items:center}.counter-digit[data-v-fba32a26]{position:relative;overflow:hidden}.digit-scroll[data-v-fba32a26]{display:flex;flex-direction:column;will-change:transform}.digit-item[data-v-fba32a26]{flex-shrink:0}.h-layout[data-v-957ea318]{height:100%}.h-flex[data-v-c8c463ea]{background-size:100% 100%;background-repeat:no-repeat}
1
+ .h-panel[data-v-474190fc]{width:100%;height:100%;background-size:100% 100%;background-repeat:no-repeat}.h-header[data-v-b83cf769]{background-size:100% 100%;background-repeat:no-repeat;position:relative}.h-main[data-v-1025786b]{width:100%}.h-chart[data-v-ad5727b9]{background-size:100% 100%;background-repeat:no-repeat}.h-chart .chart[data-v-ad5727b9]{width:100%}.h-left[data-v-65e91535],.h-right[data-v-e897c957]{height:100%}.h-top[data-v-54014ba4],.h-bottom[data-v-086bec2a]{width:100%}.h-chart-title[data-v-e64994bb]{width:100%;background-size:100% 100%;background-repeat:no-repeat;position:relative}.h-item-chart[data-v-7c5da244]{background-size:100% 100%;background-repeat:no-repeat}[data-v-937cc59c]::-webkit-scrollbar{width:0px}[data-v-937cc59c]::-webkit-scrollbar-track{background:#31313181}[data-v-937cc59c]::-webkit-scrollbar-thumb{background:#444;border-radius:10px}[data-v-937cc59c]::-webkit-scrollbar-thumb:hover{background:#555}.h-list[data-v-937cc59c]{position:relative;overflow:hidden}.list-header[data-v-937cc59c]{display:flex;align-items:center;width:100%}.header-item[data-v-937cc59c]{flex:1;display:flex;justify-content:center;align-items:center;font-weight:700}.scroll-wrapper[data-v-937cc59c]{position:relative;width:100%;will-change:transform}.data-list[data-v-937cc59c]{width:100%}.data-list-item[data-v-937cc59c]{display:flex;transition:all .3s ease;border-bottom:1px solid rgba(255,255,255,.1)}.data-list-item[data-v-937cc59c]:hover{background:#ffffff0d}.data-item-cell[data-v-937cc59c]{flex:1;display:flex;justify-content:center;align-items:center;padding:8px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h-view[data-v-2b1c3083]{background-size:100% 100%;background-repeat:no-repeat}.h-data-label[data-v-f0ce86db]{background-repeat:no-repeat;background-size:100% 100%}.h-button[data-v-0a183c56]{outline:none;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;border:none}.h-grid[data-v-34e7422b]{border:1px solid red}.h-grid .h-grid-item[data-v-34e7422b]{border:1px solid rebeccapurple}.h-counter[data-v-fba32a26]{display:flex;align-items:center}.counter-digit[data-v-fba32a26]{position:relative;overflow:hidden}.digit-scroll[data-v-fba32a26]{display:flex;flex-direction:column;will-change:transform}.digit-item[data-v-fba32a26]{flex-shrink:0}.h-layout[data-v-957ea318]{height:100%}.h-flex[data-v-c8c463ea]{background-size:100% 100%;background-repeat:no-repeat}
@@ -1,4 +1,4 @@
1
- import { computed as y, openBlock as o, createElementBlock as u, normalizeStyle as c, unref as h, renderSlot as b, toDisplayString as C, createCommentVNode as j, ref as v, onMounted as it, onBeforeUnmount as at, watch as G, withDirectives as ut, createElementVNode as z, vShow as dt, Fragment as O, renderList as D } from "vue";
1
+ import { computed as h, openBlock as o, createElementBlock as u, normalizeStyle as c, unref as g, renderSlot as b, toDisplayString as I, createCommentVNode as j, ref as v, onMounted as it, onBeforeUnmount as at, watch as G, withDirectives as ut, createElementVNode as z, vShow as dt, Fragment as O, renderList as D } from "vue";
2
2
  import * as rt from "echarts";
3
3
  import { useDebounceFn as lt, useResizeObserver as st } from "@vueuse/core";
4
4
  const m = (e, t) => {
@@ -23,13 +23,13 @@ const m = (e, t) => {
23
23
  }
24
24
  },
25
25
  setup(e) {
26
- let t = e, i = y(() => ({
26
+ let t = e, i = h(() => ({
27
27
  position: t.position,
28
28
  backgroundImage: t.url ? `url(${t.url})` : "none"
29
29
  }));
30
30
  return (r, l) => (o(), u("div", {
31
31
  class: "h-panel",
32
- style: c(h(i))
32
+ style: c(g(i))
33
33
  }, [
34
34
  b(r.$slots, "default", {}, void 0, !0)
35
35
  ], 4));
@@ -91,11 +91,11 @@ const ft = {
91
91
  }
92
92
  },
93
93
  setup(e) {
94
- let t = e, i = y(() => ({
94
+ let t = e, i = h(() => ({
95
95
  width: t.width,
96
96
  height: t.height,
97
97
  backgroundImage: `url( ${t.url})`
98
- })), r = y(() => ({
98
+ })), r = h(() => ({
99
99
  color: t.color,
100
100
  fontSize: t.fontSize,
101
101
  position: t.textPosition,
@@ -105,12 +105,12 @@ const ft = {
105
105
  }));
106
106
  return (l, S) => (o(), u("div", {
107
107
  class: "h-header",
108
- style: c(h(i))
108
+ style: c(g(i))
109
109
  }, [
110
- h(t).showText ? (o(), u("span", {
110
+ g(t).showText ? (o(), u("span", {
111
111
  key: 0,
112
- style: c(h(r))
113
- }, C(h(t).text), 5)) : j("", !0),
112
+ style: c(g(r))
113
+ }, I(g(t).text), 5)) : j("", !0),
114
114
  b(l.$slots, "default", {}, void 0, !0)
115
115
  ], 4));
116
116
  }
@@ -146,7 +146,7 @@ const yt = {
146
146
  }
147
147
  },
148
148
  setup(e) {
149
- let t = e, i = y(() => ({
149
+ let t = e, i = h(() => ({
150
150
  height: t.height !== "auto" || t.height !== "0" ? `calc(100% - ${t.height})` : t.height,
151
151
  display: t.display,
152
152
  columnGap: t.columnGap,
@@ -155,7 +155,7 @@ const yt = {
155
155
  }));
156
156
  return (r, l) => (o(), u("div", {
157
157
  class: "h-main",
158
- style: c(h(i))
158
+ style: c(g(i))
159
159
  }, [
160
160
  b(r.$slots, "default", {}, void 0, !0)
161
161
  ], 4));
@@ -210,17 +210,17 @@ const mt = {
210
210
  // 鼠标离开事件
211
211
  ],
212
212
  setup(e, { expose: t, emit: i }) {
213
- const r = i, l = e, S = y(() => ({
213
+ const r = i, l = e, S = h(() => ({
214
214
  backgroundImage: l.url ? `url(${l.url})` : "none",
215
215
  flex: l.flex,
216
216
  height: l.height
217
- })), x = y(() => ({
217
+ })), x = h(() => ({
218
218
  height: l.chartsh !== "auto" && l.chartsh !== "0" ? `calc(100% - ${l.chartsh})` : l.chartsh
219
219
  })), p = v(null);
220
220
  let f = null;
221
- const I = lt(() => {
221
+ const k = lt(() => {
222
222
  f && (f.resize(), r("chart-resize", { instance: f }));
223
- }, 100), k = () => {
223
+ }, 100), C = () => {
224
224
  if (!f) return;
225
225
  ["click", "dblclick", "mouseover", "mouseout"].forEach((a) => {
226
226
  f.on(a, (d) => {
@@ -234,15 +234,15 @@ const mt = {
234
234
  }, $ = () => {
235
235
  if (A(), !!p.value)
236
236
  try {
237
- const n = g(l.chartsOption);
238
- f = rt.init(p.value), f.setOption(n, { notMerge: !0 }), k(), r("chart-ready", {
237
+ const n = y(l.chartsOption);
238
+ f = rt.init(p.value), f.setOption(n, { notMerge: !0 }), C(), r("chart-ready", {
239
239
  instance: f,
240
240
  dom: p.value
241
241
  });
242
242
  } catch (n) {
243
243
  console.error("ECharts initialization failed:", n);
244
244
  }
245
- }, g = (n) => {
245
+ }, y = (n) => {
246
246
  if (!n || typeof n != "object")
247
247
  return { series: [] };
248
248
  const a = JSON.parse(JSON.stringify(n));
@@ -279,20 +279,20 @@ const mt = {
279
279
  data: a.legend
280
280
  })), a;
281
281
  }, s = () => {
282
- I();
282
+ k();
283
283
  };
284
284
  return it(() => {
285
285
  setTimeout(() => {
286
286
  $();
287
287
  }, 0), window.addEventListener("resize", s), st(p, (n) => {
288
- I();
288
+ k();
289
289
  });
290
290
  }), at(() => {
291
291
  window.removeEventListener("resize", s), A();
292
292
  }), G(() => l.chartsOption, (n, a) => {
293
293
  if (n)
294
294
  try {
295
- const d = g(n);
295
+ const d = y(n);
296
296
  if (!f) {
297
297
  $();
298
298
  return;
@@ -310,7 +310,7 @@ const mt = {
310
310
  }, 0);
311
311
  }), t({
312
312
  getInstance: () => f,
313
- resize: () => I(),
313
+ resize: () => k(),
314
314
  dispatchAction: (n) => f == null ? void 0 : f.dispatchAction(n),
315
315
  dispose: A
316
316
  }), (n, a) => (o(), u("div", {
@@ -358,7 +358,7 @@ const xt = {
358
358
  }
359
359
  },
360
360
  setup(e) {
361
- let t = e, i = y(() => ({
361
+ let t = e, i = h(() => ({
362
362
  width: t.width,
363
363
  display: t.display,
364
364
  flexDirection: t.flexDirection,
@@ -367,7 +367,7 @@ const xt = {
367
367
  }));
368
368
  return (r, l) => (o(), u("div", {
369
369
  class: "h-left",
370
- style: c(h(i))
370
+ style: c(g(i))
371
371
  }, [
372
372
  b(r.$slots, "default", {}, void 0, !0)
373
373
  ], 4));
@@ -402,7 +402,7 @@ const vt = {
402
402
  }
403
403
  },
404
404
  setup(e) {
405
- let t = e, i = y(() => ({
405
+ let t = e, i = h(() => ({
406
406
  width: t.width,
407
407
  display: t.display,
408
408
  flexDirection: t.flexDirection,
@@ -411,7 +411,7 @@ const vt = {
411
411
  }));
412
412
  return (r, l) => (o(), u("div", {
413
413
  class: "h-right",
414
- style: c(h(i))
414
+ style: c(g(i))
415
415
  }, [
416
416
  b(r.$slots, "default", {}, void 0, !0)
417
417
  ], 4));
@@ -450,7 +450,7 @@ const wt = {
450
450
  }
451
451
  },
452
452
  setup(e) {
453
- let t = e, i = y(() => ({
453
+ let t = e, i = h(() => ({
454
454
  width: t.width,
455
455
  height: t.height,
456
456
  display: t.display,
@@ -460,7 +460,7 @@ const wt = {
460
460
  }));
461
461
  return (r, l) => (o(), u("div", {
462
462
  class: "h-center",
463
- style: c(h(i))
463
+ style: c(g(i))
464
464
  }, [
465
465
  b(r.$slots, "default", {}, void 0, !0)
466
466
  ], 4));
@@ -487,14 +487,14 @@ const At = {
487
487
  }
488
488
  },
489
489
  setup(e) {
490
- let t = e, i = y(() => ({
490
+ let t = e, i = h(() => ({
491
491
  height: t.height,
492
492
  display: t.display,
493
493
  position: t.position
494
494
  }));
495
495
  return (r, l) => (o(), u("div", {
496
496
  class: "h-top",
497
- style: c(h(i))
497
+ style: c(g(i))
498
498
  }, [
499
499
  b(r.$slots, "default", {}, void 0, !0)
500
500
  ], 4));
@@ -529,7 +529,7 @@ const kt = {
529
529
  }
530
530
  },
531
531
  setup(e) {
532
- let t = e, i = y(() => ({
532
+ let t = e, i = h(() => ({
533
533
  height: t.height,
534
534
  display: t.display,
535
535
  gap: t.gap,
@@ -538,7 +538,7 @@ const kt = {
538
538
  }));
539
539
  return (r, l) => (o(), u("div", {
540
540
  class: "h-bottom",
541
- style: c(h(i))
541
+ style: c(g(i))
542
542
  }, [
543
543
  b(r.$slots, "default", {}, void 0, !0)
544
544
  ], 4));
@@ -547,9 +547,9 @@ const kt = {
547
547
  M.install = (e) => {
548
548
  e.component(M.name, M);
549
549
  };
550
- const zt = {
550
+ const zt = { class: "def-text" }, Gt = {
551
551
  name: "hChartTitle"
552
- }, Gt = /* @__PURE__ */ Object.assign(zt, {
552
+ }, jt = /* @__PURE__ */ Object.assign(Gt, {
553
553
  props: {
554
554
  fontSize: {
555
555
  type: String,
@@ -578,35 +578,64 @@ const zt = {
578
578
  paddingBottom: {
579
579
  type: String,
580
580
  default: "auto"
581
+ },
582
+ color: {
583
+ type: String,
584
+ default: "#fff"
585
+ },
586
+ text: {
587
+ type: String,
588
+ default: "测试标题"
589
+ },
590
+ display: {
591
+ type: String,
592
+ default: "block"
593
+ },
594
+ textAlign: {
595
+ type: String,
596
+ default: "start"
597
+ },
598
+ alignItems: {
599
+ type: String,
600
+ default: "center"
601
+ },
602
+ justifyContent: {
603
+ type: String,
604
+ default: "start"
581
605
  }
582
606
  },
583
607
  setup(e) {
584
- let t = e, i = y(() => ({
608
+ let t = e, i = h(() => ({
585
609
  height: t.height,
586
610
  backgroundImage: `url(${t.url})`,
587
611
  fontSize: t.fontSize,
588
612
  paddingLeft: t.paddingLeft,
589
613
  paddingRight: t.paddingRight,
590
614
  paddingTop: t.paddingTop,
591
- paddingBottom: t.paddingBottom
615
+ paddingBottom: t.paddingBottom,
616
+ color: t.color,
617
+ display: t.display,
618
+ textAlign: t.textAlign,
619
+ alignItems: t.alignItems,
620
+ justifyContent: t.justifyContent
592
621
  }));
593
622
  return (r, l) => (o(), u("div", {
594
623
  class: "h-chart-title",
595
- style: c(h(i))
624
+ style: c(g(i))
596
625
  }, [
597
- b(r.$slots, "title", {}, void 0, !0),
598
- b(r.$slots, "content", {}, void 0, !0)
626
+ z("span", zt, I(g(t).text), 1),
627
+ b(r.$slots, "default", {}, void 0, !0)
599
628
  ], 4));
600
629
  }
601
- }), P = /* @__PURE__ */ m(Gt, [["__scopeId", "data-v-36cebf9b"]]);
630
+ }), P = /* @__PURE__ */ m(jt, [["__scopeId", "data-v-e64994bb"]]);
602
631
  P.install = (e) => {
603
632
  e.component(P.name, P);
604
633
  };
605
- const jt = {
634
+ const Ot = {
606
635
  name: "hItemChart",
607
636
  chineseName: "独立图表",
608
637
  description: "独立的 ECharts 图表容器组件,适用于大屏数据可视化展示"
609
- }, Ot = /* @__PURE__ */ Object.assign(jt, {
638
+ }, Dt = /* @__PURE__ */ Object.assign(Ot, {
610
639
  props: {
611
640
  height: {
612
641
  type: String,
@@ -631,29 +660,29 @@ const jt = {
631
660
  "chart-mouseout"
632
661
  ],
633
662
  setup(e, { expose: t, emit: i }) {
634
- const r = i, l = e, S = y(() => ({
663
+ const r = i, l = e, S = h(() => ({
635
664
  backgroundImage: l.url ? `url(${l.url})` : "none",
636
665
  height: l.height
637
666
  })), x = v(null);
638
667
  let p = null;
639
668
  const f = lt(() => {
640
669
  p && (p.resize(), r("chart-resize", { instance: p }));
641
- }, 100), I = () => {
670
+ }, 100), k = () => {
642
671
  if (!p) return;
643
672
  ["click", "dblclick", "mouseover", "mouseout"].forEach((n) => {
644
673
  p.on(n, (a) => {
645
674
  r(`chart-${n}`, a);
646
675
  });
647
676
  });
648
- }, k = () => {
677
+ }, C = () => {
649
678
  p && (["click", "dblclick", "mouseover", "mouseout"].forEach((n) => {
650
679
  p.off(n);
651
680
  }), p.dispose(), p = null);
652
681
  }, A = () => {
653
- if (k(), !!x.value)
682
+ if (C(), !!x.value)
654
683
  try {
655
684
  const s = $(l.chartsOption);
656
- p = rt.init(x.value), p.setOption(s, { notMerge: !0 }), I(), r("chart-ready", {
685
+ p = rt.init(x.value), p.setOption(s, { notMerge: !0 }), k(), r("chart-ready", {
657
686
  instance: p,
658
687
  dom: x.value
659
688
  });
@@ -695,17 +724,17 @@ const jt = {
695
724
  } : n.yAxis = { type: "value" } : n.yAxis = { type: "value" }, n.legend && (typeof n.legend == "object" && !Array.isArray(n.legend) || Array.isArray(n.legend) && (n.legend = {
696
725
  data: n.legend
697
726
  })), n;
698
- }, g = () => {
727
+ }, y = () => {
699
728
  f();
700
729
  };
701
730
  return it(() => {
702
731
  setTimeout(() => {
703
732
  A();
704
- }, 0), window.addEventListener("resize", g), st(x, (s) => {
733
+ }, 0), window.addEventListener("resize", y), st(x, (s) => {
705
734
  f();
706
735
  });
707
736
  }), at(() => {
708
- window.removeEventListener("resize", g), k();
737
+ window.removeEventListener("resize", y), C();
709
738
  }), G(() => l.chartsOption, (s) => {
710
739
  if (s)
711
740
  try {
@@ -725,7 +754,7 @@ const jt = {
725
754
  getInstance: () => p,
726
755
  resize: () => f(),
727
756
  dispatchAction: (s) => p == null ? void 0 : p.dispatchAction(s),
728
- dispose: k
757
+ dispose: C
729
758
  }), (s, n) => (o(), u("div", {
730
759
  class: "h-item-chart",
731
760
  ref_key: "itemCharts",
@@ -733,15 +762,15 @@ const jt = {
733
762
  style: c(S.value)
734
763
  }, null, 4));
735
764
  }
736
- }), V = /* @__PURE__ */ m(Ot, [["__scopeId", "data-v-7c5da244"]]);
765
+ }), V = /* @__PURE__ */ m(Dt, [["__scopeId", "data-v-7c5da244"]]);
737
766
  V.install = (e) => {
738
767
  e.component(V.name, V);
739
768
  };
740
- const Dt = {
769
+ const Nt = {
741
770
  name: "hList",
742
771
  chineseName: "滚动列表",
743
772
  description: "支持自动滚动的数据列表组件,适用于大屏数据展示"
744
- }, Nt = /* @__PURE__ */ Object.assign(Dt, {
773
+ }, Tt = /* @__PURE__ */ Object.assign(Nt, {
745
774
  props: {
746
775
  // 容器样式
747
776
  width: {
@@ -803,13 +832,13 @@ const Dt = {
803
832
  }
804
833
  },
805
834
  setup(e, { expose: t }) {
806
- const i = e, r = v(0), l = v(null), S = v(0), x = v([]), p = v(null), f = y(() => ({
835
+ const i = e, r = v(0), l = v(null), S = v(0), x = v([]), p = v(null), f = h(() => ({
807
836
  width: i.width,
808
837
  height: i.height,
809
838
  backgroundColor: i.backgroundColor,
810
839
  position: "relative",
811
840
  overflow: "hidden"
812
- })), I = y(() => ({
841
+ })), k = h(() => ({
813
842
  height: i.headerHeight,
814
843
  display: "flex",
815
844
  alignItems: "center",
@@ -819,7 +848,7 @@ const Dt = {
819
848
  left: 0,
820
849
  zIndex: 10,
821
850
  width: "100%"
822
- })), k = y(() => ({
851
+ })), C = h(() => ({
823
852
  transform: `translateY(-${r.value * S.value}px)`,
824
853
  transition: `transform ${i.scrollSpeed}ms ease-in-out`,
825
854
  marginTop: i.showHeader ? i.headerHeight : "0"
@@ -831,7 +860,7 @@ const Dt = {
831
860
  }
832
861
  });
833
862
  let $ = null;
834
- const g = () => {
863
+ const y = () => {
835
864
  !i.enableScroll || i.data.length === 0 || (clearInterval($), $ = setInterval(() => {
836
865
  r.value = (r.value + 1) % i.data.length;
837
866
  }, i.scrollDuration));
@@ -841,17 +870,17 @@ const Dt = {
841
870
  x.value && x.value[0] && (S.value = x.value[0].offsetHeight || 40);
842
871
  };
843
872
  return it(() => {
844
- n(), g(), window.addEventListener("resize", n);
873
+ n(), y(), window.addEventListener("resize", n);
845
874
  }), at(() => {
846
875
  s(), window.removeEventListener("resize", n);
847
876
  }), G(() => i.data, (a) => {
848
877
  a.length > 0 ? (r.value = 0, l.value = null, setTimeout(() => {
849
- n(), g();
878
+ n(), y();
850
879
  }, 100)) : s();
851
880
  }, { deep: !0 }), G(() => i.enableScroll, (a) => {
852
- a ? g() : (s(), r.value = 0);
881
+ a ? y() : (s(), r.value = 0);
853
882
  }), t({
854
- startScroll: g,
883
+ startScroll: y,
855
884
  stopScroll: s,
856
885
  getCurrentIndex: () => r.value,
857
886
  scrollTo: (a) => {
@@ -864,17 +893,17 @@ const Dt = {
864
893
  e.showHeader ? (o(), u("div", {
865
894
  key: 0,
866
895
  class: "list-header",
867
- style: c(I.value)
896
+ style: c(k.value)
868
897
  }, [
869
898
  (o(!0), u(O, null, D(e.header, (_, w) => (o(), u("p", {
870
899
  key: w,
871
900
  class: "header-item"
872
- }, C(_), 1))), 128))
901
+ }, I(_), 1))), 128))
873
902
  ], 4)) : j("", !0),
874
903
  e.enableScroll ? (o(), u("div", {
875
904
  key: 1,
876
905
  class: "scroll-wrapper",
877
- style: c(k.value)
906
+ style: c(C.value)
878
907
  }, [
879
908
  z("div", {
880
909
  class: "data-list",
@@ -892,19 +921,19 @@ const Dt = {
892
921
  (o(!0), u(O, null, D(_, (nt, N) => (o(), u("p", {
893
922
  key: N,
894
923
  class: "data-item-cell"
895
- }, C(nt), 1))), 128))
924
+ }, I(nt), 1))), 128))
896
925
  ], 4))), 128))
897
926
  ], 512)
898
927
  ], 4)) : j("", !0)
899
928
  ], 4));
900
929
  }
901
- }), Y = /* @__PURE__ */ m(Nt, [["__scopeId", "data-v-937cc59c"]]);
930
+ }), Y = /* @__PURE__ */ m(Tt, [["__scopeId", "data-v-937cc59c"]]);
902
931
  Y.install = (e) => {
903
932
  e.component(Y.name, Y);
904
933
  };
905
- const Tt = {
934
+ const Wt = {
906
935
  name: "hView"
907
- }, Wt = /* @__PURE__ */ Object.assign(Tt, {
936
+ }, Bt = /* @__PURE__ */ Object.assign(Wt, {
908
937
  props: {
909
938
  height: {
910
939
  type: String,
@@ -933,32 +962,47 @@ const Tt = {
933
962
  flex: {
934
963
  type: String,
935
964
  default: "0.2"
965
+ },
966
+ position: {
967
+ type: String,
968
+ default: "relative"
969
+ },
970
+ top: {
971
+ type: String,
972
+ default: "auto"
973
+ },
974
+ left: {
975
+ type: String,
976
+ default: "auto"
936
977
  }
937
978
  },
938
979
  setup(e) {
939
- let t = e, i = y(() => ({
980
+ let t = e, i = h(() => ({
940
981
  width: t.width,
941
982
  height: t.height,
942
983
  display: t.display,
943
984
  flexDirection: t.flexDirection,
944
985
  rowGap: t.rowGap,
945
986
  columnGap: t.columnGap,
946
- flex: t.flex
987
+ flex: t.flex,
988
+ position: t.position,
989
+ top: t.top,
990
+ left: t.left
947
991
  }));
948
992
  return (r, l) => (o(), u("div", {
949
993
  class: "h-view",
950
- style: c(h(i))
994
+ style: c(g(i))
951
995
  }, [
952
996
  b(r.$slots, "default", {}, void 0, !0)
953
997
  ], 4));
954
998
  }
955
- }), J = /* @__PURE__ */ m(Wt, [["__scopeId", "data-v-1c58f2d8"]]);
999
+ }), J = /* @__PURE__ */ m(Bt, [["__scopeId", "data-v-2b1c3083"]]);
956
1000
  J.install = (e) => {
957
1001
  e.component(J.name, J);
958
1002
  };
959
- const Bt = {
1003
+ const Ft = {
960
1004
  name: "hDataLabel"
961
- }, Ft = /* @__PURE__ */ Object.assign(Bt, {
1005
+ }, Ht = /* @__PURE__ */ Object.assign(Ft, {
962
1006
  props: {
963
1007
  url: {
964
1008
  type: String,
@@ -1123,32 +1167,32 @@ const Bt = {
1123
1167
  });
1124
1168
  return (x, p) => (o(), u("div", {
1125
1169
  class: "h-data-label",
1126
- style: c(h(i))
1170
+ style: c(g(i))
1127
1171
  }, [
1128
1172
  e.show ? (o(), u("span", {
1129
1173
  key: 0,
1130
1174
  class: "h-data-label-num",
1131
- style: c(h(r))
1132
- }, C(e.num), 5)) : j("", !0),
1175
+ style: c(g(r))
1176
+ }, I(e.num), 5)) : j("", !0),
1133
1177
  e.show ? (o(), u("span", {
1134
1178
  key: 1,
1135
1179
  class: "h-data-label-text",
1136
- style: c(h(l))
1137
- }, C(e.text), 5)) : j("", !0),
1180
+ style: c(g(l))
1181
+ }, I(e.text), 5)) : j("", !0),
1138
1182
  e.titleShow ? (o(), u("span", {
1139
1183
  key: 2,
1140
1184
  class: "h-data-label-title",
1141
- style: c(h(S))
1142
- }, C(e.someText), 5)) : j("", !0)
1185
+ style: c(g(S))
1186
+ }, I(e.someText), 5)) : j("", !0)
1143
1187
  ], 4));
1144
1188
  }
1145
- }), q = /* @__PURE__ */ m(Ft, [["__scopeId", "data-v-f0ce86db"]]);
1189
+ }), q = /* @__PURE__ */ m(Ht, [["__scopeId", "data-v-f0ce86db"]]);
1146
1190
  q.install = (e) => {
1147
1191
  e.component(q.name, q);
1148
1192
  };
1149
- const Ht = {
1193
+ const Lt = {
1150
1194
  name: "hButton"
1151
- }, Lt = /* @__PURE__ */ Object.assign(Ht, {
1195
+ }, Et = /* @__PURE__ */ Object.assign(Lt, {
1152
1196
  props: {
1153
1197
  url: {
1154
1198
  type: String,
@@ -1201,16 +1245,16 @@ const Ht = {
1201
1245
  });
1202
1246
  return (r, l) => (o(), u("button", {
1203
1247
  class: "h-button",
1204
- style: c(h(i))
1205
- }, C(h(t).text), 5));
1248
+ style: c(g(i))
1249
+ }, I(g(t).text), 5));
1206
1250
  }
1207
- }), U = /* @__PURE__ */ m(Lt, [["__scopeId", "data-v-0a183c56"]]);
1251
+ }), U = /* @__PURE__ */ m(Et, [["__scopeId", "data-v-0a183c56"]]);
1208
1252
  U.install = (e) => {
1209
1253
  e.component(U.name, U);
1210
1254
  };
1211
- const Et = {
1255
+ const Rt = {
1212
1256
  name: "hGrid"
1213
- }, Rt = /* @__PURE__ */ Object.assign(Et, {
1257
+ }, Mt = /* @__PURE__ */ Object.assign(Rt, {
1214
1258
  props: {
1215
1259
  width: {
1216
1260
  type: String,
@@ -1267,12 +1311,12 @@ const Et = {
1267
1311
  });
1268
1312
  return (l, S) => (o(), u("div", {
1269
1313
  class: "h-grid",
1270
- style: c(h(i))
1314
+ style: c(g(i))
1271
1315
  }, [
1272
1316
  (o(), u(O, null, D(6, (x) => z("div", {
1273
1317
  key: x,
1274
1318
  class: "h-grid-item",
1275
- style: c(h(r))
1319
+ style: c(g(r))
1276
1320
  }, S[0] || (S[0] = [
1277
1321
  z("div", { class: "h-grid-item-left" }, [
1278
1322
  z("img", {
@@ -1285,15 +1329,15 @@ const Et = {
1285
1329
  b(l.$slots, "default", {}, void 0, !0)
1286
1330
  ], 4));
1287
1331
  }
1288
- }), K = /* @__PURE__ */ m(Rt, [["__scopeId", "data-v-34e7422b"]]);
1332
+ }), K = /* @__PURE__ */ m(Mt, [["__scopeId", "data-v-34e7422b"]]);
1289
1333
  K.install = (e) => {
1290
1334
  e.component(K.name, K);
1291
1335
  };
1292
- const Mt = {
1336
+ const Pt = {
1293
1337
  name: "hCounter",
1294
1338
  chineseName: "数字计数器",
1295
1339
  description: "支持老虎机滚动动画的数字计数器组件,每个数字位独立从0滚动到目标值"
1296
- }, Pt = /* @__PURE__ */ Object.assign(Mt, {
1340
+ }, Vt = /* @__PURE__ */ Object.assign(Pt, {
1297
1341
  props: {
1298
1342
  // 数据相关
1299
1343
  data: {
@@ -1433,23 +1477,23 @@ const Mt = {
1433
1477
  }
1434
1478
  },
1435
1479
  setup(e, { expose: t }) {
1436
- const i = e, r = v([]), l = v(!1), S = y(() => {
1437
- let g = i.data;
1438
- i.decimalPlaces >= 0 && typeof g == "number" && (g = g.toFixed(i.decimalPlaces));
1439
- let s = String(g);
1480
+ const i = e, r = v([]), l = v(!1), S = h(() => {
1481
+ let y = i.data;
1482
+ i.decimalPlaces >= 0 && typeof y == "number" && (y = y.toFixed(i.decimalPlaces));
1483
+ let s = String(y);
1440
1484
  if (i.showSeparator && typeof i.data == "number") {
1441
1485
  const n = s.split(".");
1442
1486
  n[0] = n[0].replace(/\B(?=(\d{3})+(?!\d))/g, i.separator), s = n.join(".");
1443
1487
  }
1444
1488
  return i.prefix && (s = i.prefix + s), i.suffix && (s = s + i.suffix), s.split("");
1445
- }), x = y(() => i.digitWidth ? i.digitWidth : `${(parseInt(i.digitFontSize) || 32) * 1.2}px`), p = y(() => i.digitHeight ? i.digitHeight : `${(parseInt(i.digitFontSize) || 32) * 1.5}px`), f = () => {
1489
+ }), x = h(() => i.digitWidth ? i.digitWidth : `${(parseInt(i.digitFontSize) || 32) * 1.2}px`), p = h(() => i.digitHeight ? i.digitHeight : `${(parseInt(i.digitFontSize) || 32) * 1.5}px`), f = () => {
1446
1490
  if (!i.enableAnimation) {
1447
1491
  r.value = S.value.map(() => 0);
1448
1492
  return;
1449
1493
  }
1450
1494
  l.value = !0, r.value = S.value.map(() => 0);
1451
- const g = S.value;
1452
- g.forEach((s, n) => {
1495
+ const y = S.value;
1496
+ y.forEach((s, n) => {
1453
1497
  if (isNaN(parseInt(s))) {
1454
1498
  r.value[n] = s;
1455
1499
  return;
@@ -1458,13 +1502,13 @@ const Mt = {
1458
1502
  setTimeout(() => {
1459
1503
  let w = 0;
1460
1504
  const nt = _ / (a + 1), N = () => {
1461
- w <= a && (r.value[n] = w, w++, w <= a ? setTimeout(N, nt) : (n === g.length - 1 || g.slice(n + 1).every((ot) => isNaN(parseInt(ot)))) && (l.value = !1));
1505
+ w <= a && (r.value[n] = w, w++, w <= a ? setTimeout(N, nt) : (n === y.length - 1 || y.slice(n + 1).every((ot) => isNaN(parseInt(ot)))) && (l.value = !1));
1462
1506
  };
1463
1507
  N();
1464
1508
  }, d);
1465
1509
  });
1466
- }, I = (g) => {
1467
- const s = r.value[g];
1510
+ }, k = (y) => {
1511
+ const s = r.value[y];
1468
1512
  if (isNaN(parseInt(s)))
1469
1513
  return {
1470
1514
  transform: "translateY(0)",
@@ -1475,7 +1519,7 @@ const Mt = {
1475
1519
  transform: `translateY(${-parseInt(s) * n}px)`,
1476
1520
  transition: `transform ${i.animationDuration}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`
1477
1521
  };
1478
- }, k = y(() => ({
1522
+ }, C = h(() => ({
1479
1523
  width: i.width,
1480
1524
  height: i.height,
1481
1525
  backgroundColor: i.backgroundColor,
@@ -1491,14 +1535,14 @@ const Mt = {
1491
1535
  bottom: i.bottom || void 0,
1492
1536
  zIndex: i.zIndex,
1493
1537
  transform: i.transform || void 0
1494
- })), A = y(() => ({
1538
+ })), A = h(() => ({
1495
1539
  width: x.value,
1496
1540
  height: p.value,
1497
1541
  overflow: "hidden",
1498
1542
  position: "relative",
1499
1543
  borderRadius: i.digitBorderRadius,
1500
1544
  backgroundColor: i.digitBackgroundColor
1501
- })), $ = y(() => ({
1545
+ })), $ = h(() => ({
1502
1546
  width: "100%",
1503
1547
  height: p.value,
1504
1548
  color: i.digitColor,
@@ -1518,9 +1562,9 @@ const Mt = {
1518
1562
  }), t({
1519
1563
  restart: f,
1520
1564
  getCurrentValue: () => r.value.join("")
1521
- }), (g, s) => (o(), u("div", {
1565
+ }), (y, s) => (o(), u("div", {
1522
1566
  class: "h-counter",
1523
- style: c(k.value)
1567
+ style: c(C.value)
1524
1568
  }, [
1525
1569
  (o(!0), u(O, null, D(S.value, (n, a) => (o(), u("div", {
1526
1570
  key: a,
@@ -1529,25 +1573,25 @@ const Mt = {
1529
1573
  }, [
1530
1574
  z("div", {
1531
1575
  class: "digit-scroll",
1532
- style: c(I(a))
1576
+ style: c(k(a))
1533
1577
  }, [
1534
1578
  (o(), u(O, null, D(10, (d) => z("div", {
1535
1579
  key: d - 1,
1536
1580
  class: "digit-item",
1537
1581
  style: c($.value)
1538
- }, C(d - 1), 5)), 64))
1582
+ }, I(d - 1), 5)), 64))
1539
1583
  ], 4)
1540
1584
  ], 4))), 128)),
1541
- b(g.$slots, "default", {}, void 0, !0)
1585
+ b(y.$slots, "default", {}, void 0, !0)
1542
1586
  ], 4));
1543
1587
  }
1544
- }), Q = /* @__PURE__ */ m(Pt, [["__scopeId", "data-v-fba32a26"]]);
1588
+ }), Q = /* @__PURE__ */ m(Vt, [["__scopeId", "data-v-fba32a26"]]);
1545
1589
  Q.install = (e) => {
1546
1590
  e.component(Q.name, Q);
1547
1591
  };
1548
- const Vt = {
1592
+ const Yt = {
1549
1593
  name: "hButtonGroup"
1550
- }, Yt = /* @__PURE__ */ Object.assign(Vt, {
1594
+ }, Jt = /* @__PURE__ */ Object.assign(Yt, {
1551
1595
  props: {
1552
1596
  width: {
1553
1597
  type: String,
@@ -1609,20 +1653,20 @@ const Vt = {
1609
1653
  });
1610
1654
  return (r, l) => (o(), u("div", {
1611
1655
  class: "h-button-group",
1612
- style: c(h(i))
1656
+ style: c(g(i))
1613
1657
  }, [
1614
1658
  b(r.$slots, "default", {}, void 0, !0)
1615
1659
  ], 4));
1616
1660
  }
1617
- }), X = /* @__PURE__ */ m(Yt, [["__scopeId", "data-v-7bf905ff"]]);
1661
+ }), X = /* @__PURE__ */ m(Jt, [["__scopeId", "data-v-7bf905ff"]]);
1618
1662
  X.install = (e) => {
1619
1663
  e.component(X.name, X);
1620
1664
  };
1621
- const Jt = { class: "h-text" }, qt = {
1665
+ const qt = { class: "h-text" }, Ut = {
1622
1666
  name: "hText",
1623
1667
  chineseName: "文本",
1624
1668
  description: "用于显示文本内容"
1625
- }, Ut = /* @__PURE__ */ Object.assign(qt, {
1669
+ }, Kt = /* @__PURE__ */ Object.assign(Ut, {
1626
1670
  props: {
1627
1671
  text: {
1628
1672
  type: String,
@@ -1639,17 +1683,17 @@ const Jt = { class: "h-text" }, qt = {
1639
1683
  },
1640
1684
  setup(e) {
1641
1685
  let t = e;
1642
- return (i, r) => (o(), u("span", Jt, C(h(t).text), 1));
1686
+ return (i, r) => (o(), u("span", qt, I(g(t).text), 1));
1643
1687
  }
1644
- }), Z = /* @__PURE__ */ m(Ut, [["__scopeId", "data-v-bc52bf83"]]);
1688
+ }), Z = /* @__PURE__ */ m(Kt, [["__scopeId", "data-v-bc52bf83"]]);
1645
1689
  Z.install = (e) => {
1646
1690
  e.component(Z.name, Z);
1647
1691
  };
1648
- const Kt = {
1692
+ const Qt = {
1649
1693
  name: "hLayout",
1650
1694
  chineseName: "布局",
1651
1695
  description: "页面布局容器"
1652
- }, Qt = /* @__PURE__ */ Object.assign(Kt, {
1696
+ }, Xt = /* @__PURE__ */ Object.assign(Qt, {
1653
1697
  props: {
1654
1698
  width: {
1655
1699
  type: String,
@@ -1677,7 +1721,7 @@ const Kt = {
1677
1721
  }
1678
1722
  },
1679
1723
  setup(e) {
1680
- let t = e, i = y(() => ({
1724
+ let t = e, i = h(() => ({
1681
1725
  width: t.width,
1682
1726
  height: t.height,
1683
1727
  display: t.display,
@@ -1687,18 +1731,18 @@ const Kt = {
1687
1731
  }));
1688
1732
  return (r, l) => (o(), u("div", {
1689
1733
  class: "h-layout",
1690
- style: c(h(i))
1734
+ style: c(g(i))
1691
1735
  }, [
1692
1736
  b(r.$slots, "default", {}, void 0, !0)
1693
1737
  ], 4));
1694
1738
  }
1695
- }), tt = /* @__PURE__ */ m(Qt, [["__scopeId", "data-v-957ea318"]]);
1739
+ }), tt = /* @__PURE__ */ m(Xt, [["__scopeId", "data-v-957ea318"]]);
1696
1740
  tt.install = (e) => {
1697
1741
  e.component(tt.name, tt);
1698
1742
  };
1699
- const Xt = {
1743
+ const Zt = {
1700
1744
  name: "hFlex"
1701
- }, Zt = /* @__PURE__ */ Object.assign(Xt, {
1745
+ }, te = /* @__PURE__ */ Object.assign(Zt, {
1702
1746
  props: {
1703
1747
  width: {
1704
1748
  type: String,
@@ -1734,7 +1778,7 @@ const Xt = {
1734
1778
  }
1735
1779
  },
1736
1780
  setup(e) {
1737
- let t = e, i = y(() => ({
1781
+ let t = e, i = h(() => ({
1738
1782
  display: t.display,
1739
1783
  width: t.width,
1740
1784
  height: t.height,
@@ -1746,22 +1790,22 @@ const Xt = {
1746
1790
  }));
1747
1791
  return (r, l) => (o(), u("div", {
1748
1792
  class: "h-flex",
1749
- style: c(h(i))
1793
+ style: c(g(i))
1750
1794
  }, [
1751
1795
  b(r.$slots, "default", {}, void 0, !0)
1752
1796
  ], 4));
1753
1797
  }
1754
- }), et = /* @__PURE__ */ m(Zt, [["__scopeId", "data-v-c8c463ea"]]);
1798
+ }), et = /* @__PURE__ */ m(te, [["__scopeId", "data-v-c8c463ea"]]);
1755
1799
  et.install = (e) => {
1756
1800
  e.component(et.name, et);
1757
1801
  };
1758
- const te = (e) => {
1802
+ const ee = (e) => {
1759
1803
  e.use(T), e.use(W), e.use(tt), e.use(B), e.use(F), e.use(H), e.use(L), e.use(E), e.use(R), e.use(M), e.use(P), e.use(V), e.use(Y), e.use(J), e.use(q), e.use(U), e.use(K), e.use(Q), e.use(X), e.use(Z), e.use(et);
1760
- }, ne = {
1761
- install: te
1804
+ }, ae = {
1805
+ install: ee
1762
1806
  };
1763
1807
  export {
1764
- ne as default,
1808
+ ae as default,
1765
1809
  M as hBottom,
1766
1810
  U as hButton,
1767
1811
  X as hButtonGroup,
@@ -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,U,P){"use strict";function K(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const l=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(e,a,l.get?l:{enumerable:!0,get:()=>n[a]})}}return e.default=n,Object.freeze(e)}const J=K(U),y=(n,e)=>{const a=n.__vccOpts||n;for(const[l,o]of e)a[l]=o;return a},$=y(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,a=t.computed(()=>({position:e.position,backgroundImage:e.url?`url(${e.url})`:"none"}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-panel",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-474190fc"]]);$.install=n=>{n.component($.name,$)};const w=y(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,a=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(o,g)=>(t.openBlock(),t.createElementBlock("div",{class:"h-header",style:t.normalizeStyle(t.unref(a))},[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(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-b83cf769"]]);w.install=n=>{n.component(w.name,w)};const B=y(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,a=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,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-main",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-1025786b"]]);B.install=n=>{n.component(B.name,B)};const z=y(Object.assign({name:"hChart"},{props:{height:{type:String,default:"auto"},showChart:{type:Boolean,default:!0},chartsh:{type:String,default:"auto"},url:{type:String,default:""},flex:{type:Number,default:.3},chartsOption:{type:Object,required:!0}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:a}){const l=a,o=n,g=t.computed(()=>({backgroundImage:o.url?`url(${o.url})`:"none",flex:o.flex,height:o.height})),h=t.computed(()=>({height:o.chartsh!=="auto"&&o.chartsh!=="0"?`calc(100% - ${o.chartsh})`:o.chartsh})),d=t.ref(null);let p=null;const b=P.useDebounceFn(()=>{p&&(p.resize(),l("chart-resize",{instance:p}))},100),k=()=>{if(!p)return;["click","dblclick","mouseover","mouseout"].forEach(i=>{p.on(i,c=>{l(`chart-${i}`,c)})})},x=()=>{p&&(["click","dblclick","mouseover","mouseout"].forEach(i=>{p.off(i)}),p.dispose(),p=null)},S=()=>{if(x(),!!d.value)try{const r=u(o.chartsOption);p=J.init(d.value),p.setOption(r,{notMerge:!0}),k(),l("chart-ready",{instance:p,dom:d.value})}catch(r){console.error("ECharts initialization failed:",r)}},u=r=>{if(!r||typeof r!="object")return{series:[]};const i=JSON.parse(JSON.stringify(r));return i.series?Array.isArray(i.series)||(i.series=[i.series]):i.series=[],i.series=i.series.map(c=>{if(!c||typeof c!="object")return{type:"line"};const m={type:"line",...c,type:c.type||"line"};return m.type==="pie"&&m.data&&(m.data=m.data.map(_=>typeof _=="object"&&_!==null?{type:"line",..._,type:_.type||"line"}:_)),m}),i.xAxis?Array.isArray(i.xAxis)?i.xAxis=i.xAxis.map(c=>!c||typeof c!="object"?{type:"category"}:{type:"category",...c,type:c.type||"category"}):typeof i.xAxis=="object"?i.xAxis={type:"category",...i.xAxis,type:i.xAxis.type||"category"}:i.xAxis={type:"category"}:i.xAxis={type:"category"},i.yAxis?Array.isArray(i.yAxis)?i.yAxis=i.yAxis.map(c=>!c||typeof c!="object"?{type:"value"}:{type:"value",...c,type:c.type||"value"}):typeof i.yAxis=="object"?i.yAxis={type:"value",...i.yAxis,type:i.yAxis.type||"value"}:i.yAxis={type:"value"}:i.yAxis={type:"value"},i.legend&&(typeof i.legend=="object"&&!Array.isArray(i.legend)||Array.isArray(i.legend)&&(i.legend={data:i.legend})),i},s=()=>{b()};return t.onMounted(()=>{setTimeout(()=>{S()},0),window.addEventListener("resize",s),P.useResizeObserver(d,r=>{b()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",s),x()}),t.watch(()=>o.chartsOption,(r,i)=>{if(r)try{const c=u(r);if(!p){S();return}p.setOption(c,{notMerge:!0}),l("chart-update",{instance:p,option:c})}catch(c){console.error("更新图表配置时出错:",c),console.error(" 错误堆栈:",c.stack)}},{deep:!0}),t.watch(()=>o.showChart,r=>{p&&setTimeout(()=>{p.resize()},0)}),e({getInstance:()=>p,resize:()=>b(),dispatchAction:r=>p==null?void 0:p.dispatchAction(r),dispose:x}),(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart",style:t.normalizeStyle(g.value)},[t.renderSlot(r.$slots,"default",{},void 0,!0),t.withDirectives(t.createElementVNode("div",{class:"chart",ref_key:"charts",ref:d,style:t.normalizeStyle(h.value)},null,4),[[t.vShow,o.showChart]])],4))}}),[["__scopeId","data-v-ad5727b9"]]);z.install=n=>{n.component(z.name,z)};const A=y(Object.assign({name:"hLeft"},{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,a=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-left",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-65e91535"]]);A.install=n=>{n.component(A.name,A)};const I=y(Object.assign({name:"hRight"},{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,a=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-right",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-e897c957"]]);I.install=n=>{n.component(I.name,I)};const C=y(Object.assign({name:"hCenter"},{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,a=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-center",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-73b498de"]]);C.install=n=>{n.component(C.name,C)};const E=y(Object.assign({name:"hTop"},{props:{height:{type:String,default:"70%"},display:{type:String,default:"block"},position:{type:String,default:"relative"}},setup(n){let e=n,a=t.computed(()=>({height:e.height,display:e.display,position:e.position}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-top",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-54014ba4"]]);E.install=n=>{n.component(E.name,E)};const G=y(Object.assign({name:"hBottom"},{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,a=t.computed(()=>({height:e.height,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-bottom",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-086bec2a"]]);G.install=n=>{n.component(G.name,G)};const j=y(Object.assign({name:"hChartTitle"},{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"}},setup(n){let e=n,a=t.computed(()=>({height:e.height,backgroundImage:`url(${e.url})`,fontSize:e.fontSize,paddingLeft:e.paddingLeft,paddingRight:e.paddingRight,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart-title",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"title",{},void 0,!0),t.renderSlot(l.$slots,"content",{},void 0,!0)],4))}}),[["__scopeId","data-v-36cebf9b"]]);j.install=n=>{n.component(j.name,j)};const O=y(Object.assign({name:"hItemChart",chineseName:"独立图表",description:"独立的 ECharts 图表容器组件,适用于大屏数据可视化展示"},{props:{height:{type:String,default:"200px"},url:{type:String,default:""},chartsOption:{type:Object,required:!0}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:a}){const l=a,o=n,g=t.computed(()=>({backgroundImage:o.url?`url(${o.url})`:"none",height:o.height})),h=t.ref(null);let d=null;const p=P.useDebounceFn(()=>{d&&(d.resize(),l("chart-resize",{instance:d}))},100),b=()=>{if(!d)return;["click","dblclick","mouseover","mouseout"].forEach(r=>{d.on(r,i=>{l(`chart-${r}`,i)})})},k=()=>{d&&(["click","dblclick","mouseover","mouseout"].forEach(r=>{d.off(r)}),d.dispose(),d=null)},x=()=>{if(k(),!!h.value)try{const s=S(o.chartsOption);d=J.init(h.value),d.setOption(s,{notMerge:!0}),b(),l("chart-ready",{instance:d,dom:h.value})}catch(s){console.error("ECharts initialization failed:",s)}},S=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(i=>{if(!i||typeof i!="object")return{type:"line"};const c={type:"line",...i,type:i.type||"line"};return c.type==="pie"&&c.data&&(c.data=c.data.map(m=>typeof m=="object"&&m!==null?{value:m.value||0,name:m.name||""}:m)),c}),r.xAxis?Array.isArray(r.xAxis)?r.xAxis=r.xAxis.map(i=>!i||typeof i!="object"?{type:"category"}:{type:"category",...i,type:i.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(i=>!i||typeof i!="object"?{type:"value"}:{type:"value",...i,type:i.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},u=()=>{p()};return t.onMounted(()=>{setTimeout(()=>{x()},0),window.addEventListener("resize",u),P.useResizeObserver(h,s=>{p()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",u),k()}),t.watch(()=>o.chartsOption,s=>{if(s)try{if(!d){x();return}const r=S(s);d.setOption(r,{notMerge:!0}),l("chart-update",{instance:d,option:r})}catch(r){console.error("更新图表配置时出错:",r)}},{deep:!0}),e({getInstance:()=>d,resize:()=>p(),dispatchAction:s=>d==null?void 0:d.dispatchAction(s),dispose:k}),(s,r)=>(t.openBlock(),t.createElementBlock("div",{class:"h-item-chart",ref_key:"itemCharts",ref:h,style:t.normalizeStyle(g.value)},null,4))}}),[["__scopeId","data-v-7c5da244"]]);O.install=n=>{n.component(O.name,O)};const D=y(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 a=n,l=t.ref(0),o=t.ref(null),g=t.ref(0),h=t.ref([]),d=t.ref(null),p=t.computed(()=>({width:a.width,height:a.height,backgroundColor:a.backgroundColor,position:"relative",overflow:"hidden"})),b=t.computed(()=>({height:a.headerHeight,display:"flex",alignItems:"center",background:a.headerBackground,position:"absolute",top:0,left:0,zIndex:10,width:"100%"})),k=t.computed(()=>({transform:`translateY(-${l.value*g.value}px)`,transition:`transform ${a.scrollSpeed}ms ease-in-out`,marginTop:a.showHeader?a.headerHeight:"0"})),x=i=>i===o.value?a.highlightStyle:{};t.watch(l,i=>{if(a.data.length>0){const c=i%a.data.length;o.value=c}});let S=null;const u=()=>{!a.enableScroll||a.data.length===0||(clearInterval(S),S=setInterval(()=>{l.value=(l.value+1)%a.data.length},a.scrollDuration))},s=()=>{S&&(clearInterval(S),S=null)},r=()=>{h.value&&h.value[0]&&(g.value=h.value[0].offsetHeight||40)};return t.onMounted(()=>{r(),u(),window.addEventListener("resize",r)}),t.onBeforeUnmount(()=>{s(),window.removeEventListener("resize",r)}),t.watch(()=>a.data,i=>{i.length>0?(l.value=0,o.value=null,setTimeout(()=>{r(),u()},100)):s()},{deep:!0}),t.watch(()=>a.enableScroll,i=>{i?u():(s(),l.value=0)}),e({startScroll:u,stopScroll:s,getCurrentIndex:()=>l.value,scrollTo:i=>{i>=0&&i<a.data.length&&(l.value=i)}}),(i,c)=>(t.openBlock(),t.createElementBlock("div",{class:"h-list",style:t.normalizeStyle(p.value)},[n.showHeader?(t.openBlock(),t.createElementBlock("div",{key:0,class:"list-header",style:t.normalizeStyle(b.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.header,(m,_)=>(t.openBlock(),t.createElementBlock("p",{key:_,class:"header-item"},t.toDisplayString(m),1))),128))],4)):t.createCommentVNode("",!0),n.enableScroll?(t.openBlock(),t.createElementBlock("div",{key:1,class:"scroll-wrapper",style:t.normalizeStyle(k.value)},[t.createElementVNode("div",{class:"data-list",ref_key:"listContainer",ref:d},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.data,(m,_)=>(t.openBlock(),t.createElementBlock("div",{key:_,class:"data-list-item",style:t.normalizeStyle(x(_)),ref_for:!0,ref_key:"listItems",ref:h},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m,(Y,q)=>(t.openBlock(),t.createElementBlock("p",{key:q,class:"data-item-cell"},t.toDisplayString(Y),1))),128))],4))),128))],512)],4)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-937cc59c"]]);D.install=n=>{n.component(D.name,D)};const N=y(Object.assign({name:"hView"},{props:{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"}},setup(n){let e=n,a=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,rowGap:e.rowGap,columnGap:e.columnGap,flex:e.flex}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-view",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-1c58f2d8"]]);N.install=n=>{n.component(N.name,N)};const T=y(Object.assign({name:"hDataLabel"},{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:""},border:{type:String,default:"none"},display:{type:String,default:"flex"},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,a=t.ref({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:`url(${e.url})`,flexDirection:e.flexDirection,justifyContent:e.justifyContent,alignItems:e.alignItems,color:e.color}),l=t.ref({fontSize:e.numFontSize,fontWeight:e.numFontWeight,color:e.numColor}),o=t.ref({fontSize:e.textFontSize,fontWeight:e.textFontWeight,color:e.textColor}),g=t.ref({fontSize:e.titleFontSize,fontWeight:e.titleFontWeight,color:e.titleColor,lineHeight:e.titlelineHeight,textAlign:e.titletextAlign});return(h,d)=>(t.openBlock(),t.createElementBlock("div",{class:"h-data-label",style:t.normalizeStyle(t.unref(a))},[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(o))},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(g))},t.toDisplayString(n.someText),5)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-f0ce86db"]]);T.install=n=>{n.component(T.name,T)};const F=y(Object.assign({name:"hButton"},{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:""},text:{type:String,default:"测试按钮"}},setup(n){let e=n,a=t.ref({width:e.width,height:e.height,padding:e.padding,margin:e.margin,border:e.border,backgroundImage:`url(${e.url})`,fontSize:e.fontSize,fontWeight:e.fontWeight,color:e.color});return(l,o)=>(t.openBlock(),t.createElementBlock("button",{class:"h-button",style:t.normalizeStyle(t.unref(a))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-0a183c56"]]);F.install=n=>{n.component(F.name,F)};const L=y(Object.assign({name:"hGrid"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100%"},gridWidth:{type:String,default:"1fr"},gridHeight:{type:String,default:"1fr"},display:{type:String,default:"grid"},gridTemplateColumns:{type:String,default:"3"},gridTemplateRows:{type:String,default:"2"},iwidth:{type:String,default:""},iheight:{type:String,default:""},idisplay:{type:String,default:"flex"}},setup(n){let e=n,a=t.ref({width:e.width,height:e.height,display:e.display,gridTemplateColumns:`repeat(${e.gridTemplateColumns}, ${e.gridWidth})`,gridTemplateRows:`repeat(${e.gridTemplateRows}, ${e.gridHeight})`}),l=t.ref({width:e.iwidth,height:e.iheight,display:e.idisplay});return(o,g)=>(t.openBlock(),t.createElementBlock("div",{class:"h-grid",style:t.normalizeStyle(t.unref(a))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(6,h=>t.createElementVNode("div",{key:h,class:"h-grid-item",style:t.normalizeStyle(t.unref(l))},g[0]||(g[0]=[t.createElementVNode("div",{class:"h-grid-item-left"},[t.createElementVNode("img",{src:"",alt:""})],-1),t.createElementVNode("div",{class:"h-grid-item-right"},null,-1)]),4)),64)),t.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-34e7422b"]]);L.install=n=>{n.component(L.name,L)};const W=y(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 a=n,l=t.ref([]),o=t.ref(!1),g=t.computed(()=>{let u=a.data;a.decimalPlaces>=0&&typeof u=="number"&&(u=u.toFixed(a.decimalPlaces));let s=String(u);if(a.showSeparator&&typeof a.data=="number"){const r=s.split(".");r[0]=r[0].replace(/\B(?=(\d{3})+(?!\d))/g,a.separator),s=r.join(".")}return a.prefix&&(s=a.prefix+s),a.suffix&&(s=s+a.suffix),s.split("")}),h=t.computed(()=>a.digitWidth?a.digitWidth:`${(parseInt(a.digitFontSize)||32)*1.2}px`),d=t.computed(()=>a.digitHeight?a.digitHeight:`${(parseInt(a.digitFontSize)||32)*1.5}px`),p=()=>{if(!a.enableAnimation){l.value=g.value.map(()=>0);return}o.value=!0,l.value=g.value.map(()=>0);const u=g.value;u.forEach((s,r)=>{if(isNaN(parseInt(s))){l.value[r]=s;return}const i=parseInt(s),c=r*a.digitDelay,m=a.animationDuration;setTimeout(()=>{let _=0;const Y=m/(i+1),q=()=>{_<=i&&(l.value[r]=_,_++,_<=i?setTimeout(q,Y):(r===u.length-1||u.slice(r+1).every(Z=>isNaN(parseInt(Z))))&&(o.value=!1))};q()},c)})},b=u=>{const s=l.value[u];if(isNaN(parseInt(s)))return{transform:"translateY(0)",transition:"none"};const r=parseInt(d.value)||60;return{transform:`translateY(${-parseInt(s)*r}px)`,transition:`transform ${a.animationDuration}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`}},k=t.computed(()=>({width:a.width,height:a.height,backgroundColor:a.backgroundColor,backgroundImage:a.backgroundImage?`url(${a.backgroundImage})`:"none",display:a.display,justifyContent:a.justifyContent,alignItems:a.alignItems,gap:a.gap,position:a.position,left:a.left||void 0,right:a.right||void 0,top:a.top||void 0,bottom:a.bottom||void 0,zIndex:a.zIndex,transform:a.transform||void 0})),x=t.computed(()=>({width:h.value,height:d.value,overflow:"hidden",position:"relative",borderRadius:a.digitBorderRadius,backgroundColor:a.digitBackgroundColor})),S=t.computed(()=>({width:"100%",height:d.value,color:a.digitColor,fontSize:a.digitFontSize,fontWeight:a.digitFontWeight,display:"flex",justifyContent:"center",alignItems:"center",textAlign:"center",flexShrink:0,lineHeight:"1"}));return t.watch(()=>a.data,()=>{p()}),t.onMounted(()=>{p()}),e({restart:p,getCurrentValue:()=>l.value.join("")}),(u,s)=>(t.openBlock(),t.createElementBlock("div",{class:"h-counter",style:t.normalizeStyle(k.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,(r,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:"counter-digit",style:t.normalizeStyle(x.value)},[t.createElementVNode("div",{class:"digit-scroll",style:t.normalizeStyle(b(i))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(10,c=>t.createElementVNode("div",{key:c-1,class:"digit-item",style:t.normalizeStyle(S.value)},t.toDisplayString(c-1),5)),64))],4)],4))),128)),t.renderSlot(u.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-fba32a26"]]);W.install=n=>{n.component(W.name,W)};const H=y(Object.assign({name:"hButtonGroup"},{props:{width:{type:String,default:""},height:{type:String,default:""},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,a=t.ref({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});return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-button-group",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-7bf905ff"]]);H.install=n=>{n.component(H.name,H)};const Q={class:"h-text"},V=y(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;return(a,l)=>(t.openBlock(),t.createElementBlock("span",Q,t.toDisplayString(t.unref(e).text),1))}}),[["__scopeId","data-v-bc52bf83"]]);V.install=n=>{n.component(V.name,V)};const R=y(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,a=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-layout",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-957ea318"]]);R.install=n=>{n.component(R.name,R)};const M=y(Object.assign({name:"hFlex"},{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"}},setup(n){let e=n,a=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",rowGap:e.rowGap,columnGap:e.columnGap,flexDirection:e.flexDirection,flexWrap:e.flexWrap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-flex",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-c8c463ea"]]);M.install=n=>{n.component(M.name,M)};const X={install:n=>{n.use($),n.use(w),n.use(R),n.use(B),n.use(z),n.use(A),n.use(I),n.use(C),n.use(E),n.use(G),n.use(j),n.use(O),n.use(D),n.use(N),n.use(T),n.use(F),n.use(L),n.use(W),n.use(H),n.use(V),n.use(M)}};f.default=X,f.hBottom=G,f.hButton=F,f.hButtonGroup=H,f.hCenter=C,f.hChart=z,f.hChartTitle=j,f.hCounter=W,f.hDataLabel=T,f.hFlex=M,f.hGrid=L,f.hHeader=w,f.hItemChart=O,f.hLayout=R,f.hLeft=A,f.hList=D,f.hMain=B,f.hPanel=$,f.hRight=I,f.hText=V,f.hTop=E,f.hView=N,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,U,P){"use strict";function K(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const l=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(e,a,l.get?l:{enumerable:!0,get:()=>n[a]})}}return e.default=n,Object.freeze(e)}const J=K(U),y=(n,e)=>{const a=n.__vccOpts||n;for(const[l,o]of e)a[l]=o;return a},$=y(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,a=t.computed(()=>({position:e.position,backgroundImage:e.url?`url(${e.url})`:"none"}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-panel",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-474190fc"]]);$.install=n=>{n.component($.name,$)};const w=y(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,a=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(o,g)=>(t.openBlock(),t.createElementBlock("div",{class:"h-header",style:t.normalizeStyle(t.unref(a))},[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(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-b83cf769"]]);w.install=n=>{n.component(w.name,w)};const B=y(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,a=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,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-main",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-1025786b"]]);B.install=n=>{n.component(B.name,B)};const z=y(Object.assign({name:"hChart"},{props:{height:{type:String,default:"auto"},showChart:{type:Boolean,default:!0},chartsh:{type:String,default:"auto"},url:{type:String,default:""},flex:{type:Number,default:.3},chartsOption:{type:Object,required:!0}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:a}){const l=a,o=n,g=t.computed(()=>({backgroundImage:o.url?`url(${o.url})`:"none",flex:o.flex,height:o.height})),h=t.computed(()=>({height:o.chartsh!=="auto"&&o.chartsh!=="0"?`calc(100% - ${o.chartsh})`:o.chartsh})),d=t.ref(null);let p=null;const b=P.useDebounceFn(()=>{p&&(p.resize(),l("chart-resize",{instance:p}))},100),k=()=>{if(!p)return;["click","dblclick","mouseover","mouseout"].forEach(i=>{p.on(i,c=>{l(`chart-${i}`,c)})})},x=()=>{p&&(["click","dblclick","mouseover","mouseout"].forEach(i=>{p.off(i)}),p.dispose(),p=null)},S=()=>{if(x(),!!d.value)try{const r=u(o.chartsOption);p=J.init(d.value),p.setOption(r,{notMerge:!0}),k(),l("chart-ready",{instance:p,dom:d.value})}catch(r){console.error("ECharts initialization failed:",r)}},u=r=>{if(!r||typeof r!="object")return{series:[]};const i=JSON.parse(JSON.stringify(r));return i.series?Array.isArray(i.series)||(i.series=[i.series]):i.series=[],i.series=i.series.map(c=>{if(!c||typeof c!="object")return{type:"line"};const m={type:"line",...c,type:c.type||"line"};return m.type==="pie"&&m.data&&(m.data=m.data.map(_=>typeof _=="object"&&_!==null?{type:"line",..._,type:_.type||"line"}:_)),m}),i.xAxis?Array.isArray(i.xAxis)?i.xAxis=i.xAxis.map(c=>!c||typeof c!="object"?{type:"category"}:{type:"category",...c,type:c.type||"category"}):typeof i.xAxis=="object"?i.xAxis={type:"category",...i.xAxis,type:i.xAxis.type||"category"}:i.xAxis={type:"category"}:i.xAxis={type:"category"},i.yAxis?Array.isArray(i.yAxis)?i.yAxis=i.yAxis.map(c=>!c||typeof c!="object"?{type:"value"}:{type:"value",...c,type:c.type||"value"}):typeof i.yAxis=="object"?i.yAxis={type:"value",...i.yAxis,type:i.yAxis.type||"value"}:i.yAxis={type:"value"}:i.yAxis={type:"value"},i.legend&&(typeof i.legend=="object"&&!Array.isArray(i.legend)||Array.isArray(i.legend)&&(i.legend={data:i.legend})),i},s=()=>{b()};return t.onMounted(()=>{setTimeout(()=>{S()},0),window.addEventListener("resize",s),P.useResizeObserver(d,r=>{b()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",s),x()}),t.watch(()=>o.chartsOption,(r,i)=>{if(r)try{const c=u(r);if(!p){S();return}p.setOption(c,{notMerge:!0}),l("chart-update",{instance:p,option:c})}catch(c){console.error("更新图表配置时出错:",c),console.error(" 错误堆栈:",c.stack)}},{deep:!0}),t.watch(()=>o.showChart,r=>{p&&setTimeout(()=>{p.resize()},0)}),e({getInstance:()=>p,resize:()=>b(),dispatchAction:r=>p==null?void 0:p.dispatchAction(r),dispose:x}),(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart",style:t.normalizeStyle(g.value)},[t.renderSlot(r.$slots,"default",{},void 0,!0),t.withDirectives(t.createElementVNode("div",{class:"chart",ref_key:"charts",ref:d,style:t.normalizeStyle(h.value)},null,4),[[t.vShow,o.showChart]])],4))}}),[["__scopeId","data-v-ad5727b9"]]);z.install=n=>{n.component(z.name,z)};const A=y(Object.assign({name:"hLeft"},{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,a=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-left",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-65e91535"]]);A.install=n=>{n.component(A.name,A)};const I=y(Object.assign({name:"hRight"},{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,a=t.computed(()=>({width:e.width,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-right",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-e897c957"]]);I.install=n=>{n.component(I.name,I)};const C=y(Object.assign({name:"hCenter"},{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,a=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-center",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-73b498de"]]);C.install=n=>{n.component(C.name,C)};const j=y(Object.assign({name:"hTop"},{props:{height:{type:String,default:"70%"},display:{type:String,default:"block"},position:{type:String,default:"relative"}},setup(n){let e=n,a=t.computed(()=>({height:e.height,display:e.display,position:e.position}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-top",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-54014ba4"]]);j.install=n=>{n.component(j.name,j)};const E=y(Object.assign({name:"hBottom"},{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,a=t.computed(()=>({height:e.height,display:e.display,gap:e.gap,rowGap:e.rowGap,columnGap:e.columnGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-bottom",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-086bec2a"]]);E.install=n=>{n.component(E.name,E)};const Q={class:"def-text"},G=y(Object.assign({name:"hChartTitle"},{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"}},setup(n){let e=n,a=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}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-chart-title",style:t.normalizeStyle(t.unref(a))},[t.createElementVNode("span",Q,t.toDisplayString(t.unref(e).text),1),t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-e64994bb"]]);G.install=n=>{n.component(G.name,G)};const O=y(Object.assign({name:"hItemChart",chineseName:"独立图表",description:"独立的 ECharts 图表容器组件,适用于大屏数据可视化展示"},{props:{height:{type:String,default:"200px"},url:{type:String,default:""},chartsOption:{type:Object,required:!0}},emits:["chart-ready","chart-update","chart-resize","chart-click","chart-dblclick","chart-mouseover","chart-mouseout"],setup(n,{expose:e,emit:a}){const l=a,o=n,g=t.computed(()=>({backgroundImage:o.url?`url(${o.url})`:"none",height:o.height})),h=t.ref(null);let d=null;const p=P.useDebounceFn(()=>{d&&(d.resize(),l("chart-resize",{instance:d}))},100),b=()=>{if(!d)return;["click","dblclick","mouseover","mouseout"].forEach(r=>{d.on(r,i=>{l(`chart-${r}`,i)})})},k=()=>{d&&(["click","dblclick","mouseover","mouseout"].forEach(r=>{d.off(r)}),d.dispose(),d=null)},x=()=>{if(k(),!!h.value)try{const s=S(o.chartsOption);d=J.init(h.value),d.setOption(s,{notMerge:!0}),b(),l("chart-ready",{instance:d,dom:h.value})}catch(s){console.error("ECharts initialization failed:",s)}},S=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(i=>{if(!i||typeof i!="object")return{type:"line"};const c={type:"line",...i,type:i.type||"line"};return c.type==="pie"&&c.data&&(c.data=c.data.map(m=>typeof m=="object"&&m!==null?{value:m.value||0,name:m.name||""}:m)),c}),r.xAxis?Array.isArray(r.xAxis)?r.xAxis=r.xAxis.map(i=>!i||typeof i!="object"?{type:"category"}:{type:"category",...i,type:i.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(i=>!i||typeof i!="object"?{type:"value"}:{type:"value",...i,type:i.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},u=()=>{p()};return t.onMounted(()=>{setTimeout(()=>{x()},0),window.addEventListener("resize",u),P.useResizeObserver(h,s=>{p()})}),t.onBeforeUnmount(()=>{window.removeEventListener("resize",u),k()}),t.watch(()=>o.chartsOption,s=>{if(s)try{if(!d){x();return}const r=S(s);d.setOption(r,{notMerge:!0}),l("chart-update",{instance:d,option:r})}catch(r){console.error("更新图表配置时出错:",r)}},{deep:!0}),e({getInstance:()=>d,resize:()=>p(),dispatchAction:s=>d==null?void 0:d.dispatchAction(s),dispose:k}),(s,r)=>(t.openBlock(),t.createElementBlock("div",{class:"h-item-chart",ref_key:"itemCharts",ref:h,style:t.normalizeStyle(g.value)},null,4))}}),[["__scopeId","data-v-7c5da244"]]);O.install=n=>{n.component(O.name,O)};const D=y(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 a=n,l=t.ref(0),o=t.ref(null),g=t.ref(0),h=t.ref([]),d=t.ref(null),p=t.computed(()=>({width:a.width,height:a.height,backgroundColor:a.backgroundColor,position:"relative",overflow:"hidden"})),b=t.computed(()=>({height:a.headerHeight,display:"flex",alignItems:"center",background:a.headerBackground,position:"absolute",top:0,left:0,zIndex:10,width:"100%"})),k=t.computed(()=>({transform:`translateY(-${l.value*g.value}px)`,transition:`transform ${a.scrollSpeed}ms ease-in-out`,marginTop:a.showHeader?a.headerHeight:"0"})),x=i=>i===o.value?a.highlightStyle:{};t.watch(l,i=>{if(a.data.length>0){const c=i%a.data.length;o.value=c}});let S=null;const u=()=>{!a.enableScroll||a.data.length===0||(clearInterval(S),S=setInterval(()=>{l.value=(l.value+1)%a.data.length},a.scrollDuration))},s=()=>{S&&(clearInterval(S),S=null)},r=()=>{h.value&&h.value[0]&&(g.value=h.value[0].offsetHeight||40)};return t.onMounted(()=>{r(),u(),window.addEventListener("resize",r)}),t.onBeforeUnmount(()=>{s(),window.removeEventListener("resize",r)}),t.watch(()=>a.data,i=>{i.length>0?(l.value=0,o.value=null,setTimeout(()=>{r(),u()},100)):s()},{deep:!0}),t.watch(()=>a.enableScroll,i=>{i?u():(s(),l.value=0)}),e({startScroll:u,stopScroll:s,getCurrentIndex:()=>l.value,scrollTo:i=>{i>=0&&i<a.data.length&&(l.value=i)}}),(i,c)=>(t.openBlock(),t.createElementBlock("div",{class:"h-list",style:t.normalizeStyle(p.value)},[n.showHeader?(t.openBlock(),t.createElementBlock("div",{key:0,class:"list-header",style:t.normalizeStyle(b.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.header,(m,_)=>(t.openBlock(),t.createElementBlock("p",{key:_,class:"header-item"},t.toDisplayString(m),1))),128))],4)):t.createCommentVNode("",!0),n.enableScroll?(t.openBlock(),t.createElementBlock("div",{key:1,class:"scroll-wrapper",style:t.normalizeStyle(k.value)},[t.createElementVNode("div",{class:"data-list",ref_key:"listContainer",ref:d},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.data,(m,_)=>(t.openBlock(),t.createElementBlock("div",{key:_,class:"data-list-item",style:t.normalizeStyle(x(_)),ref_for:!0,ref_key:"listItems",ref:h},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m,(Y,q)=>(t.openBlock(),t.createElementBlock("p",{key:q,class:"data-item-cell"},t.toDisplayString(Y),1))),128))],4))),128))],512)],4)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-937cc59c"]]);D.install=n=>{n.component(D.name,D)};const N=y(Object.assign({name:"hView"},{props:{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"}},setup(n){let e=n,a=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}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-view",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-2b1c3083"]]);N.install=n=>{n.component(N.name,N)};const T=y(Object.assign({name:"hDataLabel"},{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:""},border:{type:String,default:"none"},display:{type:String,default:"flex"},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,a=t.ref({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:`url(${e.url})`,flexDirection:e.flexDirection,justifyContent:e.justifyContent,alignItems:e.alignItems,color:e.color}),l=t.ref({fontSize:e.numFontSize,fontWeight:e.numFontWeight,color:e.numColor}),o=t.ref({fontSize:e.textFontSize,fontWeight:e.textFontWeight,color:e.textColor}),g=t.ref({fontSize:e.titleFontSize,fontWeight:e.titleFontWeight,color:e.titleColor,lineHeight:e.titlelineHeight,textAlign:e.titletextAlign});return(h,d)=>(t.openBlock(),t.createElementBlock("div",{class:"h-data-label",style:t.normalizeStyle(t.unref(a))},[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(o))},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(g))},t.toDisplayString(n.someText),5)):t.createCommentVNode("",!0)],4))}}),[["__scopeId","data-v-f0ce86db"]]);T.install=n=>{n.component(T.name,T)};const F=y(Object.assign({name:"hButton"},{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:""},text:{type:String,default:"测试按钮"}},setup(n){let e=n,a=t.ref({width:e.width,height:e.height,padding:e.padding,margin:e.margin,border:e.border,backgroundImage:`url(${e.url})`,fontSize:e.fontSize,fontWeight:e.fontWeight,color:e.color});return(l,o)=>(t.openBlock(),t.createElementBlock("button",{class:"h-button",style:t.normalizeStyle(t.unref(a))},t.toDisplayString(t.unref(e).text),5))}}),[["__scopeId","data-v-0a183c56"]]);F.install=n=>{n.component(F.name,F)};const L=y(Object.assign({name:"hGrid"},{props:{width:{type:String,default:"100%"},height:{type:String,default:"100%"},gridWidth:{type:String,default:"1fr"},gridHeight:{type:String,default:"1fr"},display:{type:String,default:"grid"},gridTemplateColumns:{type:String,default:"3"},gridTemplateRows:{type:String,default:"2"},iwidth:{type:String,default:""},iheight:{type:String,default:""},idisplay:{type:String,default:"flex"}},setup(n){let e=n,a=t.ref({width:e.width,height:e.height,display:e.display,gridTemplateColumns:`repeat(${e.gridTemplateColumns}, ${e.gridWidth})`,gridTemplateRows:`repeat(${e.gridTemplateRows}, ${e.gridHeight})`}),l=t.ref({width:e.iwidth,height:e.iheight,display:e.idisplay});return(o,g)=>(t.openBlock(),t.createElementBlock("div",{class:"h-grid",style:t.normalizeStyle(t.unref(a))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(6,h=>t.createElementVNode("div",{key:h,class:"h-grid-item",style:t.normalizeStyle(t.unref(l))},g[0]||(g[0]=[t.createElementVNode("div",{class:"h-grid-item-left"},[t.createElementVNode("img",{src:"",alt:""})],-1),t.createElementVNode("div",{class:"h-grid-item-right"},null,-1)]),4)),64)),t.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-34e7422b"]]);L.install=n=>{n.component(L.name,L)};const W=y(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 a=n,l=t.ref([]),o=t.ref(!1),g=t.computed(()=>{let u=a.data;a.decimalPlaces>=0&&typeof u=="number"&&(u=u.toFixed(a.decimalPlaces));let s=String(u);if(a.showSeparator&&typeof a.data=="number"){const r=s.split(".");r[0]=r[0].replace(/\B(?=(\d{3})+(?!\d))/g,a.separator),s=r.join(".")}return a.prefix&&(s=a.prefix+s),a.suffix&&(s=s+a.suffix),s.split("")}),h=t.computed(()=>a.digitWidth?a.digitWidth:`${(parseInt(a.digitFontSize)||32)*1.2}px`),d=t.computed(()=>a.digitHeight?a.digitHeight:`${(parseInt(a.digitFontSize)||32)*1.5}px`),p=()=>{if(!a.enableAnimation){l.value=g.value.map(()=>0);return}o.value=!0,l.value=g.value.map(()=>0);const u=g.value;u.forEach((s,r)=>{if(isNaN(parseInt(s))){l.value[r]=s;return}const i=parseInt(s),c=r*a.digitDelay,m=a.animationDuration;setTimeout(()=>{let _=0;const Y=m/(i+1),q=()=>{_<=i&&(l.value[r]=_,_++,_<=i?setTimeout(q,Y):(r===u.length-1||u.slice(r+1).every(v=>isNaN(parseInt(v))))&&(o.value=!1))};q()},c)})},b=u=>{const s=l.value[u];if(isNaN(parseInt(s)))return{transform:"translateY(0)",transition:"none"};const r=parseInt(d.value)||60;return{transform:`translateY(${-parseInt(s)*r}px)`,transition:`transform ${a.animationDuration}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`}},k=t.computed(()=>({width:a.width,height:a.height,backgroundColor:a.backgroundColor,backgroundImage:a.backgroundImage?`url(${a.backgroundImage})`:"none",display:a.display,justifyContent:a.justifyContent,alignItems:a.alignItems,gap:a.gap,position:a.position,left:a.left||void 0,right:a.right||void 0,top:a.top||void 0,bottom:a.bottom||void 0,zIndex:a.zIndex,transform:a.transform||void 0})),x=t.computed(()=>({width:h.value,height:d.value,overflow:"hidden",position:"relative",borderRadius:a.digitBorderRadius,backgroundColor:a.digitBackgroundColor})),S=t.computed(()=>({width:"100%",height:d.value,color:a.digitColor,fontSize:a.digitFontSize,fontWeight:a.digitFontWeight,display:"flex",justifyContent:"center",alignItems:"center",textAlign:"center",flexShrink:0,lineHeight:"1"}));return t.watch(()=>a.data,()=>{p()}),t.onMounted(()=>{p()}),e({restart:p,getCurrentValue:()=>l.value.join("")}),(u,s)=>(t.openBlock(),t.createElementBlock("div",{class:"h-counter",style:t.normalizeStyle(k.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,(r,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:"counter-digit",style:t.normalizeStyle(x.value)},[t.createElementVNode("div",{class:"digit-scroll",style:t.normalizeStyle(b(i))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(10,c=>t.createElementVNode("div",{key:c-1,class:"digit-item",style:t.normalizeStyle(S.value)},t.toDisplayString(c-1),5)),64))],4)],4))),128)),t.renderSlot(u.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-fba32a26"]]);W.install=n=>{n.component(W.name,W)};const H=y(Object.assign({name:"hButtonGroup"},{props:{width:{type:String,default:""},height:{type:String,default:""},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,a=t.ref({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});return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-button-group",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-7bf905ff"]]);H.install=n=>{n.component(H.name,H)};const X={class:"h-text"},V=y(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;return(a,l)=>(t.openBlock(),t.createElementBlock("span",X,t.toDisplayString(t.unref(e).text),1))}}),[["__scopeId","data-v-bc52bf83"]]);V.install=n=>{n.component(V.name,V)};const R=y(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,a=t.computed(()=>({width:e.width,height:e.height,display:e.display,flexDirection:e.flexDirection,columnGap:e.columnGap,rowGap:e.rowGap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-layout",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-957ea318"]]);R.install=n=>{n.component(R.name,R)};const M=y(Object.assign({name:"hFlex"},{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"}},setup(n){let e=n,a=t.computed(()=>({display:e.display,width:e.width,height:e.height,backgroundImage:e.url?`url(${e.url})`:"none",rowGap:e.rowGap,columnGap:e.columnGap,flexDirection:e.flexDirection,flexWrap:e.flexWrap}));return(l,o)=>(t.openBlock(),t.createElementBlock("div",{class:"h-flex",style:t.normalizeStyle(t.unref(a))},[t.renderSlot(l.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-c8c463ea"]]);M.install=n=>{n.component(M.name,M)};const Z={install:n=>{n.use($),n.use(w),n.use(R),n.use(B),n.use(z),n.use(A),n.use(I),n.use(C),n.use(j),n.use(E),n.use(G),n.use(O),n.use(D),n.use(N),n.use(T),n.use(F),n.use(L),n.use(W),n.use(H),n.use(V),n.use(M)}};f.default=Z,f.hBottom=E,f.hButton=F,f.hButtonGroup=H,f.hCenter=C,f.hChart=z,f.hChartTitle=G,f.hCounter=W,f.hDataLabel=T,f.hFlex=M,f.hGrid=L,f.hHeader=w,f.hItemChart=O,f.hLayout=R,f.hLeft=A,f.hList=D,f.hMain=B,f.hPanel=$,f.hRight=I,f.hText=V,f.hTop=j,f.hView=N,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.4.6",
4
+ "version": "0.4.8",
5
5
  "description": "HamsterCharts-更新了-修复了一些东西",
6
6
  "type": "module",
7
7
  "main": "./dist/hamster-charts.umd.cjs",