@wfrog/vc-ui 1.6.1 → 1.7.0

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 (102) hide show
  1. package/dist/es/chunk/{BL8WhaLp.mjs → 39c07jh1.mjs} +1 -1
  2. package/dist/es/chunk/{CbYM6R_O.mjs → 3jDcB2xo.mjs} +6 -6
  3. package/dist/es/chunk/{DhGcJR5p.mjs → B11niAKN.mjs} +1 -1
  4. package/dist/es/chunk/{fueZ9sVu.mjs → B7FqhrtI.mjs} +4 -4
  5. package/dist/es/chunk/{B3GxuXVE.mjs → BAqSLB3Y.mjs} +1 -1
  6. package/dist/es/chunk/{CGhekNBa.mjs → BBXZ8dk4.mjs} +1 -1
  7. package/dist/es/chunk/{DYKOYbzT.mjs → BL-J8gO7.mjs} +5 -5
  8. package/dist/es/chunk/{Cg-Krnly.mjs → BQVjODp4.mjs} +1 -1
  9. package/dist/es/chunk/{D6nWUATi.mjs → B_RyUSJF.mjs} +13 -13
  10. package/dist/es/chunk/{DSt2uDNE.mjs → BqMf3xBl.mjs} +2 -2
  11. package/dist/es/chunk/{DQK0ezHm.mjs → BzqDqZOf.mjs} +3 -3
  12. package/dist/es/chunk/{BxibBO68.mjs → C-HMX6-e.mjs} +6 -6
  13. package/dist/es/chunk/{CboHfRXN.mjs → C2kaTl08.mjs} +2 -2
  14. package/dist/es/chunk/{D1MHFKtN.mjs → C6xZotC7.mjs} +1 -1
  15. package/dist/es/chunk/{F2ph6lWu.mjs → CFYABm3t.mjs} +6 -6
  16. package/dist/es/chunk/{DQi1QPak.mjs → CPW-P7zz.mjs} +8 -8
  17. package/dist/es/chunk/{DViraU6I.mjs → CROtrCmM.mjs} +1 -1
  18. package/dist/es/chunk/{CqTa_Vd-.mjs → CSZw6Ko2.mjs} +2 -2
  19. package/dist/es/chunk/{CwXV7M2F.mjs → CaA5lDme.mjs} +2 -2
  20. package/dist/es/chunk/Cb0n0U19.mjs +2199 -0
  21. package/dist/es/chunk/{CKZGL4_3.mjs → CdG7Eqv2.mjs} +3 -3
  22. package/dist/es/chunk/{BfjuZmry.mjs → D1Ki7NcP.mjs} +2 -2
  23. package/dist/es/chunk/{DTbnchOm.mjs → D5u7KBz_.mjs} +1 -1
  24. package/dist/es/chunk/{DX84QR5M.mjs → DYhJTpil.mjs} +3 -3
  25. package/dist/es/chunk/{D_Mvdscy.mjs → Dh_zpmSz.mjs} +2 -2
  26. package/dist/es/chunk/{D6m3vWpc.mjs → DrC4SmEj.mjs} +1 -1
  27. package/dist/es/chunk/{DAIuzoFs.mjs → DutTJaGc.mjs} +1 -1
  28. package/dist/es/chunk/{w7VqVeWU.mjs → RgWmId3R.mjs} +1 -1
  29. package/dist/es/chunk/{CQz3lhyS.mjs → UUVoNfr4.mjs} +1 -1
  30. package/dist/es/chunk/{D7CQDxqy.mjs → tJuysXfp.mjs} +2 -2
  31. package/dist/es/components/backbottom/backbottom.mjs +1 -1
  32. package/dist/es/components/button/button.mjs +4 -4
  33. package/dist/es/components/choice/choice.mjs +2 -2
  34. package/dist/es/components/color-switcher/color-switcher.mjs +5 -5
  35. package/dist/es/components/cropper/cropper.mjs +6 -6
  36. package/dist/es/components/currency/currency.mjs +3 -3
  37. package/dist/es/components/daterange-picker/daterange-picker.mjs +9 -9
  38. package/dist/es/components/dialog/dialog.d.ts +1 -0
  39. package/dist/es/components/dialog/dialog.mjs +23 -17
  40. package/dist/es/components/dialog/dialog.vue.d.ts +3 -1
  41. package/dist/es/components/dialog/index.css +22 -17
  42. package/dist/es/components/dialog-camera-upload/dialog-camera-upload.mjs +8 -8
  43. package/dist/es/components/dialog-map-point/dialog-map-point.mjs +2 -2
  44. package/dist/es/components/dialog-upload-images/dialog-upload-images.mjs +4 -4
  45. package/dist/es/components/drag-verify/drag-verify.mjs +1 -1
  46. package/dist/es/components/drawer/drawer.mjs +5 -5
  47. package/dist/es/components/easy-pagination/easy-pagination.mjs +1 -1
  48. package/dist/es/components/explorer/explorer.mjs +2 -2
  49. package/dist/es/components/explorer-column-table/explorer-column-table.mjs +4 -4
  50. package/dist/es/components/explorer-container/explorer-container.mjs +1 -1
  51. package/dist/es/components/explorer-dialog-form/explorer-dialog-form.d.ts +23 -0
  52. package/dist/es/components/explorer-dialog-form/explorer-dialog-form.mjs +157 -0
  53. package/dist/es/components/explorer-dialog-form/explorer-dialog-form.vue.d.ts +584 -0
  54. package/dist/es/components/explorer-dialog-form/index.css +6 -0
  55. package/dist/es/components/explorer-dialog-form/index.d.ts +4 -0
  56. package/dist/es/components/explorer-dialog-form/index.mjs +6 -0
  57. package/dist/es/components/explorer-filter/explorer-filter.mjs +4 -4
  58. package/dist/es/components/explorer-footer/explorer-footer.d.ts +1 -0
  59. package/dist/es/components/explorer-footer/explorer-footer.mjs +28 -15
  60. package/dist/es/components/explorer-footer/explorer-footer.vue.d.ts +2 -0
  61. package/dist/es/components/explorer-footer/index.css +3 -3
  62. package/dist/es/components/explorer-form/explorer-form.d.ts +7 -6
  63. package/dist/es/components/explorer-form/explorer-form.mjs +33 -58
  64. package/dist/es/components/explorer-form/explorer-form.vue.d.ts +192 -6
  65. package/dist/es/components/explorer-form/index.css +7 -7
  66. package/dist/es/components/explorer-list/explorer-list.d.ts +1 -0
  67. package/dist/es/components/explorer-list/explorer-list.mjs +5 -4
  68. package/dist/es/components/explorer-panel/explorer-panel.mjs +2 -2
  69. package/dist/es/components/explorer-query/explorer-query.mjs +10 -2203
  70. package/dist/es/components/explorer-query/index.css +1 -1
  71. package/dist/es/components/explorer-table/explorer-table.d.ts +4 -0
  72. package/dist/es/components/explorer-table/explorer-table.mjs +22 -9
  73. package/dist/es/components/explorer-table/explorer-table.vue.d.ts +3 -0
  74. package/dist/es/components/explorer-tools/explorer-tools.mjs +7 -7
  75. package/dist/es/components/explorer-tree/explorer-tree.d.ts +1 -0
  76. package/dist/es/components/explorer-tree/explorer-tree.mjs +15 -14
  77. package/dist/es/components/explorer-tree/index.css +17 -14
  78. package/dist/es/components/icon-picker/icon-picker.mjs +9 -9
  79. package/dist/es/components/iconify-icon/iconify-icon.mjs +2 -2
  80. package/dist/es/components/image/image.mjs +4 -4
  81. package/dist/es/components/input/input.mjs +3 -3
  82. package/dist/es/components/input-number/input-number.mjs +4 -4
  83. package/dist/es/components/pca-picker/pca-picker.mjs +12 -12
  84. package/dist/es/components/screenfull/screenfull.mjs +3 -3
  85. package/dist/es/components/scrollbar/scrollbar.mjs +3 -3
  86. package/dist/es/components/select/select.mjs +5 -5
  87. package/dist/es/components/single-player/single-player.mjs +6 -6
  88. package/dist/es/components/splitter-panel/splitter-panel.mjs +2 -2
  89. package/dist/es/components/svg-icon/svg-icon.mjs +2 -2
  90. package/dist/es/components/switch/switch.mjs +2 -2
  91. package/dist/es/components/sync-scroll-container/sync-scroll-container.mjs +2 -2
  92. package/dist/es/components/tags/tags.mjs +8 -8
  93. package/dist/es/components/text-ellipsis/text-ellipsis.mjs +3 -3
  94. package/dist/es/components/thousand-input/thousand-input.mjs +2 -2
  95. package/dist/es/components/tinymce/tinymce.mjs +3 -3
  96. package/dist/es/components/tree-picker/tree-picker.mjs +9 -9
  97. package/dist/es/components/upload-file/upload-file.mjs +2 -2
  98. package/dist/es/index.d.ts +1 -0
  99. package/dist/es/index.mjs +38 -36
  100. package/dist/global.d.ts +1 -0
  101. package/dist/index.css +57 -42
  102. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import { w as withInstall } from '../../chunk/ClZGuAIb.mjs';
