@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.es.js CHANGED
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  var _a, _b, _c;
21
- import { watch, inject, computed, unref, watchEffect, defineComponent, shallowRef, toRefs, onMounted, onUnmounted, h, nextTick, createVNode, resolveComponent, openBlock, createElementBlock, createBlock, renderSlot, withCtx, ref, normalizeStyle, createCommentVNode, provide, toDisplayString, Fragment, renderList, createElementVNode, normalizeClass, pushScopeId, popScopeId, createTextVNode, createSlots, resolveDynamicComponent, mergeProps, withDirectives, vShow } from "vue";
21
+ import { watch, inject, computed, unref, watchEffect, defineComponent, shallowRef, toRefs, onMounted, onUnmounted, h, nextTick, createVNode, resolveComponent, openBlock, createElementBlock, createBlock, renderSlot, withCtx, ref, normalizeStyle, createCommentVNode, provide, toDisplayString, Fragment, renderList, createElementVNode, normalizeClass, pushScopeId, popScopeId, createTextVNode, withModifiers, createSlots, resolveDynamicComponent, mergeProps, withDirectives, vShow } from "vue";
22
22
  import { throttle, init, use, registerMap } from "echarts/core";
23
23
  import { addListener, removeListener } from "resize-detector";
24
24
  import { Spin as Spin$1, Skeleton as Skeleton$1, message, Progress, Input as Input$1, DatePicker as DatePicker$1, Select as Select$1, RangePicker as RangePicker$1, Button as Button$1, Modal as Modal$1, Table as Table$1, TableSummary, TableSummaryRow, TableSummaryCell } from "ant-design-vue";
@@ -1373,7 +1373,7 @@ var _export_sfc = (sfc, props2) => {
1373
1373
  }
1374
1374
  return target;
1375
1375
  };
