@ecan-bi/datav 1.0.42 → 1.0.45

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/index.umd.js CHANGED
@@ -1383,7 +1383,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1383
1383
  }
1384
1384
  return target;
1385
1385
  };
1386
- const _sfc_main$p = vue.defineComponent({
1386
+ const _sfc_main$q = vue.defineComponent({
1387
1387
  props: {
1388
1388
  spinning: {
1389
1389
  type: Boolean,
@@ -1407,7 +1407,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1407
1407
  }
1408
1408
  });
1409
1409
  const _hoisted_1$9 = { class: "spin-wrapper" };
1410
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1410
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
1411
1411
  const _component_a_spin = vue.resolveComponent("a-spin");
1412
1412
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
1413
1413
  _ctx.spinning ? (vue.openBlock(), vue.createBlock(_component_a_spin, {
@@ -1419,8 +1419,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1419
1419
  }, null, 8, ["spinning", "indicator"])) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
1420
1420
  ]);
1421
1421
  }
1422
- var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1423
- const _sfc_main$o = vue.defineComponent({
1422
+ var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
1423
+ const _sfc_main$p = vue.defineComponent({
1424
1424
  name: "Skeleton",
1425
1425
  props: {
1426
1426
  loading: {
@@ -1432,7 +1432,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1432
1432
  ASkeleton: antDesignVue.Skeleton
1433
1433
  }
1434
1434
  });
1435
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1435
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1436
1436
  const _component_a_skeleton = vue.resolveComponent("a-skeleton");
1437
1437
  return vue.openBlock(), vue.createBlock(_component_a_skeleton, {
1438
1438
  active: "",
@@ -1444,7 +1444,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1444
1444
  _: 3
1445
1445
  }, 8, ["loading"]);
1446
1446
  }
1447
- var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
1447
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1448
1448
  const withInstall = (main, extra) => {
1449
1449
  main.install = (app) => {
1450
1450
  for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
@@ -1522,7 +1522,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1522
1522
  "backgroundSize",
1523
1523
  "textShadow",
1524
1524
  "justifyContent",
1525
- "alignItems"
1525
+ "alignItems",
1526
+ "zIndex"
1526
1527
  ];
1527
1528
  const usePickComponentStyle = (props2, excludeStyleList = []) => {
1528
1529
  const finalStyleList = lodashEs.without(styleList, ...excludeStyleList);
@@ -1533,6 +1534,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1533
1534
  const GLOBAL_MODEL = "GLOBAL_MODEL";
1534
1535
  const REQUEST_MODEL = "REQUEST_MODEL";
1535
1536
  const GLOBAL_TOKEN = "GLOBAL_TOKEN";
1537
+ const REFRESH_PAGE = "REFRESH_PAGE";
1536
1538
  const INDICATOR_URL = (_a = window == null ? void 0 : window.config) == null ? void 0 : _a.indicatorURL;
1537
1539
  const UPLOAD_PATH = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.uploadPath) || "/api";
1538
1540
  const BASE_URL = ((_c = window == null ? void 0 : window.config) == null ? void 0 : _c.routerBaseURL) || "./";
@@ -1634,6 +1636,24 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1634
1636
  }
1635
1637
  return false;
1636
1638
  };
1639
+ const useVariablesInText = (text, data = {}) => {
1640
+ const config2 = window.config || {};
1641
+ data = __spreadValues(__spreadValues({}, config2), data);
1642
+ const variables = text.match(/\{\w*\}/g);
1643
+ if (variables == null || variables.length === 0)
1644
+ return text;
1645
+ for (let i = 0; i < variables.length; i++) {
1646
+ const variable = variables[i];
1647
+ const v = variable.slice(1, variable.length - 1);
1648
+ const usedVariable = data[v];
1649
+ if (usedVariable != null) {
1650
+ text = text.replace(variable, usedVariable);
1651
+ } else {
1652
+ text = text.replace(variable, "");
1653
+ }
1654
+ }
1655
+ return text;
1656
+ };
1637
1657
  const useRequestData = (props2, callBack = () => {
1638
1658
  }) => {
1639
1659
  const {
@@ -1671,23 +1691,25 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1671
1691
  }
1672
1692
  _params[key] = v;
1673
1693
  } else if (typeof value === "string") {
1674
- _params[key] = value;
1694
+ _params[key] = useVariablesInText(value);
1675
1695
  }
1676
1696
  });
1677
1697
  _params = __spreadValues(__spreadValues({}, _params), params);
1678
1698
  let urlParams = "";
1679
1699
  const keys = Object.keys(_params);
1680
1700
  const last = keys.length - 1;