2
+ import { C as Component } from './explorer-dialog-form.mjs';
3
+
4
+ const VcExplorerDialogForm = withInstall(Component);
5
+
6
+ export { VcExplorerDialogForm, VcExplorerDialogForm as default };
@@ -1,7 +1,7 @@
1
1
  import './index.css'
2
2
  import '../../chunk/By7FMB3I.mjs';
3
- import { E as ElButton } from '../../chunk/CqTa_Vd-.mjs';
4
- import { E as ElInput } from '../../chunk/CKZGL4_3.mjs';
3
+ import { E as ElButton } from '../../chunk/CSZw6Ko2.mjs';
4
+ import { E as ElInput } from '../../chunk/CdG7Eqv2.mjs';
5
5
  import { defineComponent, useCssVars, ref, createElementBlock, openBlock, normalizeClass, createVNode, createBlock, createCommentVNode, unref, withKeys, isRef } from 'vue';
6
6
  import { Search, Plus } from '@element-plus/icons-vue';
7
7
  import { i as injectExplorerPanelState } from '../explorer-panel/explorer-panel2.mjs';
@@ -73,9 +73,9 @@ const cssModules = {
73
73
  };
74
74
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
75
75
 
76
- const __vite_glob_0_22 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
76
+ const __vite_glob_0_23 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
77
77
  __proto__: null,
