@zl-ui-kit/components 0.5.1 → 0.6.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 (74) hide show
  1. package/README.md +3009 -148
  2. package/dist/components/ZlAction/types.d.ts +7 -0
  3. package/dist/components/ZlAddSub/index.css +1 -1
  4. package/dist/components/ZlAddSub/index.vue.mjs +1 -1
  5. package/dist/components/ZlAutoTooltip/index.css +1 -1
  6. package/dist/components/ZlAutoTooltip/index.vue.mjs +1 -1
  7. package/dist/components/ZlAutoTooltip/index2.vue.mjs +7 -3
  8. package/dist/components/ZlAvatar/Group.css +1 -1
  9. package/dist/components/ZlAvatar/Group.vue.mjs +2 -2
  10. package/dist/components/ZlAvatar/index.css +1 -1
  11. package/dist/components/ZlAvatar/index.vue.mjs +2 -2
  12. package/dist/components/ZlCardPage/index.vue.d.ts +6 -12
  13. package/dist/components/ZlCardPage/index.vue.mjs +24 -10
  14. package/dist/components/ZlChart/index.vue.mjs +11 -5
  15. package/dist/components/ZlCheckAll/index.css +1 -1
  16. package/dist/components/ZlCheckAll/index.vue.mjs +2 -2
  17. package/dist/components/ZlCheckboxTag/index.vue.mjs +1 -2
  18. package/dist/components/ZlCopy/index.css +1 -1
  19. package/dist/components/ZlCopy/index.vue.mjs +2 -2
  20. package/dist/components/ZlDictTag/index.vue.mjs +10 -6
  21. package/dist/components/ZlDynamicComponent/index.vue.mjs +1 -2
  22. package/dist/components/ZlEditor/ZlSqlEditor.vue.mjs +13 -8
  23. package/dist/components/ZlEditor/index.vue.mjs +28 -19
  24. package/dist/components/ZlEmpty/index.css +1 -1
  25. package/dist/components/ZlEmpty/index.vue.mjs +2 -2
  26. package/dist/components/ZlFileViewer/index.css +1 -1
  27. package/dist/components/ZlFileViewer/index.vue.mjs +2 -2
  28. package/dist/components/ZlForm/index.vue.mjs +15 -12
  29. package/dist/components/ZlGrid/index.vue.mjs +1 -2
  30. package/dist/components/ZlGrid/types.d.ts +5 -0
  31. package/dist/components/ZlHorizontalTable/index.css +1 -1
  32. package/dist/components/ZlHorizontalTable/index.vue.mjs +1 -1
  33. package/dist/components/ZlLayoutSwitch/index.css +1 -1
  34. package/dist/components/ZlLayoutSwitch/index.vue.mjs +2 -2
  35. package/dist/components/ZlLogin/components/LoginForm.css +1 -1
  36. package/dist/components/ZlLogin/components/LoginForm.vue.mjs +2 -2
  37. package/dist/components/ZlLogin/components/LoginForm2.vue.mjs +4 -3
  38. package/dist/components/ZlLogin/components/SlideChecker.css +1 -1
  39. package/dist/components/ZlLogin/components/SlideChecker.vue.mjs +2 -2
  40. package/dist/components/ZlLogin/components/SlideChecker2.vue.mjs +2 -8
  41. package/dist/components/ZlLogin/index.vue.mjs +2 -3
  42. package/dist/components/ZlPagination/index.css +1 -1
  43. package/dist/components/ZlPagination/index.vue.mjs +1 -1
  44. package/dist/components/ZlPagination/index2.vue.mjs +17 -8
  45. package/dist/components/ZlPermission/usePermission.mjs +9 -5
  46. package/dist/components/ZlSearch/index.css +1 -1
  47. package/dist/components/ZlSearch/index.vue.d.ts +9 -3
  48. package/dist/components/ZlSearch/index.vue.mjs +129 -114
  49. package/dist/components/ZlSearch/useSearchFormOverflow.d.ts +17 -0
  50. package/dist/components/ZlSearch/useSearchFormOverflow.mjs +50 -0
  51. package/dist/components/ZlSearchTable/index.vue.d.ts +6 -12
  52. package/dist/components/ZlSearchTable/index.vue.mjs +28 -17
  53. package/dist/components/ZlSorter/ZlSorterList.css +1 -1
  54. package/dist/components/ZlSorter/ZlSorterList.vue.mjs +2 -2
  55. package/dist/components/ZlSorter/index.css +1 -1
  56. package/dist/components/ZlSorter/index.vue.mjs +2 -2
  57. package/dist/components/ZlTable/index.vue.mjs +14 -8
  58. package/dist/components/ZlTable/useTablePagination.mjs +16 -10
  59. package/dist/components/ZlTabs/index.vue.mjs +21 -10
  60. package/dist/components/ZlText/index.css +1 -1
  61. package/dist/components/ZlText/index.vue.mjs +1 -1
  62. package/dist/components/ZlTitle/index.css +1 -1
  63. package/dist/components/ZlTitle/index.vue.mjs +2 -2
  64. package/dist/components/ZlTree/index.vue.mjs +13 -8
  65. package/dist/components/ZlTreeSelect/index.css +1 -1
  66. package/dist/components/ZlTreeSelect/index.vue.mjs +1 -1
  67. package/dist/components/ZlUpload/index.css +1 -1
  68. package/dist/components/ZlUpload/index.vue.mjs +2 -2
  69. package/dist/index.d.ts +1 -1
  70. package/dist/locales/en.mjs +2 -0
  71. package/dist/locales/messages.mjs +2 -2
  72. package/dist/locales/zh-cn.mjs +2 -0
  73. package/dist/types.d.ts +8 -0
  74. package/package.json +6 -6