1701
+ const keysLen = keys.length;
1681
1702
  keys.forEach((key, index2) => {
1682
- switch (index2) {
1683
- case 0:
1703
+ if (index2 === 0) {
1704
+ if (keysLen !== 1) {
1684
1705
  urlParams += `?${key}=${_params[key]}&`;
1685
- break;
1686
- case last:
1687
- urlParams += `${key}=${_params[key]}`;
1688
- break;
1689
- default:
1690
- urlParams += `${key}=${_params[key]}&`;
1706
+ } else {
1707
+ urlParams += `?${key}=${_params[key]}`;
1708
+ }
1709
+ } else if (index2 === last) {
1710
+ urlParams += `${key}=${_params[key]}`;
1711
+ } else {
1712
+ urlParams += `${key}=${_params[key]}&`;
1691
1713
  }
1692
1714
  });
1693
1715
  try {
@@ -1781,25 +1803,6 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1781
1803
  console.log(pageMode);
1782
1804
  return pageMode === "preview" ? envPageUrl : proPageUrl;
1783
1805
  };
1784
- const useVariablesInText = (text, data = {}) => {
1785
- var _a2;
1786
- const config2 = (_a2 = window.config) != null ? _a2 : {};
1787
- data = __spreadValues(__spreadValues({}, config2), data);
1788
- const variables = text.match(/\{.*?\}/g);
1789
- if (variables == null || variables.length === 0)
1790
- return text;
1791
- for (let i = 0; i < variables.length; i++) {
1792
- const variable = variables[i];
1793
- const v = variable.slice(1, variable.length - 1);
1794
- const usedVariables = data[v];
1795
- if (usedVariables != null) {
1796
- text = text.replace(variable, usedVariables);
1797
- } else {
1798
- text = text.replace(variable, "");
1799
- }
1800
- }
1801
- return text;
1802
- };
1803
1806
  const request = axios__default["default"].create({
1804
1807
  timeout: 1e3 * 10
1805
1808
  });
@@ -2175,7 +2178,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2175
2178
  };
2176
2179
  };
2177
2180
  const useValueFormatter = (formatter = "", value) => {
2178
- const variables = formatter.match(/\{.*?\}/g);
2181
+ const variables = formatter.match(/\{\w*\}/g);
2179
2182
  if (variables == null || variables.length === 0)
2180
2183
  return formatter;
2181
2184
  for (let i = 0; i < variables.length; i++) {
@@ -2391,8 +2394,20 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2391
2394
  }
2392
2395
  };
2393
2396
  };
2394
- var PageConfig_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "#container[data-v-836b53bc] {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n transform-origin: left top;\n z-index: 999;\n}\n.page-config[data-v-836b53bc] {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n")();
2395
- const _sfc_main$n = vue.defineComponent({
2397
+ const useHrefParamsToGlobalVariables = () => {
2398
+ const search = window.location.search;
2399
+ const params = search.slice(1).split("&");
2400
+ const len = params.length;
2401
+ for (let i = 0; i < len; i++) {
2402
+ const param = params[i];
2403
+ const keyAndValue = param.split("=");
2404
+ const key = keyAndValue[0];
2405
+ const value = keyAndValue[1];
2406
+ window.config[key] = value;
2407
+ }
2408
+ };
2409
+ var PageConfig_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "#container[data-v-5d709a9a] {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n transform-origin: left top;\n z-index: 999;\n}\n.page-config[data-v-5d709a9a] {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n")();
2410
+ const _sfc_main$o = vue.defineComponent({
2396
2411
  name: "EcanPageConfig",
2397
2412
  props: __spreadValues({}, pageConfigComponentProps),
2398
2413
  setup(props2) {
@@ -2490,7 +2505,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2490
2505
  id: "container",
2491
2506
  ref: "container"
2492
2507
  };
2493
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2508
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2494
2509
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
2495
2510
  _ctx.ready ? (vue.openBlock(), vue.createElementBlock("div", {
2496
2511
  key: 0,
@@ -2501,18 +2516,20 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2501
2516
  ], 4)) : vue.createCommentVNode("", true)
2502
2517
  ], 512);
2503
2518
  }
2504
- var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-836b53bc"]]);
2519
+ var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o], ["__scopeId", "data-v-5d709a9a"]]);
2505
2520
  const EcanPageConfig = withInstall(PageConfig);
2506
2521
  const providerConfig = {
2507
2522
  contextRequestUrl: "",
2508
2523
  pageMode: "normal",
2509
- theme: "light"
2524
+ theme: "light",
2525
+ containerMap: {}
2510
2526
  };
2511
2527
  const providerConfigComponentProps = transformToComponentProps(providerConfig);
2512
- const _sfc_main$m = vue.defineComponent({
2528
+ const _sfc_main$n = vue.defineComponent({
2513
2529
  name: "EcanProviderConfig",
2514
2530
  props: __spreadValues({}, providerConfigComponentProps),
2515
2531
  setup(props2, { expose }) {
2532
+ useHrefParamsToGlobalVariables();
2516
2533
  const providerConfig2 = vue.ref();
2517
2534
  const setTheme = () => {
2518
2535
  providerConfig2.value.setAttribute("datav-theme", props2.theme);
@@ -2620,8 +2637,22 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2620
2637
  setRequest,
2621
2638
  touchRequest
2622
2639
  });
2640
+ const emitRefreshPage = () => {
2641
+ eventBus.emit(REFRESH_PAGE);
2642
+ };
2643
+ vue.provide(REFRESH_PAGE, {
2644
+ emitRefreshPage
2645
+ });
2646
+ const onRefreshPage = (callBack) => {
2647
+ eventBus.on(REFRESH_PAGE, () => callBack());
2648
+ vue.onMounted(() => {
2649
+ eventBus.off(REFRESH_PAGE);
2650
+ });
2651
+ };
2623
2652
  expose({
2624
- touchRequest
2653
+ touchRequest,
2654
+ getGlobalModel,
2655
+ onRefreshPage
2625
2656
  });
2626
2657
  return {
2627
2658
  providerConfig: providerConfig2
@@ -2632,13 +2663,28 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2632
2663
  id: "ProviderConfig",
2633
2664
  ref: "providerConfig"
2634
2665
  };
2635
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2666
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2636
2667
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
2637
2668
  vue.renderSlot(_ctx.$slots, "default")
2638
2669
  ], 512);
2639
2670
  }
2640
- var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2671
+ var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
2641
2672
  const EcanProviderConfig = withInstall(ProviderConfig);
2673
+ const renderer = {
2674
+ componentList: []
2675
+ };
2676
+ const rendererComponentProps = transformToComponentProps(renderer);
2677
+ const _sfc_main$m = vue.defineComponent({
2678
+ name: "EcanRenderer",
2679
+ props: __spreadValues({}, rendererComponentProps),
2680
+ setup() {
2681
+ }
2682
+ });
2683
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2684
+ return vue.openBlock(), vue.createElementBlock("div");
2685
+ }
2686
+ var Renderer = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2687
+ const EcanRenderer = withInstall(Renderer);
2642
2688
  const textProps = __spreadProps(__spreadValues({}, props), {
2643
2689
  name: "\u6587\u672C",
2644
2690
  keyName: "\u6587\u672C",
@@ -2659,7 +2705,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2659
2705
  });
