@wfrog/vc-ui 1.7.0 → 1.9.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 (43) hide show
  1. package/dist/es/components/drawer/drawer.d.ts +7 -0
  2. package/dist/es/components/drawer/drawer.mjs +71 -23
  3. package/dist/es/components/drawer/drawer.vue.d.ts +9 -3
  4. package/dist/es/components/drawer/index.css +39 -18
  5. package/dist/es/components/explorer-filter/explorer-filter.mjs +2 -2
  6. package/dist/es/components/explorer-footer/explorer-footer.mjs +2 -2
  7. package/dist/es/components/explorer-form/explorer-form.mjs +2 -2
  8. package/dist/es/components/explorer-list/explorer-list.mjs +2 -2
  9. package/dist/es/components/{explorer-dialog-form/explorer-dialog-form.d.ts → explorer-modal-form/explorer-modal-form.d.ts} +5 -4
  10. package/dist/es/components/{explorer-dialog-form/explorer-dialog-form.mjs → explorer-modal-form/explorer-modal-form.mjs} +24 -20
  11. package/dist/es/components/{explorer-dialog-form/explorer-dialog-form.vue.d.ts → explorer-modal-form/explorer-modal-form.vue.d.ts} +6 -6
  12. package/dist/es/components/explorer-modal-form/index.css +5 -0
  13. package/dist/es/components/{explorer-dialog-form → explorer-modal-form}/index.d.ts +1 -1
  14. package/dist/es/components/{explorer-dialog-form → explorer-modal-form}/index.mjs +1 -1
  15. package/dist/es/components/explorer-panel/explorer-panel.mjs +3 -3
  16. package/dist/es/components/explorer-panel/index.css +6 -3
  17. package/dist/es/components/explorer-query/explorer-query.mjs +3 -3
  18. package/dist/es/components/explorer-query/index.css +2 -2
  19. package/dist/es/components/explorer-tools/explorer-tools.mjs +6 -6
  20. package/dist/es/components/explorer-tools/index.css +8 -8
  21. package/dist/es/components/transfer/index.css +38 -0
  22. package/dist/es/components/transfer/index.d.ts +4 -0
  23. package/dist/es/components/transfer/index.mjs +6 -0
  24. package/dist/es/components/transfer/transfer.d.ts +12 -0
  25. package/dist/es/components/transfer/transfer.mjs +122 -0
  26. package/dist/es/components/transfer/transfer.vue.d.ts +12 -0
  27. package/dist/es/components/transfer-panel/components/transfer-child-panel.d.ts +19 -0
  28. package/dist/es/components/transfer-panel/components/transfer-child-panel.vue.d.ts +31 -0
  29. package/dist/es/components/transfer-panel/index.css +100 -0
  30. package/dist/es/components/transfer-panel/index.d.ts +4 -0
  31. package/dist/es/components/transfer-panel/index.mjs +6 -0
  32. package/dist/es/components/transfer-panel/transfer-panel.d.ts +13 -0
  33. package/dist/es/components/transfer-panel/transfer-panel.mjs +289 -0
  34. package/dist/es/components/transfer-panel/transfer-panel.vue.d.ts +14 -0
  35. package/dist/es/components/tree-picker/index.css +2 -2
  36. package/dist/es/components/tree-picker/tree-picker.mjs +4 -4
  37. package/dist/es/components/upload-file/upload-file.mjs +2 -2
  38. package/dist/es/index.d.ts +3 -1
  39. package/dist/es/index.mjs +14 -10
  40. package/dist/global.d.ts +3 -1
  41. package/dist/index.css +200 -39
  42. package/package.json +1 -1
  43. package/dist/es/components/explorer-dialog-form/index.css +0 -6
@@ -4,4 +4,11 @@ export interface IDrawerProps {
4
4
  lazy?: boolean;
5
5
  showDefaultFooter?: boolean;
6
6
  boxPadding?: boolean;
7
+ fullscreen?: boolean;
8
+ showFullscreen?: boolean;
9
+ size?: number | string;
10
+ }
11
+ export interface IDrawerEmits {
12
+ (e: 'update:modelValue', value: boolean): void;
13
+ (e: 'closed'): void;
7
14
  }
