@zl-ui-kit/components 0.5.1 → 0.6.1

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 (75) hide show
  1. package/README.md +3031 -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.d.ts +4 -0
  60. package/dist/components/ZlTabs/index.vue.mjs +31 -19
  61. package/dist/components/ZlText/index.css +1 -1
  62. package/dist/components/ZlText/index.vue.mjs +1 -1
  63. package/dist/components/ZlTitle/index.css +1 -1
  64. package/dist/components/ZlTitle/index.vue.mjs +2 -2
  65. package/dist/components/ZlTree/index.vue.mjs +13 -8
  66. package/dist/components/ZlTreeSelect/index.css +1 -1
  67. package/dist/components/ZlTreeSelect/index.vue.mjs +1 -1
  68. package/dist/components/ZlUpload/index.css +1 -1
  69. package/dist/components/ZlUpload/index.vue.mjs +2 -2
  70. package/dist/index.d.ts +1 -1
  71. package/dist/locales/en.mjs +2 -0
  72. package/dist/locales/messages.mjs +2 -2
  73. package/dist/locales/zh-cn.mjs +2 -0
  74. package/dist/types.d.ts +8 -0
  75. package/package.json +7 -7
@@ -37,7 +37,6 @@ declare function __VLS_template(): {
37
37
  readonly immediate?: boolean | undefined;
38
38
  readonly disabled?: boolean | undefined;
39
39
  readonly showLabels?: boolean | undefined;
40
- readonly overflowCount?: number | undefined;
41
40
  readonly onSearch?: ((params: Record<string, any>) => any) | undefined;
42
41
  readonly onReset?: (() => any) | undefined;
43
42
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
@@ -234,7 +233,6 @@ declare function __VLS_template(): {
234
233
  immediate?: boolean;
235
234
  disabled?: boolean;
236
235
  showLabels?: boolean;
237
- overflowCount?: number;
238
236
  }> & Readonly<{
239
237
  onSearch?: ((params: Record<string, any>) => any) | undefined;
240
238
  onReset?: (() => any) | undefined;
@@ -249,7 +247,7 @@ declare function __VLS_template(): {
249
247
  immediate: boolean;
250
248
  disabled: boolean;
251
249
  items: SearchItem[];
252
- overflowCount: number;
250
+ showLabels: boolean;
253
251
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
254
252
  beforeCreate?: (() => void) | (() => void)[];
255
253
  created?: (() => void) | (() => void)[];
@@ -274,18 +272,17 @@ declare function __VLS_template(): {
274
272
  immediate: boolean;
275
273
  disabled: boolean;
276
274
  items: SearchItem[];
277
- overflowCount: number;
275
+ showLabels: boolean;
278
276
  }> & Omit<Readonly<{
279
277
  items?: SearchItem[];
280
278
  model?: Record<string, any>;
281
279
  immediate?: boolean;
282
280
  disabled?: boolean;
283
281
  showLabels?: boolean;
284
- overflowCount?: number;
285
282
  }> & Readonly<{
286
283
  onSearch?: ((params: Record<string, any>) => any) | undefined;
287
284
  onReset?: (() => any) | undefined;
288
- }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "overflowCount")> & {
285
+ }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "showLabels")> & {
289
286
  params: Record<string, any>;
290
287
  search: () => Promise<void>;
291
288
  reset: () => Promise<void>;
@@ -447,7 +444,6 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
447
444
  readonly immediate?: boolean | undefined;
448
445
  readonly disabled?: boolean | undefined;
449
446
  readonly showLabels?: boolean | undefined;
450
- readonly overflowCount?: number | undefined;
451
447
  readonly onSearch?: ((params: Record<string, any>) => any) | undefined;
452
448
  readonly onReset?: (() => any) | undefined;
453
449
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
@@ -644,7 +640,6 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
644
640
  immediate?: boolean;
645
641
  disabled?: boolean;
646
642
  showLabels?: boolean;
647
- overflowCount?: number;
648
643
  }> & Readonly<{
649
644
  onSearch?: ((params: Record<string, any>) => any) | undefined;
650
645
  onReset?: (() => any) | undefined;
@@ -659,7 +654,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
659
654
  immediate: boolean;
660
655
  disabled: boolean;
661
656
  items: SearchItem[];
662
- overflowCount: number;
657
+ showLabels: boolean;
663
658
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
664
659
  beforeCreate?: (() => void) | (() => void)[];
665
660
  created?: (() => void) | (() => void)[];
@@ -684,18 +679,17 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
684
679
  immediate: boolean;
685
680
  disabled: boolean;
686
681
  items: SearchItem[];
687
- overflowCount: number;
682
+ showLabels: boolean;
688
683
  }> & Omit<Readonly<{
689
684
  items?: SearchItem[];
690
685
  model?: Record<string, any>;
691
686
  immediate?: boolean;
692
687
  disabled?: boolean;
693
688
  showLabels?: boolean;
694
- overflowCount?: number;
695
689
  }> & Readonly<{
696
690
  onSearch?: ((params: Record<string, any>) => any) | undefined;
697
691
  onReset?: (() => any) | undefined;
698
- }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "overflowCount")> & {
692
+ }>, "search" | "reset" | "params" | ("immediate" | "disabled" | "items" | "showLabels")> & {
699
693
  params: Record<string, any>;
700
694
  search: () => Promise<void>;
701
695
  reset: () => Promise<void>;
@@ -22,8 +22,7 @@ const U = { class: "zl-search-table" }, R = "search-", ne = /* @__PURE__ */ E({
22
22
  const e = [], t = [];
23
23
  return Object.keys(k).forEach((a) => {
24
24
  if (a.startsWith(R)) {
25
- if (a === "search-actions")
26
- return;
25
+ if (a === "search-actions") return;
27
26
  t.push({ slot: a, subSlot: a.slice(R.length) });
28
27
  } else
29
28
  e.push(a);
@@ -34,7 +33,13 @@ const U = { class: "zl-search-table" }, R = "search-", ne = /* @__PURE__ */ E({
34
33
  ...s.request,
35
34
  options: Object.assign({ initialData: [] }, s.request.options, { manual: !0 })
36
35
  };
37
- }), { loading: A, data: C, run: I, params: _, refresh: j } = H(v.value.service, v.value.options), N = m(() => _.value?.[0]), O = p.dataKey ?? p["data-key"] ?? "rows", { data: D, pagination: l } = Q({
36
+ }), {
37
+ loading: A,
38
+ data: C,
39
+ run: I,
40
+ params: _,
41
+ refresh: j
42
+ } = H(v.value.service, v.value.options), N = m(() => _.value?.[0]), O = p.dataKey ?? p["data-key"] ?? "rows", { data: D, pagination: l } = Q({
38
43
  data: C,
39
44
  pagination: V(s, "pagination"),
40
45
  dataKey: O,
@@ -58,22 +63,28 @@ const U = { class: "zl-search-table" }, R = "search-", ne = /* @__PURE__ */ E({
58
63
  ), w({
59
64
  refresh: j,
60
65
  params: N,
61
- search: new Proxy({}, {
62
- get(e, t) {
63
- return !n.value && t === "search" ? o : n.value?.[t];
64
- },
65
- has(e, t) {
66
- return t in (n.value ?? {});
66
+ search: new Proxy(
67
+ {},
68
+ {
69
+ get(e, t) {
70
+ return !n.value && t === "search" ? o : n.value?.[t];
71
+ },
72
+ has(e, t) {
73
+ return t in (n.value ?? {});
74
+ }
67
75
  }
68
- }),
69
- table: new Proxy({}, {
70
- get(e, t) {
71
- return i.value?.[t];
72
- },
73
- has(e, t) {
74
- return t in (i.value ?? {});
76
+ ),
77
+ table: new Proxy(
78
+ {},
79
+ {
80
+ get(e, t) {
81
+ return i.value?.[t];
82
+ },
83
+ has(e, t) {
84
+ return t in (i.value ?? {});
85
+ }
75
86
  }
76
- })
87
+ )
77
88
  }), (e, t) => (y(), W("div", U, [
78
89
  r.queryItems.length || e.$slots.searchActions || e.$slots["search-actions"] ? (y(), Z(J, {
79
90
  key: 0,
@@ -1 +1 @@
1
- .zl-sorter-list[data-v-01b68d91]{display:flex}.zl-sorter-list__separator[data-v-01b68d91]{margin:4px 2px;width:1px;background-color:var(--zl-border-2, #e3e9ef)}.zl-sorter-list__separator[data-v-01b68d91]:last-child{display:none}
1
+ .zl-sorter-list[data-v-f56434ea]{display:flex}.zl-sorter-list__separator[data-v-f56434ea]{margin:4px 2px;width:1px;background-color:var(--zl-border-2, #e3e9ef)}.zl-sorter-list__separator[data-v-f56434ea]:last-child{display:none}
@@ -1,8 +1,8 @@
1
1
  import o from "./ZlSorterList2.vue.mjs";
2
2
  import './ZlSorterList.css';/* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const s = /* @__PURE__ */ t(o, [["__scopeId", "data-v-01b68d91"]]);
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f56434ea"]]);
5
5
  export {
6
- s as default
6
+ f as default
7
7
  };
8
8
  //# sourceMappingURL=ZlSorterList.vue.mjs.map
@@ -1 +1 @@
1
- .zl-sorter[data-v-e1d99cfd]{display:inline-flex;align-items:center;cursor:pointer;gap:4px;font-size:12px;padding:1px 4px}.zl-sorter__label[data-v-e1d99cfd]{color:var(--zl-text-2, #4d5e7d)}.zl-sorter__label.active[data-v-e1d99cfd]{color:var(--zl-link-6, var(--el-color-primary, #3261ce))}.zl-sorter__icon[data-v-e1d99cfd]{display:inline-flex;flex-direction:column;font-size:8px;color:var(--zl-text-4, #b3c0cc)}.zl-sorter__icon .active[data-v-e1d99cfd]{color:var(--zl-link-6, var(--el-color-primary, #3261ce))}
1
+ .zl-sorter[data-v-b7ad4aa1]{display:inline-flex;align-items:center;cursor:pointer;gap:4px;font-size:12px;padding:1px 4px}.zl-sorter__label[data-v-b7ad4aa1]{color:var(--zl-text-2, #4d5e7d)}.zl-sorter__label.active[data-v-b7ad4aa1]{color:var(--zl-link-6, var(--el-color-primary, #3261ce))}.zl-sorter__icon[data-v-b7ad4aa1]{display:inline-flex;flex-direction:column;font-size:8px;color:var(--zl-text-4, #b3c0cc)}.zl-sorter__icon .active[data-v-b7ad4aa1]{color:var(--zl-link-6, var(--el-color-primary, #3261ce))}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.mjs";
2
2
  import './index.css';/* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-e1d99cfd"]]);
4
+ const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-b7ad4aa1"]]);
5
5
  export {
6
- m as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -35,18 +35,24 @@ const J = { class: "zl-table" }, M = { inheritAttrs: !1 }, ee = /* @__PURE__ */
35
35
  actions: Array.isArray(p) ? p : void 0,
36
36
  actionProps: a.actionProps,
37
37
  // arco 列属性兼容映射:ellipsis → EP showOverflowTooltip
38
- rest: { ...b !== void 0 ? { showOverflowTooltip: b !== !1 } : {}, ...R }
38
+ rest: {
39
+ ...b !== void 0 ? { showOverflowTooltip: b !== !1 } : {},
40
+ ...R
41
+ }
39
42
  };
40
43
  }));
41
44
  return C(
42
- new Proxy({}, {
43
- get(a, r) {
44
- return _.value?.[r];
45
- },
46
- has(a, r) {
47
- return r in (_.value ?? {});
45
+ new Proxy(
46
+ {},
47
+ {
48
+ get(a, r) {
49
+ return _.value?.[r];
50
+ },
51
+ has(a, r) {
52
+ return r in (_.value ?? {});
53
+ }
48
54
  }
49
- })
55
+ )
50
56
  ), (a, r) => {
51
57
  const n = w("el-table-column"), d = w("el-table"), p = D("loading");
52
58
  return o(), k("div", J, [
@@ -2,16 +2,22 @@ import { isArray as P, isPlainObject as d } from "@zl-ui-kit/utils";
2
2
  import { ref as r, computed as h, watch as z } from "vue";
3
3
  import { usePagination as b } from "../ZlPagination/usePagination.mjs";
4
4
  function C(c) {
5
- const { data: s, pagination: u, dataKey: p, emit: n } = c, g = b(() => u.value === void 0 ? {} : u.value), t = r([]), e = r({}), i = h(() => g.value ? Object.assign({}, g.value, e.value) : !1);
6
- z(s, (a) => {
7
- if (P(a))
8
- t.value = a;
9
- else if (d(a)) {
10
- t.value = a[p] ?? [];
11
- const { pageNum: o, pageSize: m, total: v } = a;
12
- e.value = { currentPage: o, pageSize: m, total: v };
13
- }
14
- }, { immediate: !0 });
5
+ const { data: s, pagination: u, dataKey: p, emit: n } = c, g = b(
6
+ () => u.value === void 0 ? {} : u.value
7
+ ), t = r([]), e = r({}), i = h(() => g.value ? Object.assign({}, g.value, e.value) : !1);
8
+ z(
9
+ s,
10
+ (a) => {
11
+ if (P(a))
12
+ t.value = a;
13
+ else if (d(a)) {
14
+ t.value = a[p] ?? [];
15
+ const { pageNum: o, pageSize: m, total: v } = a;
16
+ e.value = { currentPage: o, pageSize: m, total: v };
17
+ }
18
+ },
19
+ { immediate: !0 }
20
+ );
15
21
  function l(a) {
16
22
  const o = (i.value === !1 ? 30 : i.value.pageSize) ?? 30;
17
23
  n("pagination-change", { pageNum: a, pageSize: o }), n("page-change", a), e.value.currentPage = a;
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * 标签页(el-tabs 封装):tabs schema 驱动,每 tab 内容经具名插槽(#tab.key)渲染
3
3
  * EP 映射:tab.key→el-tab-pane name、tab.title→label、lazyLoad→lazy
4
+ *
5
+ * 注意:这里必须 import 组件本体,不能写 `h('el-tabs')` ——h() 收到字符串只会当成
6
+ * 原生标签(shapeFlag=ELEMENT),既不解析组件、也不会渲染出页签,且没有任何告警。
7
+ * 只有模板里的 `<el-tabs>` 才会被编译成 resolveComponent。
4
8
  */
5
9
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
10
  tabs: {
@@ -1,5 +1,6 @@
1
- import { defineComponent as o, h as r, renderSlot as l } from "vue";
2
- const u = o({
1
+ import { ElTabs as s, ElTabPane as b } from "element-plus";
2
+ import { defineComponent as u, h as r, renderSlot as l } from "vue";
3
+ const p = u({
3
4
  name: "ZlTabs",
4
5
  inheritAttrs: !1,
5
6
  props: {
@@ -8,37 +9,48 @@ const u = o({
8
9
  fit: Boolean,
9
10
  darkNav: { type: Boolean, default: !0 }
10
11
  },
11
- setup(e, { slots: a, attrs: d }) {
12
+ setup(a, { slots: e, attrs: d }) {
12
13
  return () => r("div", { class: "zl-tabs-wrap" }, [
13
14
  r(
14
- "el-tabs",
15
+ s,
15
16
  {
16
- class: ["zl-tabs", { "zl-tabs-no-border": !e.border, "zl-tabs-fit": e.fit, "zl-tabs-dark-nav": e.darkNav }],
17
+ class: [
18
+ "zl-tabs",
19
+ {
20
+ "zl-tabs-no-border": !a.border,
21
+ "zl-tabs-fit": a.fit,
22
+ "zl-tabs-dark-nav": a.darkNav
23
+ }
24
+ ],
17
25
  ...d
18
26
  },
19
27
  {
20
28
  default: () => [
21
- ...e.tabs.map((n) => {
22
- const { key: t, title: s, ...f } = n;
23
- return r("el-tab-pane", {
24
- key: t,
25
- name: t,
26
- label: s,
27
- lazy: !0,
28
- ...f
29
- }, {
30
- default: () => l(a, t, { tab: n })
31
- });
29
+ ...a.tabs.map((n) => {
30
+ const { key: t, title: o, ...f } = n;
31
+ return r(
32
+ b,
33
+ {
34
+ key: t,
35
+ name: t,
36
+ label: o,
37
+ lazy: !0,
38
+ ...f
39
+ },
40
+ {
41
+ default: () => l(e, t, { tab: n })
42
+ }
43
+ );
32
44
  }),
33
- l(a, "default")
45
+ l(e, "default")
34
46
  ]
35
47
  }
36
48
  ),
37
- l(a, "extra")
49
+ l(e, "extra")
38
50
  ]);
39
51
  }
40
52
  });
41
53
  export {
42
- u as default
54
+ p as default
43
55
  };
44
56
  //# sourceMappingURL=index.vue.mjs.map
@@ -1 +1 @@
1
- .zl-text[data-v-9d75868c]{display:inline-flex;font-size:12px;line-height:20px}
1
+ .zl-text[data-v-d7c0d648]{display:inline-flex;font-size:12px;line-height:20px}
@@ -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 _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9d75868c"]]);
4
+ const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d7c0d648"]]);
5
5
  export {
6
6
  _ as default
7
7
  };
@@ -1 +1 @@
1
- .zl-title[data-v-0effbbb1]{--font-size: 14px;display:flex;align-items:center;gap:4px}.zl-title-size-small[data-v-0effbbb1]{--font-size: 12px}.zl-title-marker[data-v-0effbbb1]{position:relative;width:3px;align-self:stretch}.zl-title-marker[data-v-0effbbb1]:after{content:"";position:absolute;top:5px;bottom:5px;width:100%;background-color:var(--zl-primary-6, var(--el-color-primary, #3261ce));border-radius:3px}.zl-title-text[data-v-0effbbb1]{font-size:var(--font-size);font-weight:600;line-height:calc(var(--font-size) + 8px);color:var(--zl-text-1, #242e43)}.zl-title-tooltip[data-v-0effbbb1]{color:var(--zl-text-2, #4d5e7d)}.zl-title-description[data-v-0effbbb1]{font-size:12px;line-height:20px;color:var(--zl-text-3, #79879c)}
1
+ .zl-title[data-v-602ab94c]{--font-size: 14px;display:flex;align-items:center;gap:4px}.zl-title-size-small[data-v-602ab94c]{--font-size: 12px}.zl-title-marker[data-v-602ab94c]{position:relative;width:3px;align-self:stretch}.zl-title-marker[data-v-602ab94c]:after{content:"";position:absolute;top:5px;bottom:5px;width:100%;background-color:var(--zl-primary-6, var(--el-color-primary, #3261ce));border-radius:3px}.zl-title-text[data-v-602ab94c]{font-size:var(--font-size);font-weight:600;line-height:calc(var(--font-size) + 8px);color:var(--zl-text-1, #242e43)}.zl-title-tooltip[data-v-602ab94c]{color:var(--zl-text-2, #4d5e7d)}.zl-title-description[data-v-602ab94c]{font-size:12px;line-height:20px;color:var(--zl-text-3, #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 m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0effbbb1"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-602ab94c"]]);
5
5
  export {
6
- m as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
@@ -28,14 +28,19 @@ const Q = { class: "zl-tree" }, W = {
28
28
  return e ? String(t[o.fieldNames.title] ?? "").includes(e) : !0;
29
29
  }
30
30
  const B = r(() => o.filterTreeNode ?? w), T = r(() => o.fieldNames.key ?? "key"), p = r(() => !(m.data ?? []).length), C = ["icon", "title"], E = r(() => Object.keys(x).filter((e) => !C.includes(e)));
31
- return b(new Proxy({}, {
32
- get(e, t) {
33
- return i.value?.[t];
34
- },
35
- has(e, t) {
36
- return t in (i.value ?? {});
37
- }
38
- })), (e, t) => {
31
+ return b(
32
+ new Proxy(
33
+ {},
34
+ {
35
+ get(e, t) {
36
+ return i.value?.[t];
37
+ },
38
+ has(e, t) {
39
+ return t in (i.value ?? {});
40
+ }
41
+ }
42
+ )
43
+ ), (e, t) => {
39
44
  const Z = v("el-input"), A = v("el-tree"), D = j("loading");
40
45
  return y((u(), _("div", Q, [
41
46
  s.disableFilter ? N("", !0) : (u(), _("div", W, [
@@ -1 +1 @@
1
- .zl-tree-select[data-v-c93bd372]{width:100%}.zl-tree-select__all[data-v-c93bd372]{padding:4px 0 8px}.zl-tree-select[data-v-c93bd372] .el-tree-select .el-tree-node__label{font-size:12px}
1
+ .zl-tree-select[data-v-4f063b6f]{width:100%}.zl-tree-select__all[data-v-4f063b6f]{padding:4px 0 8px}.zl-tree-select[data-v-4f063b6f] .el-tree-select .el-tree-node__label{font-size:12px}
@@ -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-c93bd372"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-4f063b6f"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1 +1 @@
1
- .zl-upload[data-v-cb9f2635]{width:100%}.zl-upload__trigger[data-v-cb9f2635]{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--zl-border-3, var(--el-border-color));border-radius:6px;cursor:pointer}.zl-upload__trigger[data-v-cb9f2635]:hover{border-color:var(--zl-primary-6, var(--el-color-primary))}.zl-upload__item[data-v-cb9f2635]{display:flex;align-items:center;gap:8px;padding:4px 8px;width:100%}.zl-upload__item[data-v-cb9f2635]:hover{background:var(--zl-fill-1, var(--el-fill-color-light))}.zl-upload__item-thumbnail[data-v-cb9f2635]{height:32px;width:32px;object-fit:cover;cursor:pointer}.zl-upload__item-name[data-v-cb9f2635]{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zl-upload__item-op[data-v-cb9f2635]{color:var(--zl-text-2)}.zl-upload__tip[data-v-cb9f2635]{font-size:12px;color:var(--zl-text-3);line-height:18px;white-space:pre-wrap;word-break:break-all}
1
+ .zl-upload[data-v-3c76b3ad]{width:100%}.zl-upload__trigger[data-v-3c76b3ad]{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--zl-border-3, var(--el-border-color));border-radius:6px;cursor:pointer}.zl-upload__trigger[data-v-3c76b3ad]:hover{border-color:var(--zl-primary-6, var(--el-color-primary))}.zl-upload__item[data-v-3c76b3ad]{display:flex;align-items:center;gap:8px;padding:4px 8px;width:100%}.zl-upload__item[data-v-3c76b3ad]:hover{background:var(--zl-fill-1, var(--el-fill-color-light))}.zl-upload__item-thumbnail[data-v-3c76b3ad]{height:32px;width:32px;object-fit:cover;cursor:pointer}.zl-upload__item-name[data-v-3c76b3ad]{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zl-upload__item-op[data-v-3c76b3ad]{color:var(--zl-text-2)}.zl-upload__tip[data-v-3c76b3ad]{font-size:12px;color:var(--zl-text-3);line-height:18px;white-space:pre-wrap;word-break:break-all}
@@ -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-cb9f2635"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-3c76b3ad"]]);
5
5
  export {
6
- f as default
6
+ m as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.mjs.map
package/dist/index.d.ts CHANGED
@@ -59,7 +59,7 @@ export { usePermission, usePermissionProvider } from './components/ZlPermission/
59
59
  export type { MenuItem } from './components/ZlAppMenu/AppMenu.vue';
60
60
  export type { ActionItem, FormItem, SearchItem, TableColumn } from './types';
61
61
  export type { IGridItem } from './components/ZlGrid/types';
62
- export type { IComponent, IComponentSlot, VForSlot, VModelSlot, ComponentOrSlot } from './components/ZlDynamicComponent/types';
62
+ export type { IComponent, IComponentSlot, VForSlot, VModelSlot, ComponentOrSlot, } from './components/ZlDynamicComponent/types';
63
63
  /**
64
64
  * 全量注册插件(app.use)
65
65
  * 表单类基础组件(el-input/el-select 等)建议宿主经 unplugin 自动引入或全量注册
@@ -14,6 +14,8 @@ const e = {
14
14
  "zl.search.search": "Search",
15
15
  "zl.search.filterConditions": "Filters",
16
16
  "zl.search.all": "All",
17
+ "zl.search.expand": "Expand",
18
+ "zl.search.collapse": "Collapse",
17
19
  "zl.login.username": "Username",
18
20
  "zl.login.password": "Password",
19
21
  "zl.login.usernamePlaceholder": "Please enter username",
@@ -1,13 +1,13 @@
1
1
  import e from "./en.mjs";
2
2
  import s from "./zh-cn.mjs";
3
- const z = {
3
+ const a = {
4
4
  zh: s,
5
5
  "zh-cn": s,
6
6
  en: e
7
7
  };
8
8
  export {
9
9
  e as zlEnMessages,
10
- z as zlMessages,
10
+ a as zlMessages,
11
11
  s as zlZhMessages
12
12
  };
13
13
  //# sourceMappingURL=messages.mjs.map
@@ -14,6 +14,8 @@ const l = {
14
14
  "zl.search.search": "查询",
15
15
  "zl.search.filterConditions": "筛选条件",
16
16
  "zl.search.all": "全部",
17
+ "zl.search.expand": "展开",
18
+ "zl.search.collapse": "收起",
17
19
  "zl.login.username": "用户名",
18
20
  "zl.login.password": "密码",
19
21
  "zl.login.usernamePlaceholder": "请输入用户名",
package/dist/types.d.ts CHANGED
@@ -2,9 +2,13 @@ import { ActionItem } from './components/ZlAction/types';
2
2
  export type { ActionItem };
3
3
  /** 表格列定义:label/prop(或 dataIndex)/slot/actions/columnSlot + el-table-column 其余属性 */
4
4
  export interface TableColumn {
5
+ /** 列标题(优先于 title) */
5
6
  label?: string;
7
+ /** 列标题(兼容 arco/antd 写法,label 缺省时生效) */
6
8
  title?: string;
9
+ /** 取值字段名(优先于 dataIndex) */
7
10
  prop?: string;
11
+ /** 取值字段名(兼容 arco/antd 写法,prop 缺省时生效) */
8
12
  dataIndex?: string;
9
13
  /** 单元格插槽名(缺省用 prop) */
10
14
  slot?: string | boolean;
@@ -12,6 +16,7 @@ export interface TableColumn {
12
16
  columnSlot?: boolean;
13
17
  /** 操作列(渲染 ZlActionList) */
14
18
  actions?: ActionItem[];
19
+ /** 透传给操作列 ZlActionList 的 props */
15
20
  actionProps?: Record<string, any>;
16
21
  [key: string]: any;
17
22
  }
@@ -19,6 +24,7 @@ export interface TableColumn {
19
24
  export interface FormItem {
20
25
  /** 字段名(必填) */
21
26
  model: string;
27
+ /** 标签文案(缺省用 model) */
22
28
  label?: string;
23
29
  /** 动态组件名/组件对象(如 'el-input'、ElSelect) */
24
30
  component?: string | any;
@@ -32,7 +38,9 @@ export interface FormItem {
32
38
  slot?: boolean;
33
39
  /** el-form-item 其余属性(rules 等) */
34
40
  formItemProps?: Record<string, any>;
41
+ /** 标签旁的问号提示文案 */
35
42
  tooltip?: string;
43
+ /** 显隐控制:布尔值或判定函数 */
36
44
  visible?: boolean | ((model: Record<string, any>, item: FormItem) => boolean);
37
45
  [key: string]: any;
38
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zl-ui-kit/components",
3
- "version": "0.5.1",
3
+ "version": "0.6.1",
4
4
  "type": "module",
5
5
  "description": "ZL UI 业务组件库(Element Plus 体系,Zl 前缀)——首批:Icon/AutoTooltip/Tag/CornerTag/Text/Title/Copy/Empty/Pagination/DictTag",
6
6
  "license": "MIT",
@@ -39,9 +39,9 @@
39
39
  "file-type": "^20.4.1",
40
40
  "dt-sql-parser": "^4.3.1",
41
41
  "sql-formatter": "^15.4.2",
42
- "@zl-ui-kit/composables": "0.5.1",
43
- "@zl-ui-kit/icons": "0.5.1",
44
- "@zl-ui-kit/utils": "0.5.1"
42
+ "@zl-ui-kit/composables": "0.6.1",
43
+ "@zl-ui-kit/utils": "0.6.1",
44
+ "@zl-ui-kit/icons": "0.6.1"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@vueuse/core": "^12.3.0",
@@ -98,10 +98,10 @@
98
98
  "@vue-office/pdf": "^2.0.10",
99
99
  "@vue-office/pptx": "1.0.1",
100
100
  "echarts": "^5.6.0",
101
- "@zl-ui-kit/theme": "0.5.1",
101
+ "@jichuang/tsconfig": "1.0.0",
102
102
  "@jichuang/vite-config": "1.0.0",
103
- "@jichuang/eslint-config": "1.0.0",
104
- "@jichuang/tsconfig": "1.0.0"
103
+ "@zl-ui-kit/theme": "0.6.1",
104
+ "@jichuang/eslint-config": "1.0.0"
105
105
  },
106
106
  "repository": {
107
107
  "type": "git",