2660
2706
  const textComponentProps = transformToComponentProps(textProps);
2661
2707
  const textEvents = ["refreshData", "click"];
2662
- var Text_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".skeleton-wrapper[data-v-e7487804] {\n overflow: hidden;\n}\n.ecan-text[data-v-e7487804] {\n overflow: hidden;\n display: flex;\n}\n")();
2708
+ var Text_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".skeleton-wrapper[data-v-9526cadc] {\n overflow: hidden;\n}\n.ecan-text[data-v-9526cadc] {\n overflow: hidden;\n display: flex;\n}\n")();
2663
2709
  const _sfc_main$l = vue.defineComponent({
2664
2710
  name: "EcanText",
2665
2711
  components: { Skeleton },
@@ -2670,7 +2716,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2670
2716
  const myText = vue.computed(() => {
2671
2717
  let text = props2.text;
2672
2718
  const data = vue.unref(myData);
2673
- const variables = text.match(/\{.*?\}/g);
2719
+ const variables = text.match(/\{\w*\}/g);
2674
2720
  if (variables == null || variables.length === 0)
2675
2721
  return text;
2676
2722
  for (let i = 0; i < variables.length; i++) {
@@ -2745,7 +2791,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2745
2791
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2746
2792
  }, null, 12, _hoisted_1$6));
2747
2793
  }
2748
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-e7487804"]]);
2794
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-9526cadc"]]);
2749
2795
  const EcanText = withInstall(Text);
2750
2796
  var ScrollText_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".red[data-v-0bb717eb] {\n color: red;\n}\n")();
2751
2797
  const _sfc_main$k = vue.defineComponent({
@@ -3046,12 +3092,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3046
3092
  };
3047
3093
  }
3048
3094
  });
3049
- const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-461dbe78"), n = n(), vue.popScopeId(), n);
3095
+ const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-461dbe78"), n = n(), vue.popScopeId(), n);
3050
3096
  const _hoisted_1$4 = {
3051
3097
  key: 0,
3052
3098
  class: "title"
3053
3099
  };
3054
- const _hoisted_2$1 = {
3100
+ const _hoisted_2$2 = {
3055
3101
  key: 0,
3056
3102
  class: "ranking"
3057
3103
  };
@@ -3063,7 +3109,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3063
3109
  key: 0,
3064
3110
  class: "ranking"
3065
3111
  };
3066
- const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "icon" }, null, -1));
3112
+ const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "icon" }, null, -1));
3067
3113
  const _hoisted_6$1 = { class: "sort" };
3068
3114
  const _hoisted_7$1 = {
3069
3115
  key: 2,
@@ -3089,7 +3135,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3089
3135
  }),
3090
3136
  key: count
3091
3137
  }, [
3092
- _ctx.useRanking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1)) : vue.createCommentVNode("", true),
3138
+ _ctx.useRanking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2)) : vue.createCommentVNode("", true),
3093
3139
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (column, i) => {
3094
3140
  return vue.openBlock(), vue.createElementBlock("div", {
3095
3141
  class: "column",
@@ -3171,7 +3217,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3171
3217
  });
3172
3218
  const proportionComponentProps = transformToComponentProps(proportionProps);
3173
3219
  const proportionEvents = ["refreshData", "click"];
3174
- var Proportion_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-proportion[data-v-02b500fa] {\n overflow: hidden;\n}\n.progress[data-v-02b500fa] {\n width: 100%;\n height: 100%;\n}\n.format[data-v-02b500fa] {\n margin: 0 auto;\n}\n")();
3220
+ var Proportion_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-proportion[data-v-206755e6] {\n overflow: hidden;\n}\n.progress[data-v-206755e6] {\n width: 100%;\n height: 100%;\n}\n.format[data-v-206755e6] {\n margin: 0 auto;\n}\n")();
3175
3221
  const _sfc_main$h = vue.defineComponent({
3176
3222
  name: "EcanProportion",
3177
3223
  components: {
@@ -3203,7 +3249,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3203
3249
  var _a2;
3204
3250
  let text2 = props2.text;
3205
3251
  const data = vue.unref(myData);
3206
- const variables = text2.match(/\{.*?\}/g) || [];
3252
+ const variables = text2.match(/\{\w*\}/g) || [];
3207
3253
  if (text2 === "")
3208
3254
  return vue.unref(value) + "%";
3209
3255
  for (let i = 0; i < variables.length; i++) {
@@ -3304,7 +3350,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3304
3350
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3305
3351
  ], 4);
3306
3352
  }
3307
- var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-02b500fa"]]);
3353
+ var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-206755e6"]]);
3308
3354
  const EcanProportion = withInstall(Proportion);
3309
3355
  const inputProps = __spreadProps(__spreadValues({}, props), {
3310
3356
  width: "200px",
@@ -3596,11 +3642,13 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3596
3642
  text: "\u6309\u94AE",
3597
3643
  mode: "default",
3598
3644
  danger: false,
3599
- shape: "default"
3645
+ shape: "default",
3646
+ href: "",
3647
+ target: "_self"
3600
3648
  });
3601
3649
  const buttonComponentProps = transformToComponentProps(buttonProps);
3602
3650
  const buttonEvents = ["click"];
3603
- var Button_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".ecan-button .ant-btn {\n width: 100%;\n height: 100%;\n}\n")();
3651
+ var Button_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".ecan-button .ant-btn {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n")();
3604
3652
  const _sfc_main$c = vue.defineComponent({
3605
3653
  name: "EcanButton",
3606
3654
  components: {
@@ -3612,9 +3660,19 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3612
3660
  const events = props2.events;
3613
3661
  const emitEvent = useEmitEvent(events);
3614
3662
  const click = emitEvent("click");
3663
+ const myText = vue.computed(() => useVariablesInText(props2.text));
3664
+ const myHref = vue.computed(() => {
3665
+ const href = props2.href;
3666
+ if (href) {
3667
+ return useVariablesInText(href);
3668
+ }
3669
+ return void 0;
3670
+ });
3615
3671
  return {
3616
3672
  style: style2,
3617
- click
3673
+ click,
3674
+ myText,
3675
+ myHref
3618
3676
  };
3619
3677
  }
3620
3678
  });