@@ -2,10 +2,11 @@ import './index.css'
2
2
  import { b as buildProps, u as useNamespace } from '../../chunk/By7FMB3I.mjs';
3
3
  import { d as dialogEmits, a as dialogProps, u as useDialog, E as ElOverlay } from '../../chunk/CFYABm3t.mjs';
4
4
  import { E as ElScrollbar } from '../../chunk/Dh_zpmSz.mjs';
5
+ import { E as ElButton } from '../../chunk/CSZw6Ko2.mjs';
5
6
  import { computed, ref, watch, onBeforeUnmount, defineComponent, useSlots, createBlock, openBlock, unref, withCtx, createVNode, Transition, withDirectives, createElementVNode, mergeProps, withModifiers, createElementBlock, createCommentVNode, normalizeClass, renderSlot, toDisplayString, normalizeStyle, vShow, useCssVars, isRef, createTextVNode } from 'vue';
7
+ import { Close, CopyDocument, FullScreen } from '@element-plus/icons-vue';
6
8
  import { C as Component$1 } from '../button/button.mjs';
7
- import { useWindowSize, clamp, useEventListener, useVModel } from '@vueuse/core';
8
- import { Close } from '@element-plus/icons-vue';
9
+ import { useWindowSize, clamp, useEventListener, useVModel, useToggle } from '@vueuse/core';
9
10
  import { b as ElTeleport, d as ElFocusTrap } from '../../chunk/D1Ki7NcP.mjs';
10
11
  import { E as ElIcon } from '../../chunk/C6xZotC7.mjs';
11
12
  import { a as addUnit } from '../../chunk/UUVoNfr4.mjs';
@@ -351,10 +352,7 @@ var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/home/runner/
351
352
 
352
353
  const ElDrawer = withInstall(Drawer);
353
354
 
