@duxweb/dvha-naiveui 1.1.30 → 1.2.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/cjs/components/autoComplete/autoComplete.cjs +1 -1
  2. package/dist/cjs/components/autoComplete/index.cjs +1 -0
  3. package/dist/cjs/components/cascader/cascader.cjs +1 -1
  4. package/dist/cjs/components/cascader/index.cjs +1 -0
  5. package/dist/cjs/components/index.cjs +1 -0
  6. package/dist/cjs/components/mention/index.cjs +1 -0
  7. package/dist/cjs/components/mention/mention.cjs +1 -1
  8. package/dist/cjs/components/select/index.cjs +1 -0
  9. package/dist/cjs/components/select/select.cjs +1 -1
  10. package/dist/cjs/components/transfer/index.cjs +1 -0
  11. package/dist/cjs/components/transfer/transfer.cjs +1 -1
  12. package/dist/cjs/components/tree/index.cjs +1 -0
  13. package/dist/cjs/components/tree/tree.cjs +1 -1
  14. package/dist/cjs/components/treeSelect/index.cjs +1 -0
  15. package/dist/cjs/components/treeSelect/treeSelect.cjs +1 -1
  16. package/dist/cjs/hooks/index.cjs +1 -0
  17. package/dist/cjs/hooks/menu.cjs +1 -1
  18. package/dist/cjs/hooks/tab.cjs +1 -1
  19. package/dist/cjs/hooks/table.cjs +1 -1
  20. package/dist/cjs/hooks/upload.cjs +1 -1
  21. package/dist/cjs/index.cjs +1 -1
  22. package/dist/esm/components/autoComplete/autoComplete.js +49 -62
  23. package/dist/esm/components/autoComplete/index.js +1 -0
  24. package/dist/esm/components/cascader/cascader.js +34 -50
  25. package/dist/esm/components/cascader/index.js +1 -0
  26. package/dist/esm/components/index.js +14 -0
  27. package/dist/esm/components/mention/index.js +1 -0
  28. package/dist/esm/components/mention/mention.js +55 -66
  29. package/dist/esm/components/select/index.js +1 -0
  30. package/dist/esm/components/select/select.js +162 -213
  31. package/dist/esm/components/transfer/index.js +1 -0
  32. package/dist/esm/components/transfer/transfer.js +63 -95
  33. package/dist/esm/components/tree/index.js +1 -0
  34. package/dist/esm/components/tree/tree.js +49 -71
  35. package/dist/esm/components/treeSelect/index.js +1 -0
  36. package/dist/esm/components/treeSelect/treeSelect.js +29 -36
  37. package/dist/esm/hooks/index.js +4 -0
  38. package/dist/esm/hooks/menu.js +21 -36
  39. package/dist/esm/hooks/tab.js +26 -28
  40. package/dist/esm/hooks/table.js +78 -87
  41. package/dist/esm/hooks/upload.js +38 -44
  42. package/dist/esm/index.js +12 -22
  43. package/package.json +2 -2
