3h1-ui 3.0.0-next.2 → 3.0.0-next.3

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.
Files changed (5) hide show
  1. package/es/index.js +359 -105
  2. package/es/style.css +238 -24101
  3. package/lib/index.js +385 -109
  4. package/lib/style.css +8033 -0
  5. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -1,4 +1,26 @@
1
1
  "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key2 of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key2) && key2 !== except)
12
+ __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
2
24
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
25
  const vue = require("vue");
4
26
  const antDesignVue = require("ant-design-vue");
@@ -6,7 +28,6 @@ const utils = require("@shy-plugins/utils");
6
28
  const use = require("@shy-plugins/use");
7
29
  const core = require("@zxcvbn-ts/core");
8
30
  const Iconify = require("@purge-icons/generated");
9
- const tinymce = require("@shy-plugins/tinymce");
10
31
  const dayjs = require("dayjs");
11
32
  const Sortablejs = require("sortablejs");
12
33
  require("xe-utils");
@@ -14,7 +35,7 @@ const vxeTable = require("vxe-table");
14
35
  const windiBase = "";
15
36
  const windiComponents = "";
16
37
  const windiUtilities = "";
17
- const antd_min = "";
38
+ const reset = "";
18
39
  function bound01(n, max) {
19
40
  if (isOnePointZero(n)) {
20
41
  n = "100%";
@@ -2921,7 +2942,7 @@ function baseAssignIn(object, source) {
2921
2942
  var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
2922
2943
  var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
2923
2944
  var moduleExports = freeModule && freeModule.exports === freeExports;
2924
- var Buffer = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
2945
+ var Buffer2 = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0;
2925
2946
  function cloneBuffer(buffer, isDeep) {
2926
2947
  if (isDeep) {
2927
2948
  return buffer.slice();
@@ -7131,14 +7152,14 @@ var SwipeDirection;
7131
7152
  SwipeDirection2["LEFT"] = "LEFT";
7132
7153
  SwipeDirection2["NONE"] = "NONE";
7133
7154
  })(SwipeDirection || (SwipeDirection = {}));
7134
- var __defProp = Object.defineProperty;
7155
+ var __defProp2 = Object.defineProperty;
7135
7156
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7136
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7157
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
7137
7158
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7138
- var __defNormalProp = (obj, key2, value) => key2 in obj ? __defProp(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value;
7159
+ var __defNormalProp = (obj, key2, value) => key2 in obj ? __defProp2(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value;
7139
7160
  var __spreadValues = (a, b) => {
7140
7161
  for (var prop in b || (b = {}))
7141
- if (__hasOwnProp.call(b, prop))
7162
+ if (__hasOwnProp2.call(b, prop))
7142
7163
  __defNormalProp(a, prop, b[prop]);
7143
7164
  if (__getOwnPropSymbols)
7144
7165
  for (var prop of __getOwnPropSymbols(b)) {
@@ -7462,18 +7483,18 @@ function useCountdown(count) {
7462
7483
  }
7463
7484
  }, 1e3);
7464
7485
  }
7465
- function reset2() {
7486
+ function reset3() {
7466
7487
  currentCount.value = count;
7467
7488
  stop();
7468
7489
  }
7469
7490
  function restart() {
7470
- reset2();
7491
+ reset3();
7471
7492
  start();
7472
7493
  }
7473
7494
  tryOnUnmounted(() => {
7474
- reset2();
7495
+ reset3();
7475
7496
  });
7476
- return { start, reset: reset2, restart, clear: clear2, stop, currentCount, isStart };
7497
+ return { start, reset: reset3, restart, clear: clear2, stop, currentCount, isStart };
7477
7498
  }
7478
7499
  const props$9 = {
7479
7500
  value: { type: [Object, Number, String, Array] },
@@ -7489,12 +7510,12 @@ const _sfc_main$18 = vue.defineComponent({
7489
7510
  props: props$9,
7490
7511
  setup(props2) {
7491
7512
  const loading = vue.ref(false);
7492
- const { currentCount, isStart, start, reset: reset2 } = useCountdown(props2.count);
7513
+ const { currentCount, isStart, start, reset: reset3 } = useCountdown(props2.count);
7493
7514
  const getButtonText = vue.computed(() => {
7494
7515
  return !vue.unref(isStart) ? "获取验证码" : `${currentCount.value}秒后重新获取`;
7495
7516
  });
7496
7517
  vue.watchEffect(() => {
7497
- props2.value === void 0 && reset2();
7518
+ props2.value === void 0 && reset3();
7498
7519
  });
7499
7520
  async function handleStart() {
7500
7521
  const { beforeStartFunc } = props2;
@@ -7590,9 +7611,13 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
7590
7611
  emits: ["change", "input"],
7591
7612
  setup(__props) {
7592
7613
  const props2 = __props;
7614
+ const Tinymce = vue.defineAsyncComponent(async () => {
7615
+ const { Tinymce: Tinymce2 } = await import("@shy-plugins/tinymce");
7616
+ return Tinymce2;
7617
+ });
7593
7618
  const [state] = use.useRuleFormItem(props2);
7594
7619
  return (_ctx, _cache) => {
7595
- return vue.openBlock(), vue.createBlock(vue.unref(tinymce.Tinymce), {
7620
+ return vue.openBlock(), vue.createBlock(vue.unref(Tinymce), {
7596
7621
  modelValue: vue.unref(state),
7597
7622
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(state) ? state.value = $event : null),
7598
7623
  width: "100%"
@@ -7631,7 +7656,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
7631
7656
  default: () => true
7632
7657
  }
7633
7658
  },
7634
- emits: ["update:value", "change"],
7659
+ emits: ["update:value", "change", "add", "remove"],
7635
7660
  setup(__props, { expose, emit }) {
7636
7661
  const props2 = __props;
7637
7662
  const listFormRefs = vue.ref([]);
@@ -7644,18 +7669,20 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
7644
7669
  customRender: ({ index: index2 }) => {
7645
7670
  return `${index2 + 1}`;
7646
7671
  },
7647
- minWidth: 50,
7672
+ width: 50,
7648
7673
  align: "center"
7649
7674
  };
7650
7675
  return [indexColumn, ...props2.columns];
7651
7676
  });
7652
7677
  const plusClickEvent = () => {
7653
7678
  state.value = [{}, ...state.value];
7679
+ emit("add", state.value);
7654
7680
  };
7655
7681
  const rowClickEvent = (index2) => {
7656
7682
  state.value = vue.unref(state).filter((item, i) => {
7657
7683
  return index2 !== i;
7658
7684
  });
7685
+ emit("remove", state.value, index2);
7659
7686
  };
7660
7687
  const loadKv = () => {
7661
7688
  const columns = props2.columns;
@@ -7768,10 +7795,9 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
7768
7795
  };
7769
7796
  }
7770
7797
  });
7771
- const Table_vue_vue_type_style_index_0_scoped_d00bfbbb_lang = "";
7772
- const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-d00bfbbb"]]);
7798
+ const Table_vue_vue_type_style_index_0_scoped_cb71007d_lang = "";
7799
+ const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-cb71007d"]]);
7773
7800
  const modal = "";
7774
- use.useI18n();
7775
7801
  const modalProps = {
7776
7802
  visible: { type: Boolean },
7777
7803
  scrollTop: { type: Boolean, default: true },
@@ -8785,8 +8811,10 @@ const _sfc_main$Z = vue.defineComponent({
8785
8811
  vue.watch(
8786
8812
  () => vue.unref(visibleRef),
8787
8813
  (v) => {
8814
+ var _a2;
8788
8815
  emit("visible-change", v);
8789
8816
  emit("update:visible", v);
8817
+ instance && ((_a2 = modalMethods.emitVisible) == null ? void 0 : _a2.call(modalMethods, v, instance.uid));
8790
8818
  vue.nextTick(() => {
8791
8819
  if (props2.scrollTop && v && vue.unref(modalWrapperRef)) {
8792
8820
  vue.unref(modalWrapperRef).scrollTop();
@@ -10334,7 +10362,6 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
10334
10362
  emits: ["change", "delete", "preview-delete", "update:value"],
10335
10363
  setup(__props, { emit }) {
10336
10364
  const props2 = __props;
10337
- defineOptions({ name: "BasicUpload" });
10338
10365
  const attrs = vue.useAttrs();
10339
10366
  const { t: t2 } = use.useI18n();
10340
10367
  const [registerUploadModal, { openModal: openUploadModal }] = useModal();
@@ -10443,7 +10470,6 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
10443
10470
  emits: ["change", "update:value", "delete"],
10444
10471
  setup(__props, { emit }) {
10445
10472
  const props2 = __props;
10446
- defineOptions({ name: "ImageUpload" });
10447
10473
  const { t: t2 } = use.useI18n();
10448
10474
  const { createMessage } = use.useMessage();
10449
10475
  const { accept, helpText, maxNumber, maxSize } = vue.toRefs(props2);
@@ -10735,6 +10761,24 @@ function useItemLabelWidth(schemaItemRef, propsRef) {
10735
10761
  };
10736
10762
  });
10737
10763
  }
10764
+ const globalConfig = {
10765
+ form: {},
10766
+ table: {},
10767
+ formInputNumber: {}
10768
+ };
10769
+ const registerGlobalConfig = (config) => {
10770
+ Object.keys(config).forEach((key2) => {
10771
+ const value = config[key2];
10772
+ globalConfig[key2] = value;
10773
+ });
10774
+ };
10775
+ const useGlobalConfig = (key2) => {
10776
+ const config = globalConfig[key2];
10777
+ const setConfig = (value) => {
10778
+ globalConfig[key2] = value;
10779
+ };
10780
+ return { config, setConfig };
10781
+ };
10738
10782
  function _isSlot$2(s) {
10739
10783
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
10740
10784
  }
@@ -10777,6 +10821,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
10777
10821
  slots,
10778
10822
  emit
10779
10823
  }) {
10824
+ const {
10825
+ config
10826
+ } = useGlobalConfig("form");
10780
10827
  const {
10781
10828
  schema,
10782
10829
  formProps
@@ -10853,10 +10900,14 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
10853
10900
  showSearch: true,
10854
10901
  filterOption: (input, option) => {
10855
10902
  return option[label].toLowerCase().indexOf(input.toLowerCase()) >= 0;
10856
- }
10903
+ },
10904
+ getPopupContainer: () => document.body
10857
10905
  });
10858
10906
  }
10859
- return componentProps;
10907
+ return {
10908
+ ...config[schema2 == null ? void 0 : schema2.component] || {},
10909
+ ...componentProps
10910
+ };
10860
10911
  });
10861
10912
  const getDisable = vue.computed(() => {
10862
10913
  const {
@@ -11595,7 +11646,9 @@ function useFormEvents({
11595
11646
  if (typeof componentProps === "function") {
11596
11647
  _props = _props({ formModel });
11597
11648
  }
11598
- formModel[key2] = value ? (_props == null ? void 0 : _props.valueFormat) ? value : utils.dateUtil(value) : null;
11649
+ if (typeof value !== "string")
11650
+ value = dayjs(value);
11651
+ formModel[key2] = value ? (_props == null ? void 0 : _props.valueFormat) ? dayjs(value).format(_props == null ? void 0 : _props.valueFormat) : utils.dateUtil(value) : null;
11599
11652
  }
11600
11653
  } else {
11601
11654
  formModel[key2] = value;
@@ -11974,23 +12027,6 @@ const basicProps$4 = {
11974
12027
  default: () => []
11975
12028
  }
11976
12029
  };
11977
- const globalConfig = {
11978
- form: {},
11979
- table: {}
11980
- };
11981
- const registerGlobalConfig = (config) => {
11982
- Object.keys(config).forEach((key2) => {
11983
- const value = config[key2];
11984
- globalConfig[key2] = value;
11985
- });
11986
- };
11987
- const useGlobalConfig = (key2) => {
11988
- const config = globalConfig[key2];
11989
- const setConfig = (value) => {
11990
- globalConfig[key2] = value;
11991
- };
11992
- return { config, setConfig };
11993
- };
11994
12030
  const _sfc_main$M = vue.defineComponent({
11995
12031
  name: "BasicForm",
11996
12032
  components: { FormItem: _sfc_main$O, Form: antDesignVue.Form, Row: antDesignVue.Row, FormAction, DownOutlined: DownOutlined$1 },
@@ -14684,6 +14720,34 @@ function handleItem(item, ellipsis) {
14684
14720
  handleChildren(children, !!ellipsis);
14685
14721
  }
14686
14722
  }
14723
+ function handleColumnResize(propsRef, columns, wrapRef) {
14724
+ var _a2, _b, _c, _d, _e, _f;
14725
+ const tableWidth = ((_c = (_b = (_a2 = wrapRef.value) == null ? void 0 : _a2.querySelector) == null ? void 0 : _b.call(_a2, ".ant-table-body")) == null ? void 0 : _c.clientWidth) - 7 || ((_f = (_e = (_d = wrapRef.value) == null ? void 0 : _d.querySelector) == null ? void 0 : _e.call(_d, ".ant-table-content")) == null ? void 0 : _f.clientWidth);
14726
+ const selectWidth = propsRef.value.rowSelection ? 60 : 0;
14727
+ const [sumWidth, sumLength] = columns.reduce(
14728
+ ([sumWidth2, length2], cur) => {
14729
+ if (typeof cur.width === "number") {
14730
+ return [sumWidth2 + cur.width, ++length2];
14731
+ }
14732
+ return [sumWidth2, length2];
14733
+ },
14734
+ [0, 0]
14735
+ );
14736
+ const length = columns.length;
14737
+ const colWidth = tableWidth ? (tableWidth - sumWidth - selectWidth) / (length - sumLength) : 100;
14738
+ columns.forEach((item) => {
14739
+ if (item.flag)
14740
+ return;
14741
+ if (propsRef.value.resizable) {
14742
+ item.width = item.width || colWidth;
14743
+ item.resizable = item.resizable === void 0 ? true : item.resizable;
14744
+ } else {
14745
+ if (item.resizable) {
14746
+ item.width = item.width || colWidth;
14747
+ }
14748
+ }
14749
+ });
14750
+ }
14687
14751
  function handleChildren(children, ellipsis) {
14688
14752
  if (!children)
14689
14753
  return;
@@ -14748,13 +14812,14 @@ function handleActionColumn(propsRef, columns) {
14748
14812
  });
14749
14813
  }
14750
14814
  }
14751
- function useColumns$1(propsRef, getPaginationRef, tableAction) {
14815
+ function useColumns$1(propsRef, getPaginationRef, tableAction, wrapRef) {
14752
14816
  const columnsRef = vue.ref(vue.unref(propsRef).columns);
14753
14817
  let cacheColumns = vue.unref(propsRef).columns;
14754
14818
  const getColumnsRef = vue.computed(() => {
14755
14819
  const columns = cloneDeep(vue.unref(columnsRef));
14756
14820
  handleIndexColumn(propsRef, getPaginationRef, columns);
14757
14821
  handleActionColumn(propsRef, columns);
14822
+ handleColumnResize(propsRef, columns, wrapRef);
14758
14823
  if (!columns) {
14759
14824
  return [];
14760
14825
  }
@@ -14819,6 +14884,12 @@ function useColumns$1(propsRef, getPaginationRef, tableAction) {
14819
14884
  return vue.reactive(column);
14820
14885
  });
14821
14886
  });
14887
+ const getColumnsSummary = vue.computed(() => {
14888
+ if (propsRef.value.rowSelection) {
14889
+ return [{ flag: "ROW_SELECTION" }, ...getViewColumns.value];
14890
+ }
14891
+ return getViewColumns.value;
14892
+ });
14822
14893
  vue.watch(
14823
14894
  () => vue.unref(propsRef).columns,
14824
14895
  (columns) => {
@@ -14895,7 +14966,8 @@ function useColumns$1(propsRef, getPaginationRef, tableAction) {
14895
14966
  getColumns,
14896
14967
  setColumns,
14897
14968
  getViewColumns,
14898
- setCacheColumnsByField
14969
+ setCacheColumnsByField,
14970
+ getColumnsSummary
14899
14971
  };
14900
14972
  }
14901
14973
  function sortFixedColumn(columns) {
@@ -14958,6 +15030,19 @@ function useDataSource(propsRef, {
14958
15030
  vue.watchEffect(() => {
14959
15031
  tableData.value = vue.unref(dataSourceRef);
14960
15032
  });
15033
+ const summaryTotalData = vue.computed(() => {
15034
+ const { summaryTotalFields } = vue.unref(propsRef);
15035
+ if (!summaryTotalFields)
15036
+ return {};
15037
+ const obj = {};
15038
+ summaryTotalFields.forEach((field) => {
15039
+ const total = dataSourceRef.value.reduce((acc, cur) => {
15040
+ return acc + (cur[field] || 0);
15041
+ }, 0);
15042
+ obj[field] = Number.parseFloat(total.toFixed(2)).toLocaleString("en-US");
15043
+ });
15044
+ return obj;
15045
+ });
14961
15046
  vue.watch(
14962
15047
  () => vue.unref(propsRef).dataSource,
14963
15048
  () => {
@@ -15241,7 +15326,8 @@ function useDataSource(propsRef, {
15241
15326
  deleteTableDataRecord,
15242
15327
  insertTableDataRecord,
15243
15328
  findTableDataRecord,
15244
- handleTableChange
15329
+ handleTableChange,
15330
+ summaryTotalData
15245
15331
  };
15246
15332
  }
15247
15333
  function useLoading$1(props2) {
@@ -15271,7 +15357,9 @@ function useRowSelection(propsRef, tableData, emit) {
15271
15357
  onChange: (selectedRowKeys) => {
15272
15358
  setSelectedRowKeys(selectedRowKeys);
15273
15359
  },
15274
- ...omit$1(rowSelection, ["onChange"])
15360
+ ...omit$1(rowSelection, ["onChange"]),
15361
+ fixed: rowSelection.fixed ?? "left",
15362
+ columnWidth: rowSelection.columnWidth ?? 60
15275
15363
  };
15276
15364
  });
15277
15365
  vue.watch(
@@ -15771,7 +15859,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
15771
15859
  }
15772
15860
  let sortable;
15773
15861
  let sortableOrder = [];
15774
- function reset2() {
15862
+ function reset3() {
15775
15863
  state.checkedList = [...state.defaultCheckList];
15776
15864
  state.checkAll = true;
15777
15865
  plainOptions.value = vue.unref(cachePlainOptions);
@@ -15913,7 +16001,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
15913
16001
  vue.createVNode(_component_a_button, {
15914
16002
  size: "small",
15915
16003
  type: "link",
15916
- onClick: reset2
16004
+ onClick: reset3
15917
16005
  }, {
15918
16006
  default: vue.withCtx(() => [
15919
16007
  vue.createTextVNode(vue.toDisplayString(vue.unref(t2)("common.resetText")), 1)
@@ -17236,6 +17324,11 @@ const basicProps$3 = vue.reactive({
17236
17324
  type: Array,
17237
17325
  default: null
17238
17326
  },
17327
+ summaryTotalFields: {
17328
+ type: Array,
17329
+ default: null
17330
+ },
17331
+ showSummaryTotal: Boolean,
17239
17332
  indentSize: {
17240
17333
  type: Number,
17241
17334
  default: 24
@@ -17309,6 +17402,7 @@ const basicProps$3 = vue.reactive({
17309
17402
  default: null
17310
17403
  },
17311
17404
  ellipsis: { type: Boolean, default: true },
17405
+ resizable: { type: Boolean, default: false },
17312
17406
  isCanResizeParent: { type: Boolean, default: false },
17313
17407
  canResize: { type: Boolean, default: true },
17314
17408
  clearSelectOnPageChange: {
@@ -17641,7 +17735,10 @@ const _sfc_main$q = vue.defineComponent({
17641
17735
  BasicForm,
17642
17736
  HeaderCell: _sfc_main$E,
17643
17737
  Empty: antDesignVue.Empty,
17644
- TableGlobalSearch
17738
+ TableGlobalSearch,
17739
+ TableSummaryRow: antDesignVue.TableSummaryRow,
17740
+ TableSummaryCell: antDesignVue.TableSummaryCell,
17741
+ TableSummary: antDesignVue.TableSummary
17645
17742
  },
17646
17743
  props: basicProps$3,
17647
17744
  emits: [
@@ -17712,7 +17809,8 @@ const _sfc_main$q = vue.defineComponent({
17712
17809
  getRowKey,
17713
17810
  reload,
17714
17811
  getAutoCreateKey,
17715
- updateTableData
17812
+ updateTableData,
17813
+ summaryTotalData
17716
17814
  } = useDataSource(
17717
17815
  getProps,
17718
17816
  {
@@ -17739,8 +17837,9 @@ const _sfc_main$q = vue.defineComponent({
17739
17837
  setCacheColumnsByField,
17740
17838
  setColumns,
17741
17839
  getColumnsRef,
17742
- getCacheColumns
17743
- } = useColumns$1(getProps, getPaginationInfo, tableActionRef);
17840
+ getCacheColumns,
17841
+ getColumnsSummary
17842
+ } = useColumns$1(getProps, getPaginationInfo, tableActionRef, wrapRef);
17744
17843
  const { getScrollRef, redoHeight } = useTableScroll(
17745
17844
  getProps,
17746
17845
  tableElRef,
@@ -17938,7 +18037,12 @@ const _sfc_main$q = vue.defineComponent({
17938
18037
  handleAdvancedEnsure,
17939
18038
  isVisibleGlobalSearch,
17940
18039
  schemasAdvancedSearchString,
17941
- schemasAdvancedSearchGlobal
18040
+ schemasAdvancedSearchGlobal,
18041
+ getColumns,
18042
+ getColumnsRef,
18043
+ summaryTotalData,
18044
+ getProps,
18045
+ getColumnsSummary
17942
18046
  };
17943
18047
  }
17944
18048
  });
@@ -17953,6 +18057,9 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
17953
18057
  const _component_TableGlobalSearch = vue.resolveComponent("TableGlobalSearch");
17954
18058
  const _component_HeaderCell = vue.resolveComponent("HeaderCell");
17955
18059
  const _component_Empty = vue.resolveComponent("Empty");
18060
+ const _component_TableSummaryCell = vue.resolveComponent("TableSummaryCell");
18061
+ const _component_TableSummaryRow = vue.resolveComponent("TableSummaryRow");
18062
+ const _component_TableSummary = vue.resolveComponent("TableSummary");
17956
18063
  const _component_Table = vue.resolveComponent("Table");
17957
18064
  return vue.openBlock(), vue.createElementBlock("div", {
17958
18065
  ref: "wrapRef",
@@ -18018,7 +18125,45 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
18018
18125
  vue.renderSlot(_ctx.$slots, item, vue.normalizeProps(vue.guardReactiveProps(data || {})))
18019
18126
  ])
18020
18127
  };
18021
- })
18128
+ }),
18129
+ _ctx.getProps.showSummaryTotal ? {
18130
+ name: "summary",
18131
+ fn: vue.withCtx(() => [
18132
+ vue.createVNode(_component_TableSummary, null, {
18133
+ default: vue.withCtx(() => [
18134
+ vue.createVNode(_component_TableSummaryRow, null, {
18135
+ default: vue.withCtx(() => [
18136
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.getColumnsSummary, (item, index2) => {
18137
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
18138
+ index2 === 0 ? (vue.openBlock(), vue.createBlock(_component_TableSummaryCell, {
18139
+ key: 0,
18140
+ align: "center",
18141
+ index: 0
18142
+ }, {
18143
+ default: vue.withCtx(() => [
18144
+ vue.createTextVNode(" 总计 ")
18145
+ ]),
18146
+ _: 1
18147
+ })) : (vue.openBlock(), vue.createBlock(_component_TableSummaryCell, {
18148
+ key: 1,
18149
+ index: index2
18150
+ }, {
18151
+ default: vue.withCtx(() => [
18152
+ vue.createTextVNode(vue.toDisplayString(_ctx.summaryTotalData[item.dataIndex] || ""), 1)
18153
+ ]),
18154
+ _: 2
18155
+ }, 1032, ["index"]))
18156
+ ], 64);
18157
+ }), 128))
18158
+ ]),
18159
+ _: 1
18160
+ })
18161
+ ]),
18162
+ _: 1
18163
+ })
18164
+ ]),
18165
+ key: "0"
18166
+ } : void 0
18022
18167
  ]), 1040, ["rowClassName", "onChange", "onResizeColumn"]), [
18023
18168
  [vue.vShow, _ctx.getEmptyDataIsShowTable]
18024
18169
  ])
@@ -18593,14 +18738,13 @@ const ApiModalSelect_vue_vue_type_style_index_0_scoped_5427533c_lang = "";
18593
18738
  const ApiModalSelect = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-5427533c"]]);
18594
18739
  const Description$1 = "";
18595
18740
  const basicColProps = 24;
18596
- const basicProps$2 = {
18741
+ const basicProps$2 = vue.reactive({
18597
18742
  schema: {
18598
18743
  type: Array,
18599
18744
  default: () => []
18600
18745
  },
18601
18746
  labelAlign: {
18602
- type: String,
18603
- default: () => "right"
18747
+ type: String
18604
18748
  },
18605
18749
  labelWidth: {
18606
18750
  type: Number,
@@ -18614,11 +18758,15 @@ const basicProps$2 = {
18614
18758
  type: Object,
18615
18759
  default: () => ({})
18616
18760
  },
18761
+ bordered: {
18762
+ type: Boolean,
18763
+ default: () => false
18764
+ },
18617
18765
  customRender: {
18618
18766
  type: Object,
18619
18767
  default: () => null
18620
18768
  }
18621
- };
18769
+ });
18622
18770
  const DescriptionGroup = /* @__PURE__ */ vue.defineComponent({
18623
18771
  props: {
18624
18772
  label: {
@@ -18664,6 +18812,33 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18664
18812
  createMessage.error("无法复制文本到剪贴板");
18665
18813
  });
18666
18814
  };
18815
+ const isBordered = vue.computed(() => getProps.value.bordered);
18816
+ const labelAlignCss = vue.computed(() => {
18817
+ switch (getProps.value.labelAlign) {
18818
+ case "left":
18819
+ return {
18820
+ justifyContent: "flex-start"
18821
+ };
18822
+ case "center":
18823
+ return {
18824
+ justifyContent: "center"
18825
+ };
18826
+ case "right":
18827
+ return {
18828
+ justifyContent: "flex-end"
18829
+ };
18830
+ default:
18831
+ if (getProps.value.bordered) {
18832
+ return {
18833
+ justifyContent: "center"
18834
+ };
18835
+ } else {
18836
+ return {
18837
+ justifyContent: "flex-end"
18838
+ };
18839
+ }
18840
+ }
18841
+ });
18667
18842
  const rows = vue.computed(() => {
18668
18843
  let element = null;
18669
18844
  return getProps.value.schema.map((item) => {
@@ -18687,7 +18862,8 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18687
18862
  field: getProps.value.data[`${item.field}`]
18688
18863
  }) : getProps.value.data[`${item.field}`];
18689
18864
  }
18690
- return vue.createVNode("div", {
18865
+ const ifShow = utils.isBoolean(item == null ? void 0 : item.ifShow) || utils.isFunction(item == null ? void 0 : item.ifShow) ? utils.isFunction(item.ifShow) ? item.ifShow(getProps.value.data) : item.ifShow : true;
18866
+ return ifShow ? vue.createVNode("div", {
18691
18867
  "class": `${prefixCls2}-row`,
18692
18868
  "style": {
18693
18869
  flex: `0 0 ${(((_b = item == null ? void 0 : item.colProps) == null ? void 0 : _b.span) || basicColProps) / 24 * 100}%`
@@ -18695,7 +18871,7 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18695
18871
  }, [(slots == null ? void 0 : slots[`${item.field}Label`]) || item.label ? vue.createVNode("span", {
18696
18872
  "style": {
18697
18873
  width: `${getProps.value.labelWidth}px`,
18698
- textAlign: getProps.value.labelAlign,
18874
+ ...labelAlignCss.value,
18699
18875
  ...((_c = getProps.value) == null ? void 0 : _c.labelStyle) ? (_d = getProps.value) == null ? void 0 : _d.labelStyle : {},
18700
18876
  ...(item == null ? void 0 : item.labelStyle) ? item == null ? void 0 : item.labelStyle : {}
18701
18877
  },
@@ -18703,7 +18879,14 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18703
18879
  }, [slots[`${item.field}Label`] ? (_e = slots[`${item.field}Label`]) == null ? void 0 : _e.call(slots, {
18704
18880
  model: getProps.value.data,
18705
18881
  field: item.label
18706
- }) : item.label, ((_f = getProps.value) == null ? void 0 : _f.isShowColon) ? ":" : ""]) : vue.createVNode(vue.Fragment, null, [vue.createTextVNode(" ")]), vue.createVNode("span", {
18882
+ }) : item.label, (item == null ? void 0 : item.helpMessage) ? vue.createVNode(_sfc_main$1g, {
18883
+ "style": {
18884
+ paddingTop: "5px"
18885
+ },
18886
+ "placement": "top",
18887
+ "class": "mx-1",
18888
+ "text": item == null ? void 0 : item.helpMessage
18889
+ }, null) : "", ((_f = getProps.value) == null ? void 0 : _f.isShowColon) ? ":" : ""]) : vue.createVNode(vue.Fragment, null, [vue.createTextVNode(" ")]), vue.createVNode("span", {
18707
18890
  "class": `${prefixCls2}-value`,
18708
18891
  "style": {
18709
18892
  ...((_g = getProps.value) == null ? void 0 : _g.contentStyle) ? (_h = getProps.value) == null ? void 0 : _h.contentStyle : {},
@@ -18717,7 +18900,7 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18717
18900
  color: "#458ef9",
18718
18901
  marginLeft: "5px"
18719
18902
  }
18720
- }, null)]) : null])]);
18903
+ }, null)]) : null])]) : null;
18721
18904
  }
18722
18905
  });
18723
18906
  });
@@ -18725,31 +18908,36 @@ const Description = /* @__PURE__ */ vue.defineComponent({
18725
18908
  setDescProps
18726
18909
  });
18727
18910
  return () => vue.createVNode("div", {
18728
- "class": `${prefixCls2}-wrapper`
18911
+ "class": isBordered.value ? `${prefixCls2}-wrapper ${prefixCls2}-wrapper-bordered` : `${prefixCls2}-wrapper`
18729
18912
  }, [rows.value]);
18730
18913
  }
18731
18914
  });