354
- const _hoisted_1 = {
355
- key: 0,
356
- class: "drawer-footer"
357
- };
355
+ const _hoisted_1 = ["id"];
358
356
  const _sfc_main = /* @__PURE__ */ defineComponent({
359
357
  __name: "drawer",
360
358
  props: {
@@ -362,19 +360,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
362
360
  title: { default: "对话框" },
363
361
  lazy: { type: Boolean, default: true },
364
362
  showDefaultFooter: { type: Boolean, default: false },
365
- boxPadding: { type: Boolean, default: true }
363
+ boxPadding: { type: Boolean, default: true },
364
+ fullscreen: { type: Boolean, default: false },
365
+ showFullscreen: { type: Boolean, default: true },
366
+ size: { default: "500px" }
366
367
  },
367
368
  emits: ["update:modelValue", "closed"],
368
369
  setup(__props, { emit: __emit }) {
369
370
  useCssVars((_ctx) => ({
370
- "f89995de": _ctx.boxPadding ? "block" : "none"
371
+ "v4dbd7b6a": _ctx.boxPadding ? "block" : "none"
371
372
  }));
372
373
  const props = __props;
373
374
  const emits = __emit;
374
375
  const drawerVisible = useVModel(props, "modelValue", emits);
375
376
  const visible = ref(false);
377
+ const isFullscreen = ref(false);
378
+ const toggleFullscreen = useToggle(isFullscreen);
379
+ const Icon = computed(() => isFullscreen.value ? CopyDocument : FullScreen);
380
+ const mySize = computed(() => isFullscreen.value ? "100%" : props.size);
376
381
  watch(drawerVisible, (val) => {
377
382
  if (val) {
383
+ isFullscreen.value = props.fullscreen;
378
384
  visible.value = true;
379
385
  }
380
386
  });
@@ -383,27 +389,57 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
383
389
  emits("closed");
384
390
  }
385
391
  return (_ctx, _cache) => {
392
+ const _component_ElButton = ElButton;
386
393
  const _component_ElScrollbar = ElScrollbar;
387
394
  const _component_ElDrawer = ElDrawer;
388
395
  return unref(visible) || !__props.lazy ? (openBlock(), createBlock(_component_ElDrawer, mergeProps({
389
396
  key: 0,
390
397
  modelValue: unref(drawerVisible),
391
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(drawerVisible) ? drawerVisible.value = $event : null)
398
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(drawerVisible) ? drawerVisible.value = $event : null)
392
399
  }, _ctx.$attrs, {
393
400
  "close-on-click-modal": false,
401
+ "show-close": false,
394
402
  class: _ctx.$style.main,
403
+ "append-to-body": "",
404
+ size: unref(mySize),
395
405
  onClosed: handleClosed
396
406
  }), {
397
- header: withCtx(() => [
398
- createElementVNode("div", null, [
399
- renderSlot(_ctx.$slots, "header", {}, () => [
400
- createTextVNode(toDisplayString(__props.title), 1)
401
- ])
402
- ])
407
+ header: withCtx(({ close, titleId, titleClass }) => [
408
+ createElementVNode("div", {
409
+ class: normalizeClass(_ctx.$style.header)
410
+ }, [
411
+ createElementVNode("span", {
412
+ id: titleId,
413
+ class: normalizeClass([titleClass, _ctx.$style.title])
414
+ }, [
415
+ renderSlot(_ctx.$slots, "title", { close }, () => [
416
+ createTextVNode(toDisplayString(__props.title), 1)
417
+ ])
418
+ ], 10, _hoisted_1),
419
+ createElementVNode("span", {
420
+ class: normalizeClass(_ctx.$style.buttons)
421
+ }, [
422
+ renderSlot(_ctx.$slots, "header-action"),
423
+ withDirectives(createVNode(_component_ElButton, {
424
+ class: normalizeClass(_ctx.$style["icon-button"]),
425
+ icon: unref(Icon),
426
+ plain: "",
427
+ onClick: _cache[0] || (_cache[0] = () => unref(toggleFullscreen)())
428
+ }, null, 8, ["class", "icon"]), [
429
+ [vShow, __props.showFullscreen]
430
+ ]),
431
+ createVNode(_component_ElButton, {
432
+ class: normalizeClass(_ctx.$style["icon-button"]),
433
+ icon: unref(Close),
434
+ plain: "",
435
+ onClick: close
436
+ }, null, 8, ["class", "icon", "onClick"])
437
+ ], 2)
438
+ ], 2)
403
439
  ]),
404
440
  default: withCtx(() => [
405
441
  createVNode(_component_ElScrollbar, {
406
- class: "drawer-scrollbar",
442
+ class: "vc-drawer-scrollbar",
407
443
  always: ""
408
444
  }, {
409
445
  default: withCtx(() => [
@@ -415,29 +451,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
415
451
  ]),
416
452
  _: 3
417
453
  }),
418
- __props.showDefaultFooter || _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_1, [
454
+ __props.showDefaultFooter || _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
455
+ key: 0,
456
+ class: normalizeClass(_ctx.$style.footer)
457
+ }, [
419
458
  renderSlot(_ctx.$slots, "footer", {}, () => [
420
459
  createVNode(Component$1, {
421
- onClick: _cache[0] || (_cache[0] = ($event) => drawerVisible.value = false)
460
+ onClick: _cache[1] || (_cache[1] = ($event) => drawerVisible.value = false)
422
461
  }, {
423
- default: withCtx(() => [..._cache[2] || (_cache[2] = [
462
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
424
463
  createTextVNode("关闭", -1)
425
464
  ])]),
426
465
  _: 1
427
466
  })
428
467
  ])
429
- ])) : createCommentVNode("", true)
468
+ ], 2)) : createCommentVNode("", true)
430
469
  ]),
431
470
  _: 3
432
- }, 16, ["modelValue", "class"])) : createCommentVNode("", true);
471
+ }, 16, ["modelValue", "class", "size"])) : createCommentVNode("", true);
433
472
  };
434
473
  }
435
474
  });
436
475
 
437
- /* unplugin-vue-components disabled */const main = "_main_1ond6_1";
476
+ /* unplugin-vue-components disabled */const main = "_main_2r9ln_1";
477
+ const header = "_header_2r9ln_46";
478
+ const title = "_title_2r9ln_56";
479
+ const buttons = "_buttons_2r9ln_61";
480
+ const footer = "_footer_2r9ln_76";
438
481
  const style0 = {
439
482
  main: main,
440
- "body-container": "_body-container_1ond6_55"
483
+ header: header,
484
+ title: title,
485
+ buttons: buttons,
486
+ "icon-button": "_icon-button_2r9ln_65",
487
+ "body-container": "_body-container_2r9ln_72",
488
+ footer: footer
441
489
  };