78
78
  default: Component
79
79
  }, Symbol.toStringTag, { value: 'Module' }));
80
80
 
81
- export { Component as C, __vite_glob_0_22 as _ };
81
+ export { Component as C, __vite_glob_0_23 as _ };
@@ -2,4 +2,5 @@ export interface IExplorerFooterProps {
2
2
  paddingTop?: number;
3
3
  layout?: string;
4
4
  total?: number;
5
+ align?: 'left' | 'center' | 'right';
5
6
  }
@@ -1,12 +1,12 @@
1
1
  import './index.css'
2
2
  import '../../chunk/By7FMB3I.mjs';
3
- import { E as ElPagination } from '../../chunk/fueZ9sVu.mjs';
3
+ import { E as ElPagination } from '../../chunk/B7FqhrtI.mjs';
4
4
  /* empty css */
5
- import '../../chunk/DQi1QPak.mjs';
6
- import '../../chunk/D_Mvdscy.mjs';
7
- import '../../chunk/BfjuZmry.mjs';
8
- import '../../chunk/CKZGL4_3.mjs';
9
- import { defineComponent, useCssVars, createElementBlock, openBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, renderSlot, unref, mergeProps } from 'vue';
5
+ import '../../chunk/CPW-P7zz.mjs';
6
+ import '../../chunk/Dh_zpmSz.mjs';
7
+ import '../../chunk/D1Ki7NcP.mjs';
8
+ import '../../chunk/CdG7Eqv2.mjs';
9
+ import { defineComponent, useCssVars, unref, computed, createElementBlock, openBlock, normalizeClass, createCommentVNode, createBlock, renderSlot, mergeProps } from 'vue';
10
10
  import { i as isObjectLike, b as baseGetTag } from '../../chunk/ytiKcA3H.mjs';
11
11
  import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
12
12
 
@@ -44,39 +44,52 @@ function isNumber(value) {
44
44
  (isObjectLike(value) && baseGetTag(value) == numberTag);
45
45
  }
46
46
 