@@ -2,12 +2,19 @@
2
2
  * 操作项模型(ZlActionList / ZlTable actions 列共用)
3
3
  */
4
4
  export interface ActionItem {
5
+ /** 操作文案 */
5
6
  label: string;
7
+ /** 图标(`zl:` 前缀走 ZlIcon,其余按 iconify/EP 规则) */
6
8
  icon?: string;
9
+ /** 传给图标组件的 props */
7
10
  iconProps?: Record<string, any>;
11
+ /** 图标自定义类名 */
8
12
  iconClass?: string;
13
+ /** 是否用 tooltip 包住文案(文字过长时) */
9
14
  tooltip?: boolean;
15
+ /** 禁用(点击无响应) */
10
16
  disabled?: boolean;
17
+ /** 与下一项之间显示分割线 */
11
18
  divided?: boolean;
12
19
  /** 权限键(三段式,经 usePermission 校验) */
13
20
  permission?: string | string[];
@@ -1 +1 @@
1
- .zl-add[data-v-a7c5b5d7]{display:flex;flex-direction:column;gap:8px}.zl-add__box[data-v-a7c5b5d7]{display:flex;flex-direction:row;align-items:center}.zl-add__box .zl-icon[data-v-a7c5b5d7]{cursor:pointer;margin-left:8px}.zl-add__content[data-v-a7c5b5d7]{flex:1}.zl-add__dot[data-v-a7c5b5d7]{display:inline-flex;width:14px;height:14px;margin-left:8px}
1
+ .zl-add[data-v-c529aed8]{display:flex;flex-direction:column;gap:8px}.zl-add__box[data-v-c529aed8]{display:flex;flex-direction:row;align-items:center}.zl-add__box .zl-icon[data-v-c529aed8]{cursor:pointer;margin-left:8px}.zl-add__content[data-v-c529aed8]{flex:1}.zl-add__dot[data-v-c529aed8]{display:inline-flex;width:14px;height:14px;margin-left:8px}
@@ -1,7 +1,7 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a7c5b5d7"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-c529aed8"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1 +1 @@
1
- .zl-auto-tooltip[data-v-2e71751a]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
1
+ .zl-auto-tooltip[data-v-9f335532]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@@ -1,7 +1,7 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-2e71751a"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9f335532"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -10,9 +10,13 @@ const w = /* @__PURE__ */ u({
10
10
  const a = u({
11
11
  render({ $slots: t }) {
12
12
  return f("div", { class: "zl-auto-tooltip", ref: e, ...v }, [
13
- f("span", { class: "zl-auto-tooltip__content", ref: o }, {
14
- default: () => t.default?.()
15
- })
13
+ f(
14
+ "span",
15
+ { class: "zl-auto-tooltip__content", ref: o },
16
+ {
17
+ default: () => t.default?.()
18
+ }
19
+ )
16
20
  ]);
17
21
  }
18
22
  });
@@ -1 +1 @@
1
- .zl-avatar-group[data-v-9a1e91e1]{position:relative;display:inline-flex;align-items:center}.zl-avatar-group__divider[data-v-9a1e91e1]{margin:auto 11px auto 6px;height:16px;border-left:1px solid var(--zl-border-2, rgb(201, 205, 212))}.zl-avatar-group__divider~.zl-avatar[data-v-9a1e91e1]{border:1px solid var(--zl-bg-1, #fff);margin-left:-5px}
1
+ .zl-avatar-group[data-v-fd7f8bd7]{position:relative;display:inline-flex;align-items:center}.zl-avatar-group__divider[data-v-fd7f8bd7]{margin:auto 11px auto 6px;height:16px;border-left:1px solid var(--zl-border-2, rgb(201, 205, 212))}.zl-avatar-group__divider~.zl-avatar[data-v-fd7f8bd7]{border:1px solid var(--zl-bg-1, #fff);margin-left:-5px}
@@ -1,8 +1,8 @@
1
1
  import o from "./Group2.vue.mjs";
2
2
  import './Group.css';/* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-9a1e91e1"]]);
4
+ const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-fd7f8bd7"]]);
5
5
  export {
6
- e as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=Group.vue.mjs.map
@@ -1 +1 @@
1
- .zl-avatar[data-v-51c25c32]{position:relative;display:flex;align-items:center;border-radius:50%;overflow:hidden;color:#fff;box-sizing:content-box;width:var(--zl-avatar-size);height:var(--zl-avatar-size);font-size:var(--zl-avatar-size)}.zl-avatar__text[data-v-51c25c32]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase;background-color:var(--zl-gold-6, #f7ba1e);font-size:40%}.zl-avatar__image[data-v-51c25c32]{width:100%;overflow:hidden}
1
+ .zl-avatar[data-v-1b7b392b]{position:relative;display:flex;align-items:center;border-radius:50%;overflow:hidden;color:#fff;box-sizing:content-box;width:var(--zl-avatar-size);height:var(--zl-avatar-size);font-size:var(--zl-avatar-size)}.zl-avatar__text[data-v-1b7b392b]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase;background-color:var(--zl-gold-6, #f7ba1e);font-size:40%}.zl-avatar__image[data-v-1b7b392b]{width:100%;overflow:hidden}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-51c25c32"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-1b7b392b"]]);
5
5
  export {
6
- m as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -42,7 +42,6 @@ declare function __VLS_template(): {
42
42
  readonly immediate?: boolean | undefined;
43
43
  readonly disabled?: boolean | undefined;
44
44
  readonly showLabels?: boolean | undefined;
45
- readonly overflowCount?: number | undefined;
46
45
  readonly onSearch?: ((params: Record<string, any>) => any) | undefined;
47
46
  readonly onReset?: (() => any) | undefined;
48
47
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
@@ -239,7 +238,6 @@ declare function __VLS_template(): {
239
238
  immediate?: boolean;
240
239
  disabled?: boolean;
241
240
  showLabels?: boolean;
242
- overflowCount?: number;
243
241
  }> & Readonly<{
244
242
  onSearch?: ((params: Record<string, any>) => any) | undefined;
245
243
  onReset?: (() => any) | undefined;
@@ -254,7 +252,7 @@ declare function __VLS_template(): {
254
252
  immediate: boolean;
255
253
  disabled: boolean;
256
254
  items: SearchItem[];
257
- overflowCount: number;
255
+ showLabels: boolean;
258
256
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
259
257
  beforeCreate?: (() => void) | (() => void)[];
260
258
  created?: (() => void) | (() => void)[];
@@ -279,18 +277,17 @@ declare function __VLS_template(): {
279
277
  immediate: boolean;
280
278
  disabled: boolean;
281
279
  items: SearchItem[];
282
- overflowCount: number;
280
+ showLabels: boolean;
283
281
  }> & Omit<Readonly<{
284
282
  items?: SearchItem[];
285
283
  model?: Record<string, any>;
286
284
  immediate?: boolean;
287
285
  disabled?: boolean;
288
286
  showLabels?: boolean;
289
- overflowCount?: number;
290
287
  }> & Readonly<{
291
288
  onSearch?: ((params: Record<string, any>) => any) | undefined;
292
289
  onReset?: (() => any) | undefined;
293
- }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "overflowCount")> & {
290
+ }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "showLabels")> & {
294
291
  params: Record<string, any>;
295
292
  search: () => Promise<void>;
296
293
  reset: () => Promise<void>;
@@ -350,7 +347,6 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
350
347
  readonly immediate?: boolean | undefined;
351
348
  readonly disabled?: boolean | undefined;
352
349
  readonly showLabels?: boolean | undefined;
353
- readonly overflowCount?: number | undefined;
354
350
  readonly onSearch?: ((params: Record<string, any>) => any) | undefined;
355
351
  readonly onReset?: (() => any) | undefined;
356
352
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
@@ -547,7 +543,6 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
547
543
  immediate?: boolean;
548
544
  disabled?: boolean;
549
545
  showLabels?: boolean;
550
- overflowCount?: number;
551
546
  }> & Readonly<{
552
547
  onSearch?: ((params: Record<string, any>) => any) | undefined;
553
548
  onReset?: (() => any) | undefined;
@@ -562,7 +557,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
562
557
  immediate: boolean;
563
558
  disabled: boolean;
564
559
  items: SearchItem[];
565
- overflowCount: number;
560
+ showLabels: boolean;
566
561
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
567
562
  beforeCreate?: (() => void) | (() => void)[];
568
563
  created?: (() => void) | (() => void)[];
@@ -587,18 +582,17 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
587
582
  immediate: boolean;
588
583
  disabled: boolean;
589
584
  items: SearchItem[];
590
- overflowCount: number;
585
+ showLabels: boolean;
591
586
  }> & Omit<Readonly<{
592
587
  items?: SearchItem[];
593
588
  model?: Record<string, any>;
594
589
  immediate?: boolean;
595
590
  disabled?: boolean;
596
591
  showLabels?: boolean;
597
- overflowCount?: number;
598
592
  }> & Readonly<{
599
593
  onSearch?: ((params: Record<string, any>) => any) | undefined;
600
594
  onReset?: (() => any) | undefined;
601
- }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "overflowCount")> & {
595
+ }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "showLabels")> & {
602
596
  params: Record<string, any>;
603
597
  search: () => Promise<void>;
604
598
  reset: () => Promise<void>;
@@ -25,21 +25,32 @@ const ee = { class: "zl-card-page__content" }, te = { class: "zl-card-page__list
25
25
  ...a.request,
26
26
  options: Object.assign({ initialData: [] }, a.request.options, { manual: !0 })
27
27
  };
28
- }), { loading: E, data: n, run: I, params: N, refresh: _ } = Q(v.value.service, v.value.options), j = i(() => N.value?.[0]), O = i(() => {
28
+ }), {
29
+ loading: E,
30
+ data: n,
31
+ run: I,
32
+ params: N,
33
+ refresh: _
34
+ } = Q(v.value.service, v.value.options), j = i(() => N.value?.[0]), O = i(() => {
29
35
  if (w(n.value))
30
36
  return a.pagination && { total: n.value.length, ...a.pagination };
31
37
  {
32
38
  const { pageNum: e, pageSize: t, total: d = 0 } = n.value;
33
39
  return { pageNum: e, pageSize: t, total: d };
34
40
  }
35
- }), u = Y(() => O.value ?? !1), y = i(() => w(n.value) ? n.value : n.value?.rows ?? []), W = i(() => {
41
+ }), u = Y(() => O.value ?? !1), y = i(
42
+ () => w(n.value) ? n.value : n.value?.rows ?? []
43
+ ), W = i(() => {
36
44
  const e = [];
37
45
  return Object.keys(D).forEach((t) => {
38
46
  t.startsWith(B) && t !== "search-actions" && e.push(t.slice(B.length));
39
47
  }), e;
40
48
  });
41
49
  let m;
42
- function c(e, t = { pageNum: 1, pageSize: u.value !== !1 ? u.value.pageSize : 30 }) {
50
+ function c(e, t = {
51
+ pageNum: 1,
52
+ pageSize: u.value !== !1 ? u.value.pageSize : 30
53
+ }) {
43
54
  m = {
44
55
  ...m,
45
56
  ...e,
@@ -55,14 +66,17 @@ const ee = { class: "zl-card-page__content" }, te = { class: "zl-card-page__list
55
66
  ), C({
56
67
  refresh: _,
57
68
  params: j,
58
- search: new Proxy({}, {
59
- get(e, t) {
60
- return !l.value && t === "search" ? c : l.value?.[t];
61
- },
62
- has(e, t) {
63
- return t in (l.value ?? {});
69
+ search: new Proxy(
70
+ {},
71
+ {
72
+ get(e, t) {
73
+ return !l.value && t === "search" ? c : l.value?.[t];
74
+ },
75
+ has(e, t) {
76
+ return t in (l.value ?? {});
77
+ }
64
78
  }
65
- })
79
+ )
66
80
  }), (e, t) => {
67
81
  const d = V("loading");
68
82
  return A((o(), q("div", {
@@ -28,11 +28,17 @@ const C = /* @__PURE__ */ v({
28
28
  }
29
29
  return z(t, () => {
30
30
  e.value?.resize();
31
- }), c(() => r.value, () => {
32
- n();
33
- }), c(() => s.theme, () => {
34
- e.value?.dispose(), e.value = void 0, o();
35
- }), k(() => {
31
+ }), c(
32
+ () => r.value,
33
+ () => {
34
+ n();
35
+ }
36
+ ), c(
37
+ () => s.theme,
38
+ () => {
39
+ e.value?.dispose(), e.value = void 0, o();
40
+ }
41
+ ), k(() => {
36
42
  o();
37
43
  }), w(() => {
38
44
  e.value?.dispose();
@@ -1 +1 @@
1
- .zl-check[data-v-b48128de]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.zl-check__all[data-v-b48128de]{margin-bottom:4px}.zl-check[data-v-b48128de] .el-checkbox:not(.zl-check__all){padding:5px;background:var(--zl-primary-1, var(--el-color-primary-light-9, #e8f3ff))}.zl-check[data-v-b48128de] .el-checkbox:not(.zl-check__all):hover{background:var(--zl-fill-3, #e3e9ef)}
1
+ .zl-check[data-v-b31c776a]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.zl-check__all[data-v-b31c776a]{margin-bottom:4px}.zl-check[data-v-b31c776a] .el-checkbox:not(.zl-check__all){padding:5px;background:var(--zl-primary-1, var(--el-color-primary-light-9, #e8f3ff))}.zl-check[data-v-b31c776a] .el-checkbox:not(.zl-check__all):hover{background:var(--zl-fill-3, #e3e9ef)}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b48128de"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b31c776a"]]);
5
5
  export {
6
- p as default
6
+ m as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -24,8 +24,7 @@ const M = { class: "zl-checkbox-tag" }, T = /* @__PURE__ */ x({
24
24
  }
25
25
  const t = i(() => new Set(s.single ? [a.value] : a.value ?? []));
26
26
  function f(e) {
27
- if (e.disabled)
28
- return;
27
+ if (e.disabled) return;
29
28
  const u = s.single ? [a.value] : [...a.value ?? []], l = u.includes(e.value);
30
29
  if (c.value && !l) {
31
30
  const n = e;
@@ -1 +1 @@
1
- .zl-copy[data-v-4138f7a5]{max-width:100%;display:inline-flex;align-items:center;gap:12px}.zl-copy__text[data-v-4138f7a5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
1
+ .zl-copy[data-v-239e8431]{max-width:100%;display:inline-flex;align-items:center;gap:12px}.zl-copy__text[data-v-239e8431]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-4138f7a5"]]);
4
+ const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-239e8431"]]);
5
5
  export {
6
- f as default
6
+ _ as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -17,12 +17,16 @@ const b = /* @__PURE__ */ f({
17
17
  },
18
18
  setup(a) {
19
19
  const e = a, v = g(e.dictKey, { data: e.dict });
20
- y(() => e.dict, (t) => {
21
- if (t?.length) {
22
- const { dictStore: i } = h();
23
- i.value = { ...i.value, [e.dictKey]: t };
24
- }
25
- }, { deep: !1 });
20
+ y(
21
+ () => e.dict,
22
+ (t) => {
23
+ if (t?.length) {
24
+ const { dictStore: i } = h();
25
+ i.value = { ...i.value, [e.dictKey]: t };
26
+ }
27
+ },
28
+ { deep: !1 }
29
+ );
26
30
  const o = r(() => v.value.find((t) => t.value === e.value)), c = r(() => o.value ? {
27
31
  color: e.simple ? void 0 : o.value.color,
28
32
  icon: e.hideIcon ? void 0 : o.value.icon
@@ -43,8 +43,7 @@ const j = O({
43
43
  slot: m
44
44
  });
45
45
  }), C = (e) => typeof e == "string" ? a(e) : e, V = () => {
46
- if (u(o.component))
47
- return null;
46
+ if (u(o.component)) return null;
48
47
  const {
49
48
  type: e,
50
49
  model: n,
@@ -46,14 +46,19 @@ const N = /* @__PURE__ */ p({
46
46
  async function c() {
47
47
  a(), t.value = w(t.value ?? "");
48
48
  }
49
- return m(new Proxy({ validate: a, format: c }, {
50
- get(e, o, l) {
51
- return Reflect.get(e, o, l) ?? r.value?.[o];
52
- },
53
- has(e, o) {
54
- return Reflect.has(e, o) || o in (r.value ?? {});
55
- }
56
- })), (e, o) => (q(), h(k, C({
49
+ return m(
50
+ new Proxy(
51
+ { validate: a, format: c },
52
+ {
53
+ get(e, o, l) {
54
+ return Reflect.get(e, o, l) ?? r.value?.[o];
55
+ },
56
+ has(e, o) {
57
+ return Reflect.has(e, o) || o in (r.value ?? {});
58
+ }
59
+ }
60
+ )
61
+ ), (e, o) => (q(), h(k, C({
57
62
  ref_key: "editorRef",
58
63
  ref: r,
59
64
  modelValue: t.value,
@@ -21,28 +21,37 @@ const w = /* @__PURE__ */ i({
21
21
  requestAnimationFrame(() => {
22
22
  e.value?.layout();
23
23
  });
24
- }), h(l, (a) => {
25
- e.value = _.editor.create(a, {
26
- value: o.value,
27
- language: r.language,
28
- minimap: { enabled: !1 },
29
- theme: "zl-editor-theme",
30
- ...r.options
31
- }), e.value.onDidChangeModelContent(() => {
32
- o.value = e.value?.getValue() ?? "";
33
- });
34
- }, { once: !0 }), d(o, () => {
24
+ }), h(
25
+ l,
26
+ (a) => {
27
+ e.value = _.editor.create(a, {
28
+ value: o.value,
29
+ language: r.language,
30
+ minimap: { enabled: !1 },
31
+ theme: "zl-editor-theme",
32
+ ...r.options
33
+ }), e.value.onDidChangeModelContent(() => {
34
+ o.value = e.value?.getValue() ?? "";
35
+ });
36
+ },
37
+ { once: !0 }
38
+ ), d(o, () => {
35
39
  e.value?.getValue() !== o.value && e.value?.setValue(o.value ?? "");
36
40
  }), c(() => {
37
41
  e.value?.dispose();
38
- }), s(new Proxy({}, {
39
- get(a, t) {
40
- return e.value?.[t];
41
- },
42
- has(a, t) {
43
- return t in (e.value ?? {});
44
- }
45
- })), (a, t) => (p(), v("div", {
42
+ }), s(
43
+ new Proxy(
44
+ {},
45
+ {
46
+ get(a, t) {
47
+ return e.value?.[t];
48
+ },
49
+ has(a, t) {
50
+ return t in (e.value ?? {});
51
+ }
52
+ }
53
+ )
54
+ ), (a, t) => (p(), v("div", {
46
55
  ref_key: "editorEl",
47
56
  ref: l,
48
57
  class: "zl-editor"
@@ -1 +1 @@
1
- .zl-empty[data-v-be5b8e5c]{padding-block:5vw;display:flex;flex-direction:column;justify-content:center;align-items:center}.zl-empty__icon[data-v-be5b8e5c]{width:128px;max-width:100%}.zl-empty__icon svg[data-v-be5b8e5c]{width:100%}.zl-empty__text[data-v-be5b8e5c]{margin-top:18px;font-size:14px;line-height:22px;color:var(--zl-text-3, var(--el-text-color-secondary, #79879c))}
1
+ .zl-empty[data-v-931061b4]{padding-block:5vw;display:flex;flex-direction:column;justify-content:center;align-items:center}.zl-empty__icon[data-v-931061b4]{width:128px;max-width:100%}.zl-empty__icon svg[data-v-931061b4]{width:100%}.zl-empty__text[data-v-931061b4]{margin-top:18px;font-size:14px;line-height:22px;color:var(--zl-text-3, var(--el-text-color-secondary, #79879c))}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-be5b8e5c"]]);
4
+ const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-931061b4"]]);
5
5
  export {
6
- e as default
6
+ _ as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -1 +1 @@
1
- .zl-file-viewer[data-v-0ff2a458]{height:100%;overflow:auto}.zl-file-viewer[data-v-0ff2a458] .docx-wrapper{background:var(--zl-bg-1, #fff);padding:0}.zl-file-viewer[data-v-0ff2a458] .docx-wrapper>section.docx{box-shadow:none;padding:0!important}
1
+ .zl-file-viewer[data-v-381efa54]{height:100%;overflow:auto}.zl-file-viewer[data-v-381efa54] .docx-wrapper{background:var(--zl-bg-1, #fff);padding:0}.zl-file-viewer[data-v-381efa54] .docx-wrapper>section.docx{box-shadow:none;padding:0!important}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0ff2a458"]]);
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-381efa54"]]);
5
5
  export {
6
- m as default
6
+ f as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -16,8 +16,7 @@ const G = { class: "zl-form-item-label" }, w = "onUpdate:modelValue", Q = /* @__
16
16
  throw new Error("[ZlForm]: form item's model is required!");
17
17
  e.defaultValue !== void 0 && t.value[e.model] === void 0 && (t.value[e.model] = e.defaultValue);
18
18
  }), v.value.forEach((e) => {
19
- if (!$(e))
20
- return;
19
+ if (!$(e)) return;
21
20
  const {
22
21
  visible: r,
23
22
  props: a,
@@ -57,8 +56,7 @@ const G = { class: "zl-form-item-label" }, w = "onUpdate:modelValue", Q = /* @__
57
56
  }
58
57
  async function F() {
59
58
  const o = await n.value?.validate().catch((e) => e);
60
- if (o !== !0)
61
- throw o;
59
+ if (o !== !0) throw o;
62
60
  }
63
61
  async function N(o) {
64
62
  try {
@@ -67,14 +65,19 @@ const G = { class: "zl-form-item-label" }, w = "onUpdate:modelValue", Q = /* @__
67
65
  throw e;
68
66
  }
69
67
  }
70
- return P(new Proxy({ validate: F, validateField: N }, {
71
- get(o, e, r) {
72
- return Reflect.get(o, e, r) || n.value?.[e];
73
- },
74
- has(o, e) {
75
- return Reflect.has(o, e) || e in (n.value ?? {});
76
- }
77
- })), (o, e) => {
68
+ return P(
69
+ new Proxy(
70
+ { validate: F, validateField: N },
71
+ {
72
+ get(o, e, r) {
73
+ return Reflect.get(o, e, r) || n.value?.[e];
74
+ },
75
+ has(o, e) {
76
+ return Reflect.has(o, e) || e in (n.value ?? {});
77
+ }
78
+ }
79
+ )
80
+ ), (o, e) => {
78
81
  const r = c("el-tooltip"), a = c("el-form-item"), m = c("el-form");
79
82
  return s(), u(m, i({
80
83
  ref_key: "formRef",
@@ -29,8 +29,7 @@ const F = /* @__PURE__ */ R({
29
29
  }
30
30
  return o;
31
31
  }), c = p(null), f = p({}), z = y(() => {
32
- if (e.labelPosition === "top")
33
- return "100%";
32
+ if (e.labelPosition === "top") return "100%";
34
33
  if (e.labelWidth !== "auto")
35
34
  return typeof e.labelWidth == "number" ? `${e.labelWidth}px` : e.labelWidth;
36
35
  const o = Math.max(...Object.values(f.value));
@@ -1,11 +1,16 @@
1
1
  /** ZlGrid 子项 schema */
2
2
  export interface IGridItem {
3
+ /** 字段标签 */
3
4
  label: string;
5
+ /** 取值字段名(同时作为插槽名 `#key`) */
4
6
  key: string;
5
7
  /** 跨列数('auto' 占满剩余列) */
6
8
  size?: number | 'auto';
9
+ /** 自定义取值(缺省按 key 从 data 取) */
7
10
  getValue?: (data: Record<string, any>, key: string, item: IGridItem) => any;
11
+ /** 显隐判定 */
8
12
  visible?: boolean | ((value: unknown, key: string, data: Record<string, any>) => boolean);
13
+ /** 字典:字典 key,或 `{ dictKey, simple, showType }` 配置(走 ZlDictTag 翻译) */
9
14
  dict?: string | {
10
15
  dictKey: string;
11
16
  simple?: boolean;
@@ -1 +1 @@
1
- .zl-horizontal-table[data-v-e6b52e78]{border:1px solid var(--zl-border-2, #e3e9ef);border-bottom:none}.zl-horizontal-table__row[data-v-e6b52e78]{display:flex;flex-direction:row;border-bottom:1px solid var(--zl-border-2, #e3e9ef);align-items:stretch}.zl-horizontal-table__label[data-v-e6b52e78]{border-right:1px solid var(--zl-border-2, #e3e9ef);background:var(--zl-fill-2, #eff4f9);font-weight:400;font-size:12px;line-height:20px;color:var(--zl-text-2, #4d5e7d);padding:10px;display:flex;align-items:center}.zl-horizontal-table__value[data-v-e6b52e78]{flex:1;font-weight:400;font-size:12px;line-height:20px;color:var(--zl-text-1, #242e43);padding:10px}.zl-horizontal-table__value.ellipsis[data-v-e6b52e78]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
1
+ .zl-horizontal-table[data-v-26a460be]{border:1px solid var(--zl-border-2, #e3e9ef);border-bottom:none}.zl-horizontal-table__row[data-v-26a460be]{display:flex;flex-direction:row;border-bottom:1px solid var(--zl-border-2, #e3e9ef);align-items:stretch}.zl-horizontal-table__label[data-v-26a460be]{border-right:1px solid var(--zl-border-2, #e3e9ef);background:var(--zl-fill-2, #eff4f9);font-weight:400;font-size:12px;line-height:20px;color:var(--zl-text-2, #4d5e7d);padding:10px;display:flex;align-items:center}.zl-horizontal-table__value[data-v-26a460be]{flex:1;font-weight:400;font-size:12px;line-height:20px;color:var(--zl-text-1, #242e43);padding:10px}.zl-horizontal-table__value.ellipsis[data-v-26a460be]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@@ -1,7 +1,7 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e6b52e78"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-26a460be"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1 +1 @@
1
- .zl-layout-switch .el-radio-button[data-v-564f8aa8]{line-height:1;font-size:14px;padding:9px}
1
+ .zl-layout-switch .el-radio-button[data-v-cf911518]{line-height:1;font-size:14px;padding:9px}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-564f8aa8"]]);
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-cf911518"]]);
5
5
  export {
6
- m as default
6
+ f as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -1 +1 @@
1
- .zl-login__action[data-v-2e319ae5]{margin-top:15px}[data-v-2e319ae5] .el-form-item{margin-bottom:20px}
1
+ .zl-login__action[data-v-31ba3d4e]{margin-top:15px}[data-v-31ba3d4e] .el-form-item{margin-bottom:20px}
@@ -1,8 +1,8 @@
1
1
  import o from "./LoginForm2.vue.mjs";
2
2
  import './LoginForm.css';/* empty css */
3
3
  import r from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-2e319ae5"]]);
4
+ const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-31ba3d4e"]]);
5
5
  export {
6
- e as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=LoginForm.vue.mjs.map
@@ -14,12 +14,13 @@ const N = {
14
14
  const { t: e } = F(), p = h, c = m(), l = z({}), b = V(() => ({
15
15
  username: [{ required: !0, message: e("zl.login.usernamePlaceholder", "请输入用户名") }],
16
16
  password: [{ required: !0, message: e("zl.login.passwordPlaceholder", "请输入密码") }],
17
- slideChecked: [{ type: "boolean", required: !0, message: e("zl.login.slideRequired", "请将滑块移至右侧") }]
17
+ slideChecked: [
18
+ { type: "boolean", required: !0, message: e("zl.login.slideRequired", "请将滑块移至右侧") }
19
+ ]
18
20
  })), f = m(null), i = m(!1);
19
21
  async function v() {
20
22
  try {
21
- if (await f.value?.validate().catch((o) => o) !== !0)
22
- return;
23
+ if (await f.value?.validate().catch((o) => o) !== !0) return;
23
24
  i.value = !0, p.onSubmit && await p.onSubmit(l), i.value = !1;
24
25
  } catch (r) {
25
26
  i.value = !1, c.value?.reset(), console.error("Login Submit: ", r);