442
490
 
443
491
  const cssModules = {
@@ -2,7 +2,10 @@ import { IDrawerProps } from './drawer';
2
2
  declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
- header?(_: {}): any;
5
+ title?(_: {
6
+ close: () => void;
7
+ }): any;
8
+ 'header-action'?(_: {}): any;
6
9
  default?(_: {}): any;
7
10
  footer?(_: {}): any;
8
11
  };
@@ -11,15 +14,18 @@ declare function __VLS_template(): {
11
14
  };
12
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
16
  declare const __VLS_component: import('vue').DefineComponent<IDrawerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
14
- "update:modelValue": (val: boolean) => any;
17
+ "update:modelValue": (value: boolean) => any;
15
18
  closed: () => any;
16
19
  }, string, import('vue').PublicProps, Readonly<IDrawerProps> & Readonly<{
17
- "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
18
21
  onClosed?: (() => any) | undefined;
19
22
  }>, {
23
+ size: number | string;
20
24
  title: string;
25
+ showFullscreen: boolean;
21
26
  showDefaultFooter: boolean;
22
27
  lazy: boolean;
28
+ fullscreen: boolean;
23
29
  boxPadding: boolean;
24
30
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
25
31
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -1,8 +1,8 @@
1
1
  /* source: src/components/drawer/drawer.vue */
2
- .el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;overflow:hidden;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{overflow:hidden;padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-drawer__dragger,.el-drawer__dragger:before{background-color:transparent;position:absolute;transition:all .2s}.el-drawer__dragger:before{content:""}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{bottom:0;cursor:ew-resize;height:100%;top:0;width:var(--el-drawer-dragger-size)}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{bottom:0;top:0;width:3px}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger,.el-drawer.ttb>.el-drawer__dragger{cursor:ns-resize;height:var(--el-drawer-dragger-size);left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger:before,.el-drawer.ttb>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translateX(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translateX(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}._main_1ond6_1 {
2
+ .el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;overflow:hidden;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{overflow:hidden;padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-drawer__dragger,.el-drawer__dragger:before{background-color:transparent;position:absolute;transition:all .2s}.el-drawer__dragger:before{content:""}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{bottom:0;cursor:ew-resize;height:100%;top:0;width:var(--el-drawer-dragger-size)}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{bottom:0;top:0;width:3px}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger,.el-drawer.ttb>.el-drawer__dragger{cursor:ns-resize;height:var(--el-drawer-dragger-size);left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger:before,.el-drawer.ttb>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translateX(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translateX(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}._main_2r9ln_1 {
3
3
  height: 100%;
4
4
  }
5
- ._main_1ond6_1 .el-drawer__header {
5
+ ._main_2r9ln_1 .el-drawer__header {
6
6
  box-sizing: border-box;
7
7
  flex: 0 0 auto;
8
8
  padding: 8px 16px;
@@ -10,25 +10,16 @@
10
10
  border-bottom: 1px solid var(--el-border-color-light);
11
11
  font-size: var(--el-font-size-large);
12
12
  }
13
- ._main_1ond6_1 .el-drawer__body {
13
+ ._main_2r9ln_1 .el-drawer__body {
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
  padding: 0;
17
17
  overflow: hidden;
18
18
  }
19
- ._main_1ond6_1 .drawer-footer {
20
- display: flex;
21
- flex: 0 0 auto;
22
- padding: 8px 16px;
23
- border-top: 1px solid var(--el-border-color-light);
24
- }
25
- ._main_1ond6_1 .drawer-footer .el-button {
26
- flex-grow: 1;
27
- }
28
- ._main_1ond6_1 > .el-drawer__body > .el-scrollbar {
19
+ ._main_2r9ln_1 > .el-drawer__body > .el-scrollbar {
29
20
  position: relative;
30
21
  }
31
- ._main_1ond6_1 > .el-drawer__body > .el-scrollbar::before {
22
+ ._main_2r9ln_1 > .el-drawer__body > .el-scrollbar::before {
32
23
  content: "";
33
24
  position: absolute;
34
25
  top: 0;
@@ -38,9 +29,9 @@
38
29
  background: var(--el-bg-color);
39
30
  height: 16px;
40
31
  z-index: 3;
41
- display: var(--f89995de);
32
+ display: var(--v4dbd7b6a);
42
33
  }
43
- ._main_1ond6_1 > .el-drawer__body > .el-scrollbar::after {
34
+ ._main_2r9ln_1 > .el-drawer__body > .el-scrollbar::after {
44
35
  content: "";
45
36
  position: absolute;
46
37
  bottom: 0;
@@ -50,8 +41,38 @@
50
41
  background: var(--el-bg-color);
51
42
  height: 16px;
52
43
  z-index: 3;
53
- display: var(--f89995de);
44
+ display: var(--v4dbd7b6a);
45
+ }
46
+ ._header_2r9ln_46 {
47
+ display: flex;
48
+ flex-direction: row;
49
+ justify-content: space-between;
50
+ }
51
+ ._header_2r9ln_46 h4 {
52
+ padding: 0;
53
+ margin: 0 !important;
54
54
  }
55
- ._body-container_1ond6_55 {
55
+ ._title_2r9ln_56 {
56
+ display: flex;
57
+ align-items: center;
58
+ }
59
+ ._buttons_2r9ln_61 {
60
+ display: flex;
61
+ column-gap: 8px;
62
+ }
63
+ ._buttons_2r9ln_61 button._icon-button_2r9ln_65 {
64
+ padding: 8px;
65
+ font-size: 1.2em;
66
+ border: 0;
67
+ margin-left: 0;
68
+ }
69
+ ._body-container_2r9ln_72 {
56
70
  padding: 16px;
71
+ }
72
+ ._footer_2r9ln_76 {
73
+ display: flex;
74
+ flex: 0 0 auto;
75
+ padding: 8px 16px;
76
+ border-top: 1px solid var(--el-border-color-light);
77
+ justify-content: flex-end;
57
78
  }
@@ -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_23 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
76
+ const __vite_glob_0_22 = /*#__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_23 as _ };
81
+ export { Component as C, __vite_glob_0_22 as _ };
@@ -97,9 +97,9 @@ const cssModules = {
97
97
  };
98
98
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
99
99
 
100
- const __vite_glob_0_24 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
100
+ const __vite_glob_0_23 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
101
101
  __proto__: null,
102
102
  default: Component
103
103
  }, Symbol.toStringTag, { value: 'Module' }));
104
104
 
105
- export { Component as C, __vite_glob_0_24 as _ };
105
+ export { Component as C, __vite_glob_0_23 as _ };
@@ -152,9 +152,9 @@ const cssModules = {
152
152
  };
153
153
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
154
154
 
155
- const __vite_glob_0_25 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
155
+ const __vite_glob_0_24 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
156
156
  __proto__: null,
157
157
  default: Component
158
158
  }, Symbol.toStringTag, { value: 'Module' }));
159
159
 
160
- export { Component as C, __vite_glob_0_25 as _ };
160
+ export { Component as C, __vite_glob_0_24 as _ };
@@ -158,9 +158,9 @@ const cssModules = {
158
158
  };
159
159
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
160
160
 
161
- const __vite_glob_0_26 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
161
+ const __vite_glob_0_25 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
162
162
  __proto__: null,
163
163
  default: Component
164
164
  }, Symbol.toStringTag, { value: 'Module' }));
165
165
 
166
- export { Component as C, __vite_glob_0_26 as _ };
166
+ export { Component as C, __vite_glob_0_25 as _ };
@@ -1,9 +1,10 @@
1
1
  import { FormProps } from 'element-plus';
2
2
  import { Reactive } from 'vue';
3
- export interface IExplorerDialogFormProps {
3
+ export interface IExplorerModalFormProps {
4
+ modelValue: boolean;
5
+ type: 'dialog' | 'drawer';
4
6
  title?: string;
5
7
  icon?: string;
6
- visible: boolean;
7
8
  disabled?: boolean;
8
9
  editable?: boolean;
9
10
  editing?: boolean;
@@ -15,8 +16,8 @@ export interface IExplorerDialogFormProps {
15
16
  formProps?: Partial<FormProps>;
16
17
  labelPosition?: FormProps['labelPosition'];
17
18
  }
18
- export interface IExplorerDialogFormEmits {
19
- (e: 'update:visible', visible: boolean): void;
19
+ export interface IExplorerModalFormEmits {
20
+ (e: 'update:modelValue', value: boolean): void;
20
21
  (e: 'cancel'): void;
21
22
  (e: 'edit'): void;
22
23
  (e: 'save', data: Record<string, any>): void;
@@ -2,19 +2,21 @@ import './index.css'
2
2
  import '../../chunk/By7FMB3I.mjs';
3
3
  import { v as vLoading } from '../../chunk/CaA5lDme.mjs';
4
4
  import { E as ElForm } from '../../chunk/Cb0n0U19.mjs';
5
- import { defineComponent, useTemplateRef, ref, watch, onUnmounted, createBlock, openBlock, mergeProps, unref, isRef, withCtx, withDirectives, renderSlot, createCommentVNode, createTextVNode, createElementVNode, normalizeClass, toDisplayString } from 'vue';
6
- import { C as Component$2 } from '../button/button.mjs';
5
+ import { defineComponent, useTemplateRef, ref, computed, watch, onUnmounted, createBlock, openBlock, resolveDynamicComponent, unref, mergeProps, isRef, withCtx, withDirectives, renderSlot, createCommentVNode, createTextVNode, createElementVNode, normalizeClass, toDisplayString } from 'vue';
6
+ import { C as Component$3 } from '../button/button.mjs';
7
7
  import { C as Component$1 } from '../dialog/dialog.mjs';
8
- import { C as Component$3 } from '../iconify-icon/iconify-icon.mjs';
8
+ import { C as Component$2 } from '../drawer/drawer.mjs';
9
+ import { C as Component$4 } from '../iconify-icon/iconify-icon.mjs';
9
10
  import { useVModel } from '@vueuse/core';
10
11
  import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
11
12
 
12
13
  const _sfc_main = /* @__PURE__ */ defineComponent({
13
- __name: "explorer-dialog-form",
14
+ __name: "explorer-modal-form",
14
15
  props: {
16
+ modelValue: { type: Boolean },
17
+ type: {},
15
18
  title: {},
16
19
  icon: { default: "fluent:form-48-regular" },
17
- visible: { type: Boolean },
18
20
  disabled: { type: Boolean },
19
21
  editable: { type: Boolean, default: true },
20
22
  editing: { type: Boolean, default: true },
@@ -23,15 +25,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
25
  formProps: {},
24
26
  labelPosition: { default: "top" }
25
27
  },
26
- emits: ["update:visible", "cancel", "edit", "save"],
28
+ emits: ["update:modelValue", "cancel", "edit", "save"],
27
29
  setup(__props, { expose: __expose, emit: __emit }) {
28
30
  const props = __props;
29
31
  const emits = __emit;
30
- const myVisible = useVModel(props, "visible", emits);
32
+ const modalVisible = useVModel(props, "modelValue", emits);
31
33
  const formRef = useTemplateRef("formRef");
32
34
  const isEditing = ref(false);
35
+ const component = computed(() => props.type === "dialog" ? Component$1 : Component$2);
36
+ const modalTitle = computed(() => props.title || (props.form.fields.id ? "编辑" : "新增"));
33
37
  function handleCancel() {
34
- myVisible.value = false;
38
+ modalVisible.value = false;
35
39
  emits("cancel");
36
40
  }
37
41
  async function handleSave() {
@@ -45,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
49
  isEditing.value = true;
46
50
  emits("edit");
47
51
  }
48
- const visibleWatch = watch(myVisible, (val) => {
52
+ const visibleWatch = watch(modalVisible, (val) => {
49
53
  if (!val) {
50
54
  return;
51
55
  }
@@ -58,27 +62,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
62
  return (_ctx, _cache) => {
59
63
  const _component_ElForm = ElForm;
60
64
  const _directive_loading = vLoading;
61
- return openBlock(), createBlock(Component$1, mergeProps({
62
- modelValue: unref(myVisible),
63
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(myVisible) ? myVisible.value = $event : null)
65
+ return openBlock(), createBlock(resolveDynamicComponent(unref(component)), mergeProps({
66
+ modelValue: unref(modalVisible),
67
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modalVisible) ? modalVisible.value = $event : null)
64
68
  }, _ctx.$attrs), {
65
69
  title: withCtx(({ close }) => [
66
70
  createElementVNode("div", {
67
71
  class: normalizeClass(_ctx.$style["header-container"])
68
72
  }, [
69
- __props.icon ? (openBlock(), createBlock(Component$3, {
73
+ __props.icon ? (openBlock(), createBlock(Component$4, {
70
74
  key: 0,
71
75
  name: __props.icon,
72
76
  class: normalizeClass(_ctx.$style.icon)
73
77
  }, null, 8, ["name", "class"])) : createCommentVNode("", true),
74
78
  renderSlot(_ctx.$slots, "title", { close }, () => [
75
- createTextVNode(toDisplayString(__props.title), 1)
79
+ createTextVNode(toDisplayString(unref(modalTitle)), 1)
76
80
  ])
77
81
  ], 2)
78
82
  ]),
79
83
  footer: withCtx(() => [
80
84
  renderSlot(_ctx.$slots, "action"),
81
- unref(isEditing) ? (openBlock(), createBlock(Component$2, {
85
+ unref(isEditing) ? (openBlock(), createBlock(Component$3, {
82
86
  key: 0,
83
87
  loading: __props.loading,
84
88
  icon: { name: "Close" },
@@ -89,7 +93,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
93
  ])]),
90
94
  _: 1
91
95
  }, 8, ["loading"])) : createCommentVNode("", true),
92
- unref(isEditing) ? (openBlock(), createBlock(Component$2, {
96
+ unref(isEditing) ? (openBlock(), createBlock(Component$3, {
93
97
  key: 1,
94
98
  loading: __props.loading,
95
99
  icon: { name: "Check" },
@@ -101,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
105
  ])]),
102
106
  _: 1
103
107
  }, 8, ["loading"])) : createCommentVNode("", true),
104
- __props.editable && !unref(isEditing) ? (openBlock(), createBlock(Component$2, {
108
+ __props.editable && !unref(isEditing) ? (openBlock(), createBlock(Component$3, {
105
109
  key: 2,
106
110
  loading: __props.loading,
107
111
  icon: { name: "EditPen" },
@@ -139,7 +143,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
139
143
  }
140
144
  });
141
145
 
142
- /* unplugin-vue-components disabled */const icon = "_icon_uetpd_1";
146
+ /* unplugin-vue-components disabled */const icon = "_icon_ygryy_1";
143
147
  const style0 = {
144
148
  icon: icon
145
149
  };
@@ -149,9 +153,9 @@ const cssModules = {
149
153
  };
150
154
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
151
155
 
152
- const __vite_glob_0_22 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
156
+ const __vite_glob_0_26 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
153
157
  __proto__: null,
154
158
  default: Component
155
159
  }, Symbol.toStringTag, { value: 'Module' }));
156
160
 
157
- export { Component as C, __vite_glob_0_22 as _ };
161
+ export { Component as C, __vite_glob_0_26 as _ };
@@ -1,10 +1,10 @@
1
- import { IExplorerDialogFormProps } from './explorer-dialog-form';
1
+ import { IExplorerModalFormProps } from './explorer-modal-form';
2
2
  declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  default?(_: {}): any;
6
6
  title?(_: {
7
- close: () => void;
7
+ close: (() => void) | (() => void);
8
8
  }): any;
9
9
  action?(_: {}): any;
10
10
  };
@@ -194,7 +194,7 @@ declare function __VLS_template(): {
194
194
  rootEl: any;
195
195
  };
196
196
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
197
- declare const __VLS_component: import('vue').DefineComponent<IExplorerDialogFormProps, {
197
+ declare const __VLS_component: import('vue').DefineComponent<IExplorerModalFormProps, {
198
198
  formRef: Readonly<globalThis.ShallowRef<({
199
199
  $: import('vue').ComponentInternalInstance;
200
200
  $data: {};
@@ -378,12 +378,12 @@ declare const __VLS_component: import('vue').DefineComponent<IExplorerDialogForm
378
378
  }) | null>>;
379
379
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
380
380
  cancel: () => any;
381
- "update:visible": (visible: boolean) => any;
381
+ "update:modelValue": (value: boolean) => any;
382
382
  save: (data: Record<string, any>) => any;
383
383
  edit: () => any;
384
- }, string, import('vue').PublicProps, Readonly<IExplorerDialogFormProps> & Readonly<{
384
+ }, string, import('vue').PublicProps, Readonly<IExplorerModalFormProps> & Readonly<{
385
385
  onCancel?: (() => any) | undefined;
386
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
386
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
387
387
  onSave?: ((data: Record<string, any>) => any) | undefined;
388
388
  onEdit?: (() => any) | undefined;
389
389
  }>, {
@@ -0,0 +1,5 @@
1
+ /* source: src/components/explorer-modal-form/explorer-modal-form.vue */
2
+ ._icon_ygryy_1 {
3
+ margin-right: 4px;
4
+ font-size: var(--el-font-size-extra-large);
5
+ }
@@ -1,4 +1,4 @@
1
1
  import { SFCWithInstall } from '../../utils/typescript';
2
- import { default as Component } from './explorer-dialog-form.vue';
2
+ import { default as Component } from './explorer-modal-form.vue';
3
3
  export declare const VcExplorerDialogForm: SFCWithInstall<typeof Component>;
4
4
  export default VcExplorerDialogForm;
@@ -1,5 +1,5 @@
1
1
  import { w as withInstall } from '../../chunk/ClZGuAIb.mjs';
2
- import { C as Component } from './explorer-dialog-form.mjs';
2
+ import { C as Component } from './explorer-modal-form.mjs';
3
3
 
4
4
  const VcExplorerDialogForm = withInstall(Component);
5
5
 
@@ -15,7 +15,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  },
16
16
  setup(__props) {
17
17
  useCssVars((_ctx) => ({
18
- "v1db768b6": `${_ctx.padding}px`
18
+ "v661a71b4": `${_ctx.padding}px`
19
19
  }));
20
20
  const panelRef = useTemplateRef("panelRef");
21
21
  const fullscreenTarget = ref();
@@ -57,8 +57,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
57
57
  }
58
58
  });
59
59
 
60
- /* unplugin-vue-components disabled */const panel = "_panel_eba23_1";
61
- const container = "_container_eba23_6";
60
+ /* unplugin-vue-components disabled */const panel = "_panel_1egb6_1";
61
+ const container = "_container_1egb6_9";
62
62
  const style0 = {
63
63
  panel: panel,
64
64
  container: container
@@ -1,12 +1,15 @@
1
1
  /* source: src/components/explorer-panel/explorer-panel.vue */
2
- ._panel_eba23_1 {
2
+ ._panel_1egb6_1 {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  }
6
- ._container_eba23_6 {
6
+ ._panel_1egb6_1 .vc-explorer-query + .vc-explorer-tools {
7
+ padding-top: 8px;
8
+ }
9
+ ._container_1egb6_9 {
7
10
  display: flex;
8
11
  flex-direction: column;
9
- padding: var(--v1db768b6);
12
+ padding: var(--v661a71b4);
10
13
  flex-grow: 1;
11
14
  height: 100px;
12
15
  }
@@ -53,8 +53,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
53
  emits: ["search"],
54
54
  setup(__props, { emit: __emit }) {
55
55
  useCssVars((_ctx) => ({
56
- "f439917e": `${_ctx.paddingBottom}px`,
57
- "v2fbb1e90": `${_ctx.height}px`
56
+ "v4fedc6d4": `${_ctx.paddingBottom}px`,
57
+ "v2a8bf085": `${_ctx.height}px`
58
58
  }));
59
59
  const props = __props;
60
60
  const emits = __emit;
@@ -97,7 +97,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
97
97
  return openBlock(), createElementBlock("div", {
98
98
  ref_key: "queryRef",
99
99
  ref: queryRef,
100
- class: normalizeClass(_ctx.$style["explorer-query"])
100
+ class: normalizeClass([_ctx.$style["explorer-query"], "vc-explorer-query"])
101
101
  }, [
102
102
  createElementVNode("div", {
103
103
  ref_key: "formContainerRef",