47
+ const _hoisted_1 = { key: 0 };
48
+ const _hoisted_2 = { key: 2 };
47
49
  const _sfc_main = /* @__PURE__ */ defineComponent({
48
50
  __name: "explorer-footer",
49
51
  props: {
50
52
  paddingTop: { default: 8 },
51
53
  layout: { default: "total, prev, pager, next" },
52
- total: {}
54
+ total: {},
55
+ align: { default: "right" }
53
56
  },
54
57
  setup(__props) {
55
58
  useCssVars((_ctx) => ({
56
- "v2844fd33": `${_ctx.paddingTop}px`
59
+ "v6fd937b2": unref(justifyContent),
60
+ "v42199fad": `${_ctx.paddingTop}px`
57
61
  }));
58
62
  const props = __props;
63
+ const justifyContent = computed(() => {
64
+ if (props.align === "center") {
65
+ return "center";
66
+ }
67
+ return "space-between";
68
+ });
59
69
  return (_ctx, _cache) => {
60
70
  const _component_ElPagination = ElPagination;
61
71
  return openBlock(), createElementBlock("div", {
62
72
  class: normalizeClass(_ctx.$style["explorer-footer"])
63
73
  }, [
64
- createElementVNode("div", null, [
74
+ __props.align === "right" ? (openBlock(), createElementBlock("div", _hoisted_1, [
65
75
  renderSlot(_ctx.$slots, "default")
66
- ]),
76
+ ])) : createCommentVNode("", true),
67
77
  unref(isNumber)(props.total) ? (openBlock(), createBlock(_component_ElPagination, mergeProps({
68
- key: 0,
78
+ key: 1,
69
79
  background: "",
70
80
  layout: __props.layout,
71
81
  total: __props.total
72
- }, _ctx.$attrs), null, 16, ["layout", "total"])) : createCommentVNode("", true)
82
+ }, _ctx.$attrs), null, 16, ["layout", "total"])) : createCommentVNode("", true),
83
+ __props.align === "left" ? (openBlock(), createElementBlock("div", _hoisted_2, [
84
+ renderSlot(_ctx.$slots, "default")
85
+ ])) : createCommentVNode("", true)
73
86
  ], 2);
74
87
  };
75
88
  }
76
89
  });
77
90
 
78
91
  /* unplugin-vue-components disabled */const style0 = {
79
- "explorer-footer": "_explorer-footer_1szke_1"
92
+ "explorer-footer": "_explorer-footer_ntz3b_1"
80
93
  };
81
94
 
82
95
  const cssModules = {
@@ -84,9 +97,9 @@ const cssModules = {
84
97
  };
85
98
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
86
99
 
87
- const __vite_glob_0_23 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
100
+ const __vite_glob_0_24 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
88
101
  __proto__: null,
89
102
  default: Component
90
103
  }, Symbol.toStringTag, { value: 'Module' }));
91
104
 
92
- export { Component as C, __vite_glob_0_23 as _ };
105
+ export { Component as C, __vite_glob_0_24 as _ };
@@ -3,12 +3,14 @@ declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  default?(_: {}): any;
6
+ default?(_: {}): any;
6
7
  };
7
8
  refs: {};
8
9
  rootEl: HTMLDivElement;
9
10
  };
10
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
12
  declare const __VLS_component: import('vue').DefineComponent<IExplorerFooterProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<IExplorerFooterProps> & Readonly<{}>, {
13
+ align: "left" | "center" | "right";
12
14
  layout: string;
13
15
  paddingTop: number;
14
16
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -1,7 +1,7 @@
1
1
  /* source: src/components/explorer-footer/explorer-footer.vue */
2
- ._explorer-footer_1szke_1 {
2
+ ._explorer-footer_ntz3b_1 {
3
3
  display: flex;
4
- justify-content: space-between;
4
+ justify-content: var(--v6fd937b2);
5
5
  align-items: center;
6
- padding-top: var(--v2844fd33);
6
+ padding-top: var(--v42199fad);
7
7
  }
@@ -8,13 +8,14 @@ export interface IExplorerFormProps {
8
8
  rules?: Record<string, any>;
9
9
  }>;
10
10
  formProps?: Partial<FormProps>;
11
- initialValues?: Record<string, any>;
12
- autoInitial?: boolean;
13
- defaultEditing?: boolean;
11
+ disabled?: boolean;
12
+ editable?: boolean;
13
+ editing?: boolean;
14
+ loading?: boolean;
14
15
  labelPosition?: FormProps['labelPosition'];
15
- onCancel?: () => void | Promise<void> | Promise<() => void | Promise<void>>;
16
- onSave?: (data: Record<string, any>) => void | Promise<void> | Promise<() => void | Promise<void>>;
17
16
  }
18
17
  export interface IExplorerFormEmits {
19
- (e: 'clickEdit'): void;
18
+ (e: 'cancel'): void;
19
+ (e: 'edit'): void;
20
+ (e: 'save', data: Record<string, any>): void;
20
21
  }
@@ -1,7 +1,7 @@
1
1
  import './index.css'
2
2
  import '../../chunk/By7FMB3I.mjs';
3
- import { v as vLoading } from '../../chunk/CwXV7M2F.mjs';
4
- import { defineComponent, ref, useTemplateRef, watch, onBeforeUnmount, withDirectives, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, unref, withCtx, mergeProps } from 'vue';
3
+ import { v as vLoading } from '../../chunk/CaA5lDme.mjs';
4
+ import { defineComponent, ref, useTemplateRef, withDirectives, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, unref, withCtx, mergeProps } from 'vue';
5
5
  import { ElForm } from 'element-plus';
6
6
  import { C as Component$2 } from '../button/button.mjs';
7
7
  import { C as Component$1 } from '../iconify-icon/iconify-icon.mjs';
@@ -15,67 +15,42 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  icon: { default: "fluent:form-48-regular" },
16
16
  form: {},
17
17
  formProps: {},
18
- initialValues: {},
19
- autoInitial: { type: Boolean, default: true },
20
- defaultEditing: { type: Boolean },
21
- labelPosition: { default: "top" },
22
- onCancel: { type: Function, default: () => {
23
- } },
24
- onSave: { type: Function, default: () => {
25
- } }
18
+ disabled: { type: Boolean },
19
+ editable: { type: Boolean, default: true },
20
+ editing: { type: Boolean, default: true },
21
+ loading: { type: Boolean, default: false },
22
+ labelPosition: { default: "top" }
26
23
  },