@@ -1,216 +1,165 @@
1
- import { defineComponent as T, toRef as n, computed as k, watch as E, createVNode as l, mergeProps as R, isVNode as U } from "vue";
2
- import { useI18n as _, useSelect as q } from "@duxweb/dvha-core";
3
- import { useVModel as A } from "@vueuse/core";
4
- import { isEqual as K } from "lodash-es";
5
- import { NSelect as C, NTag as L, NSpace as b, NImage as V, NAvatar as D, NPagination as G, NTooltip as H } from "naive-ui";
6
- function J(e) {
7
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
1
+ import { computed as e, createVNode as t, defineComponent as n, isVNode as r, mergeProps as i, toRef as a, watch as o } from "vue";
2
+ import { useI18n as s, useSelect as c } from "@duxweb/dvha-core";
3
+ import { useVModel as l } from "@vueuse/core";
4
+ import { NAvatar as u, NImage as d, NPagination as f, NSelect as p, NSpace as m, NTag as h, NTooltip as g } from "naive-ui";
5
+ import { isEqual as _ } from "lodash-es";
6
+ function v(e) {
7
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !r(e);
8
8
  }
9
- const $ = /* @__PURE__ */ T({
10
- name: "DuxSelect",
11
- props: {
12
- path: String,
13
- params: Object,
14
- pagination: {
15
- type: Boolean,
16
- default: !0
17
- },
18
- avatarField: {
19
- type: String
20
- },
21
- imageField: {
22
- type: String
23
- },
24
- descField: {
25
- type: String
26
- },
27
- multiple: Boolean,
28
- option: {
29
- type: [Object, Array],
30
- default: void 0
31
- },
32
- refreshable: {
33
- type: Boolean,
34
- default: !0
35
- }
36
- },
37
- extends: C,
38
- setup(e, {
39
- emit: u,
40
- slots: i
41
- }) {
42
- const {
43
- t: c
44
- } = _(), m = n(e, "params", {}), I = n(e, "path"), v = A(e, "value", u, {
45
- passive: !0,
46
- defaultValue: e.defaultValue
47
- }), f = A(e, "option", u, {
48
- passive: !0,
49
- defaultValue: e.multiple ? [] : null
50
- }), o = n(e, "labelField", "name"), O = n(e, "valueField", "id"), p = n(e, "avatarField", ""), d = n(e, "imageField", ""), s = n(e, "descField", ""), {
51
- onSearch: S,
52
- loading: F,
53
- pagination: w,
54
- options: z,
55
- pageCount: B,
56
- refetch: N
57
- } = q({
58
- path: I,
59
- params: m,
60
- defaultValue: v,
61
- pagination: e.pagination,
62
- optionLabel: o.value,
63
- optionValue: O.value
64
- }), M = k(() => {
65
- const {
66
- labelField: a,
67
- valueField: r,
68
- avatarField: t,
69
- imageField: y,
70
- descField: x,
71
- option: g,
72
- ...h
73
- } = e;
74
- return h;
75
- }), j = (a) => {
76
- if (e.multiple) {
77
- K(f.value, a) || (f.value = a || []);
78
- return;
79
- }
80
- f.value !== a && (f.value = a || null);
81
- };
82
- return E([v, z], ([a, r]) => {
83
- if (e.multiple) {
84
- const x = (Array.isArray(a) ? a : []).map((g) => r.find((h) => h.value === g)?.raw).filter((g) => !!g);
85
- j(x);
86
- return;
87
- }
88
- const t = r.find((y) => y.value === a)?.raw || null;
89
- j(t);
90
- }, {
91
- immediate: !0
92
- }), () => l(C, R(M.value, {
93
- onSearch: S,
94
- loading: F.value,
95
- filterable: !!e.pagination,
96
- clearable: !0,
97
- remote: !0,
98
- options: z.value,
99
- value: v.value,
100
- "onUpdate:value": (a) => v.value = a,
101
- multiple: e.multiple,
102
- onClear: () => {
103
- S("");
104
- },
105
- renderLabel: (a) => d.value || s.value ? l(b, {
106
- align: "center",
107
- size: "small",
108
- wrapItem: !1,
109
- style: {
110
- padding: "6px 0"
111
- }
112
- }, {
113
- default: () => [d.value && l(V, {
114
- src: a?.raw?.[d.value],
115
- objectFit: "cover",
116
- width: 32,
117
- height: 32
118
- }, null), p.value && l(D, {
119
- round: !0,
120
- src: a?.raw?.[p.value],
121
- size: 32
122
- }, {
123
- default: () => [a?.raw?.[o.value]?.charAt?.(0)]
124
- }), l(b, {
125
- vertical: !0,
126
- size: 0,
127
- wrapItem: !1
128
- }, {
129
- default: () => [l("div", null, [a?.raw?.[o.value]]), s.value && l("div", {
130
- style: {
131
- opacity: 0.6
132
- }
133
- }, [a?.raw?.[s.value]])]
134
- })]
135
- }) : a?.raw?.[o.value],
136
- renderTag: ({
137
- option: a,
138
- handleClose: r
139
- }) => {
140
- let t;
141
- return e.multiple ? l(L, {
142
- type: "primary",
143
- size: e.size,
144
- closable: !0,
145
- round: !0,
146
- onClose: () => {
147
- r();
148
- },
149
- style: {
150
- "--n-padding": "0"
151
- }
152
- }, J(t = P(a, o.value, d.value, p.value, s.value)) ? t : {
153
- default: () => [t]
154
- }) : P(a, o.value, d.value, p.value, s.value);
155
- }
156
- }), {
157
- arrow: () => {
158
- const r = i.arrow?.() || null;
159
- return e.refreshable ? l(H, {
160
- trigger: "hover"
161
- }, {
162
- default: () => c("components.button.refresh") || "Refresh",
163
- trigger: () => l("div", {
164
- class: ["i-tabler:refresh size-4 cursor-pointer opacity-70 hover:opacity-100", F.value && "animate-spin"],
165
- role: "button",
166
- tabindex: 0,
167
- onMousedown: (t) => {
168
- t.preventDefault(), t.stopPropagation();
169
- },
170
- onClick: (t) => {
171
- t.preventDefault(), t.stopPropagation(), N?.();
172
- },
173
- onKeydown: (t) => {
174
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), N?.());
175
- }
176
- }, null)
177
- }) : r;
178
- },
179
- action: () => e.pagination ? l(G, {
180
- size: "small",
181
- page: w.value.page,
182
- "onUpdate:page": (a) => w.value.page = a,
183
- pageSlot: 3,
184
- pageCount: B.value,
185
- pageSize: w.value.pageSize
186
- }, null) : null,
187
- ...i
188
- });
189
- }
9
+ const y = /* @__PURE__ */ n({
10
+ name: "DuxSelect",
11
+ props: {
12
+ path: String,
13
+ params: Object,
14
+ pagination: {
15
+ type: Boolean,
16
+ default: !0
17
+ },
18
+ avatarField: { type: String },
19
+ imageField: { type: String },
20
+ descField: { type: String },
21
+ multiple: Boolean,
22
+ option: {
23
+ type: [Object, Array],
24
+ default: void 0
25
+ },
26
+ refreshable: {
27
+ type: Boolean,
28
+ default: !0
29
+ }
30
+ },
31
+ extends: p,
32
+ setup(n, { emit: r, slots: y }) {
33
+ let { t: x } = s(), S = a(n, "params", {}), C = a(n, "path"), w = l(n, "value", r, {
34
+ passive: !0,
35
+ defaultValue: n.defaultValue
36
+ }), T = l(n, "option", r, {
37
+ passive: !0,
38
+ defaultValue: n.multiple ? [] : null
39
+ }), E = a(n, "labelField", "name"), D = a(n, "valueField", "id"), O = a(n, "avatarField", ""), k = a(n, "imageField", ""), A = a(n, "descField", ""), { onSearch: j, loading: M, pagination: N, options: P, pageCount: F, refetch: I } = c({
40
+ path: C,
41
+ params: S,
42
+ defaultValue: w,
43
+ pagination: n.pagination,
44
+ optionLabel: E.value,
45
+ optionValue: D.value
46
+ }), L = e(() => {
47
+ let { labelField: e, valueField: t, avatarField: r, imageField: i, descField: a, option: o, ...s } = n;
48
+ return s;
49
+ }), R = (e) => {
50
+ if (n.multiple) {
51
+ _(T.value, e) || (T.value = e || []);
52
+ return;
53
+ }
54
+ T.value !== e && (T.value = e || null);
55
+ };
56
+ return o([w, P], ([e, t]) => {
57
+ if (n.multiple) {
58
+ R((Array.isArray(e) ? e : []).map((e) => t.find((t) => t.value === e)?.raw).filter((e) => !!e));
59
+ return;
60
+ }
61
+ R(t.find((t) => t.value === e)?.raw || null);
62
+ }, { immediate: !0 }), () => t(p, i(L.value, {
63
+ onSearch: j,
64
+ loading: M.value,
65
+ filterable: !!n.pagination,
66
+ clearable: !0,
67
+ remote: !0,
68
+ options: P.value,
69
+ value: w.value,
70
+ "onUpdate:value": (e) => w.value = e,
71
+ multiple: n.multiple,
72
+ onClear: () => {
73
+ j("");
74
+ },
75
+ renderLabel: (e) => k.value || A.value ? t(m, {
76
+ align: "center",
77
+ size: "small",
78
+ wrapItem: !1,
79
+ style: { padding: "6px 0" }
80
+ }, { default: () => [
81
+ k.value && t(d, {
82
+ src: e?.raw?.[k.value],
83
+ objectFit: "cover",
84
+ width: 32,
85
+ height: 32
86
+ }, null),
87
+ O.value && t(u, {
88
+ round: !0,
89
+ src: e?.raw?.[O.value],
90
+ size: 32
91
+ }, { default: () => [e?.raw?.[E.value]?.charAt?.(0)] }),
92
+ t(m, {
93
+ vertical: !0,
94
+ size: 0,
95
+ wrapItem: !1
96
+ }, { default: () => [t("div", null, [e?.raw?.[E.value]]), A.value && t("div", { style: { opacity: .6 } }, [e?.raw?.[A.value]])] })
97
+ ] }) : e?.raw?.[E.value],
98
+ renderTag: ({ option: e, handleClose: r }) => {
99
+ let i;
100
+ return n.multiple ? t(h, {
101
+ type: "primary",
102
+ size: n.size,
103
+ closable: !0,
104
+ round: !0,
105
+ onClose: () => {
106
+ r();
107
+ },
108
+ style: { "--n-padding": "0" }
109
+ }, v(i = b(e, E.value, k.value, O.value, A.value)) ? i : { default: () => [i] }) : b(e, E.value, k.value, O.value, A.value);
110
+ }
111
+ }), {
112
+ arrow: () => {
113
+ let e = y.arrow?.() || null;
114
+ return n.refreshable ? t(g, { trigger: "hover" }, {
115
+ default: () => x("components.button.refresh") || "Refresh",
116
+ trigger: () => t("div", {
117
+ class: ["i-tabler:refresh size-4 cursor-pointer opacity-70 hover:opacity-100", M.value && "animate-spin"],
118
+ role: "button",
119
+ tabindex: 0,
120
+ onMousedown: (e) => {
121
+ e.preventDefault(), e.stopPropagation();
122
+ },
123
+ onClick: (e) => {
124
+ e.preventDefault(), e.stopPropagation(), I?.();
125
+ },
126
+ onKeydown: (e) => {
127
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), I?.());
128
+ }
129
+ }, null)
130
+ }) : e;
131
+ },
132
+ action: () => n.pagination ? t(f, {
133
+ size: "small",
134
+ page: N.value.page,
135
+ "onUpdate:page": (e) => N.value.page = e,
136
+ pageSlot: 3,
137
+ pageCount: F.value,
138
+ pageSize: N.value.pageSize
139
+ }, null) : null,
140
+ ...y
141
+ });
142
+ }
190
143
  });