@@ -3630,13 +3688,15 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3630
3688
  type: _ctx.mode,
3631
3689
  danger: _ctx.danger,
3632
3690
  ghost: _ctx.ghost,
3633
- shape: _ctx.shape
3691
+ shape: _ctx.shape,
3692
+ href: _ctx.myHref,
3693
+ target: _ctx.target
3634
3694
  }, {
3635
3695
  default: vue.withCtx(() => [
3636
- vue.createTextVNode(vue.toDisplayString(_ctx.text), 1)
3696
+ vue.createTextVNode(vue.toDisplayString(_ctx.myText), 1)
3637
3697
  ]),
3638
3698
  _: 1
3639
- }, 8, ["onClick", "type", "danger", "ghost", "shape"])
3699
+ }, 8, ["onClick", "type", "danger", "ghost", "shape", "href", "target"])
3640
3700
  ], 4);
3641
3701
  }
3642
3702
  var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c]]);
@@ -3653,7 +3713,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3653
3713
  activeTabBackgroundImage: "",
3654
3714
  tabColor: "#333",
3655
3715
  tabBarGutter: "0px",
3716
+ tabHeight: "30px",
3656
3717
  value: "",
3718
+ activeKey: 0,
3719
+ contains: [],
3657
3720
  data: [
3658
3721
  {
3659
3722
  title: "\u6807\u7B7E1"
@@ -3668,7 +3731,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3668
3731
  });
3669
3732
  const tabsComponentProps = transformToComponentProps(tabsProps);
3670
3733
  const tabsEvents = ["tabChange"];
3671
- var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-5aeec0ae] {\n box-sizing: border-box;\n color: #333333;\n display: flex;\n}\n.tab[data-v-5aeec0ae] {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-5aeec0ae]:last-child {\n margin-right: 0 !important;\n}\n")();
3734
+ var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-27b19b45] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.tabs-header[data-v-27b19b45] {\n color: #333333;\n display: flex;\n width: 100%;\n}\n.tab[data-v-27b19b45] {\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-27b19b45]:last-child {\n margin-right: 0 !important;\n}\n.tabs-content[data-v-27b19b45] {\n flex: 1;\n}\n")();
3672
3735
  const _sfc_main$b = vue.defineComponent({
3673
3736
  name: "EcanTabs",
3674
3737
  props: __spreadValues({}, tabsComponentProps),
@@ -3676,20 +3739,32 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3676
3739
  var _a2;
3677
3740
  const style2 = usePickComponentStyle(props2);
3678
3741
  const activeKey = vue.ref(0);
3742
+ vue.watch(() => props2.activeKey, (key) => {
3743
+ activeKey.value = key;
3744
+ }, {
3745
+ immediate: true
3746
+ });
3679
3747
  const myData = vue.ref(props2.data);
3680
3748
  const isActive = (index2) => activeKey.value === index2;
3681
3749
  const myValue = vue.ref(props2.value || vue.unref(myData)[0] && ((_a2 = vue.unref(myData)[0]) == null ? void 0 : _a2.value) || "");
3682
3750
  const events = props2.events;
3683
3751
  const emitEvent = useEmitEvent(events);
3684
- const tabChange = emitEvent("tabChange", (tab, index2) => {
3685
- myValue.value = (tab == null ? void 0 : tab.value) || "";
3686
- activeKey.value = index2;
3687
- });
3688
3752
  const { setGlobalModel } = vue.inject(GLOBAL_MODEL, {
3689
3753
  setGlobalModel: (key, value) => void 0
3690
3754
  });
3691
3755
  setGlobalModel(props2.id, {
3692
- value: myValue
3756
+ value: myValue,
3757
+ activeKey
3758
+ });
3759
+ const { emitRefreshPage } = vue.inject(REFRESH_PAGE, {
3760
+ emitRefreshPage: () => void 0
3761
+ });
3762
+ const tabChange = emitEvent("tabChange", (tab, index2) => {
3763
+ if (index2 !== vue.unref(activeKey)) {
3764
+ myValue.value = (tab == null ? void 0 : tab.value) || "";
3765
+ activeKey.value = index2;
3766
+ emitRefreshPage();
3767
+ }
3693
3768
  });
3694
3769
  useOnEvent(props2, {
3695
3770
  tabChange
@@ -3704,28 +3779,38 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3704
3779
  };
3705
3780
  }
3706
3781
  });
3782
+ const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-27b19b45"), n = n(), vue.popScopeId(), n);
3707
3783
  const _hoisted_1$3 = ["onClick"];
3784
+ const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "tabs-content" }, null, -1));
3708
3785
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3709
3786
  return vue.openBlock(), vue.createElementBlock("div", {
3710
3787
  class: "ecan-tabs",
3711
3788
  style: vue.normalizeStyle(_ctx.style)
3712
3789
  }, [
3713
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.myData, (tab, index2) => {
3714
- return vue.openBlock(), vue.createElementBlock("div", {
3715
- class: vue.normalizeClass(["tab"]),
3716
- style: vue.normalizeStyle({
3717
- color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3718
- backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3719
- marginRight: _ctx.tabBarGutter,
3720
- fontSize: _ctx.tabFontSize
3721
- }),
3722
- key: index2,
3723
- onClick: ($event) => _ctx.tabChange(tab, index2)
3724
- }, vue.toDisplayString(tab.title), 13, _hoisted_1$3);
3725
- }), 128))
3790
+ vue.createElementVNode("div", {
3791
+ class: "tabs-header",
3792
+ style: vue.normalizeStyle({
3793
+ fontSize: _ctx.tabFontSize
3794
+ })
3795
+ }, [
3796
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.myData, (tab, index2) => {
3797
+ return vue.openBlock(), vue.createElementBlock("div", {
3798
+ class: "tab",
3799
+ style: vue.normalizeStyle({
3800
+ color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3801
+ backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3802
+ marginRight: _ctx.tabBarGutter,
3803
+ height: _ctx.tabHeight
3804
+ }),
3805
+ key: index2,
3806
+ onClick: vue.withModifiers(($event) => _ctx.tabChange(tab, index2), ["stop"])
3807
+ }, vue.toDisplayString(tab.title), 13, _hoisted_1$3);
3808
+ }), 128))
3809
+ ], 4),
3810
+ _hoisted_2$1
3726
3811
  ], 4);