27
- emits: ["clickEdit"],
24
+ emits: ["cancel", "edit", "save"],
28
25
  setup(__props, { expose: __expose, emit: __emit }) {
29
26
  const props = __props;
30
27
  const emits = __emit;
31
- const isEditing = ref(false);
32
- const loading = ref(false);
28
+ const isEditing = ref(props.editing ?? true);
33
29
  const formRef = useTemplateRef("formRef");
34
30
  function handleEdit() {
35
- emits("clickEdit");
31
+ emits("edit");
36
32
  isEditing.value = true;
37
33
  }
38
34
  async function handleCancel() {
39
35
  formRef.value.resetFields();
40
- const cb = await props.onCancel();
41
36
  isEditing.value = false;
42
- typeof cb === "function" && await cb();
43
37
  }
44
38
  async function handleSave() {
45
39
  const valid = await formRef.value.validate();
46
40
  if (!valid) {
47
41
  return;
48
42
  }
49
- let cb = null;
50
- try {
51
- loading.value = true;
52
- cb = await props.onSave(props.form.fields);
53
- formRef.value?.setInitialValues(props.form.fields);
54
- isEditing.value = false;
55
- } finally {
56
- loading.value = false;
57
- }
58
- typeof cb === "function" && await cb();
43
+ emits("save", props.form.fields);
59
44
  }
60
- const editingWatch = watch(() => props.defaultEditing, (val) => {
61
- isEditing.value = val;
62
- }, { immediate: true });
63
- const autoInitialWatch = watch(() => props.form.fields, (val) => {
64
- props.autoInitial && formRef.value?.setInitialValues(val);
65
- }, { immediate: true });
66
- const initialValuesWatch = watch(() => props.initialValues, () => {
67
- props.initialValues && formRef.value?.setInitialValues(props.initialValues);
68
- }, { immediate: true, deep: true });
69
45
  __expose({
70
- toggleIsEditing: (val) => {
46
+ formRef,
47
+ update: (data) => {
48
+ formRef.value?.setInitialValues(data || props.form.fields);
49
+ },
50
+ toggleEditing: (val) => {
71
51
  isEditing.value = val ?? !isEditing.value;
72
52
  }
73
53
  });
74
- onBeforeUnmount(() => {
75
- initialValuesWatch.stop();
76
- autoInitialWatch.stop();
77
- editingWatch.stop();
78
- });
79
54
  return (_ctx, _cache) => {
80
55
  const _directive_loading = vLoading;
81
56
  return withDirectives((openBlock(), createElementBlock("div", {
@@ -99,9 +74,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
74
  createElementVNode("div", {
100
75
  class: normalizeClass(_ctx.$style.actions)
101
76
  }, [
102
- unref(isEditing) ? (openBlock(), createBlock(Component$2, {
77
+ renderSlot(_ctx.$slots, "action"),
78
+ __props.editable && unref(isEditing) ? (openBlock(), createBlock(Component$2, {
103
79
  key: 0,
104
- icon: { type: "el", name: "Close" },
80
+ icon: { name: "Close" },
105
81
  onClick: handleCancel
106
82
  }, {
107
83
  default: withCtx(() => [..._cache[0] || (_cache[0] = [
@@ -109,10 +85,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
109
85
  ])]),
110
86
  _: 1
111
87
  })) : createCommentVNode("", true),
112
- unref(isEditing) ? (openBlock(), createBlock(Component$2, {
88
+ __props.editable && unref(isEditing) ? (openBlock(), createBlock(Component$2, {
113
89
  key: 1,
90
+ icon: { name: "Check" },
114
91
  type: "primary",
115
- icon: { type: "el", name: "Check" },
116
92
  onClick: handleSave
117
93
  }, {
118
94
  default: withCtx(() => [..._cache[1] || (_cache[1] = [
@@ -120,18 +96,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
120
96
  ])]),
121
97
  _: 1
122
98
  })) : createCommentVNode("", true),
123
- !unref(isEditing) ? (openBlock(), createBlock(Component$2, {
99
+ __props.editable && !unref(isEditing) ? (openBlock(), createBlock(Component$2, {
124
100
  key: 2,
101
+ icon: { name: "EditPen" },
125
102
  type: "primary",
126
- icon: { type: "el", name: "Edit" },
127
103
  onClick: handleEdit
128
104
  }, {
129
105
  default: withCtx(() => [..._cache[2] || (_cache[2] = [
130
106
  createTextVNode("编辑", -1)
131
107
  ])]),
132
108
  _: 1
133
- })) : createCommentVNode("", true),
134
- renderSlot(_ctx.$slots, "action")
109
+ })) : createCommentVNode("", true)
135
110
  ], 2)
136
111
  ], 2),
137
112
  createVNode(Component$3, { always: "" }, {
@@ -142,7 +117,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
142
117
  }, __props.formProps, {
143
118
  model: __props.form.fields,
144
119
  rules: __props.form.rules,
145
- disabled: !unref(isEditing),
120
+ disabled: __props.disabled || !unref(isEditing) || !__props.editable,
146
121
  "require-asterisk-position": "right",
147
122
  "label-position": __props.labelPosition
148
123
  }), {
@@ -155,19 +130,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
155
130
  _: 3
156
131
  })
157
132
  ], 2)), [
158
- [_directive_loading, unref(loading)]
133
+ [_directive_loading, __props.loading]
159
134
  ]);
160
135
  };
161
136
  }
162
137
  });
163
138
 
164
- /* unplugin-vue-components disabled */const header = "_header_19l5u_8";
165
- const icon = "_icon_19l5u_25";
166
- const actions = "_actions_19l5u_31";
139
+ /* unplugin-vue-components disabled */const header = "_header_2wrpk_8";
140
+ const icon = "_icon_2wrpk_25";
141
+ const actions = "_actions_2wrpk_31";
167
142
  const style0 = {
168
- "explorer-form": "_explorer-form_19l5u_1",
143
+ "explorer-form": "_explorer-form_2wrpk_1",
169
144
  header: header,
170
- "header-container": "_header-container_19l5u_21",
145
+ "header-container": "_header-container_2wrpk_21",
171
146
  icon: icon,
172
147
  actions: actions
173
148
  };
@@ -177,9 +152,9 @@ const cssModules = {
177
152
  };
178
153
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
179
154
 
180
- const __vite_glob_0_24 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
155
+ const __vite_glob_0_25 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
181
156
  __proto__: null,
182
157
  default: Component
183
158
  }, Symbol.toStringTag, { value: 'Module' }));