191
- function P(e, u, i, c, m) {
192
- return i || m || c ? l(b, {
193
- align: "center",
194
- size: "small",
195
- style: {
196
- padding: "6px 0"
197
- },
198
- wrapItem: !1
199
- }, {
200
- default: () => [i && l(V, {
201
- src: e?.raw?.[i],
202
- objectFit: "cover",
203
- width: 22,
204
- height: 22
205
- }, null), c && l(D, {
206
- round: !0,
207
- src: e?.raw?.[c] || "",
208
- size: 22
209
- }, {
210
- default: () => [e?.raw?.[u]?.charAt?.(0)]
211
- }), l("div", null, [e?.raw?.[u]])]
212
- }) : e?.raw?.[u] || "";
144
+ function b(e, n, r, i, a) {
145
+ return r || a || i ? t(m, {
146
+ align: "center",
147
+ size: "small",
148
+ style: { padding: "6px 0" },
149
+ wrapItem: !1
150
+ }, { default: () => [
151
+ r && t(d, {
152
+ src: e?.raw?.[r],
153
+ objectFit: "cover",
154
+ width: 22,
155
+ height: 22
156
+ }, null),
157
+ i && t(u, {
158
+ round: !0,
159
+ src: e?.raw?.[i] || "",
160
+ size: 22
161
+ }, { default: () => [e?.raw?.[n]?.charAt?.(0)] }),
162
+ t("div", null, [e?.raw?.[n]])
163
+ ] }) : e?.raw?.[n] || "";
213
164
  }
214
- export {
215
- $ as DuxSelect
216
- };
165
+ export { y as DuxSelect };
@@ -0,0 +1 @@
1
+ import "./transfer.js";
@@ -1,96 +1,64 @@
1
- import { defineComponent as A, toRef as c, ref as x, watch as b, createVNode as t, mergeProps as p } from "vue";
2
- import { useList as S } from "@duxweb/dvha-core";
3
- import { useVModel as h } from "@vueuse/core";
4
- import { NTransfer as f, NSpin as L, NAvatar as N } from "naive-ui";
5
- const k = /* @__PURE__ */ A({
6
- name: "DuxTransfer",
7
- props: {
8
- path: String,
9
- params: {
10
- type: Object
11
- },
12
- labelField: {
13
- type: [String, Function],
14
- default: "name"
15
- },
16
- valueField: {
17
- type: String,
18
- default: "id"
19
- },
20
- imageField: {
21
- type: String
22
- },
23
- descField: {
24
- type: [String, Function]
25
- }
26
- },
27
- extends: f,
28
- setup(a, {
29
- emit: m
30
- }) {
31
- const n = h(a, "value", m, {
32
- passive: !0,
33
- defaultValue: a.defaultValue || []
34
- }), o = c(a, "path", ""), y = c(a, "params", {}), d = x([]), {
35
- data: v,
36
- isLoading: F
37
- } = S({
38
- path: o.value,
39
- filters: y.value
40
- }), u = (e, i, l) => typeof i == "function" ? i(e) || "" : e[i || l] ?? "", g = (e) => Array.isArray(e?.data) ? e.data : Array.isArray(e?.data?.list) ? e.data.list : Array.isArray(e?.data?.data) ? e.data.data : Array.isArray(e?.list) ? e.list : Array.isArray(e?.value?.data) ? e.value.data : [];
41
- b(v, (e) => {
42
- const i = g(e);
43
- d.value = i.map((l) => {
44
- const r = {
45
- label: u(l, a.labelField, "name"),
46
- value: l[a.valueField || "id"],
47
- raw: l
48
- };
49
- return a.descField && (r.desc = u(l, a.descField, "desc")), r;
50
- });
51
- }, {
52
- immediate: !0
53
- });
54
- const s = ({
55
- option: e
56
- }) => a.imageField || a.descField ? t("div", {
57
- style: {
58
- padding: "0 6px",
59
- display: "flex",
60
- alignItems: "center",
61
- gap: "4px"
62
- }
63
- }, [a.imageField && t(N, {
64
- round: !0,
65
- src: e?.raw[a.imageField],
66
- size: 32
67
- }, null), t("div", {
68
- style: {
69
- flex: 1,
70
- display: "flex",
71
- flexDirection: "column",
72
- justifyContent: "center"
73
- }
74
- }, [t("div", null, [e?.label]), a.descField && t("div", {
75
- style: {
76
- opacity: 0.6
77
- }
78
- }, [e?.desc])])]) : e?.label;
79
- return () => t("div", {
80
- class: "w-full"
81
- }, [t(L, {
82
- show: F.value
83
- }, {
84
- default: () => [t(f, p(a, {
85
- value: n.value,
86
- "onUpdate:value": (e) => n.value = e,
87
- options: d.value,
88
- renderSourceLabel: s,
89
- renderTargetLabel: s
90
- }), null)]
91
- })]);
92
- }
1
+ import { createVNode as e, defineComponent as t, mergeProps as n, ref as r, toRef as i, watch as a } from "vue";
2
+ import { useList as o } from "@duxweb/dvha-core";
3
+ import { useVModel as s } from "@vueuse/core";
4
+ import { NAvatar as c, NSpin as l, NTransfer as u } from "naive-ui";
5
+ const d = /* @__PURE__ */ t({
6
+ name: "DuxTransfer",
7
+ props: {
8
+ path: String,
9
+ params: { type: Object },
10
+ labelField: {
11
+ type: [String, Function],
12
+ default: "name"
13
+ },
14
+ valueField: {
15
+ type: String,
16
+ default: "id"
17
+ },
18
+ imageField: { type: String },
19
+ descField: { type: [String, Function] }
20
+ },
21
+ extends: u,
22
+ setup(t, { emit: d }) {
23
+ let f = s(t, "value", d, {
24
+ passive: !0,
25
+ defaultValue: t.defaultValue || []
26
+ }), p = i(t, "path", ""), m = i(t, "params", {}), h = r([]), { data: g, isLoading: _ } = o({
27
+ path: p.value,
28
+ filters: m.value
29
+ }), v = (e, t, n) => typeof t == "function" ? t(e) || "" : e[t || n] ?? "", y = (e) => Array.isArray(e?.data) ? e.data : Array.isArray(e?.data?.list) ? e.data.list : Array.isArray(e?.data?.data) ? e.data.data : Array.isArray(e?.list) ? e.list : Array.isArray(e?.value?.data) ? e.value.data : [];
30
+ a(g, (e) => {
31
+ h.value = y(e).map((e) => {
32
+ let n = {
33
+ label: v(e, t.labelField, "name"),
34
+ value: e[t.valueField || "id"],
35
+ raw: e
36
+ };
37
+ return t.descField && (n.desc = v(e, t.descField, "desc")), n;
38
+ });
39
+ }, { immediate: !0 });
40
+ let b = ({ option: n }) => t.imageField || t.descField ? e("div", { style: {
41
+ padding: "0 6px",
42
+ display: "flex",
43
+ alignItems: "center",
44
+ gap: "4px"
45
+ } }, [t.imageField && e(c, {
46
+ round: !0,
47
+ src: n?.raw[t.imageField],
48
+ size: 32
49
+ }, null), e("div", { style: {
50
+ flex: 1,
51
+ display: "flex",
52
+ flexDirection: "column",
53
+ justifyContent: "center"
54
+ } }, [e("div", null, [n?.label]), t.descField && e("div", { style: { opacity: .6 } }, [n?.desc])])]) : n?.label;
55
+ return () => e("div", { class: "w-full" }, [e(l, { show: _.value }, { default: () => [e(u, n(t, {
56
+ value: f.value,
57
+ "onUpdate:value": (e) => f.value = e,
58
+ options: h.value,
59
+ renderSourceLabel: b,
60
+ renderTargetLabel: b
61
+ }), null)] })]);
62
+ }
93
63
  });
94
- export {
95
- k as DuxTransfer
96
- };
64
+ export { d as DuxTransfer };
@@ -0,0 +1 @@
1
+ import "./tree.js";