18732
18915
  function useDescription(props2) {
18733
- if (!vue.getCurrentInstance()) {
18734
- throw new Error(
18735
- "useDescription() can only be used inside setup() or functional components!"
18736
- );
18737
- }
18738
- const desc = vue.ref(null);
18916
+ const descRef = vue.ref(null);
18739
18917
  const loaded = vue.ref(false);
18918
+ async function getDescription() {
18919
+ const desc = vue.unref(descRef);
18920
+ if (!desc) {
18921
+ utils.error(
18922
+ "useDescription() can only be used inside setup() or functional components!"
18923
+ );
18924
+ }
18925
+ await vue.nextTick();
18926
+ return desc;
18927
+ }
18740
18928
  function register(instance) {
18741
18929
  vue.onUnmounted(() => {
18742
- desc.value = null;
18930
+ descRef.value = null;
18743
18931
  loaded.value = false;
18744
18932
  });
18745
- if (vue.unref(loaded) && instance === vue.unref(desc))
18933
+ if (vue.unref(loaded) && instance === vue.unref(descRef))
18746
18934
  return;
18747
- desc.value = instance;
18935
+ descRef.value = instance;
18748
18936
  loaded.value = true;
18749
18937
  vue.watch(
18750
18938
  () => props2,
18751
18939
  () => {
18752
- props2 && instance.setDescProps(props2);
18940
+ props2 && instance.setDescProps(utils.getDynamicProps(props2));
18753
18941
  },
18754
18942
  {
18755
18943
  immediate: true,
@@ -18758,9 +18946,9 @@ function useDescription(props2) {
18758
18946
  );
18759
18947
  }
18760
18948
  const methods2 = {
18761
- setDescProps: (descProps) => {
18762
- var _a2;
18763
- (_a2 = vue.unref(desc)) == null ? void 0 : _a2.setDescProps(descProps);
18949
+ setDescProps: async (descProps) => {
18950
+ const desc = await getDescription();
18951
+ desc == null ? void 0 : desc.setDescProps(descProps);
18764
18952
  }
18765
18953
  };
18766
18954
  return [register, methods2];
@@ -19015,7 +19203,9 @@ const _sfc_main$i = vue.defineComponent({
19015
19203
  () => visibleRef.value,
19016
19204
  (visible) => {
19017
19205
  vue.nextTick(() => {
19206
+ var _a2;
19018
19207
  emit("visible-change", visible);
19208
+ instance && ((_a2 = drawerInstance.emitVisible) == null ? void 0 : _a2.call(drawerInstance, visible, instance.uid));
19019
19209
  });
19020
19210
  }
19021
19211
  );
@@ -21047,7 +21237,7 @@ var methods = {
21047
21237
  return this;
21048
21238
  },
21049
21239
  // Reset the image and crop box to their initial states
21050
- reset: function reset() {
21240
+ reset: function reset2() {
21051
21241
  if (this.ready && !this.disabled) {
21052
21242
  this.imageData = assign({}, this.initialImageData);
21053
21243
  this.canvasData = assign({}, this.initialCanvasData);
@@ -22671,7 +22861,7 @@ const _sfc_main$e = vue.defineComponent({
22671
22861
  run();
22672
22862
  source.value = props2.endVal;
22673
22863
  }
22674
- function reset2() {
22864
+ function reset3() {
22675
22865
  source.value = props2.startVal;
22676
22866
  run();
22677
22867
  }
@@ -22702,7 +22892,7 @@ const _sfc_main$e = vue.defineComponent({
22702
22892
  }
22703
22893
  return prefix + x1 + x2 + suffix;
22704
22894
  }
22705
- return { value, start, reset: reset2 };
22895
+ return { value, start, reset: reset3 };
22706
22896
  }
22707
22897
  });
22708
22898
  function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
@@ -23357,7 +23547,7 @@ const _sfc_main$8 = vue.defineComponent({
23357
23547
  );
23358
23548
  let sortable;
23359
23549
  let sortableOrder = [];
23360
- function reset2() {
23550
+ function reset3() {
23361
23551
  sortable.sort(sortableOrder);
23362
23552
  plainOptions.value = JSON.parse(JSON.stringify(cachePlainOptions.value));
23363
23553
  plainSortOptions.value = JSON.parse(
@@ -23406,7 +23596,7 @@ const _sfc_main$8 = vue.defineComponent({
23406
23596
  ...vue.toRefs(state),
23407
23597
  onCheckAllChange,
23408
23598
  plainOptions,
23409
- reset: reset2,
23599
+ reset: reset3,
23410
23600
  prefixCls: prefixCls2,
23411
23601
  columnListRef,
23412
23602
  checkIndex,
@@ -24183,6 +24373,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
24183
24373
  column,
24184
24374
  onHandleSortChange: handleSortChange
24185
24375
  }, null, 8, ["column"])) : (vue.openBlock(), vue.createBlock(vue.unref(vxeTable.VxeColumn), vue.mergeProps({ key: 1 }, column, {
24376
+ "show-overflow": "title",
24186
24377
  "edit-render": (column == null ? void 0 : column.editRender) || void 0
24187
24378
  }), {
24188
24379
  default: vue.withCtx((config) => [
@@ -24393,13 +24584,53 @@ const basicContainerProps = vue.reactive({
24393
24584
  title: {
24394
24585
  type: String
24395
24586
  },
24587
+ loading: {
24588
+ type: Boolean,
24589
+ default: false
24590
+ },
24591
+ isShowHeader: {
24592
+ type: Boolean,
24593
+ default: true
24594
+ },
24595
+ isShowFooter: {
24596
+ type: Boolean,
24597
+ default: true
24598
+ },
24599
+ isShowBtn: {
24600
+ type: Boolean,
24601
+ default: true
24602
+ },
24603
+ isShowSaveBtn: {
24604
+ type: Boolean,
24605
+ default: true
24606
+ },
24607
+ isShowSubmitBtn: {
24608
+ type: Boolean,
24609
+ default: true
24610
+ },
24611
+ isShowCancelBtn: {
24612
+ type: Boolean,
24613
+ default: true
24614
+ },
24615
+ saveBtnText: {
24616
+ type: String,
24617
+ default: "保存"
24618
+ },
24396
24619
  submitBtnText: {
24397
24620
  type: String,
24398
24621
  default: "提交"
24399
24622
  },
24400
24623
  cancelBtnText: {
24401
24624
  type: String,
24402
- default: "返回"
24625
+ default: "取消"
24626
+ },
24627
+ cancelAlign: {
24628
+ type: String,
24629
+ default: "left"
24630
+ },
24631
+ footerAlign: {
24632
+ type: String,
24633
+ default: "right"
24403
24634
  }
24404
24635
  });
24405
24636
  const setDefaultConfig$1 = (config) => {
@@ -24408,13 +24639,22 @@ const setDefaultConfig$1 = (config) => {
24408
24639
  const _sfc_main$1 = vue.defineComponent({
24409
24640
  components: {
24410
24641
  Button: antDesignVue.Button,
24411
- ArrowLeftOutlined: ArrowLeftOutlined$1
24642
+ ArrowLeftOutlined: ArrowLeftOutlined$1,
24643
+ LoadingOutlined: LoadingOutlined$1
24412
24644
  },
24413
24645
  props: basicContainerProps,
24414
- emit: ["submit", "cancel"],
24646
+ emits: ["submit", "cancel", "save"],
24415
24647
  setup(props2, { emit }) {
24416
24648
  const { prefixCls: prefixCls2 } = use.useDesign("basic-container");
24649
+ const cancelAlignRef = vue.computed(() => {
24650
+ return `${prefixCls2}-footer-cancel-${props2.cancelAlign}`;
24651
+ });
24652
+ const footerAlignRef = vue.computed(() => {
24653
+ return `${prefixCls2}-footer-${props2.footerAlign}`;
24654
+ });
24417
24655
  return {
24656
+ cancelAlignRef,
24657
+ footerAlignRef,
24418
24658
  prefixCls: prefixCls2,
24419
24659
  emit
24420
24660
  };
@@ -24423,22 +24663,31 @@ const _sfc_main$1 = vue.defineComponent({
24423
24663
  const BasicContainer_vue_vue_type_style_index_0_lang = "";
24424
24664
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
24425
24665
  const _component_ArrowLeftOutlined = vue.resolveComponent("ArrowLeftOutlined");
24666
+ const _component_LoadingOutlined = vue.resolveComponent("LoadingOutlined");
24426
24667
  const _component_Button = vue.resolveComponent("Button");
24427
24668
  return vue.openBlock(), vue.createElementBlock("div", {
24428
24669
  class: vue.normalizeClass(_ctx.prefixCls)
24429
24670
  }, [
24430
- vue.createElementVNode("div", {
24671
+ _ctx.isShowHeader ? (vue.openBlock(), vue.createElementBlock("div", {
24672
+ key: 0,
24431
24673
  class: vue.normalizeClass(`${_ctx.prefixCls}-header`)
24432
24674
  }, [
24433
24675
  vue.createElementVNode("div", {
24434
24676
  class: vue.normalizeClass(`${_ctx.prefixCls}-header-title`)
24435
24677
  }, [
24436
- vue.createElementVNode("div", {
24678
+ !_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", {
24679
+ key: 0,
24437
24680
  class: vue.normalizeClass(`${_ctx.prefixCls}-header-title-icon`),
24438
24681
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.emit("cancel"))
24439
24682
  }, [
24440
- vue.createVNode(_component_ArrowLeftOutlined, { style: { fontSize: `14px` } })
24441
- ], 2),
24683
+ vue.createVNode(_component_ArrowLeftOutlined, { style: { fontSize: `16px` } })
24684
+ ], 2)) : vue.createCommentVNode("", true),
24685
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", {
24686
+ key: 1,
24687
+ class: vue.normalizeClass(`${_ctx.prefixCls}-header-title-loading-icon`)
24688
+ }, [
24689
+ vue.createVNode(_component_LoadingOutlined, { style: { fontSize: `16px` } })
24690
+ ], 2)) : vue.createCommentVNode("", true),
24442
24691
  vue.createElementVNode("div", {
24443
24692
  class: vue.normalizeClass(`${_ctx.prefixCls}-header-title-text`)
24444
24693
  }, vue.toDisplayString(_ctx.title), 3)
@@ -24448,34 +24697,61 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
24448
24697
  }, [
24449
24698
  vue.renderSlot(_ctx.$slots, "extra")
24450
24699
  ], 2)
24451
- ], 2),
24700
+ ], 2)) : vue.createCommentVNode("", true),
24452
24701
  vue.createElementVNode("div", {
24453
24702
  class: vue.normalizeClass(`${_ctx.prefixCls}-content`)
24454
24703
  }, [
24455
24704
  vue.renderSlot(_ctx.$slots, "default")
24456
24705
  ], 2),
24457
- vue.createElementVNode("div", {
24458
- class: vue.normalizeClass(`${_ctx.prefixCls}-footer`)
24706
+ _ctx.isShowFooter ? (vue.openBlock(), vue.createElementBlock("div", {
24707
+ key: 1,
24708
+ class: vue.normalizeClass(`${_ctx.prefixCls}-footer ${_ctx.footerAlignRef}`)
24459
24709
  }, [
24460
- vue.renderSlot(_ctx.$slots, "buttons"),
24461
- vue.createVNode(_component_Button, {
24462
- type: "primary",
24463
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.emit("submit"))
24464
- }, {
24465
- default: vue.withCtx(() => [
24466
- vue.createTextVNode(vue.toDisplayString(_ctx.submitBtnText), 1)
24467
- ]),
24468
- _: 1
24469
- }),
24470
- vue.createVNode(_component_Button, {
24471
- onClick: _cache[2] || (_cache[2] = ($event) => _ctx.emit("cancel"))
24472
- }, {
24473
- default: vue.withCtx(() => [
24474
- vue.createTextVNode(vue.toDisplayString(_ctx.cancelBtnText), 1)
24475
- ]),
24476
- _: 1
24477
- })
24478
- ], 2)
24710
+ _ctx.isShowBtn ? (vue.openBlock(), vue.createElementBlock("div", {
24711
+ key: 0,
24712
+ class: vue.normalizeClass(`${_ctx.prefixCls}-footer-buttons ${_ctx.cancelAlignRef}`)
24713
+ }, [
24714
+ _ctx.isShowCancelBtn ? (vue.openBlock(), vue.createBlock(_component_Button, {
24715
+ key: 0,
24716
+ class: vue.normalizeClass(`${_ctx.prefixCls}-footer-cancel-button`),
24717
+ loading: _ctx.loading,
24718
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.emit("cancel"))
24719
+ }, {
24720
+ default: vue.withCtx(() => [
24721
+ vue.createTextVNode(vue.toDisplayString(_ctx.cancelBtnText), 1)
24722
+ ]),
24723
+ _: 1
24724
+ }, 8, ["class", "loading"])) : vue.createCommentVNode("", true),
24725
+ vue.createElementVNode("div", {
24726
+ class: vue.normalizeClass(`${_ctx.prefixCls}-footer-fn-buttons`)
24727
+ }, [
24728
+ _ctx.isShowSaveBtn ? (vue.openBlock(), vue.createBlock(_component_Button, {
24729
+ key: 0,
24730
+ type: "primary",
24731
+ loading: _ctx.loading,
24732
+ onClick: _cache[2] || (_cache[2] = ($event) => _ctx.emit("save"))
24733
+ }, {
24734
+ default: vue.withCtx(() => [
24735
+ vue.createTextVNode(vue.toDisplayString(_ctx.saveBtnText), 1)
24736
+ ]),
24737
+ _: 1
24738
+ }, 8, ["loading"])) : vue.createCommentVNode("", true),
24739
+ _ctx.isShowSubmitBtn ? (vue.openBlock(), vue.createBlock(_component_Button, {
24740
+ key: 1,
24741
+ type: "primary",
24742
+ loading: _ctx.loading,
24743
+ onClick: _cache[3] || (_cache[3] = ($event) => _ctx.emit("submit"))
24744
+ }, {
24745
+ default: vue.withCtx(() => [
24746
+ vue.createTextVNode(vue.toDisplayString(_ctx.submitBtnText), 1)
24747
+ ]),
24748
+ _: 1
24749
+ }, 8, ["loading"])) : vue.createCommentVNode("", true),
24750
+ vue.renderSlot(_ctx.$slots, "buttons")
24751
+ ], 2)
24752
+ ], 2)) : vue.createCommentVNode("", true),
24753
+ vue.renderSlot(_ctx.$slots, "footer")
24754
+ ], 2)) : vue.createCommentVNode("", true)
24479
24755
  ], 2);
24480
24756
  }
24481
24757
  const BasicContainer = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);