184
159
 
185
- export { Component as C, __vite_glob_0_24 as _ };
160
+ export { Component as C, __vite_glob_0_25 as _ };
@@ -193,17 +193,203 @@ declare function __VLS_template(): {
193
193
  };
194
194
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
195
195
  declare const __VLS_component: import('vue').DefineComponent<IExplorerFormProps, {
196
- toggleIsEditing: (val?: boolean) => void;
196
+ formRef: Readonly<globalThis.ShallowRef<({
197
+ $: import('vue').ComponentInternalInstance;
198
+ $data: {};
199
+ $props: Partial<{
200
+ readonly disabled: boolean;
201
+ readonly inline: boolean;
202
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
203
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
204
+ readonly inlineMessage: boolean;
205
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
206
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
207
+ readonly labelSuffix: string;
208
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
209
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
210
+ readonly statusIcon: boolean;
211
+ readonly hideRequiredAsterisk: boolean;
212
+ readonly scrollToError: boolean;
213
+ }> & Omit<{
214
+ readonly disabled: boolean;
215
+ readonly inline: boolean;
216
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "right" | "top" | "left", unknown>;
217
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "right" | "left", unknown>;
218
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
219
+ readonly labelSuffix: string;
220
+ readonly inlineMessage: boolean;
221
+ readonly statusIcon: boolean;
222
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
223
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
224
+ readonly hideRequiredAsterisk: boolean;
225
+ readonly scrollToError: boolean;
226
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
227
+ readonly size?: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown> | undefined;
228
+ readonly rules?: Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>> | undefined;
229
+ readonly model?: Record<string, any> | undefined;
230
+ onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined;
231
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "inline" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions">;
232
+ $attrs: {
233
+ [x: string]: unknown;
234
+ };
235
+ $refs: {
236
+ [x: string]: unknown;
237
+ };
238
+ $slots: Readonly<{
239
+ [name: string]: globalThis.Slot | undefined;
240
+ }>;
241
+ $root: ComponentPublicInstance | null;
242
+ $parent: ComponentPublicInstance | null;
243
+ $host: Element | null;
244
+ $emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
245
+ $el: any;
246
+ $options: import('vue').ComponentOptionsBase<Readonly<globalThis.ExtractPropTypes<{
247
+ readonly model: ObjectConstructor;
248
+ readonly rules: {
249
+ readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
250
+ readonly required: false;
251
+ readonly validator: ((val: unknown) => boolean) | undefined;
252
+ __epPropKey: true;
253
+ };
254
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
255
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
256
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
257
+ readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
258
+ readonly inline: BooleanConstructor;
259
+ readonly inlineMessage: BooleanConstructor;
260
+ readonly statusIcon: BooleanConstructor;
261
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
262
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
263
+ readonly hideRequiredAsterisk: BooleanConstructor;
264
+ readonly scrollToError: BooleanConstructor;
265
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
266
+ readonly size: {
267
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
268
+ readonly required: false;
269
+ readonly validator: ((val: unknown) => boolean) | undefined;
270
+ __epPropKey: true;
271
+ };
272
+ readonly disabled: BooleanConstructor;
273
+ }>> & {
274
+ onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
275
+ }, {
276
+ validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
277
+ validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
278
+ resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
279
+ clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
280
+ scrollToField: (prop: import('element-plus').FormItemProp) => void;
281
+ getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
282
+ fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
283
+ setInitialValues: (initModel: Record<string, any>) => void;
284
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
285
+ validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
286
+ }, string, {
287
+ readonly disabled: boolean;
288
+ readonly inline: boolean;
289
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
290
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
291
+ readonly inlineMessage: boolean;
292
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
293
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
294
+ readonly labelSuffix: string;
295
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
296
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
297
+ readonly statusIcon: boolean;
298
+ readonly hideRequiredAsterisk: boolean;
299
+ readonly scrollToError: boolean;
300
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
301
+ beforeCreate?: (() => void) | (() => void)[];
302
+ created?: (() => void) | (() => void)[];
303
+ beforeMount?: (() => void) | (() => void)[];
304
+ mounted?: (() => void) | (() => void)[];
305
+ beforeUpdate?: (() => void) | (() => void)[];
306
+ updated?: (() => void) | (() => void)[];
307
+ activated?: (() => void) | (() => void)[];
308
+ deactivated?: (() => void) | (() => void)[];
309
+ beforeDestroy?: (() => void) | (() => void)[];
310
+ beforeUnmount?: (() => void) | (() => void)[];
311
+ destroyed?: (() => void) | (() => void)[];
312
+ unmounted?: (() => void) | (() => void)[];
313
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
314
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
315
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
316
+ };
317
+ $forceUpdate: () => void;
318
+ $nextTick: typeof import('vue').nextTick;
319
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
320
+ } & Readonly<{
321
+ readonly disabled: boolean;
322
+ readonly inline: boolean;
323
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
324
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
325
+ readonly inlineMessage: boolean;
326
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
327
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
328
+ readonly labelSuffix: string;
329
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
330
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
331
+ readonly statusIcon: boolean;
332
+ readonly hideRequiredAsterisk: boolean;
333
+ readonly scrollToError: boolean;
334
+ }> & Omit<Readonly<globalThis.ExtractPropTypes<{
335
+ readonly model: ObjectConstructor;
336
+ readonly rules: {
337
+ readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
338
+ readonly required: false;
339
+ readonly validator: ((val: unknown) => boolean) | undefined;
340
+ __epPropKey: true;
341
+ };
342
+ readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
343
+ readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
344
+ readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
345
+ readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
346
+ readonly inline: BooleanConstructor;
347
+ readonly inlineMessage: BooleanConstructor;
348
+ readonly statusIcon: BooleanConstructor;
349
+ readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
350
+ readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
351
+ readonly hideRequiredAsterisk: BooleanConstructor;
352
+ readonly scrollToError: BooleanConstructor;
353
+ readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
354
+ readonly size: {
355
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
356
+ readonly required: false;
357
+ readonly validator: ((val: unknown) => boolean) | undefined;
358
+ __epPropKey: true;
359
+ };
360
+ readonly disabled: BooleanConstructor;
361
+ }>> & {
362
+ onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
363
+ }, "disabled" | "inline" | "fields" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
364
+ validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
365
+ validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
366
+ resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
367
+ clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
368
+ scrollToField: (prop: import('element-plus').FormItemProp) => void;
369
+ getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
370
+ fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
371
+ setInitialValues: (initModel: Record<string, any>) => void;
372
+ }> & {} & import('vue').ComponentCustomProperties & {} & {
373
+ $slots: {
374
+ default?: (props: {}) => any;
375
+ };
376
+ }) | null>>;
377
+ update: (data?: Record<string, any>) => void;
378
+ toggleEditing: (val?: boolean) => void;
197
379
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
198
- clickEdit: () => any;
380
+ cancel: () => any;
381
+ save: (data: Record<string, any>) => any;
382
+ edit: () => any;
199
383
  }, string, import('vue').PublicProps, Readonly<IExplorerFormProps> & Readonly<{
200
- onClickEdit?: (() => any) | undefined;
384
+ onCancel?: (() => any) | undefined;
385
+ onSave?: ((data: Record<string, any>) => any) | undefined;
386
+ onEdit?: (() => any) | undefined;
201
387
  }>, {
202
388
  icon: string;
203
- onCancel: () => void | Promise<void> | Promise<() => void | Promise<void>>;
204
- onSave: (data: Record<string, any>) => void | Promise<void> | Promise<() => void | Promise<void>>;
389
+ loading: boolean;
390
+ editable: boolean;
205
391
  labelPosition: import('element-plus').FormProps["labelPosition"];
206
- autoInitial: boolean;
392
+ editing: boolean;
207
393
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
208
394
  formRef: ({
209
395
  $: import('vue').ComponentInternalInstance;
@@ -1,11 +1,11 @@
1
1
  /* source: src/components/explorer-form/explorer-form.vue */
2
- ._explorer-form_19l5u_1 {
2
+ ._explorer-form_2wrpk_1 {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  flex-grow: 1;
6
6
  height: 100px;
7
7
  }
8
- ._header_19l5u_8 {
8
+ ._header_2wrpk_8 {
9
9
  display: flex;
10
10
  align-items: center;
11
11
  justify-content: space-between;
@@ -17,19 +17,19 @@
17
17
  flex-wrap: wrap;
18
18
  row-gap: 8px;
19
19
  }
20
- ._header-container_19l5u_21 {
20
+ ._header-container_2wrpk_21 {
21
21
  font-size: var(--el-font-size-medium);
22
22
  }
23
- ._icon_19l5u_25 {
23
+ ._icon_2wrpk_25 {
24
24
  margin-right: 4px;
25
- font-size: 1.1em;
25
+ font-size: var(--el-font-size-extra-large);
26
26
  transform: translateY(1px);
27
27
  }
28
- ._actions_19l5u_31 {
28
+ ._actions_2wrpk_31 {
29
29
  display: flex;
30
30
  align-items: center;
31
31
  gap: 8px;
32
32
  }
33
- ._actions_19l5u_31 .el-button {
33
+ ._actions_2wrpk_31 .el-button {
34
34
  margin-left: 0 !important;
35
35
  }
@@ -10,6 +10,7 @@ export interface IExplorerListProps {
10
10
  actions?: ('create' | 'modify' | 'remove' | 'up' | 'down' | 'action')[];
11
11
  filterMethod?: (keyword: string, item: IExplorerListItem) => boolean;
12
12
  emptyText?: string;
13
+ pending?: boolean;
13
14
  loading?: boolean;
14
15
  loadingText?: string;
15
16
  highlightCurrent?: boolean;