3727
3812
  }
3728
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-5aeec0ae"]]);
3813
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-27b19b45"]]);
3729
3814
  const EcanTabs = withInstall(Tabs);
3730
3815
  const pieProps = __spreadProps(__spreadValues({}, props), {
3731
3816
  id: "",
@@ -5595,102 +5680,125 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5595
5680
  fontFamily: "",
5596
5681
  fontWeight: 700,
5597
5682
  title: "\u6807\u9898",
5598
- mode: "top-title"
5683
+ mode: "only-border",
5684
+ borderColor: "#eee",
5685
+ borderRadius: "5px",
5686
+ borderStyle: "solid",
5687
+ borderWidth: "2px",
5688
+ backgroundColor: "",
5689
+ useBorderModify: false
5599
5690
  });
5600
5691
  const borderComponentProps = transformToComponentProps(borderProps);
5601
5692
  const borderEvents = ["click"];
5602
5693
  var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAZlBMVEUAAABBltJCldJCldFEk89BltJCltFBldI/lMBKndtmb9pCltNDldFAkclAldNBldJBltM/lM5AltNCldJBldJBlNJBltVBldJBlNJBlNI/lNNBldJBldNAldJBldJBldJBldNBldIiNK7WAAAAInRSTlMAM4BNGmaz5gQGbiAPCV1WQxUpOCY9EmxQSC2jdoacqZK8uPo7tAAAAZ9JREFUSMe90NmOwjAMheGka0J3SulCy/L+Lzk4I+HYhckEKs7dr1x8kQVM5YJMZ7SLiXVHOw817Z72cSns3BmziY7EnGRGjDqUpKt4pEZQKruvyaJt85YmBUebKLJVNUlpq6oOQ1tVVRzbqu6DwFb1NUlsVd3SNL0UDM0jqkaSqoeQqjKmahtQNUzuC1AtU1sF9KHmnmrtrSK6idqBWqE6GFVxFdGvqDGoJ01Qt7rfTEV0e7V6qSK6VjNPtTaqoOq8Ugnqr7aeav+rAuqrTh+qZw3o1urAVcFVQD3U6ZnaYY9MLZk6G5WhDaDFI9UeUPyE7gCNsAdAD9gxoBJ7ARRPUVwALXdu8/h/s3xmjtwUu0/M0M/UJzBjAei3TUTdpmKmcpkBmOHKBNTPzJi59zYJys3DO2aL78YcmNkLgrrM9m9TucwzmoBy08xlju+bgL42G4c5OcxqZSLqbwqXOVNTGXMWFD0ak6KN1ZKaojYmbribndW9MXELNQEFFUyiNqQlmEQ1JqpgErUifUUTUVEIupx1wzpjvWfdsh4FQX8ANe4nnpsb9NEAAAAASUVORK5CYII=";
