@agions/taroviz 1.3.0 → 1.3.1

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.
package/dist/esm/index.js CHANGED
@@ -64,9 +64,7 @@ var H5Adapter = /** @class */function () {
64
64
  // 获取容器元素
65
65
  var container = ((_a = this.containerRef) === null || _a === void 0 ? void 0 : _a.current) || document.getElementById(this.canvasId);
66
66
  if (!container) {
67
- console.error('[TaroViz] H5Adapter: container not found');
68
- // 如果容器未找到,返回一个空对象
69
- return {};
67
+ throw new Error("[TaroViz] H5Adapter: container not found (canvasId: ".concat(this.canvasId, ")"));
70
68
  }
71
69
  // 初始化图表
72
70
  this.instance = echarts_core__WEBPACK_IMPORTED_MODULE_1__.init(container, this.options.theme, {
@@ -277,14 +275,121 @@ var H5Adapter = /** @class */function () {
277
275
 
278
276
  /***/ },
279
277
 
280
- /***/ 382
278
+ /***/ 234
281
279
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
282
280
 
283
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
284
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
285
- /* harmony export */ });
286
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
287
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
281
+
282
+ // EXPORTS
283
+ __webpack_require__.d(__webpack_exports__, {
284
+ li: () => (/* binding */ detectPlatform),
285
+ cK: () => (/* binding */ getAdapter),
286
+ _$: () => (/* binding */ getEnv)
287
+ });
288
+
289
+ // UNUSED EXPORTS: H5Adapter, HarmonyAdapter, PlatformType, SwanAdapter, TTAdapter, WeappAdapter, default, version
290
+
291
+ ;// ./src/core/types/common.ts
292
+ /**
293
+ * 图表事件声明
294
+ */
295
+ var ChartEventType;
296
+ (function (ChartEventType) {
297
+ ChartEventType["CLICK"] = "click";
298
+ ChartEventType["MOUSEMOVE"] = "mousemove";
299
+ ChartEventType["MOUSEUP"] = "mouseup";
300
+ ChartEventType["MOUSEDOWN"] = "mousedown";
301
+ ChartEventType["MOUSEOVER"] = "mouseover";
302
+ ChartEventType["MOUSEOUT"] = "mouseout";
303
+ ChartEventType["GLOBALOUT"] = "globalout";
304
+ ChartEventType["LEGENDSELECTED"] = "legendselected";
305
+ ChartEventType["LEGENDUNSELECTED"] = "legendunselected";
306
+ ChartEventType["LEGENDSELECTCHANGED"] = "legendselectchanged";
307
+ ChartEventType["LEGENDSCROLL"] = "legendscroll";
308
+ ChartEventType["DATAZOOM"] = "datazoom";
309
+ ChartEventType["DATARANGESELECTED"] = "datarangeselected";
310
+ ChartEventType["TIMELINECHANGED"] = "timelinechanged";
311
+ ChartEventType["TIMELINEPLAYCHANGED"] = "timelineplaychanged";
312
+ ChartEventType["RESTORE"] = "restore";
313
+ ChartEventType["DATAVIEWCHANGED"] = "dataviewchanged";
314
+ ChartEventType["MAGICTYPECHANGED"] = "magictypechanged";
315
+ ChartEventType["GEOSELECTCHANGED"] = "geoselectchanged";
316
+ ChartEventType["GEOSELECTED"] = "geoselected";
317
+ ChartEventType["GEOUNSELECTED"] = "geounselected";
318
+ ChartEventType["PIESELECTCHANGED"] = "pieselectchanged";
319
+ ChartEventType["PIESELECTED"] = "pieselected";
320
+ ChartEventType["PIEUNSELECTED"] = "pieunselected";
321
+ ChartEventType["MAPSELECTCHANGED"] = "mapselectchanged";
322
+ ChartEventType["MAPSELECTED"] = "mapselected";
323
+ ChartEventType["MAPUNSELECTED"] = "mapunselected";
324
+ ChartEventType["AXISAREASELECTED"] = "axisareaselected";
325
+ ChartEventType["FOCUSNODEADJACENCY"] = "focusnodeadjacency";
326
+ ChartEventType["UNFOCUSNODEADJACENCY"] = "unfocusnodeadjacency";
327
+ ChartEventType["BRUSH"] = "brush";
328
+ ChartEventType["BRUSHSELECTED"] = "brushselected";
329
+ ChartEventType["RENDERED"] = "rendered";
330
+ ChartEventType["FINISHED"] = "finished";
331
+ // 自定义事件
332
+ ChartEventType["CHART_READY"] = "chartReady";
333
+ ChartEventType["CHART_RESIZE"] = "chartResize";
334
+ ChartEventType["CHART_ERROR"] = "chartError";
335
+ ChartEventType["CHART_DISPOSE"] = "chartDispose";
336
+ })(ChartEventType || (ChartEventType = {}));
337
+ ;// ./src/core/types/platform.ts
338
+ /**
339
+ * 支持的平台类型
340
+ */
341
+ var PlatformType;
342
+ (function (PlatformType) {
343
+ PlatformType["H5"] = "h5";
344
+ PlatformType["WEAPP"] = "weapp";
345
+ PlatformType["ALIPAY"] = "alipay";
346
+ PlatformType["SWAN"] = "swan";
347
+ PlatformType["TT"] = "tt";
348
+ PlatformType["QQ"] = "qq";
349
+ PlatformType["JD"] = "jd";
350
+ PlatformType["HARMONY"] = "harmony";
351
+ PlatformType["DD"] = "dd";
352
+ PlatformType["QYWX"] = "qywx";
353
+ PlatformType["LARK"] = "lark";
354
+ PlatformType["KWAI"] = "kwai";
355
+ })(PlatformType || (PlatformType = {}));
356
+ // EXTERNAL MODULE: ./src/core/animation/index.ts + 2 modules
357
+ var animation = __webpack_require__(251);
358
+ ;// ./src/core/types/index.ts
359
+ // 公共类型
360
+
361
+ // 平台类型
362
+
363
+
364
+ // 导出动画相关类型
365
+
366
+ // EXTERNAL MODULE: ./src/core/utils/index.ts + 2 modules
367
+ var utils = __webpack_require__(524);
368
+ // EXTERNAL MODULE: ./src/core/echarts.ts + 1 modules
369
+ var echarts = __webpack_require__(930);
370
+ ;// ./src/core/index.ts
371
+ /**
372
+ * TaroViz 核心组件库
373
+ * 提供基础组件和工具函数
374
+ */
375
+ // 类型定义
376
+
377
+ // 工具函数
378
+
379
+ // ECharts 统一导出
380
+
381
+ /**
382
+ * 库信息
383
+ */
384
+ var core_name = 'taroviz';
385
+ var version = '1.2.0';
386
+ // EXTERNAL MODULE: ./src/adapters/h5/index.ts
387
+ var h5 = __webpack_require__(123);
388
+ // EXTERNAL MODULE: ./src/adapters/weapp/index.ts
389
+ var weapp = __webpack_require__(999);
390
+ // EXTERNAL MODULE: external "react"
391
+ var external_react_ = __webpack_require__(15);
392
+ ;// ./src/adapters/swan/index.ts
288
393
  var __assign = undefined && undefined.__assign || function () {
289
394
  __assign = Object.assign || function (t) {
290
395
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -296,19 +401,19 @@ var __assign = undefined && undefined.__assign || function () {
296
401
  return __assign.apply(this, arguments);
297
402
  };
298
403
  /**
299
- * TaroViz HarmonyOS适配器
300
- * 基于HarmonyOS Canvas实现图表渲染
404
+ * TaroViz 百度小程序适配器
405
+ * 基于百度小程序canvas组件实现图表渲染
301
406
  */
302
407
 
303
408
  /**
304
- * HarmonyOS环境下的图表适配器
409
+ * 百度小程序环境下的图表适配器
305
410
  */
306
- var HarmonyAdapter = /** @class */function () {
411
+ var SwanAdapter = /** @class */function () {
307
412
  /**
308
413
  * 构造函数
309
414
  * @param config 适配器配置
310
415
  */
311
- function HarmonyAdapter(config) {
416
+ function SwanAdapter(config) {
312
417
  /**
313
418
  * 图表实例
314
419
  */
@@ -321,23 +426,23 @@ var HarmonyAdapter = /** @class */function () {
321
426
  this.component = config.component;
322
427
  }
323
428
  /**
324
- * 创建HarmonyOS适配器实例
429
+ * 创建百度小程序适配器实例
325
430
  * @param options 适配器选项
326
431
  * @returns 适配器实例
327
432
  */
328
- HarmonyAdapter.create = function (options) {
329
- return new HarmonyAdapter(options);
433
+ SwanAdapter.create = function (options) {
434
+ return new SwanAdapter(options);
330
435
  };
331
436
  /**
332
437
  * 获取图表实例
333
438
  */
334
- HarmonyAdapter.prototype.getInstance = function () {
439
+ SwanAdapter.prototype.getInstance = function () {
335
440
  return this.chartInstance;
336
441
  };
337
442
  /**
338
443
  * 初始化图表
339
444
  */
340
- HarmonyAdapter.prototype.init = function () {
445
+ SwanAdapter.prototype.init = function () {
341
446
  var _a = this.config,
342
447
  canvasId = _a.canvasId,
343
448
  width = _a.width,
@@ -345,11 +450,11 @@ var HarmonyAdapter = /** @class */function () {
345
450
  theme = _a.theme,
346
451
  option = _a.option;
347
452
  if (!this.component) {
348
- console.error('[TaroViz] HarmonyAdapter: component is required');
453
+ console.error('[TaroViz] SwanAdapter: component is required');
349
454
  return null;
350
455
  }
351
456
  if (!canvasId) {
352
- console.error('[TaroViz] HarmonyAdapter: canvasId is required');
457
+ console.error('[TaroViz] SwanAdapter: canvasId is required');
353
458
  return null;
354
459
  }
355
460
  // 创建图表实例
@@ -374,7 +479,7 @@ var HarmonyAdapter = /** @class */function () {
374
479
  /**
375
480
  * 设置图表选项
376
481
  */
377
- HarmonyAdapter.prototype.setOption = function (option, opts) {
482
+ SwanAdapter.prototype.setOption = function (option, opts) {
378
483
  if (this.chartInstance) {
379
484
  this.chartInstance.setOption(option, opts);
380
485
  } else {
@@ -384,7 +489,7 @@ var HarmonyAdapter = /** @class */function () {
384
489
  /**
385
490
  * 设置主题
386
491
  */
387
- HarmonyAdapter.prototype.setTheme = function (theme) {
492
+ SwanAdapter.prototype.setTheme = function (theme) {
388
493
  var _a, _b;
389
494
  this.config.theme = theme;
390
495
  if (this.chartInstance) {
@@ -394,32 +499,32 @@ var HarmonyAdapter = /** @class */function () {
394
499
  /**
395
500
  * 获取图表宽度
396
501
  */
397
- HarmonyAdapter.prototype.getWidth = function () {
502
+ SwanAdapter.prototype.getWidth = function () {
398
503
  return 0;
399
504
  };
400
505
  /**
401
506
  * 获取图表高度
402
507
  */
403
- HarmonyAdapter.prototype.getHeight = function () {
508
+ SwanAdapter.prototype.getHeight = function () {
404
509
  return 0;
405
510
  };
406
511
  /**
407
512
  * 获取DOM元素
408
513
  */
409
- HarmonyAdapter.prototype.getDom = function () {
514
+ SwanAdapter.prototype.getDom = function () {
410
515
  return null;
411
516
  };
412
517
  /**
413
518
  * 转换为DataURL
414
519
  */
415
- HarmonyAdapter.prototype.convertToDataURL = function (opts) {
520
+ SwanAdapter.prototype.convertToDataURL = function (opts) {
416
521
  var _a;
417
522
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
418
523
  };
419
524
  /**
420
525
  * 清空图表
421
526
  */
422
- HarmonyAdapter.prototype.clear = function () {
527
+ SwanAdapter.prototype.clear = function () {
423
528
  if (this.chartInstance) {
424
529
  this.chartInstance.clear();
425
530
  }
@@ -427,7 +532,7 @@ var HarmonyAdapter = /** @class */function () {
427
532
  /**
428
533
  * 绑定事件
429
534
  */
430
- HarmonyAdapter.prototype.on = function (event, handler) {
535
+ SwanAdapter.prototype.on = function (event, handler) {
431
536
  if (this.chartInstance) {
432
537
  this.chartInstance.on(event, handler);
433
538
  }
@@ -435,7 +540,7 @@ var HarmonyAdapter = /** @class */function () {
435
540
  /**
436
541
  * 解绑事件
437
542
  */
438
- HarmonyAdapter.prototype.off = function (event, handler) {
543
+ SwanAdapter.prototype.off = function (event, handler) {
439
544
  if (this.chartInstance) {
440
545
  this.chartInstance.off(event, handler);
441
546
  }
@@ -443,7 +548,7 @@ var HarmonyAdapter = /** @class */function () {
443
548
  /**
444
549
  * 显示加载动画
445
550
  */
446
- HarmonyAdapter.prototype.showLoading = function (opts) {
551
+ SwanAdapter.prototype.showLoading = function (opts) {
447
552
  if (this.chartInstance) {
448
553
  this.chartInstance.showLoading(opts);
449
554
  }
@@ -451,7 +556,7 @@ var HarmonyAdapter = /** @class */function () {
451
556
  /**
452
557
  * 隐藏加载动画
453
558
  */
454
- HarmonyAdapter.prototype.hideLoading = function () {
559
+ SwanAdapter.prototype.hideLoading = function () {
455
560
  if (this.chartInstance) {
456
561
  this.chartInstance.hideLoading();
457
562
  }
@@ -459,7 +564,7 @@ var HarmonyAdapter = /** @class */function () {
459
564
  /**
460
565
  * 销毁图表
461
566
  */
462
- HarmonyAdapter.prototype.dispose = function () {
567
+ SwanAdapter.prototype.dispose = function () {
463
568
  if (this.chartInstance) {
464
569
  this.chartInstance.dispose();
465
570
  this.chartInstance = null;
@@ -468,7 +573,7 @@ var HarmonyAdapter = /** @class */function () {
468
573
  /**
469
574
  * 处理图表大小变化
470
575
  */
471
- HarmonyAdapter.prototype.resize = function (opts) {
576
+ SwanAdapter.prototype.resize = function (opts) {
472
577
  if (this.chartInstance) {
473
578
  this.chartInstance.resize(opts);
474
579
  }
@@ -476,13 +581,13 @@ var HarmonyAdapter = /** @class */function () {
476
581
  /**
477
582
  * 设置组件实例
478
583
  */
479
- HarmonyAdapter.prototype.setComponent = function (component) {
584
+ SwanAdapter.prototype.setComponent = function (component) {
480
585
  this.component = component;
481
586
  };
482
587
  /**
483
588
  * 渲染图表组件
484
589
  */
485
- HarmonyAdapter.prototype.render = function () {
590
+ SwanAdapter.prototype.render = function () {
486
591
  var _a = this.config,
487
592
  _b = _a.canvasId,
488
593
  canvasId = _b === void 0 ? 'ec-canvas' : _b,
@@ -493,7 +598,7 @@ var HarmonyAdapter = /** @class */function () {
493
598
  _e = _a.style,
494
599
  style = _e === void 0 ? {} : _e;
495
600
  // 注意:这里需要根据实际使用的Taro版本和组件库来调整
496
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement('view', {
601
+ return /*#__PURE__*/external_react_.createElement('view', {
497
602
  id: canvasId,
498
603
  style: __assign({
499
604
  width: width,
@@ -504,7 +609,7 @@ var HarmonyAdapter = /** @class */function () {
504
609
  /**
505
610
  * 触发图表行为
506
611
  */
507
- HarmonyAdapter.prototype.dispatchAction = function (payload) {
612
+ SwanAdapter.prototype.dispatchAction = function (payload) {
508
613
  if (this.chartInstance) {
509
614
  this.chartInstance.dispatchAction(payload);
510
615
  }
@@ -512,366 +617,38 @@ var HarmonyAdapter = /** @class */function () {
512
617
  /**
513
618
  * 获取DataURL
514
619
  */
515
- HarmonyAdapter.prototype.getDataURL = function (opts) {
620
+ SwanAdapter.prototype.getDataURL = function (opts) {
516
621
  var _a;
517
622
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
518
623
  };
519
- return HarmonyAdapter;
624
+ return SwanAdapter;
520
625
  }();
521
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HarmonyAdapter);
522
-
523
- /***/ },
524
-
525
- /***/ 574
526
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
527
-
528
-
529
- // EXPORTS
530
- __webpack_require__.d(__webpack_exports__, {
531
- li: () => (/* binding */ detectPlatform),
532
- cK: () => (/* binding */ getAdapter),
533
- _$: () => (/* binding */ getEnv)
534
- });
535
-
536
- // UNUSED EXPORTS: H5Adapter, HarmonyAdapter, PlatformType, SwanAdapter, TTAdapter, WeappAdapter, default, version
537
-
538
- ;// ./src/core/types/common.ts
626
+ /* harmony default export */ const swan = (SwanAdapter);
627
+ ;// ./src/adapters/tt/index.ts
628
+ var tt_assign = undefined && undefined.__assign || function () {
629
+ tt_assign = Object.assign || function (t) {
630
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
631
+ s = arguments[i];
632
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
633
+ }
634
+ return t;
635
+ };
636
+ return tt_assign.apply(this, arguments);
637
+ };
539
638
  /**
540
- * 图表事件声明
639
+ * TaroViz 字节跳动小程序适配器
640
+ * 基于字节跳动小程序canvas组件实现图表渲染
541
641
  */
542
- var ChartEventType;
543
- (function (ChartEventType) {
544
- ChartEventType["CLICK"] = "click";
545
- ChartEventType["MOUSEMOVE"] = "mousemove";
546
- ChartEventType["MOUSEUP"] = "mouseup";
547
- ChartEventType["MOUSEDOWN"] = "mousedown";
548
- ChartEventType["MOUSEOVER"] = "mouseover";
549
- ChartEventType["MOUSEOUT"] = "mouseout";
550
- ChartEventType["GLOBALOUT"] = "globalout";
551
- ChartEventType["LEGENDSELECTED"] = "legendselected";
552
- ChartEventType["LEGENDUNSELECTED"] = "legendunselected";
553
- ChartEventType["LEGENDSELECTCHANGED"] = "legendselectchanged";
554
- ChartEventType["LEGENDSCROLL"] = "legendscroll";
555
- ChartEventType["DATAZOOM"] = "datazoom";
556
- ChartEventType["DATARANGESELECTED"] = "datarangeselected";
557
- ChartEventType["TIMELINECHANGED"] = "timelinechanged";
558
- ChartEventType["TIMELINEPLAYCHANGED"] = "timelineplaychanged";
559
- ChartEventType["RESTORE"] = "restore";
560
- ChartEventType["DATAVIEWCHANGED"] = "dataviewchanged";
561
- ChartEventType["MAGICTYPECHANGED"] = "magictypechanged";
562
- ChartEventType["GEOSELECTCHANGED"] = "geoselectchanged";
563
- ChartEventType["GEOSELECTED"] = "geoselected";
564
- ChartEventType["GEOUNSELECTED"] = "geounselected";
565
- ChartEventType["PIESELECTCHANGED"] = "pieselectchanged";
566
- ChartEventType["PIESELECTED"] = "pieselected";
567
- ChartEventType["PIEUNSELECTED"] = "pieunselected";
568
- ChartEventType["MAPSELECTCHANGED"] = "mapselectchanged";
569
- ChartEventType["MAPSELECTED"] = "mapselected";
570
- ChartEventType["MAPUNSELECTED"] = "mapunselected";
571
- ChartEventType["AXISAREASELECTED"] = "axisareaselected";
572
- ChartEventType["FOCUSNODEADJACENCY"] = "focusnodeadjacency";
573
- ChartEventType["UNFOCUSNODEADJACENCY"] = "unfocusnodeadjacency";
574
- ChartEventType["BRUSH"] = "brush";
575
- ChartEventType["BRUSHSELECTED"] = "brushselected";
576
- ChartEventType["RENDERED"] = "rendered";
577
- ChartEventType["FINISHED"] = "finished";
578
- // 自定义事件
579
- ChartEventType["CHART_READY"] = "chartReady";
580
- ChartEventType["CHART_RESIZE"] = "chartResize";
581
- ChartEventType["CHART_ERROR"] = "chartError";
582
- ChartEventType["CHART_DISPOSE"] = "chartDispose";
583
- })(ChartEventType || (ChartEventType = {}));
584
- ;// ./src/core/types/platform.ts
642
+
585
643
  /**
586
- * 支持的平台类型
644
+ * 字节跳动小程序环境下的图表适配器
587
645
  */
588
- var PlatformType;
589
- (function (PlatformType) {
590
- PlatformType["H5"] = "h5";
591
- PlatformType["WEAPP"] = "weapp";
592
- PlatformType["ALIPAY"] = "alipay";
593
- PlatformType["SWAN"] = "swan";
594
- PlatformType["TT"] = "tt";
595
- PlatformType["QQ"] = "qq";
596
- PlatformType["JD"] = "jd";
597
- PlatformType["HARMONY"] = "harmony";
598
- PlatformType["DD"] = "dd";
599
- PlatformType["QYWX"] = "qywx";
600
- PlatformType["LARK"] = "lark";
601
- PlatformType["KWAI"] = "kwai";
602
- })(PlatformType || (PlatformType = {}));
603
- // EXTERNAL MODULE: ./src/core/animation/index.ts + 2 modules
604
- var animation = __webpack_require__(251);
605
- ;// ./src/core/types/index.ts
606
- // 公共类型
607
-
608
- // 平台类型
609
-
610
-
611
- // 导出动画相关类型
612
-
613
- // EXTERNAL MODULE: ./src/core/utils/index.ts + 2 modules
614
- var utils = __webpack_require__(524);
615
- // EXTERNAL MODULE: ./src/core/echarts.ts + 1 modules
616
- var echarts = __webpack_require__(930);
617
- ;// ./src/core/index.ts
618
- /**
619
- * TaroViz 核心组件库
620
- * 提供基础组件和工具函数
621
- */
622
- // 类型定义
623
-
624
- // 工具函数
625
-
626
- // ECharts 统一导出
627
-
628
- /**
629
- * 库信息
630
- */
631
- var core_name = 'taroviz';
632
- var version = '1.2.0';
633
- // EXTERNAL MODULE: ./src/adapters/h5/index.ts
634
- var h5 = __webpack_require__(123);
635
- // EXTERNAL MODULE: ./src/adapters/weapp/index.ts
636
- var weapp = __webpack_require__(999);
637
- // EXTERNAL MODULE: ./src/adapters/swan/index.ts
638
- var swan = __webpack_require__(85);
639
- // EXTERNAL MODULE: ./src/adapters/tt/index.ts
640
- var tt = __webpack_require__(280);
641
- // EXTERNAL MODULE: ./src/adapters/harmony/index.ts
642
- var harmony = __webpack_require__(382);
643
- ;// ./src/adapters/types.ts
644
-
645
-
646
- ;// ./src/adapters/index.ts
647
- /**
648
- * TaroViz 平台适配器
649
- * 自动检测并加载适合当前平台的适配器
650
- */
651
- var _a;
652
-
653
- var PLATFORM_CONFIGS = (_a = {}, _a[PlatformType.H5] = {
654
- name: 'H5'
655
- }, _a[PlatformType.WEAPP] = {
656
- name: 'Wechat',
657
- requireComponent: true
658
- }, _a[PlatformType.ALIPAY] = {
659
- name: 'Alipay',
660
- requireComponent: true
661
- }, _a[PlatformType.SWAN] = {
662
- name: 'Baidu',
663
- requireComponent: true
664
- }, _a[PlatformType.TT] = {
665
- name: 'ByteDance',
666
- requireComponent: true
667
- }, _a[PlatformType.QQ] = {
668
- name: 'QQ',
669
- requireComponent: true
670
- }, _a[PlatformType.JD] = {
671
- name: 'JD',
672
- requireComponent: true
673
- }, _a[PlatformType.DD] = {
674
- name: 'DingTalk',
675
- requireComponent: true
676
- }, _a[PlatformType.QYWX] = {
677
- name: 'QiyeWechat'
678
- }, _a[PlatformType.LARK] = {
679
- name: 'Lark'
680
- }, _a[PlatformType.HARMONY] = {
681
- name: 'HarmonyOS',
682
- requireComponent: true
683
- }, _a);
684
- /**
685
- * 检测当前运行的平台环境
686
- */
687
- function detectPlatform() {
688
- if (typeof window === 'undefined') {
689
- return PlatformType.H5;
690
- }
691
- var checks = [{
692
- test: function () {
693
- var _a, _b;
694
- return 'wx' in window && ((_a = window.wx) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync) && !((_b = window.wx) === null || _b === void 0 ? void 0 : _b.qy);
695
- },
696
- platform: PlatformType.WEAPP
697
- }, {
698
- test: function () {
699
- var _a;
700
- return 'my' in window && ((_a = window.my) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
701
- },
702
- platform: PlatformType.ALIPAY
703
- }, {
704
- test: function () {
705
- var _a;
706
- return 'swan' in window && ((_a = window.swan) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
707
- },
708
- platform: PlatformType.SWAN
709
- }, {
710
- test: function () {
711
- var _a;
712
- return 'tt' in window && ((_a = window.tt) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
713
- },
714
- platform: PlatformType.TT
715
- }, {
716
- test: function () {
717
- var _a;
718
- return 'qq' in window && ((_a = window.qq) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
719
- },
720
- platform: PlatformType.QQ
721
- }, {
722
- test: function () {
723
- var _a;
724
- return 'jd' in window && ((_a = window.jd) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
725
- },
726
- platform: PlatformType.JD
727
- }, {
728
- test: function () {
729
- var _a;
730
- return 'dd' in window && ((_a = window.dd) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
731
- },
732
- platform: PlatformType.DD
733
- }, {
734
- test: function () {
735
- var _a;
736
- return 'wx' in window && ((_a = window.wx) === null || _a === void 0 ? void 0 : _a.qy);
737
- },
738
- platform: PlatformType.QYWX
739
- }, {
740
- test: function () {
741
- var _a, _b;
742
- return 'tt' in window && ((_b = (_a = window.tt) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.appName) === 'lark';
743
- },
744
- platform: PlatformType.LARK
745
- }, {
746
- test: function () {
747
- return navigator.userAgent.includes('HarmonyOS');
748
- },
749
- platform: PlatformType.HARMONY
750
- }];
751
- for (var _i = 0, checks_1 = checks; _i < checks_1.length; _i++) {
752
- var check = checks_1[_i];
753
- if (check.test()) {
754
- return check.platform;
755
- }
756
- }
757
- return PlatformType.H5;
758
- }
759
- /**
760
- * 判断运行环境
761
- */
762
- function getEnv() {
763
- var _a;
764
- if (typeof window !== 'undefined' && typeof document !== 'undefined') {
765
- return 'h5';
766
- }
767
- if (typeof __webpack_require__.g !== 'undefined' && ((_a = __webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.wx) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync)) {
768
- return 'weapp';
769
- }
770
- return 'unknown';
771
- }
772
- /**
773
- * 创建适配器实例
774
- */
775
- function createAdapterInstance(platform, options) {
776
- var _a;
777
- var adapters = (_a = {}, _a[PlatformType.H5] = function () {
778
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
779
- }, _a[PlatformType.WEAPP] = function () {
780
- return (__webpack_require__(999)/* ["default"] */ .A).create(options);
781
- }, _a[PlatformType.SWAN] = function () {
782
- return (__webpack_require__(85)/* ["default"] */ .A).create(options);
783
- }, _a[PlatformType.TT] = function () {
784
- return (__webpack_require__(280)/* ["default"] */ .A).create(options);
785
- }, _a[PlatformType.HARMONY] = function () {
786
- return (__webpack_require__(382)/* ["default"] */ .A).create(options);
787
- }, _a[PlatformType.ALIPAY] = function () {
788
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
789
- }, _a[PlatformType.QQ] = function () {
790
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
791
- }, _a[PlatformType.JD] = function () {
792
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
793
- }, _a[PlatformType.DD] = function () {
794
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
795
- }, _a[PlatformType.QYWX] = function () {
796
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
797
- }, _a[PlatformType.LARK] = function () {
798
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
799
- }, _a);
800
- return adapters[platform]();
801
- }
802
- /**
803
- * 获取适配器
804
- */
805
- function getAdapter(options) {
806
- var platform = detectPlatform();
807
- var config = PLATFORM_CONFIGS[platform];
808
- // 检查是否需要 component 属性
809
- if ((config === null || config === void 0 ? void 0 : config.requireComponent) && !('component' in options)) {
810
- console.warn("[TaroViz] ".concat(config.name, "Adapter requires component property, fallback to H5Adapter"));
811
- }
812
- try {
813
- return createAdapterInstance(platform, options);
814
- } catch (error) {
815
- console.error("[TaroViz] Failed to load adapter for platform '".concat(platform, "':"), error);
816
- return (__webpack_require__(123)/* ["default"] */ .A).create(options);
817
- }
818
- }
819
- // 导出所有适配器
820
-
821
-
822
-
823
-
824
-
825
- /**
826
- * 版本信息
827
- */
828
- var adapters_version = '1.2.0';
829
-
830
- /* harmony default export */ const adapters = ({
831
- getAdapter: getAdapter,
832
- getEnv: getEnv,
833
- detectPlatform: detectPlatform,
834
- h5: (__webpack_require__(123)/* ["default"] */ .A),
835
- weapp: (__webpack_require__(999)/* ["default"] */ .A),
836
- swan: (__webpack_require__(85)/* ["default"] */ .A),
837
- tt: (__webpack_require__(280)/* ["default"] */ .A),
838
- harmony: (__webpack_require__(382)/* ["default"] */ .A)
839
- });
840
-
841
- /***/ },
842
-
843
- /***/ 85
844
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
845
-
846
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
847
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
848
- /* harmony export */ });
849
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
850
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
851
- var __assign = undefined && undefined.__assign || function () {
852
- __assign = Object.assign || function (t) {
853
- for (var s, i = 1, n = arguments.length; i < n; i++) {
854
- s = arguments[i];
855
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
856
- }
857
- return t;
858
- };
859
- return __assign.apply(this, arguments);
860
- };
861
- /**
862
- * TaroViz 百度小程序适配器
863
- * 基于百度小程序canvas组件实现图表渲染
864
- */
865
-
866
- /**
867
- * 百度小程序环境下的图表适配器
868
- */
869
- var SwanAdapter = /** @class */function () {
646
+ var TTAdapter = /** @class */function () {
870
647
  /**
871
648
  * 构造函数
872
649
  * @param config 适配器配置
873
650
  */
874
- function SwanAdapter(config) {
651
+ function TTAdapter(config) {
875
652
  /**
876
653
  * 图表实例
877
654
  */
@@ -884,23 +661,23 @@ var SwanAdapter = /** @class */function () {
884
661
  this.component = config.component;
885
662
  }
886
663
  /**
887
- * 创建百度小程序适配器实例
664
+ * 创建字节跳动小程序适配器实例
888
665
  * @param options 适配器选项
889
666
  * @returns 适配器实例
890
667
  */
891
- SwanAdapter.create = function (options) {
892
- return new SwanAdapter(options);
668
+ TTAdapter.create = function (options) {
669
+ return new TTAdapter(options);
893
670
  };
894
671
  /**
895
672
  * 获取图表实例
896
673
  */
897
- SwanAdapter.prototype.getInstance = function () {
674
+ TTAdapter.prototype.getInstance = function () {
898
675
  return this.chartInstance;
899
676
  };
900
677
  /**
901
678
  * 初始化图表
902
679
  */
903
- SwanAdapter.prototype.init = function () {
680
+ TTAdapter.prototype.init = function () {
904
681
  var _a = this.config,
905
682
  canvasId = _a.canvasId,
906
683
  width = _a.width,
@@ -908,11 +685,11 @@ var SwanAdapter = /** @class */function () {
908
685
  theme = _a.theme,
909
686
  option = _a.option;
910
687
  if (!this.component) {
911
- console.error('[TaroViz] SwanAdapter: component is required');
688
+ console.error('[TaroViz] TTAdapter: component is required');
912
689
  return null;
913
690
  }
914
691
  if (!canvasId) {
915
- console.error('[TaroViz] SwanAdapter: canvasId is required');
692
+ console.error('[TaroViz] TTAdapter: canvasId is required');
916
693
  return null;
917
694
  }
918
695
  // 创建图表实例
@@ -937,7 +714,7 @@ var SwanAdapter = /** @class */function () {
937
714
  /**
938
715
  * 设置图表选项
939
716
  */
940
- SwanAdapter.prototype.setOption = function (option, opts) {
717
+ TTAdapter.prototype.setOption = function (option, opts) {
941
718
  if (this.chartInstance) {
942
719
  this.chartInstance.setOption(option, opts);
943
720
  } else {
@@ -947,7 +724,7 @@ var SwanAdapter = /** @class */function () {
947
724
  /**
948
725
  * 设置主题
949
726
  */
950
- SwanAdapter.prototype.setTheme = function (theme) {
727
+ TTAdapter.prototype.setTheme = function (theme) {
951
728
  var _a, _b;
952
729
  this.config.theme = theme;
953
730
  if (this.chartInstance) {
@@ -957,32 +734,32 @@ var SwanAdapter = /** @class */function () {
957
734
  /**
958
735
  * 获取图表宽度
959
736
  */
960
- SwanAdapter.prototype.getWidth = function () {
737
+ TTAdapter.prototype.getWidth = function () {
961
738
  return 0;
962
739
  };
963
740
  /**
964
741
  * 获取图表高度
965
742
  */
966
- SwanAdapter.prototype.getHeight = function () {
743
+ TTAdapter.prototype.getHeight = function () {
967
744
  return 0;
968
745
  };
969
746
  /**
970
747
  * 获取DOM元素
971
748
  */
972
- SwanAdapter.prototype.getDom = function () {
749
+ TTAdapter.prototype.getDom = function () {
973
750
  return null;
974
751
  };
975
752
  /**
976
753
  * 转换为DataURL
977
754
  */
978
- SwanAdapter.prototype.convertToDataURL = function (opts) {
755
+ TTAdapter.prototype.convertToDataURL = function (opts) {
979
756
  var _a;
980
757
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
981
758
  };
982
759
  /**
983
760
  * 清空图表
984
761
  */
985
- SwanAdapter.prototype.clear = function () {
762
+ TTAdapter.prototype.clear = function () {
986
763
  if (this.chartInstance) {
987
764
  this.chartInstance.clear();
988
765
  }
@@ -990,7 +767,7 @@ var SwanAdapter = /** @class */function () {
990
767
  /**
991
768
  * 绑定事件
992
769
  */
993
- SwanAdapter.prototype.on = function (event, handler) {
770
+ TTAdapter.prototype.on = function (event, handler) {
994
771
  if (this.chartInstance) {
995
772
  this.chartInstance.on(event, handler);
996
773
  }
@@ -998,7 +775,7 @@ var SwanAdapter = /** @class */function () {
998
775
  /**
999
776
  * 解绑事件
1000
777
  */
1001
- SwanAdapter.prototype.off = function (event, handler) {
778
+ TTAdapter.prototype.off = function (event, handler) {
1002
779
  if (this.chartInstance) {
1003
780
  this.chartInstance.off(event, handler);
1004
781
  }
@@ -1006,7 +783,7 @@ var SwanAdapter = /** @class */function () {
1006
783
  /**
1007
784
  * 显示加载动画
1008
785
  */
1009
- SwanAdapter.prototype.showLoading = function (opts) {
786
+ TTAdapter.prototype.showLoading = function (opts) {
1010
787
  if (this.chartInstance) {
1011
788
  this.chartInstance.showLoading(opts);
1012
789
  }
@@ -1014,7 +791,7 @@ var SwanAdapter = /** @class */function () {
1014
791
  /**
1015
792
  * 隐藏加载动画
1016
793
  */
1017
- SwanAdapter.prototype.hideLoading = function () {
794
+ TTAdapter.prototype.hideLoading = function () {
1018
795
  if (this.chartInstance) {
1019
796
  this.chartInstance.hideLoading();
1020
797
  }
@@ -1022,7 +799,7 @@ var SwanAdapter = /** @class */function () {
1022
799
  /**
1023
800
  * 销毁图表
1024
801
  */
1025
- SwanAdapter.prototype.dispose = function () {
802
+ TTAdapter.prototype.dispose = function () {
1026
803
  if (this.chartInstance) {
1027
804
  this.chartInstance.dispose();
1028
805
  this.chartInstance = null;
@@ -1031,7 +808,7 @@ var SwanAdapter = /** @class */function () {
1031
808
  /**
1032
809
  * 处理图表大小变化
1033
810
  */
1034
- SwanAdapter.prototype.resize = function (opts) {
811
+ TTAdapter.prototype.resize = function (opts) {
1035
812
  if (this.chartInstance) {
1036
813
  this.chartInstance.resize(opts);
1037
814
  }
@@ -1039,13 +816,13 @@ var SwanAdapter = /** @class */function () {
1039
816
  /**
1040
817
  * 设置组件实例
1041
818
  */
1042
- SwanAdapter.prototype.setComponent = function (component) {
819
+ TTAdapter.prototype.setComponent = function (component) {
1043
820
  this.component = component;
1044
821
  };
1045
822
  /**
1046
823
  * 渲染图表组件
1047
824
  */
1048
- SwanAdapter.prototype.render = function () {
825
+ TTAdapter.prototype.render = function () {
1049
826
  var _a = this.config,
1050
827
  _b = _a.canvasId,
1051
828
  canvasId = _b === void 0 ? 'ec-canvas' : _b,
@@ -1056,9 +833,9 @@ var SwanAdapter = /** @class */function () {
1056
833
  _e = _a.style,
1057
834
  style = _e === void 0 ? {} : _e;
1058
835
  // 注意:这里需要根据实际使用的Taro版本和组件库来调整
1059
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement('view', {
836
+ return /*#__PURE__*/external_react_.createElement('view', {
1060
837
  id: canvasId,
1061
- style: __assign({
838
+ style: tt_assign({
1062
839
  width: width,
1063
840
  height: height
1064
841
  }, style)
@@ -1067,7 +844,7 @@ var SwanAdapter = /** @class */function () {
1067
844
  /**
1068
845
  * 触发图表行为
1069
846
  */
1070
- SwanAdapter.prototype.dispatchAction = function (payload) {
847
+ TTAdapter.prototype.dispatchAction = function (payload) {
1071
848
  if (this.chartInstance) {
1072
849
  this.chartInstance.dispatchAction(payload);
1073
850
  }
@@ -1075,48 +852,38 @@ var SwanAdapter = /** @class */function () {
1075
852
  /**
1076
853
  * 获取DataURL
1077
854
  */
1078
- SwanAdapter.prototype.getDataURL = function (opts) {
855
+ TTAdapter.prototype.getDataURL = function (opts) {
1079
856
  var _a;
1080
857
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
1081
- };
1082
- return SwanAdapter;
1083
- }();
1084
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SwanAdapter);
1085
-
1086
- /***/ },
1087
-
1088
- /***/ 280
1089
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1090
-
1091
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1092
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
1093
- /* harmony export */ });
1094
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
1095
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1096
- var __assign = undefined && undefined.__assign || function () {
1097
- __assign = Object.assign || function (t) {
858
+ };
859
+ return TTAdapter;
860
+ }();
861
+ /* harmony default export */ const tt = (TTAdapter);
862
+ ;// ./src/adapters/harmony/index.ts
863
+ var harmony_assign = undefined && undefined.__assign || function () {
864
+ harmony_assign = Object.assign || function (t) {
1098
865
  for (var s, i = 1, n = arguments.length; i < n; i++) {
1099
866
  s = arguments[i];
1100
867
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1101
868
  }
1102
869
  return t;
1103
870
  };
1104
- return __assign.apply(this, arguments);
871
+ return harmony_assign.apply(this, arguments);
1105
872
  };
1106
873
  /**
1107
- * TaroViz 字节跳动小程序适配器
1108
- * 基于字节跳动小程序canvas组件实现图表渲染
874
+ * TaroViz HarmonyOS适配器
875
+ * 基于HarmonyOS Canvas实现图表渲染
1109
876
  */
1110
877
 
1111
878
  /**
1112
- * 字节跳动小程序环境下的图表适配器
879
+ * HarmonyOS环境下的图表适配器
1113
880
  */
1114
- var TTAdapter = /** @class */function () {
881
+ var HarmonyAdapter = /** @class */function () {
1115
882
  /**
1116
883
  * 构造函数
1117
884
  * @param config 适配器配置
1118
885
  */
1119
- function TTAdapter(config) {
886
+ function HarmonyAdapter(config) {
1120
887
  /**
1121
888
  * 图表实例
1122
889
  */
@@ -1129,23 +896,23 @@ var TTAdapter = /** @class */function () {
1129
896
  this.component = config.component;
1130
897
  }
1131
898
  /**
1132
- * 创建字节跳动小程序适配器实例
899
+ * 创建HarmonyOS适配器实例
1133
900
  * @param options 适配器选项
1134
901
  * @returns 适配器实例
1135
902
  */
1136
- TTAdapter.create = function (options) {
1137
- return new TTAdapter(options);
903
+ HarmonyAdapter.create = function (options) {
904
+ return new HarmonyAdapter(options);
1138
905
  };
1139
906
  /**
1140
907
  * 获取图表实例
1141
908
  */
1142
- TTAdapter.prototype.getInstance = function () {
909
+ HarmonyAdapter.prototype.getInstance = function () {
1143
910
  return this.chartInstance;
1144
911
  };
1145
912
  /**
1146
913
  * 初始化图表
1147
914
  */
1148
- TTAdapter.prototype.init = function () {
915
+ HarmonyAdapter.prototype.init = function () {
1149
916
  var _a = this.config,
1150
917
  canvasId = _a.canvasId,
1151
918
  width = _a.width,
@@ -1153,11 +920,11 @@ var TTAdapter = /** @class */function () {
1153
920
  theme = _a.theme,
1154
921
  option = _a.option;
1155
922
  if (!this.component) {
1156
- console.error('[TaroViz] TTAdapter: component is required');
923
+ console.error('[TaroViz] HarmonyAdapter: component is required');
1157
924
  return null;
1158
925
  }
1159
926
  if (!canvasId) {
1160
- console.error('[TaroViz] TTAdapter: canvasId is required');
927
+ console.error('[TaroViz] HarmonyAdapter: canvasId is required');
1161
928
  return null;
1162
929
  }
1163
930
  // 创建图表实例
@@ -1182,7 +949,7 @@ var TTAdapter = /** @class */function () {
1182
949
  /**
1183
950
  * 设置图表选项
1184
951
  */
1185
- TTAdapter.prototype.setOption = function (option, opts) {
952
+ HarmonyAdapter.prototype.setOption = function (option, opts) {
1186
953
  if (this.chartInstance) {
1187
954
  this.chartInstance.setOption(option, opts);
1188
955
  } else {
@@ -1192,7 +959,7 @@ var TTAdapter = /** @class */function () {
1192
959
  /**
1193
960
  * 设置主题
1194
961
  */
1195
- TTAdapter.prototype.setTheme = function (theme) {
962
+ HarmonyAdapter.prototype.setTheme = function (theme) {
1196
963
  var _a, _b;
1197
964
  this.config.theme = theme;
1198
965
  if (this.chartInstance) {
@@ -1202,32 +969,32 @@ var TTAdapter = /** @class */function () {
1202
969
  /**
1203
970
  * 获取图表宽度
1204
971
  */
1205
- TTAdapter.prototype.getWidth = function () {
972
+ HarmonyAdapter.prototype.getWidth = function () {
1206
973
  return 0;
1207
974
  };
1208
975
  /**
1209
976
  * 获取图表高度
1210
977
  */
1211
- TTAdapter.prototype.getHeight = function () {
978
+ HarmonyAdapter.prototype.getHeight = function () {
1212
979
  return 0;
1213
980
  };
1214
981
  /**
1215
982
  * 获取DOM元素
1216
983
  */
1217
- TTAdapter.prototype.getDom = function () {
984
+ HarmonyAdapter.prototype.getDom = function () {
1218
985
  return null;
1219
986
  };
1220
987
  /**
1221
988
  * 转换为DataURL
1222
989
  */
1223
- TTAdapter.prototype.convertToDataURL = function (opts) {
990
+ HarmonyAdapter.prototype.convertToDataURL = function (opts) {
1224
991
  var _a;
1225
992
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
1226
993
  };
1227
994
  /**
1228
995
  * 清空图表
1229
996
  */
1230
- TTAdapter.prototype.clear = function () {
997
+ HarmonyAdapter.prototype.clear = function () {
1231
998
  if (this.chartInstance) {
1232
999
  this.chartInstance.clear();
1233
1000
  }
@@ -1235,7 +1002,7 @@ var TTAdapter = /** @class */function () {
1235
1002
  /**
1236
1003
  * 绑定事件
1237
1004
  */
1238
- TTAdapter.prototype.on = function (event, handler) {
1005
+ HarmonyAdapter.prototype.on = function (event, handler) {
1239
1006
  if (this.chartInstance) {
1240
1007
  this.chartInstance.on(event, handler);
1241
1008
  }
@@ -1243,7 +1010,7 @@ var TTAdapter = /** @class */function () {
1243
1010
  /**
1244
1011
  * 解绑事件
1245
1012
  */
1246
- TTAdapter.prototype.off = function (event, handler) {
1013
+ HarmonyAdapter.prototype.off = function (event, handler) {
1247
1014
  if (this.chartInstance) {
1248
1015
  this.chartInstance.off(event, handler);
1249
1016
  }
@@ -1251,7 +1018,7 @@ var TTAdapter = /** @class */function () {
1251
1018
  /**
1252
1019
  * 显示加载动画
1253
1020
  */
1254
- TTAdapter.prototype.showLoading = function (opts) {
1021
+ HarmonyAdapter.prototype.showLoading = function (opts) {
1255
1022
  if (this.chartInstance) {
1256
1023
  this.chartInstance.showLoading(opts);
1257
1024
  }
@@ -1259,7 +1026,7 @@ var TTAdapter = /** @class */function () {
1259
1026
  /**
1260
1027
  * 隐藏加载动画
1261
1028
  */
1262
- TTAdapter.prototype.hideLoading = function () {
1029
+ HarmonyAdapter.prototype.hideLoading = function () {
1263
1030
  if (this.chartInstance) {
1264
1031
  this.chartInstance.hideLoading();
1265
1032
  }
@@ -1267,7 +1034,7 @@ var TTAdapter = /** @class */function () {
1267
1034
  /**
1268
1035
  * 销毁图表
1269
1036
  */
1270
- TTAdapter.prototype.dispose = function () {
1037
+ HarmonyAdapter.prototype.dispose = function () {
1271
1038
  if (this.chartInstance) {
1272
1039
  this.chartInstance.dispose();
1273
1040
  this.chartInstance = null;
@@ -1276,7 +1043,7 @@ var TTAdapter = /** @class */function () {
1276
1043
  /**
1277
1044
  * 处理图表大小变化
1278
1045
  */
1279
- TTAdapter.prototype.resize = function (opts) {
1046
+ HarmonyAdapter.prototype.resize = function (opts) {
1280
1047
  if (this.chartInstance) {
1281
1048
  this.chartInstance.resize(opts);
1282
1049
  }
@@ -1284,13 +1051,13 @@ var TTAdapter = /** @class */function () {
1284
1051
  /**
1285
1052
  * 设置组件实例
1286
1053
  */
1287
- TTAdapter.prototype.setComponent = function (component) {
1054
+ HarmonyAdapter.prototype.setComponent = function (component) {
1288
1055
  this.component = component;
1289
1056
  };
1290
1057
  /**
1291
1058
  * 渲染图表组件
1292
1059
  */
1293
- TTAdapter.prototype.render = function () {
1060
+ HarmonyAdapter.prototype.render = function () {
1294
1061
  var _a = this.config,
1295
1062
  _b = _a.canvasId,
1296
1063
  canvasId = _b === void 0 ? 'ec-canvas' : _b,
@@ -1301,9 +1068,9 @@ var TTAdapter = /** @class */function () {
1301
1068
  _e = _a.style,
1302
1069
  style = _e === void 0 ? {} : _e;
1303
1070
  // 注意:这里需要根据实际使用的Taro版本和组件库来调整
1304
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement('view', {
1071
+ return /*#__PURE__*/external_react_.createElement('view', {
1305
1072
  id: canvasId,
1306
- style: __assign({
1073
+ style: harmony_assign({
1307
1074
  width: width,
1308
1075
  height: height
1309
1076
  }, style)
@@ -1312,7 +1079,7 @@ var TTAdapter = /** @class */function () {
1312
1079
  /**
1313
1080
  * 触发图表行为
1314
1081
  */
1315
- TTAdapter.prototype.dispatchAction = function (payload) {
1082
+ HarmonyAdapter.prototype.dispatchAction = function (payload) {
1316
1083
  if (this.chartInstance) {
1317
1084
  this.chartInstance.dispatchAction(payload);
1318
1085
  }
@@ -1320,13 +1087,212 @@ var TTAdapter = /** @class */function () {
1320
1087
  /**
1321
1088
  * 获取DataURL
1322
1089
  */
1323
- TTAdapter.prototype.getDataURL = function (opts) {
1090
+ HarmonyAdapter.prototype.getDataURL = function (opts) {
1324
1091
  var _a;
1325
1092
  return (_a = this.chartInstance) === null || _a === void 0 ? void 0 : _a.getDataURL(opts);
1326
1093
  };
1327
- return TTAdapter;
1094
+ return HarmonyAdapter;
1328
1095
  }();
1329
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TTAdapter);
1096
+ /* harmony default export */ const harmony = (HarmonyAdapter);
1097
+ ;// ./src/adapters/types.ts
1098
+
1099
+
1100
+ ;// ./src/adapters/index.ts
1101
+ /**
1102
+ * TaroViz 平台适配器
1103
+ * 自动检测并加载适合当前平台的适配器
1104
+ */
1105
+ var _a;
1106
+
1107
+ var PLATFORM_CONFIGS = (_a = {}, _a[PlatformType.H5] = {
1108
+ name: 'H5'
1109
+ }, _a[PlatformType.WEAPP] = {
1110
+ name: 'Wechat',
1111
+ requireComponent: true
1112
+ }, _a[PlatformType.ALIPAY] = {
1113
+ name: 'Alipay',
1114
+ requireComponent: true
1115
+ }, _a[PlatformType.SWAN] = {
1116
+ name: 'Baidu',
1117
+ requireComponent: true
1118
+ }, _a[PlatformType.TT] = {
1119
+ name: 'ByteDance',
1120
+ requireComponent: true
1121
+ }, _a[PlatformType.QQ] = {
1122
+ name: 'QQ',
1123
+ requireComponent: true
1124
+ }, _a[PlatformType.JD] = {
1125
+ name: 'JD',
1126
+ requireComponent: true
1127
+ }, _a[PlatformType.DD] = {
1128
+ name: 'DingTalk',
1129
+ requireComponent: true
1130
+ }, _a[PlatformType.QYWX] = {
1131
+ name: 'QiyeWechat'
1132
+ }, _a[PlatformType.LARK] = {
1133
+ name: 'Lark'
1134
+ }, _a[PlatformType.KWAI] = {
1135
+ name: 'Kwai',
1136
+ requireComponent: true
1137
+ }, _a[PlatformType.HARMONY] = {
1138
+ name: 'HarmonyOS',
1139
+ requireComponent: true
1140
+ }, _a);
1141
+ /**
1142
+ * 检测当前运行的平台环境
1143
+ */
1144
+ function detectPlatform() {
1145
+ if (typeof window === 'undefined') {
1146
+ return PlatformType.H5;
1147
+ }
1148
+ var checks = [{
1149
+ test: function () {
1150
+ var _a, _b;
1151
+ return 'wx' in window && ((_a = window.wx) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync) && !((_b = window.wx) === null || _b === void 0 ? void 0 : _b.qy);
1152
+ },
1153
+ platform: PlatformType.WEAPP
1154
+ }, {
1155
+ test: function () {
1156
+ var _a;
1157
+ return 'my' in window && ((_a = window.my) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1158
+ },
1159
+ platform: PlatformType.ALIPAY
1160
+ }, {
1161
+ test: function () {
1162
+ var _a;
1163
+ return 'swan' in window && ((_a = window.swan) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1164
+ },
1165
+ platform: PlatformType.SWAN
1166
+ }, {
1167
+ test: function () {
1168
+ var _a;
1169
+ return 'tt' in window && ((_a = window.tt) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1170
+ },
1171
+ platform: PlatformType.TT
1172
+ }, {
1173
+ test: function () {
1174
+ var _a;
1175
+ return 'qq' in window && ((_a = window.qq) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1176
+ },
1177
+ platform: PlatformType.QQ
1178
+ }, {
1179
+ test: function () {
1180
+ var _a;
1181
+ return 'jd' in window && ((_a = window.jd) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1182
+ },
1183
+ platform: PlatformType.JD
1184
+ }, {
1185
+ test: function () {
1186
+ var _a;
1187
+ return 'dd' in window && ((_a = window.dd) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync);
1188
+ },
1189
+ platform: PlatformType.DD
1190
+ }, {
1191
+ test: function () {
1192
+ var _a;
1193
+ return 'wx' in window && ((_a = window.wx) === null || _a === void 0 ? void 0 : _a.qy);
1194
+ },
1195
+ platform: PlatformType.QYWX
1196
+ }, {
1197
+ test: function () {
1198
+ var _a, _b;
1199
+ return 'tt' in window && ((_b = (_a = window.tt) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.appName) === 'lark';
1200
+ },
1201
+ platform: PlatformType.LARK
1202
+ }, {
1203
+ test: function () {
1204
+ return navigator.userAgent.includes('HarmonyOS');
1205
+ },
1206
+ platform: PlatformType.HARMONY
1207
+ }];
1208
+ for (var _i = 0, checks_1 = checks; _i < checks_1.length; _i++) {
1209
+ var check = checks_1[_i];
1210
+ if (check.test()) {
1211
+ return check.platform;
1212
+ }
1213
+ }
1214
+ return PlatformType.H5;
1215
+ }
1216
+ /**
1217
+ * 判断运行环境
1218
+ */
1219
+ function getEnv() {
1220
+ var _a;
1221
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
1222
+ return 'h5';
1223
+ }
1224
+ if (typeof __webpack_require__.g !== 'undefined' && ((_a = __webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.wx) === null || _a === void 0 ? void 0 : _a.getSystemInfoSync)) {
1225
+ return 'weapp';
1226
+ }
1227
+ return 'unknown';
1228
+ }
1229
+ /**
1230
+ * 创建适配器实例
1231
+ * 使用静态导入避免动态 require 的 ESM 问题
1232
+ */
1233
+ function createAdapterInstance(platform, options) {
1234
+ // 预加载所有适配器(编译时解析,支持 tree-shaking)
1235
+ switch (platform) {
1236
+ case PlatformType.H5:
1237
+ case PlatformType.ALIPAY:
1238
+ case PlatformType.QQ:
1239
+ case PlatformType.JD:
1240
+ case PlatformType.DD:
1241
+ case PlatformType.QYWX:
1242
+ case PlatformType.LARK:
1243
+ case PlatformType.KWAI:
1244
+ return h5/* default */.A.create(options);
1245
+ case PlatformType.WEAPP:
1246
+ return weapp/* default */.A.create(options);
1247
+ case PlatformType.SWAN:
1248
+ return swan.create(options);
1249
+ case PlatformType.TT:
1250
+ return tt.create(options);
1251
+ case PlatformType.HARMONY:
1252
+ return harmony.create(options);
1253
+ default:
1254
+ return h5/* default */.A.create(options);
1255
+ }
1256
+ }
1257
+ // 静态导入适配器
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ /**
1264
+ * 获取适配器
1265
+ */
1266
+ function getAdapter(options) {
1267
+ var platform = detectPlatform();
1268
+ var config = PLATFORM_CONFIGS[platform];
1269
+ // 检查是否需要 component 属性
1270
+ if ((config === null || config === void 0 ? void 0 : config.requireComponent) && !('component' in options)) {
1271
+ console.warn("[TaroViz] ".concat(config.name, "Adapter requires component property, fallback to H5Adapter"));
1272
+ }
1273
+ try {
1274
+ return createAdapterInstance(platform, options);
1275
+ } catch (error) {
1276
+ console.error("[TaroViz] Failed to load adapter for platform '".concat(platform, "':"), error);
1277
+ return h5/* default */.A.create(options);
1278
+ }
1279
+ }
1280
+ // 导出所有适配器
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+ /**
1287
+ * 版本信息
1288
+ */
1289
+ var adapters_version = '1.2.0';
1290
+
1291
+ /* harmony default export */ const adapters = ({
1292
+ getAdapter: getAdapter,
1293
+ getEnv: getEnv,
1294
+ detectPlatform: detectPlatform
1295
+ });
1330
1296
 
1331
1297
  /***/ },
1332
1298
 
@@ -1611,8 +1577,8 @@ __webpack_require__.d(__webpack_exports__, {
1611
1577
  // EXTERNAL MODULE: external "react"
1612
1578
  var external_react_ = __webpack_require__(15);
1613
1579
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1614
- // EXTERNAL MODULE: ./src/adapters/index.ts + 5 modules
1615
- var adapters = __webpack_require__(574);
1580
+ // EXTERNAL MODULE: ./src/adapters/index.ts + 8 modules
1581
+ var adapters = __webpack_require__(234);
1616
1582
  // EXTERNAL MODULE: ./src/core/utils/index.ts + 2 modules
1617
1583
  var utils = __webpack_require__(524);
1618
1584
  ;// ./src/charts/utils.ts
@@ -1787,13 +1753,11 @@ var BaseChartWrapper = function (_a) {
1787
1753
  width: typeof width === 'number' ? "".concat(width, "px") : width,
1788
1754
  height: typeof height === 'number' ? "".concat(height, "px") : height
1789
1755
  }, style);
1790
- // 使用带有处理的适配器配置创建适配器实例
1791
- var adapter = (0,adapters/* getAdapter */.cK)(adapterConfig);
1792
1756
  return /*#__PURE__*/external_react_default().createElement("div", {
1793
1757
  className: "taroviz-".concat(chartType, " ").concat(className),
1794
1758
  style: mergedStyle,
1795
1759
  ref: containerRef
1796
- }, safeRenderAdapter(adapter));
1760
+ });
1797
1761
  };
1798
1762
  /* harmony default export */ const common_BaseChartWrapper = (BaseChartWrapper);
1799
1763
 
@@ -3020,11 +2984,15 @@ var defaultLocalization = new Localization();
3020
2984
  * @returns 唯一标识符字符串
3021
2985
  */
3022
2986
  function uuid() {
3023
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
3024
- var r = Math.random() * 16 | 0;
3025
- var v = c === 'x' ? r : r & 0x3 | 0x8;
3026
- return v.toString(16);
3027
- });
2987
+ var _a;
2988
+ // 使用 crypto API 生成加密安全的 UUID
2989
+ if (typeof ((_a = globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) === 'function') {
2990
+ return globalThis.crypto.randomUUID();
2991
+ }
2992
+ // 回退:使用 Math.random() + 时间戳混合
2993
+ var timestamp = Date.now().toString(36);
2994
+ var randomPart = Math.random().toString(36).substring(2, 15);
2995
+ return "".concat(timestamp, "-").concat(randomPart, "-").concat(Math.random().toString(36).substring(2, 10));
3028
2996
  }
3029
2997
  /**
3030
2998
  * 生成简短的唯一标识符
@@ -3307,8 +3275,8 @@ var __webpack_exports__ = {};
3307
3275
  // EXTERNAL MODULE: external "react"
3308
3276
  var external_react_ = __webpack_require__(15);
3309
3277
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
3310
- // EXTERNAL MODULE: ./src/adapters/index.ts + 5 modules
3311
- var adapters = __webpack_require__(574);
3278
+ // EXTERNAL MODULE: ./src/adapters/index.ts + 8 modules
3279
+ var adapters = __webpack_require__(234);
3312
3280
  // EXTERNAL MODULE: ./src/core/animation/index.ts + 2 modules
3313
3281
  var animation = __webpack_require__(251);
3314
3282
  ;// ./src/core/utils/chartInstances.ts
@@ -3322,6 +3290,15 @@ var CHART_INSTANCES = {};
3322
3290
  * @param instance 图表实例
3323
3291
  */
3324
3292
  function registerChart(id, instance) {
3293
+ // 如果已存在同名ID,先释放旧实例防止内存泄漏
3294
+ if (CHART_INSTANCES[id]) {
3295
+ try {
3296
+ console.warn("[TaroViz] Chart instance '".concat(id, "' already exists, replacing and disposing old instance"));
3297
+ CHART_INSTANCES[id].dispose();
3298
+ } catch (e) {
3299
+ console.warn("Failed to dispose old chart instance: ".concat(id), e);
3300
+ }
3301
+ }
3325
3302
  CHART_INSTANCES[id] = instance;
3326
3303
  }
3327
3304
  /**
@@ -8810,35 +8787,47 @@ function useDataPolling(fetchFn, options) {
8810
8787
  var _h = (0,external_react_.useState)(null),
8811
8788
  error = _h[0],
8812
8789
  setError = _h[1];
8813
- var _j = (0,external_react_.useState)(0),
8814
- refreshIndex = _j[0],
8815
- setRefreshIndex = _j[1];
8790
+ // 用于取消进行中的请求
8791
+ var abortRef = (0,external_react_.useRef)({
8792
+ cancelled: false
8793
+ });
8816
8794
  var fetchData = (0,external_react_.useCallback)(function () {
8817
8795
  return hooks_awaiter(_this, void 0, void 0, function () {
8818
- var retries, result, e_1;
8796
+ var currentAbort, retries, result, e_1;
8819
8797
  return hooks_generator(this, function (_a) {
8820
8798
  switch (_a.label) {
8821
8799
  case 0:
8800
+ // 取消之前的请求
8801
+ abortRef.current.cancelled = true;
8802
+ // 创建新的取消标记
8803
+ abortRef.current = {
8804
+ cancelled: false
8805
+ };
8806
+ currentAbort = abortRef.current;
8822
8807
  retries = retryCount;
8823
8808
  setLoading(true);
8824
8809
  setError(null);
8825
8810
  _a.label = 1;
8826
8811
  case 1:
8827
- if (!(retries >= 0)) return [3 /*break*/, 9];
8812
+ if (!(retries >= 0 && !currentAbort.cancelled)) return [3 /*break*/, 9];
8828
8813
  _a.label = 2;
8829
8814
  case 2:
8830
8815
  _a.trys.push([2, 4,, 8]);
8831
8816
  return [4 /*yield*/, fetchFn()];
8832
8817
  case 3:
8833
8818
  result = _a.sent();
8834
- setData(result);
8835
- setLoading(false);
8819
+ if (!currentAbort.cancelled) {
8820
+ setData(result);
8821
+ setLoading(false);
8822
+ }
8836
8823
  return [2 /*return*/];
8837
8824
  case 4:
8838
8825
  e_1 = _a.sent();
8839
8826
  retries--;
8840
- if (!(retries < 0)) return [3 /*break*/, 5];
8841
- setError(e_1);
8827
+ if (!(retries < 0 || currentAbort.cancelled)) return [3 /*break*/, 5];
8828
+ if (!currentAbort.cancelled) {
8829
+ setError(e_1);
8830
+ }
8842
8831
  setLoading(false);
8843
8832
  return [3 /*break*/, 7];
8844
8833
  case 5:
@@ -8865,14 +8854,15 @@ function useDataPolling(fetchFn, options) {
8865
8854
  if (interval > 0) {
8866
8855
  var timer_1 = setInterval(fetchData, interval);
8867
8856
  return function () {
8868
- return clearInterval(timer_1);
8857
+ clearInterval(timer_1);
8858
+ abortRef.current.cancelled = true;
8869
8859
  };
8870
8860
  }
8871
- }, [interval, autoStart, fetchData, refreshIndex]);
8861
+ return function () {
8862
+ abortRef.current.cancelled = true;
8863
+ };
8864
+ }, [interval, autoStart, fetchData]);
8872
8865
  var refresh = (0,external_react_.useCallback)(function () {
8873
- setRefreshIndex(function (prev) {
8874
- return prev + 1;
8875
- });
8876
8866
  fetchData();
8877
8867
  }, [fetchData]);
8878
8868
  return {