1376
- const _sfc_main$p = defineComponent({
1376
+ const _sfc_main$q = defineComponent({
1377
1377
  props: {
1378
1378
  spinning: {
1379
1379
  type: Boolean,
@@ -1397,7 +1397,7 @@ const _sfc_main$p = defineComponent({
1397
1397
  }
1398
1398
  });
1399
1399
  const _hoisted_1$9 = { class: "spin-wrapper" };
1400
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1400
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
1401
1401
  const _component_a_spin = resolveComponent("a-spin");
1402
1402
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
1403
1403
  _ctx.spinning ? (openBlock(), createBlock(_component_a_spin, {
@@ -1409,8 +1409,8 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1409
1409
  }, null, 8, ["spinning", "indicator"])) : renderSlot(_ctx.$slots, "default", { key: 1 })
1410
1410
  ]);
1411
1411
  }
1412
- var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1413
- const _sfc_main$o = defineComponent({
1412
+ var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
1413
+ const _sfc_main$p = defineComponent({
1414
1414
  name: "Skeleton",
1415
1415
  props: {
1416
1416
  loading: {
@@ -1422,7 +1422,7 @@ const _sfc_main$o = defineComponent({
1422
1422
  ASkeleton: Skeleton$1
1423
1423
  }
1424
1424
  });
1425
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1425
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1426
1426
  const _component_a_skeleton = resolveComponent("a-skeleton");
1427
1427
  return openBlock(), createBlock(_component_a_skeleton, {
1428
1428
  active: "",
@@ -1434,7 +1434,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1434
1434
  _: 3
1435
1435
  }, 8, ["loading"]);
1436
1436
  }
1437
- var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
1437
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1438
1438
  const withInstall = (main, extra) => {
1439
1439
  main.install = (app) => {
1440
1440
  for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
@@ -1512,7 +1512,8 @@ const styleList = [
1512
1512
  "backgroundSize",
1513
1513
  "textShadow",
1514
1514
  "justifyContent",
1515
- "alignItems"
1515
+ "alignItems",
1516
+ "zIndex"
1516
1517
  ];
1517
1518
  const usePickComponentStyle = (props2, excludeStyleList = []) => {
1518
1519
  const finalStyleList = without(styleList, ...excludeStyleList);
@@ -1523,6 +1524,7 @@ const GLOBAL_CONFIG = "GLOBAL_CONFIG";
1523
1524
  const GLOBAL_MODEL = "GLOBAL_MODEL";
1524
1525
  const REQUEST_MODEL = "REQUEST_MODEL";
1525
1526
  const GLOBAL_TOKEN = "GLOBAL_TOKEN";
1527
+ const REFRESH_PAGE = "REFRESH_PAGE";
1526
1528
  const INDICATOR_URL = (_a = window == null ? void 0 : window.config) == null ? void 0 : _a.indicatorURL;
1527
1529
  const UPLOAD_PATH = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.uploadPath) || "/api";
1528
1530
  const BASE_URL = ((_c = window == null ? void 0 : window.config) == null ? void 0 : _c.routerBaseURL) || "./";
@@ -1624,6 +1626,24 @@ const lowerCaseIncludes = (v1, v2) => {
1624
1626
  }
1625
1627
  return false;
1626
1628
  };
1629
+ const useVariablesInText = (text, data = {}) => {
1630
+ const config2 = window.config || {};
1631
+ data = __spreadValues(__spreadValues({}, config2), data);
1632
+ const variables = text.match(/\{\w*\}/g);
1633
+ if (variables == null || variables.length === 0)
1634
+ return text;
1635
+ for (let i = 0; i < variables.length; i++) {
1636
+ const variable = variables[i];
1637
+ const v = variable.slice(1, variable.length - 1);
1638
+ const usedVariable = data[v];
1639
+ if (usedVariable != null) {
1640
+ text = text.replace(variable, usedVariable);
1641
+ } else {
1642
+ text = text.replace(variable, "");
1643
+ }
1644
+ }
1645
+ return text;
1646
+ };
1627
1647
  const useRequestData = (props2, callBack = () => {
1628
1648
  }) => {
1629
1649
  const {
@@ -1661,23 +1681,25 @@ const useRequestData = (props2, callBack = () => {
1661
1681
  }
1662
1682
  _params[key] = v;
1663
1683
  } else if (typeof value === "string") {
1664
- _params[key] = value;
1684
+ _params[key] = useVariablesInText(value);
1665
1685
  }
1666
1686
  });
1667
1687
  _params = __spreadValues(__spreadValues({}, _params), params);
1668
1688
  let urlParams = "";
1669
1689
  const keys = Object.keys(_params);
1670
1690
  const last = keys.length - 1;
1691
+ const keysLen = keys.length;
1671
1692
  keys.forEach((key, index2) => {
1672
- switch (index2) {
1673
- case 0:
1693
+ if (index2 === 0) {
1694
+ if (keysLen !== 1) {
1674
1695
  urlParams += `?${key}=${_params[key]}&`;
1675
- break;
1676
- case last:
1677
- urlParams += `${key}=${_params[key]}`;
1678
- break;
1679
- default:
1680
- urlParams += `${key}=${_params[key]}&`;
1696
+ } else {
1697
+ urlParams += `?${key}=${_params[key]}`;
1698
+ }
1699
+ } else if (index2 === last) {
1700
+ urlParams += `${key}=${_params[key]}`;
1701
+ } else {
1702
+ urlParams += `${key}=${_params[key]}&`;
1681
1703
  }
1682
1704
  });
1683
1705
  try {
@@ -1771,25 +1793,6 @@ const usePageUrl = (pageMode, pageId) => {
1771
1793
  console.log(pageMode);
1772
1794
  return pageMode === "preview" ? envPageUrl : proPageUrl;
1773
1795
  };
1774
- const useVariablesInText = (text, data = {}) => {
1775
- var _a2;
1776
- const config2 = (_a2 = window.config) != null ? _a2 : {};
1777
- data = __spreadValues(__spreadValues({}, config2), data);
1778
- const variables = text.match(/\{.*?\}/g);
1779
- if (variables == null || variables.length === 0)
1780
- return text;
1781
- for (let i = 0; i < variables.length; i++) {
1782
- const variable = variables[i];
1783
- const v = variable.slice(1, variable.length - 1);
1784
- const usedVariables = data[v];
1785
- if (usedVariables != null) {
1786
- text = text.replace(variable, usedVariables);
1787
- } else {
1788
- text = text.replace(variable, "");
1789
- }
1790
- }
1791
- return text;
1792
- };
1793
1796
  const request = axios.create({
1794
1797
  timeout: 1e3 * 10
1795
1798
  });
@@ -2165,7 +2168,7 @@ const useRequestDiagramData = (props2) => {
2165
2168
  };
2166
2169
  };
2167
2170
  const useValueFormatter = (formatter = "", value) => {
2168
- const variables = formatter.match(/\{.*?\}/g);
2171
+ const variables = formatter.match(/\{\w*\}/g);
2169
2172
  if (variables == null || variables.length === 0)
2170
2173
  return formatter;
2171
2174
  for (let i = 0; i < variables.length; i++) {
@@ -2381,8 +2384,20 @@ const useIndicatorData = (props2 = {}) => {
2381
2384
  }
2382
2385
  };
2383
2386
  };
2384
- 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")();
2385
- const _sfc_main$n = defineComponent({
2387
+ const useHrefParamsToGlobalVariables = () => {
2388
+ const search = window.location.search;
2389
+ const params = search.slice(1).split("&");
2390
+ const len = params.length;
2391
+ for (let i = 0; i < len; i++) {
2392
+ const param = params[i];
2393
+ const keyAndValue = param.split("=");
2394
+ const key = keyAndValue[0];
2395
+ const value = keyAndValue[1];
2396
+ window.config[key] = value;
2397
+ }
2398
+ };
2399
+ 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")();
2400
+ const _sfc_main$o = defineComponent({
2386
2401
  name: "EcanPageConfig",
2387
2402
  props: __spreadValues({}, pageConfigComponentProps),
2388
2403
  setup(props2) {
@@ -2480,7 +2495,7 @@ const _hoisted_1$8 = {
2480
2495
  id: "container",
2481
2496
  ref: "container"
2482
2497
  };
2483
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2498
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2484
2499
  return openBlock(), createElementBlock("div", _hoisted_1$8, [
2485
2500
  _ctx.ready ? (openBlock(), createElementBlock("div", {
2486
2501
  key: 0,
@@ -2491,18 +2506,20 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2491
2506
  ], 4)) : createCommentVNode("", true)
2492
2507
  ], 512);
2493
2508
  }
2494
- var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-836b53bc"]]);
2509
+ var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o], ["__scopeId", "data-v-5d709a9a"]]);
2495
2510
  const EcanPageConfig = withInstall(PageConfig);
2496
2511
  const providerConfig = {
2497
2512
  contextRequestUrl: "",
2498
2513
  pageMode: "normal",
2499
- theme: "light"
2514
+ theme: "light",
2515
+ containerMap: {}
2500
2516
  };
2501
2517
  const providerConfigComponentProps = transformToComponentProps(providerConfig);
2502
- const _sfc_main$m = defineComponent({
2518
+ const _sfc_main$n = defineComponent({
2503
2519
  name: "EcanProviderConfig",
2504
2520
  props: __spreadValues({}, providerConfigComponentProps),
2505
2521
  setup(props2, { expose }) {
2522
+ useHrefParamsToGlobalVariables();
2506
2523
  const providerConfig2 = ref();
2507
2524
  const setTheme = () => {
2508
2525
  providerConfig2.value.setAttribute("datav-theme", props2.theme);
@@ -2610,8 +2627,22 @@ const _sfc_main$m = defineComponent({
2610
2627
  setRequest,
2611
2628
  touchRequest
2612
2629
  });
2630
+ const emitRefreshPage = () => {
2631
+ eventBus.emit(REFRESH_PAGE);
2632
+ };
2633
+ provide(REFRESH_PAGE, {
2634
+ emitRefreshPage
2635
+ });
2636
+ const onRefreshPage = (callBack) => {
2637
+ eventBus.on(REFRESH_PAGE, () => callBack());
2638
+ onMounted(() => {
2639
+ eventBus.off(REFRESH_PAGE);
2640
+ });
2641
+ };
2613
2642
  expose({
2614
- touchRequest
2643
+ touchRequest,
2644
+ getGlobalModel,
2645
+ onRefreshPage
2615
2646
  });
2616
2647
  return {
2617
2648
  providerConfig: providerConfig2
@@ -2622,13 +2653,28 @@ const _hoisted_1$7 = {
2622
2653
  id: "ProviderConfig",
2623
2654
  ref: "providerConfig"
2624
2655
  };
2625
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2656
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2626
2657
  return openBlock(), createElementBlock("div", _hoisted_1$7, [
2627
2658
  renderSlot(_ctx.$slots, "default")
2628
2659
  ], 512);
2629
2660
  }
2630
- var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2661
+ var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
2631
2662
  const EcanProviderConfig = withInstall(ProviderConfig);
2663
+ const renderer = {
2664
+ componentList: []
2665
+ };
2666
+ const rendererComponentProps = transformToComponentProps(renderer);
2667
+ const _sfc_main$m = defineComponent({
2668
+ name: "EcanRenderer",
2669
+ props: __spreadValues({}, rendererComponentProps),
2670
+ setup() {
2671
+ }
2672
+ });
2673
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2674
+ return openBlock(), createElementBlock("div");
2675
+ }
2676
+ var Renderer = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2677
+ const EcanRenderer = withInstall(Renderer);
2632
2678
  const textProps = __spreadProps(__spreadValues({}, props), {
2633
2679
  name: "\u6587\u672C",
2634
2680
  keyName: "\u6587\u672C",
@@ -2649,7 +2695,7 @@ const textProps = __spreadProps(__spreadValues({}, props), {
2649
2695
  });
2650
2696
  const textComponentProps = transformToComponentProps(textProps);
2651
2697
  const textEvents = ["refreshData", "click"];
2652
- 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")();
2698
+ 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")();
2653
2699
  const _sfc_main$l = defineComponent({
2654
2700
  name: "EcanText",
2655
2701
  components: { Skeleton },
@@ -2660,7 +2706,7 @@ const _sfc_main$l = defineComponent({
2660
2706
  const myText = computed(() => {
2661
2707
  let text = props2.text;
2662
2708
  const data = unref(myData);
2663
- const variables = text.match(/\{.*?\}/g);
2709
+ const variables = text.match(/\{\w*\}/g);
2664
2710
  if (variables == null || variables.length === 0)
2665
2711
  return text;
2666
2712
  for (let i = 0; i < variables.length; i++) {
@@ -2735,7 +2781,7 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
2735
2781
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2736
2782
  }, null, 12, _hoisted_1$6));
2737
2783
  }
2738
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-e7487804"]]);
2784
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-9526cadc"]]);
2739
2785
  const EcanText = withInstall(Text);
2740
2786
  var ScrollText_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".red[data-v-0bb717eb] {\n color: red;\n}\n")();
2741
2787
  const _sfc_main$k = defineComponent({
@@ -3036,12 +3082,12 @@ const _sfc_main$i = defineComponent({
3036
3082
  };
3037
3083
  }
3038
3084
  });
3039
- const _withScopeId$1 = (n) => (pushScopeId("data-v-461dbe78"), n = n(), popScopeId(), n);
3085
+ const _withScopeId$2 = (n) => (pushScopeId("data-v-461dbe78"), n = n(), popScopeId(), n);
3040
3086
  const _hoisted_1$4 = {
3041
3087
  key: 0,
3042
3088
  class: "title"
3043
3089
  };
3044
- const _hoisted_2$1 = {
3090
+ const _hoisted_2$2 = {
3045
3091
  key: 0,
3046
3092
  class: "ranking"
3047
3093
  };
@@ -3053,7 +3099,7 @@ const _hoisted_4$1 = {
3053
3099
  key: 0,
3054
3100
  class: "ranking"
3055
3101
  };
3056
- const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("div", { class: "icon" }, null, -1));
3102
+ const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("div", { class: "icon" }, null, -1));
3057
3103
  const _hoisted_6$1 = { class: "sort" };
3058
3104
  const _hoisted_7$1 = {
3059
3105
  key: 2,
@@ -3079,7 +3125,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
3079
3125
  }),
3080
3126
  key: count
3081
3127
  }, [
3082
- _ctx.useRanking ? (openBlock(), createElementBlock("div", _hoisted_2$1)) : createCommentVNode("", true),
3128
+ _ctx.useRanking ? (openBlock(), createElementBlock("div", _hoisted_2$2)) : createCommentVNode("", true),
3083
3129
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (column, i) => {
3084
3130
  return openBlock(), createElementBlock("div", {
3085
3131
  class: "column",
@@ -3161,7 +3207,7 @@ const proportionProps = __spreadProps(__spreadValues({}, props), {
3161
3207
  });
3162
3208
  const proportionComponentProps = transformToComponentProps(proportionProps);
3163
3209
  const proportionEvents = ["refreshData", "click"];
3164
- 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")();
3210
+ 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")();
3165
3211
  const _sfc_main$h = defineComponent({
3166
3212
  name: "EcanProportion",
3167
3213
  components: {
@@ -3193,7 +3239,7 @@ const _sfc_main$h = defineComponent({
3193
3239
  var _a2;
3194
3240
  let text2 = props2.text;
3195
3241
  const data = unref(myData);
3196
- const variables = text2.match(/\{.*?\}/g) || [];
3242
+ const variables = text2.match(/\{\w*\}/g) || [];
3197
3243
  if (text2 === "")
3198
3244
  return unref(value) + "%";
3199
3245
  for (let i = 0; i < variables.length; i++) {
@@ -3294,7 +3340,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
3294
3340
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3295
3341
  ], 4);
3296
3342
  }
3297
- var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-02b500fa"]]);
3343
+ var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-206755e6"]]);
3298
3344
  const EcanProportion = withInstall(Proportion);
3299
3345
  const inputProps = __spreadProps(__spreadValues({}, props), {
3300
3346
  width: "200px",
@@ -3586,11 +3632,13 @@ const buttonProps = __spreadProps(__spreadValues({}, props), {
3586
3632
  text: "\u6309\u94AE",
3587
3633
  mode: "default",
3588
3634
  danger: false,
3589
- shape: "default"
3635
+ shape: "default",
3636
+ href: "",
3637
+ target: "_self"
3590
3638
  });
3591
3639
  const buttonComponentProps = transformToComponentProps(buttonProps);
3592
3640
  const buttonEvents = ["click"];
3593
- var Button_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".ecan-button .ant-btn {\n width: 100%;\n height: 100%;\n}\n")();
3641
+ 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")();
3594
3642
  const _sfc_main$c = defineComponent({
3595
3643
  name: "EcanButton",
3596
3644
  components: {
@@ -3602,9 +3650,19 @@ const _sfc_main$c = defineComponent({
3602
3650
  const events = props2.events;
3603
3651
  const emitEvent = useEmitEvent(events);
3604
3652
  const click = emitEvent("click");
3653
+ const myText = computed(() => useVariablesInText(props2.text));
3654
+ const myHref = computed(() => {
3655
+ const href = props2.href;
3656
+ if (href) {
3657
+ return useVariablesInText(href);
3658
+ }
3659
+ return void 0;
3660
+ });
3605
3661
  return {
3606
3662
  style: style2,
3607
- click
3663
+ click,
3664
+ myText,
3665
+ myHref
3608
3666
  };
3609
3667
  }
3610
3668
  });
@@ -3620,13 +3678,15 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
3620
3678
  type: _ctx.mode,
3621
3679
  danger: _ctx.danger,
3622
3680
  ghost: _ctx.ghost,
3623
- shape: _ctx.shape
3681
+ shape: _ctx.shape,
3682
+ href: _ctx.myHref,
3683
+ target: _ctx.target
3624
3684
  }, {
3625
3685
  default: withCtx(() => [
3626
- createTextVNode(toDisplayString(_ctx.text), 1)
3686
+ createTextVNode(toDisplayString(_ctx.myText), 1)
3627
3687
  ]),
3628
3688
  _: 1
3629
- }, 8, ["onClick", "type", "danger", "ghost", "shape"])
3689
+ }, 8, ["onClick", "type", "danger", "ghost", "shape", "href", "target"])
3630
3690
  ], 4);
3631
3691
  }
3632
3692
  var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c]]);
@@ -3643,7 +3703,10 @@ const tabsProps = __spreadProps(__spreadValues({}, props), {
3643
3703
  activeTabBackgroundImage: "",
3644
3704
  tabColor: "#333",
3645
3705
  tabBarGutter: "0px",
3706
+ tabHeight: "30px",
3646
3707
  value: "",
3708
+ activeKey: 0,
3709
+ contains: [],
3647
3710
  data: [
3648
3711
  {
3649
3712
  title: "\u6807\u7B7E1"
@@ -3658,7 +3721,7 @@ const tabsProps = __spreadProps(__spreadValues({}, props), {
3658
3721
  });
3659
3722
  const tabsComponentProps = transformToComponentProps(tabsProps);
3660
3723
  const tabsEvents = ["tabChange"];
3661
- 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")();
3724
+ 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")();
3662
3725
  const _sfc_main$b = defineComponent({
3663
3726
  name: "EcanTabs",
3664
3727
  props: __spreadValues({}, tabsComponentProps),
@@ -3666,20 +3729,32 @@ const _sfc_main$b = defineComponent({
3666
3729
  var _a2;
3667
3730
  const style2 = usePickComponentStyle(props2);
3668
3731
  const activeKey = ref(0);
3732
+ watch(() => props2.activeKey, (key) => {
3733
+ activeKey.value = key;
3734
+ }, {
3735
+ immediate: true
3736
+ });
3669
3737
  const myData = ref(props2.data);
3670
3738
  const isActive = (index2) => activeKey.value === index2;
3671
3739
  const myValue = ref(props2.value || unref(myData)[0] && ((_a2 = unref(myData)[0]) == null ? void 0 : _a2.value) || "");
3672
3740
  const events = props2.events;
3673
3741
  const emitEvent = useEmitEvent(events);
3674
- const tabChange = emitEvent("tabChange", (tab, index2) => {
3675
- myValue.value = (tab == null ? void 0 : tab.value) || "";
3676
- activeKey.value = index2;
3677
- });
3678
3742
  const { setGlobalModel } = inject(GLOBAL_MODEL, {
3679
3743
  setGlobalModel: (key, value) => void 0
3680
3744
  });
3681
3745
  setGlobalModel(props2.id, {
3682
- value: myValue
3746
+ value: myValue,
3747
+ activeKey
3748
+ });
3749
+ const { emitRefreshPage } = inject(REFRESH_PAGE, {
3750
+ emitRefreshPage: () => void 0
3751
+ });
3752
+ const tabChange = emitEvent("tabChange", (tab, index2) => {
3753
+ if (index2 !== unref(activeKey)) {
3754
+ myValue.value = (tab == null ? void 0 : tab.value) || "";
3755
+ activeKey.value = index2;
3756
+ emitRefreshPage();
3757
+ }
3683
3758
  });
3684
3759
  useOnEvent(props2, {
3685
3760
  tabChange
@@ -3694,28 +3769,38 @@ const _sfc_main$b = defineComponent({
3694
3769
  };
3695
3770
  }
3696
3771
  });
3772
+ const _withScopeId$1 = (n) => (pushScopeId("data-v-27b19b45"), n = n(), popScopeId(), n);
3697
3773
  const _hoisted_1$3 = ["onClick"];
3774
+ const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("div", { class: "tabs-content" }, null, -1));
3698
3775
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3699
3776
  return openBlock(), createElementBlock("div", {
3700
3777
  class: "ecan-tabs",
3701
3778
  style: normalizeStyle(_ctx.style)
3702
3779
  }, [
3703
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.myData, (tab, index2) => {
3704
- return openBlock(), createElementBlock("div", {
3705
- class: normalizeClass(["tab"]),
3706
- style: normalizeStyle({
3707
- color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3708
- backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3709
- marginRight: _ctx.tabBarGutter,
3710
- fontSize: _ctx.tabFontSize
3711
- }),
3712
- key: index2,
3713
- onClick: ($event) => _ctx.tabChange(tab, index2)
3714
- }, toDisplayString(tab.title), 13, _hoisted_1$3);
3715
- }), 128))
3780
+ createElementVNode("div", {
3781
+ class: "tabs-header",
3782
+ style: normalizeStyle({
3783
+ fontSize: _ctx.tabFontSize
3784
+ })
3785
+ }, [
3786
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.myData, (tab, index2) => {
3787
+ return openBlock(), createElementBlock("div", {
3788
+ class: "tab",
3789
+ style: normalizeStyle({
3790
+ color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3791
+ backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3792
+ marginRight: _ctx.tabBarGutter,
3793
+ height: _ctx.tabHeight
3794
+ }),
3795
+ key: index2,
3796
+ onClick: withModifiers(($event) => _ctx.tabChange(tab, index2), ["stop"])
3797
+ }, toDisplayString(tab.title), 13, _hoisted_1$3);
3798
+ }), 128))
3799
+ ], 4),
3800
+ _hoisted_2$1
3716
3801
  ], 4);
3717
3802
  }
3718
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-5aeec0ae"]]);
3803
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-27b19b45"]]);
3719
3804
  const EcanTabs = withInstall(Tabs);
3720
3805
  const pieProps = __spreadProps(__spreadValues({}, props), {
3721
3806
  id: "",
@@ -5585,102 +5670,125 @@ const borderProps = __spreadProps(__spreadValues({}, props), {
5585
5670
  fontFamily: "",
5586
5671
  fontWeight: 700,
5587
5672
  title: "\u6807\u9898",
5588
- mode: "top-title"
5673
+ mode: "only-border",
5674
+ borderColor: "#eee",
5675
+ borderRadius: "5px",
5676
+ borderStyle: "solid",
5677
+ borderWidth: "2px",
5678
+ backgroundColor: "",
5679
+ useBorderModify: false
5589
5680
  });
5590
5681
  const borderComponentProps = transformToComponentProps(borderProps);
5591
5682
  const borderEvents = ["click"];
5592
5683
  var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAZlBMVEUAAABBltJCldJCldFEk89BltJCltFBldI/lMBKndtmb9pCltNDldFAkclAldNBldJBltM/lM5AltNCldJBldJBlNJBltVBldJBlNJBlNI/lNNBldJBldNAldJBldJBldJBldNBldIiNK7WAAAAInRSTlMAM4BNGmaz5gQGbiAPCV1WQxUpOCY9EmxQSC2jdoacqZK8uPo7tAAAAZ9JREFUSMe90NmOwjAMheGka0J3SulCy/L+Lzk4I+HYhckEKs7dr1x8kQVM5YJMZ7SLiXVHOw817Z72cSns3BmziY7EnGRGjDqUpKt4pEZQKruvyaJt85YmBUebKLJVNUlpq6oOQ1tVVRzbqu6DwFb1NUlsVd3SNL0UDM0jqkaSqoeQqjKmahtQNUzuC1AtU1sF9KHmnmrtrSK6idqBWqE6GFVxFdGvqDGoJ01Qt7rfTEV0e7V6qSK6VjNPtTaqoOq8Ugnqr7aeav+rAuqrTh+qZw3o1urAVcFVQD3U6ZnaYY9MLZk6G5WhDaDFI9UeUPyE7gCNsAdAD9gxoBJ7ARRPUVwALXdu8/h/s3xmjtwUu0/M0M/UJzBjAei3TUTdpmKmcpkBmOHKBNTPzJi59zYJys3DO2aL78YcmNkLgrrM9m9TucwzmoBy08xlju+bgL42G4c5OcxqZSLqbwqXOVNTGXMWFD0ak6KN1ZKaojYmbribndW9MXELNQEFFUyiNqQlmEQ1JqpgErUifUUTUVEIupx1wzpjvWfdsh4FQX8ANe4nnpsb9NEAAAAASUVORK5CYII=";
5593
5684
  var _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAaVBMVEUAAABElM9BltJCldJCldFBltJBldJCltFNmrNCmNNFldNAldJBldNBldRBldNBldNBldJCoNFBldJBltNBldJBldJAldJAltJBldJBldJBldNAlNFAldJBlNJAldJBldNBldJBldJBldLfIVowAAAAI3RSTlMAGjJNgGbmswMSCScgDTs/ZAVRK0eYj2s3r3AWveHEhXjeXb5rzlgAAAFqSURBVEjH1dbJVsJAEIXhHjJ05tlEooK8/0NKsbDrFjmHiBD0Lvqcf9PfthRM7xvoZMQuLHZaOejGYLtcdEItzI9oaLg5xIHj5hgcG262oXXcrGzJ23Umg5717C7NKBrAjOMDM8YgCI5ghmEPprUTmMZkrBOtdbJgfpZovho0gwzNOkfTam9k5jSGkKlTMOezWT3VLH5qlg8wQzSbO5jJ28l8Z+YLmZMwuz9lupvNXpjlFTMTZv7vzFSatTDtGnNeYdpNzZTMSJhx5f84m8Y3mSEzJzTVolko3J7Qve+a0J3vntDWffdEaMUQQo1vTWjuuyA0UWvUUarqzuqLUMPt1MD3uKTaTdRwvdrdorpFtfZtH6eyK2F3RS23U3uhlr9VB1TdE1V2h7Vr1O4mdbdera6o+Wq1Vqi2rEktFapGoZopVLVCtVCXag19IBPUiiWpBrojE1QNXZAp1/TYbhKdKVwuWotORKfn9wu/DSc/X9T6qgAAAABJRU5ErkJggg==";
5594
- 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')();
5685
+ 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')();
5595
5686
  const _sfc_main$4 = defineComponent({
5596
5687
  name: "EcanBorder",
5597
5688
  props: __spreadValues({}, borderComponentProps),
5598
5689
  setup(props2) {
5599
- const style2 = usePickComponentStyle(props2);
5690
+ const style2 = usePickComponentStyle(props2, ["background"]);
5691
+ const { theme } = inject(GLOBAL_CONFIG, {
5692
+ theme: "light"
5693
+ });
5694
+ const borderStyle = computed(() => {
5695
+ return {
5696
+ borderWidth: props2.borderWidth,
5697
+ borderStyle: props2.borderStyle,
5698
+ borderRadius: props2.borderRadius,
5699
+ borderColor: props2.borderColor,
5700
+ backgroundColor: props2.backgroundColor,
5701
+ width: "100%",
5702
+ height: "100%"
5703
+ };
5704
+ });
5600
5705
  const emitEvent = useEmitEvent(props2.events);
5601
5706
  const click = emitEvent("click", () => {
5602
5707
  });
5603
5708
  useOnEvent(props2, {
5604
5709
  click
5605
5710
  });
5711
+ const onDrag = (e) => {
5712
+ console.log(e);
5713
+ };
5606
5714
  return {
5607
5715
  style: style2,
5608
- click
5716
+ click,
5717
+ borderStyle,
5718
+ theme,
5719
+ onDrag
5609
5720
  };
5610
5721
  }
5611
5722
  });
5612
- const _withScopeId = (n) => (pushScopeId("data-v-3c3b861e"), n = n(), popScopeId(), n);
5613
- const _hoisted_1$2 = {
5614
- key: 0,
5615
- class: "top-title"
5616
- };
5617
- const _hoisted_2 = { class: "title-item-wrapper" };
5618
- const _hoisted_3 = { class: "title-item" };
5619
- const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5723
+ const _withScopeId = (n) => (pushScopeId("data-v-f913847e"), n = n(), popScopeId(), n);
5724
+ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5725
+ const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5726
+ const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5727
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5728
+ const _hoisted_5 = { class: "title-item-wrapper" };
5729
+ const _hoisted_6 = { class: "title-item" };
5730
+ const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5620
5731
  class: "title-decoration-left",
5621
5732
  src: _imports_0
5622
5733
  }, null, -1));
5623
- const _hoisted_5 = { class: "title" };
5624
- const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5734
+ const _hoisted_8 = { class: "title" };
5735
+ const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5625
5736
  class: "title-decoration-right",
5626
5737
  src: _imports_1
5627
5738
  }, null, -1));
5628
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5629
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5630
- const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5631
- const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5632
- const _hoisted_11 = {
5633
- key: 1,
5634
- class: "no-title"
5635
- };
5636
- const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5637
- const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5638
- const _hoisted_14 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5639
- const _hoisted_15 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5640
- const _hoisted_16 = [
5641
- _hoisted_12,
5642
- _hoisted_13,
5643
- _hoisted_14,
5644
- _hoisted_15
5645
- ];
5646
- const _hoisted_17 = {
5739
+ const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5740
+ const _hoisted_11 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5741
+ const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5742
+ const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5743
+ const _hoisted_14 = {
5647
5744
  key: 2,
5648
- class: "only-border"
5649
- };
5650
- const _hoisted_18 = {
5651
- key: 3,
5652
5745
  class: "left-title"
5653
5746
  };
5654
- const _hoisted_19 = { class: "title" };
5747
+ const _hoisted_15 = { class: "title" };
5655
5748
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
5656
5749
  return openBlock(), createElementBlock("div", {
5657
5750
  class: "ecan-border",
5658
5751
  style: normalizeStyle(_ctx.style),
5659
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
5752
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.click && _ctx.click(...args))
5660
5753
  }, [
5661
- _ctx.mode === "top-title" ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
5662
- createElementVNode("div", _hoisted_2, [
5663
- createElementVNode("div", _hoisted_3, [
5664
- _hoisted_4,
5665
- createElementVNode("div", _hoisted_5, toDisplayString(_ctx.title), 1),
5666
- _hoisted_6
5754
+ _ctx.mode === "no-title" ? (openBlock(), createElementBlock("div", {
5755
+ key: 0,
5756
+ class: "no-title",
5757
+ style: normalizeStyle(_ctx.borderStyle),
5758
+ onDrag: _cache[0] || (_cache[0] = (...args) => _ctx.onDrag && _ctx.onDrag(...args))
5759
+ }, [
5760
+ _ctx.useBorderModify ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
5761
+ _hoisted_1$2,
5762
+ _hoisted_2,
5763
+ _hoisted_3,
5764
+ _hoisted_4
5765
+ ], 64)) : createCommentVNode("", true)
5766
+ ], 36)) : createCommentVNode("", true),
5767
+ _ctx.mode === "top-title" ? (openBlock(), createElementBlock("div", {
5768
+ key: 1,
5769
+ class: "top-title",
5770
+ style: normalizeStyle(_ctx.borderStyle)
5771
+ }, [
5772
+ createElementVNode("div", _hoisted_5, [
5773
+ createElementVNode("div", _hoisted_6, [
5774
+ _hoisted_7,
5775
+ createElementVNode("div", _hoisted_8, toDisplayString(_ctx.title), 1),
5776
+ _hoisted_9
5667
5777
  ])
5668
5778
  ]),
5669
- _hoisted_7,
5670
- _hoisted_8,
5671
- _hoisted_9,
5672
- _hoisted_10
5673
- ])) : createCommentVNode("", true),
5674
- _ctx.mode === "no-title" ? (openBlock(), createElementBlock("div", _hoisted_11, _hoisted_16)) : createCommentVNode("", true),
5675
- _ctx.mode === "only-border" ? (openBlock(), createElementBlock("div", _hoisted_17)) : createCommentVNode("", true),
5676
- _ctx.mode === "left-title" ? (openBlock(), createElementBlock("div", _hoisted_18, [
5677
- createElementVNode("div", _hoisted_19, [
5779
+ _hoisted_10,
5780
+ _hoisted_11,
5781
+ _hoisted_12,
5782
+ _hoisted_13
5783
+ ], 4)) : createCommentVNode("", true),
5784
+ _ctx.mode === "left-title" ? (openBlock(), createElementBlock("div", _hoisted_14, [
5785
+ createElementVNode("div", _hoisted_15, [
5678
5786
  createElementVNode("span", null, toDisplayString(_ctx.title), 1)
5679
5787
  ])
5680
5788
  ])) : createCommentVNode("", true)
5681
5789
  ], 4);
5682
5790
  }
5683
- var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-3c3b861e"]]);
5791
+ var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f913847e"]]);
5684
5792
  const EcanBorder = withInstall(Border);
5685
5793
  const modalProps = {
5686
5794
  id: "",
@@ -5703,7 +5811,7 @@ const modalProps = {
5703
5811
  };
5704
5812
  const modalComponentProps = transformToComponentProps(modalProps);
5705
5813
  const modalEvents = ["showModal"];
5706
- 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")();
5814
+ 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")();
5707
5815
  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")();
5708
5816
  const _sfc_main$3 = defineComponent({
5709
5817
  name: "EcanModal",
@@ -5848,7 +5956,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
5848
5956
  } : void 0
5849
5957
  ]), 1032, ["getContainer", "wrapClassName", "visible", "width", "destroyOnClose", "style", "onOk", "onCancel"]);
5850
5958
  }
5851
- var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-0b2fdae1"]]);
5959
+ var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-378919f0"]]);
5852
5960
  const EcanModal = withInstall(Modal);
5853
5961
  const imageProps = __spreadProps(__spreadValues({}, props), {
5854
5962
  name: "\u56FE\u7247",
@@ -6535,6 +6643,9 @@ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
6535
6643
  providerConfig,
6536
6644
  providerConfigComponentProps,
6537
6645
  EcanProviderConfig,
6646
+ renderer,
6647
+ rendererComponentProps,
6648
+ EcanRenderer,
6538
6649
  textProps,
6539
6650
  textComponentProps,
6540
6651
  textEvents,
@@ -6627,5 +6738,5 @@ const install = (app) => {
6627
6738
  var index = {
6628
6739
  install
6629
6740
  };
6630
- export { EcanBar, EcanBorder, EcanButton, EcanComboGraph, EcanCustomGraph, EcanDatePicker, EcanImage, EcanInput, EcanLine, EcanList, EcanMap, EcanModal, EcanPageConfig, EcanPie, EcanProportion, EcanProviderConfig, EcanRangePicker, EcanScatter, EcanScrollText, EcanSelect, EcanTable, EcanTabs, EcanText, EcanTimeDisplay, barComponentProps, barEvents, barProps, borderComponentProps, borderEvents, borderProps, buttonComponentProps, buttonEvents, buttonProps, comboGraphComponentProps, comboGraphEvents, comboGraphProps, customGraphComponentProps, customGraphProps, datePickerComponentProps, datePickerEvents, datePickerProps, index as default, imageComponentProps, imageProps, inputComponentProps, inputProps, lineComponentProps, lineEvents, lineProps, listComponentProps, listEvents, listProps, mapComponentProps, mapProps, modalComponentProps, modalEvents, modalProps, pageConfig, pageConfigComponentProps, pieComponentProps, pieEvents, pieProps, proportionComponentProps, proportionEvents, proportionProps, providerConfig, providerConfigComponentProps, rangePickerComponentProps, rangePickerEvents, rangePickerProps, scatterComponentProps, scatterEvents, scatterProps, selectComponentProps, selectEvents, selectProps, tableComponentProps, tableEvents, tableProps, tabsComponentProps, tabsEvents, tabsProps, textComponentProps, textEvents, textProps, timeDisplayComponentProps, timeDisplayProps };
6741
+ export { EcanBar, EcanBorder, EcanButton, EcanComboGraph, EcanCustomGraph, EcanDatePicker, EcanImage, EcanInput, EcanLine, EcanList, EcanMap, EcanModal, EcanPageConfig, EcanPie, EcanProportion, EcanProviderConfig, EcanRangePicker, EcanRenderer, EcanScatter, EcanScrollText, EcanSelect, EcanTable, EcanTabs, EcanText, EcanTimeDisplay, barComponentProps, barEvents, barProps, borderComponentProps, borderEvents, borderProps, buttonComponentProps, buttonEvents, buttonProps, comboGraphComponentProps, comboGraphEvents, comboGraphProps, customGraphComponentProps, customGraphProps, datePickerComponentProps, datePickerEvents, datePickerProps, index as default, imageComponentProps, imageProps, inputComponentProps, inputProps, lineComponentProps, lineEvents, lineProps, listComponentProps, listEvents, listProps, mapComponentProps, mapProps, modalComponentProps, modalEvents, modalProps, pageConfig, pageConfigComponentProps, pieComponentProps, pieEvents, pieProps, proportionComponentProps, proportionEvents, proportionProps, providerConfig, providerConfigComponentProps, rangePickerComponentProps, rangePickerEvents, rangePickerProps, renderer, rendererComponentProps, scatterComponentProps, scatterEvents, scatterProps, selectComponentProps, selectEvents, selectProps, tableComponentProps, tableEvents, tableProps, tabsComponentProps, tabsEvents, tabsProps, textComponentProps, textEvents, textProps, timeDisplayComponentProps, timeDisplayProps };
6631
6742
  //# sourceMappingURL=index.es.js.map