5603
5694
  var _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAaVBMVEUAAABElM9BltJCldJCldFBltJBldJCltFNmrNCmNNFldNAldJBldNBldRBldNBldNBldJCoNFBldJBltNBldJBldJAldJAltJBldJBldJBldNAlNFAldJBlNJAldJBldNBldJBldJBldLfIVowAAAAI3RSTlMAGjJNgGbmswMSCScgDTs/ZAVRK0eYj2s3r3AWveHEhXjeXb5rzlgAAAFqSURBVEjH1dbJVsJAEIXhHjJ05tlEooK8/0NKsbDrFjmHiBD0Lvqcf9PfthRM7xvoZMQuLHZaOejGYLtcdEItzI9oaLg5xIHj5hgcG262oXXcrGzJ23Umg5717C7NKBrAjOMDM8YgCI5ghmEPprUTmMZkrBOtdbJgfpZovho0gwzNOkfTam9k5jSGkKlTMOezWT3VLH5qlg8wQzSbO5jJ28l8Z+YLmZMwuz9lupvNXpjlFTMTZv7vzFSatTDtGnNeYdpNzZTMSJhx5f84m8Y3mSEzJzTVolko3J7Qve+a0J3vntDWffdEaMUQQo1vTWjuuyA0UWvUUarqzuqLUMPt1MD3uKTaTdRwvdrdorpFtfZtH6eyK2F3RS23U3uhlr9VB1TdE1V2h7Vr1O4mdbdera6o+Wq1Vqi2rEktFapGoZopVLVCtVCXag19IBPUiiWpBrojE1QNXZAp1/TYbhKdKVwuWotORKfn9wu/DSc/X9T6qgAAAABJRU5ErkJggg==";
5604
- var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-3c3b861e],\n.no-title[data-v-3c3b861e] {\n border: 1px solid rgba(55, 85, 218, 0.3);\n background: rgba(7, 22, 85, 0.8);\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-3c3b861e],\n.no-title .border-item[data-v-3c3b861e] {\n position: absolute;\n z-index: 2;\n border-color: #50FCFC;\n border-style: solid;\n width: 13px;\n height: 11px;\n}\n.top-title .top-left[data-v-3c3b861e],\n.no-title .top-left[data-v-3c3b861e] {\n top: 0;\n left: 0;\n border-top-width: 1px;\n border-right-width: 0;\n border-bottom-width: 0;\n border-left-width: 1px;\n}\n.top-title .top-right[data-v-3c3b861e],\n.no-title .top-right[data-v-3c3b861e] {\n top: 0;\n right: -2px;\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 0;\n border-left-width: 0;\n}\n.top-title .bottom-left[data-v-3c3b861e],\n.no-title .bottom-left[data-v-3c3b861e] {\n bottom: -2px;\n left: 0;\n border-top-width: 0;\n border-right-width: 0;\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n.top-title .bottom-right[data-v-3c3b861e],\n.no-title .bottom-right[data-v-3c3b861e] {\n bottom: -2px;\n right: -2px;\n border-top-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-left-width: 0;\n}\n.top-title .title-item-wrapper[data-v-3c3b861e],\n.no-title .title-item-wrapper[data-v-3c3b861e] {\n width: 100%;\n padding: 5px 0;\n background-image: url("data:image/png;base64,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");\n background-size: cover;\n display: grid;\n place-content: center;\n}\n.top-title .title-item[data-v-3c3b861e],\n.no-title .title-item[data-v-3c3b861e] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-3c3b861e],\n.no-title .title[data-v-3c3b861e] {\n padding: 0 17px;\n color: #d5fdfd;\n background: linear-gradient(0deg, #01aaff, #00eaff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.top-title .title-decoration-left[data-v-3c3b861e],\n.no-title .title-decoration-left[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-3c3b861e],\n.no-title .title-decoration-right[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.only-border[data-v-3c3b861e] {\n border: 2px solid #375A8899;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n}\n.left-title[data-v-3c3b861e] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 8px;\n}\n.left-title .title[data-v-3c3b861e] {\n position: absolute;\n left: -33px;\n top: -14px;\n width: 33px;\n min-height: 194px;\n padding-top: 33px;\n padding-bottom: 31px;\n background-image: url("data:image/png;base64,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");\n background-repeat: no-repeat;\n background-size: 100% 100%;\n color: #fff;\n font-weight: 500;\n text-align: center;\n}\n.left-title .title span[data-v-3c3b861e] {\n writing-mode: vertical-lr;\n}\n')();
5695
+ var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-f913847e],\n.no-title[data-v-f913847e] {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-f913847e],\n.no-title .border-item[data-v-f913847e] {\n position: absolute;\n z-index: 2;\n border-color: #50FCFC;\n border-style: solid;\n width: 13px;\n height: 11px;\n}\n.top-title .top-left[data-v-f913847e],\n.no-title .top-left[data-v-f913847e] {\n top: 0;\n left: 0;\n border-top-width: 1px;\n border-right-width: 0;\n border-bottom-width: 0;\n border-left-width: 1px;\n}\n.top-title .top-right[data-v-f913847e],\n.no-title .top-right[data-v-f913847e] {\n top: 0;\n right: -2px;\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 0;\n border-left-width: 0;\n}\n.top-title .bottom-left[data-v-f913847e],\n.no-title .bottom-left[data-v-f913847e] {\n bottom: -2px;\n left: 0;\n border-top-width: 0;\n border-right-width: 0;\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n.top-title .bottom-right[data-v-f913847e],\n.no-title .bottom-right[data-v-f913847e] {\n bottom: -2px;\n right: -2px;\n border-top-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-left-width: 0;\n}\n.top-title .title-item-wrapper[data-v-f913847e],\n.no-title .title-item-wrapper[data-v-f913847e] {\n width: 100%;\n padding: 5px 0;\n background-image: url("data:image/png;base64,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");\n background-size: cover;\n display: grid;\n place-content: center;\n}\n.top-title .title-item[data-v-f913847e],\n.no-title .title-item[data-v-f913847e] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-f913847e],\n.no-title .title[data-v-f913847e] {\n padding: 0 17px;\n color: #d5fdfd;\n background: linear-gradient(0deg, #01aaff, #00eaff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.top-title .title-decoration-left[data-v-f913847e],\n.no-title .title-decoration-left[data-v-f913847e] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-f913847e],\n.no-title .title-decoration-right[data-v-f913847e] {\n width: 58px;\n height: 14px;\n}\n.left-title[data-v-f913847e] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 0;\n}\n.left-title .title[data-v-f913847e] {\n position: absolute;\n left: -33px;\n top: -14px;\n width: 33px;\n min-height: 194px;\n padding-top: 33px;\n padding-bottom: 31px;\n background-image: url("data:image/png;base64,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");\n background-repeat: no-repeat;\n background-size: 100% 100%;\n color: #fff;\n font-weight: 500;\n text-align: center;\n}\n.left-title .title span[data-v-f913847e] {\n writing-mode: vertical-lr;\n}\n')();
5605
5696
  const _sfc_main$4 = vue.defineComponent({
5606
5697
  name: "EcanBorder",
5607
5698
  props: __spreadValues({}, borderComponentProps),
5608
5699
  setup(props2) {
5609
- const style2 = usePickComponentStyle(props2);
5700
+ const style2 = usePickComponentStyle(props2, ["background"]);
5701
+ const { theme } = vue.inject(GLOBAL_CONFIG, {
5702
+ theme: "light"
5703
+ });
5704
+ const borderStyle = vue.computed(() => {
5705
+ return {
5706
+ borderWidth: props2.borderWidth,
5707
+ borderStyle: props2.borderStyle,
5708
+ borderRadius: props2.borderRadius,
5709
+ borderColor: props2.borderColor,
5710
+ backgroundColor: props2.backgroundColor,
5711
+ width: "100%",
5712
+ height: "100%"
5713
+ };
5714
+ });
5610
5715
  const emitEvent = useEmitEvent(props2.events);
5611
5716
  const click = emitEvent("click", () => {
5612
5717
  });
5613
5718
  useOnEvent(props2, {
5614
5719
  click
5615
5720
  });
5721
+ const onDrag = (e) => {
5722
+ console.log(e);
5723
+ };
5616
5724
  return {
5617
5725
  style: style2,
5618
- click
5726
+ click,
5727
+ borderStyle,
5728
+ theme,
5729
+ onDrag
5619
5730
  };
5620
5731
  }
5621
5732
  });
5622
- const _withScopeId = (n) => (vue.pushScopeId("data-v-3c3b861e"), n = n(), vue.popScopeId(), n);
5623
- const _hoisted_1$2 = {
5624
- key: 0,
5625
- class: "top-title"
5626
- };
5627
- const _hoisted_2 = { class: "title-item-wrapper" };
5628
- const _hoisted_3 = { class: "title-item" };
5629
- const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5733
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-f913847e"), n = n(), vue.popScopeId(), n);
5734
+ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5735
+ const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5736
+ const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5737
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5738
+ const _hoisted_5 = { class: "title-item-wrapper" };
5739
+ const _hoisted_6 = { class: "title-item" };
5740
+ const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5630
5741
  class: "title-decoration-left",
5631
5742
  src: _imports_0
5632
5743
  }, null, -1));
5633
- const _hoisted_5 = { class: "title" };
5634
- const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5744
+ const _hoisted_8 = { class: "title" };
5745
+ const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5635
5746
  class: "title-decoration-right",
5636
5747
  src: _imports_1
5637
5748
  }, null, -1));
5638
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5639
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5640
- const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5641
- const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5642
- const _hoisted_11 = {
5643
- key: 1,
5644
- class: "no-title"
5645
- };
5646
- const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5647
- const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5648
- const _hoisted_14 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5649
- const _hoisted_15 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5650
- const _hoisted_16 = [
5651
- _hoisted_12,
5652
- _hoisted_13,
5653
- _hoisted_14,
5654
- _hoisted_15
5655
- ];
5656
- const _hoisted_17 = {
5749
+ const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5750
+ const _hoisted_11 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5751
+ const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5752
+ const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5753
+ const _hoisted_14 = {
5657
5754
  key: 2,
5658
- class: "only-border"
5659
- };
5660
- const _hoisted_18 = {
5661
- key: 3,
5662
5755
  class: "left-title"
5663
5756
  };
5664
- const _hoisted_19 = { class: "title" };
5757
+ const _hoisted_15 = { class: "title" };
5665
5758
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
5666
5759
  return vue.openBlock(), vue.createElementBlock("div", {
5667
5760
  class: "ecan-border",
5668
5761
  style: vue.normalizeStyle(_ctx.style),
5669
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
5762
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.click && _ctx.click(...args))
5670
5763
  }, [
5671
- _ctx.mode === "top-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
5672
- vue.createElementVNode("div", _hoisted_2, [
5673
- vue.createElementVNode("div", _hoisted_3, [
5674
- _hoisted_4,
5675
- vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(_ctx.title), 1),
5676
- _hoisted_6
5764
+ _ctx.mode === "no-title" ? (vue.openBlock(), vue.createElementBlock("div", {
5765
+ key: 0,
5766
+ class: "no-title",
5767
+ style: vue.normalizeStyle(_ctx.borderStyle),
5768
+ onDrag: _cache[0] || (_cache[0] = (...args) => _ctx.onDrag && _ctx.onDrag(...args))
5769
+ }, [
5770
+ _ctx.useBorderModify ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5771
+ _hoisted_1$2,
5772
+ _hoisted_2,
5773
+ _hoisted_3,
5774
+ _hoisted_4
5775
+ ], 64)) : vue.createCommentVNode("", true)
5776
+ ], 36)) : vue.createCommentVNode("", true),
5777
+ _ctx.mode === "top-title" ? (vue.openBlock(), vue.createElementBlock("div", {
5778
+ key: 1,
5779
+ class: "top-title",
5780
+ style: vue.normalizeStyle(_ctx.borderStyle)
5781
+ }, [
5782
+ vue.createElementVNode("div", _hoisted_5, [
5783
+ vue.createElementVNode("div", _hoisted_6, [
5784
+ _hoisted_7,
5785
+ vue.createElementVNode("div", _hoisted_8, vue.toDisplayString(_ctx.title), 1),
5786
+ _hoisted_9
5677
5787
  ])
5678
5788
  ]),
5679
- _hoisted_7,
5680
- _hoisted_8,
5681
- _hoisted_9,
5682
- _hoisted_10
5683
- ])) : vue.createCommentVNode("", true),
5684
- _ctx.mode === "no-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, _hoisted_16)) : vue.createCommentVNode("", true),
5685
- _ctx.mode === "only-border" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17)) : vue.createCommentVNode("", true),
5686
- _ctx.mode === "left-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
5687
- vue.createElementVNode("div", _hoisted_19, [
5789
+ _hoisted_10,
5790
+ _hoisted_11,
5791
+ _hoisted_12,
5792
+ _hoisted_13
5793
+ ], 4)) : vue.createCommentVNode("", true),
5794
+ _ctx.mode === "left-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
5795
+ vue.createElementVNode("div", _hoisted_15, [
5688
5796
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.title), 1)
5689
5797
  ])
5690
5798
  ])) : vue.createCommentVNode("", true)
5691
5799
  ], 4);
5692
5800
  }
5693
- var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-3c3b861e"]]);
5801
+ var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f913847e"]]);
5694
5802
  const EcanBorder = withInstall(Border);
5695
5803
  const modalProps = {
5696
5804
  id: "",
@@ -5713,7 +5821,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5713
5821
  };
5714
5822
  const modalComponentProps = transformToComponentProps(modalProps);
5715
5823
  const modalEvents = ["showModal"];
5716
- var Modal_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".contain[data-v-0b2fdae1] {\n position: relative;\n overflow: hidden;\n}\n.content[data-v-0b2fdae1] {\n transform-origin: left top;\n z-index: 999;\n}\n")();
5824
+ var Modal_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".contain[data-v-378919f0] {\n position: relative;\n overflow: hidden;\n}\n.content[data-v-378919f0] {\n transform-origin: left top;\n z-index: 999;\n}\n")();
5717
5825
  var Modal_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => ".ecan-modal .ant-modal-body {\n padding: 0;\n}\n.ecan-modal .ant-modal-header {\n padding: 0;\n border-bottom: none;\n background: none;\n}\n.ecan-full-width-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.ecan-full-width-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n}\n.ecan-full-width-modal .ant-modal-body {\n flex: 1;\n}\n.ecan-full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.ecan-full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.ecan-full-modal .ant-modal-body {\n flex: 1;\n}\n[datav-theme='darkBlue'] .ecan-modal .anticon-close > svg > path {\n fill: #fff;\n}\n")();
5718
5826
  const _sfc_main$3 = vue.defineComponent({
5719
5827
  name: "EcanModal",
@@ -5858,7 +5966,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5858
5966
  } : void 0
5859
5967
  ]), 1032, ["getContainer", "wrapClassName", "visible", "width", "destroyOnClose", "style", "onOk", "onCancel"]);
5860
5968
  }
5861
- var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-0b2fdae1"]]);
5969
+ var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-378919f0"]]);
5862
5970
  const EcanModal = withInstall(Modal);
5863
5971
  const imageProps = __spreadProps(__spreadValues({}, props), {
5864
5972
  name: "\u56FE\u7247",
@@ -6545,6 +6653,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6545
6653
  providerConfig,
6546
6654
  providerConfigComponentProps,
6547
6655
  EcanProviderConfig,
6656
+ renderer,
6657
+ rendererComponentProps,
6658
+ EcanRenderer,
6548
6659
  textProps,
6549
6660
  textComponentProps,
6550
6661
  textEvents,
@@ -6654,6 +6765,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6654
6765
  exports2.EcanProportion = EcanProportion;
6655
6766
  exports2.EcanProviderConfig = EcanProviderConfig;
6656
6767
  exports2.EcanRangePicker = EcanRangePicker;
6768
+ exports2.EcanRenderer = EcanRenderer;
6657
6769
  exports2.EcanScatter = EcanScatter;
6658
6770
  exports2.EcanScrollText = EcanScrollText;
6659
6771
  exports2.EcanSelect = EcanSelect;
@@ -6707,6 +6819,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6707
6819
  exports2.rangePickerComponentProps = rangePickerComponentProps;
6708
6820
  exports2.rangePickerEvents = rangePickerEvents;
6709
6821
  exports2.rangePickerProps = rangePickerProps;
6822
+ exports2.renderer = renderer;
6823
+ exports2.rendererComponentProps = rendererComponentProps;
6710
6824
  exports2.scatterComponentProps = scatterComponentProps;
6711
6825
  exports2.scatterEvents = scatterEvents;
6712
6826
  exports2.scatterProps = scatterProps;