@ithinkdt/ui 4.0.0-404 → 4.0.0-406

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.
@@ -1,6 +1,6 @@
1
- import { n as useI18n } from "./use-i18n-Dx7V4KrY.js";
2
- import { i as vTooltip } from "./directives-qqYcWl1I.js";
3
- import { g as useStyle, h as useMergedClsPrefix, n as cB, r as cE, t as c } from "./use-style-DcT-1dj4.js";
1
+ import { n as useI18n } from "./use-i18n-D-AJ8KbA.js";
2
+ import { i as vTooltip } from "./directives-Bpfh9AKg.js";
3
+ import { g as useStyle, h as useMergedClsPrefix, n as cB, r as cE, t as c } from "./use-style-mj2B1q0l.js";
4
4
  import { Fragment, computed, createTextVNode, createVNode, defineComponent, inject, isVNode, mergeProps, nextTick, reactive, ref, shallowRef, toRaw, toRef, toValue, unref, useTemplateRef, watch, withDirectives } from "vue";
5
5
  import { toReactive, unrefElement, until, useCurrentElement, useElementSize, watchDebounced } from "@vueuse/core";
6
6
  import { NAvatar, NAvatarGroup, NButton, NCard, NCheckbox, NCheckboxGroup, NDataTable, NDropdown, NEllipsis, NEmpty, NFlex, NForm, NFormItem, NGi, NGrid, NH4, NIcon, NInput, NList, NListItem, NPagination, NPerformantEllipsis, NPopover, NRadio, NRadioButton, NRadioGroup, NSelect, NSpin, NTag, NText, NTooltip, NTransfer, NTree, NTreeSelect, dataTableProps, formProps, useDialog } from "ithinkdt-ui";
@@ -1,5 +1,5 @@
1
- import "./use-i18n-Dx7V4KrY.js";
2
- import "./directives-qqYcWl1I.js";
3
- import "./use-style-DcT-1dj4.js";
4
- import { _ as dataFormActionsProps, a as DtUserRender, b as NCheckboxes, c as DataTable, d as DataPagination, f as DataLocaleInput, g as DataFormActions, h as DataForm, i as DtUserDept, l as useDataTableDrag, m as DataFilter, n as StateButtonProps, o as renderUsers, p as useLocaleEdit, r as DtDeptRender, s as NRadios, t as NStateButton, u as DataSelection, v as DataCustom, y as DataActions } from "./components-SsroO6X6.js";
1
+ import "./use-i18n-D-AJ8KbA.js";
2
+ import "./directives-Bpfh9AKg.js";
3
+ import "./use-style-mj2B1q0l.js";
4
+ import { _ as dataFormActionsProps, a as DtUserRender, b as NCheckboxes, c as DataTable, d as DataPagination, f as DataLocaleInput, g as DataFormActions, h as DataForm, i as DtUserDept, l as useDataTableDrag, m as DataFilter, n as StateButtonProps, o as renderUsers, p as useLocaleEdit, r as DtDeptRender, s as NRadios, t as NStateButton, u as DataSelection, v as DataCustom, y as DataActions } from "./components--Rlef087.js";
5
5
  export { DataActions, DataCustom, DataFilter, DataForm, DataFormActions, DataLocaleInput, DataPagination, DataSelection, DataTable, DtDeptRender, DtUserDept, DtUserRender, NCheckboxes, NRadios, NStateButton, StateButtonProps, dataFormActionsProps, renderUsers, useDataTableDrag, useLocaleEdit };
@@ -1,4 +1,4 @@
1
- import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-DcT-1dj4.js";
1
+ import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-mj2B1q0l.js";
2
2
  import { Fragment, createVNode, defineComponent, h, nextTick, reactive, ref, shallowRef, toRef, watch } from "vue";
3
3
  import { promiseTimeout, useEventListener } from "@vueuse/core";
4
4
  import { NTooltip } from "ithinkdt-ui";
@@ -1,3 +1,3 @@
1
- import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-qqYcWl1I.js";
2
- import "./use-style-DcT-1dj4.js";
1
+ import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-Bpfh9AKg.js";
2
+ import "./use-style-mj2B1q0l.js";
3
3
  export { SpinDirectiveProvider, TooltipDirectiveProvider, vSpin, vTooltip };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as useI18n, t as UI_I18N_INJECTION } from "./use-i18n-Dx7V4KrY.js";
2
- import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-qqYcWl1I.js";
3
- import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-DcT-1dj4.js";
1
+ import { n as useI18n, t as UI_I18N_INJECTION } from "./use-i18n-D-AJ8KbA.js";
2
+ import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-Bpfh9AKg.js";
3
+ import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-mj2B1q0l.js";
4
4
  import { Fragment, computed, createVNode, defineComponent, inject, isVNode, mergeProps, provide, reactive, ref, renderSlot, shallowRef, toRef, toValue, unref, useTemplateRef, watch, withDirectives } from "vue";
5
5
  import { computedAsync, promiseTimeout, useElementHover, useElementSize, useEventListener, useFullscreen, watchDebounced } from "@vueuse/core";
6
6
  import { NAvatar, NBadge, NBreadcrumb, NBreadcrumbItem, NButton, NDrawer, NDrawerContent, NDropdown, NEmpty, NIcon, NList, NListItem, NMenu, NPagination, NPopover, NScrollbar, NText, NThing, useThemeVars } from "ithinkdt-ui";
package/dist/page.js CHANGED
@@ -1,17 +1,18 @@
1
- import { n as useI18n } from "./use-i18n-Dx7V4KrY.js";
2
- import "./directives-qqYcWl1I.js";
3
- import "./use-style-DcT-1dj4.js";
4
- import { a as DtUserRender, b as NCheckboxes, h as DataForm, i as DtUserDept, r as DtDeptRender, s as NRadios } from "./components-SsroO6X6.js";
1
+ import { n as useI18n } from "./use-i18n-D-AJ8KbA.js";
2
+ import "./directives-Bpfh9AKg.js";
3
+ import "./use-style-mj2B1q0l.js";
4
+ import { a as DtUserRender, b as NCheckboxes, h as DataForm, i as DtUserDept, r as DtDeptRender, s as NRadios } from "./components--Rlef087.js";
5
5
  import { computed, createVNode, defineComponent, h, isVNode, mergeProps, ref, shallowRef, unref } from "vue";
6
6
  import { until } from "@vueuse/core";
7
7
  import { NButton, NCheckbox, NColorPicker, NDatePicker, NDrawer, NDrawerContent, NFlex, NInput, NInputNumber, NModal, NScrollbar, NSelect, NText, NUpload, useMessage } from "ithinkdt-ui";
8
8
  import { format } from "date-fns";
9
9
  import { useFormItem } from "ithinkdt-ui/es/_mixins";
10
+ import { isNullish } from "@ithinkdt/common";
10
11
  import { useDict, useDictMap } from "@ithinkdt/common/dict";
11
- function _isSlot(n) {
12
- return typeof n == "function" || Object.prototype.toString.call(n) === "[object Object]" && !isVNode(n);
12
+ function _isSlot(e) {
13
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
13
14
  }
14
- var mapProps = (n) => Object.fromEntries(Object.entries(n || {}).map(([n, c]) => [n, unref(c)])), SimpleUpload = /* @__PURE__ */ defineComponent({
15
+ var mapProps = (e) => Object.fromEntries(Object.entries(e || {}).map(([e, a]) => [e, unref(a)])), SimpleUpload = /* @__PURE__ */ defineComponent({
15
16
  name: "SimpleUpload",
16
17
  props: {
17
18
  type: {
@@ -49,405 +50,429 @@ var mapProps = (n) => Object.fromEntries(Object.entries(n || {}).map(([n, c]) =>
49
50
  onUpdateFileList: { type: [Array, Function] },
50
51
  uploadFile: { type: Function }
51
52
  },
52
- setup(c, { slots: l, expose: u }) {
53
- let { t: d } = useI18n();
54
- SimpleUpload.t = d;
55
- let f = useFormItem(c), p = useMessage(), g = computed(() => c.customRequest || (({ file: n, onProgress: l, onFinish: u, onError: d }) => {
56
- c.uploadFile(n.file, (n) => l({ percent: n })).then((c) => {
57
- n.file.fileId = c, u();
58
- }).catch((n) => {
59
- p.error(n.message), d(n);
53
+ setup(a, { slots: o, expose: s }) {
54
+ let { t: c } = useI18n();
55
+ SimpleUpload.t = c;
56
+ let l = useFormItem(a), u = useMessage(), f = computed(() => a.customRequest || (({ file: e, onProgress: o, onFinish: s, onError: c }) => {
57
+ a.uploadFile(e.file, (e) => o({ percent: e })).then((a) => {
58
+ e.file.fileId = a, s();
59
+ }).catch((e) => {
60
+ u.error(e.message), c(e);
60
61
  });
61
- })), _ = ref();
62
- u({ submit() {
63
- return until(_).toBeTruthy().then((n) => n.submit());
62
+ })), p = ref();
63
+ s({ submit() {
64
+ return until(p).toBeTruthy().then((e) => e.submit());
64
65
  } });
65
- let v = (n) => {
66
- c.onUpdateFileList?.(n), nextTick(() => f.nTriggerFormChange());
66
+ let m = (e) => {
67
+ a.onUpdateFileList?.(e), nextTick(() => l.nTriggerFormChange());
67
68
  };
68
69
  return () => {
69
- let { type: n, onUpdateFileList: u, ...p } = c;
70
- return createVNode(NUpload, mergeProps(p, {
71
- ref: _,
72
- customRequest: g.value,
73
- listType: n === "image" ? "image-card" : "text",
74
- accept: p.accept ?? n === "image" ? "image/*" : void 0,
75
- "onUpdate:fileList": v
70
+ let { type: e, onUpdateFileList: s, ...u } = a;
71
+ return createVNode(NUpload, mergeProps(u, {
72
+ ref: p,
73
+ customRequest: f.value,
74
+ listType: e === "image" ? "image-card" : "text",
75
+ accept: u.accept ?? e === "image" ? "image/*" : void 0,
76
+ "onUpdate:fileList": m
76
77
  }), {
77
- default: n === "image" ? void 0 : () => {
78
- let n;
78
+ default: e === "image" ? void 0 : () => {
79
+ let e;
79
80
  return createVNode(NButton, {
80
- disabled: f.mergedDisabledRef.value,
81
- size: f.mergedSizeRef.value
82
- }, _isSlot(n = d("common.page.form.selectFileText")) ? n : { default: () => [n] });
81
+ disabled: l.mergedDisabledRef.value,
82
+ size: l.mergedSizeRef.value
83
+ }, _isSlot(e = c("common.page.form.selectFileText")) ? e : { default: () => [e] });
83
84
  },
84
- ...l
85
+ ...o
85
86
  });
86
87
  };
87
88
  }
88
89
  });
89
- function createPageFormHelper({ getUserGroups: n, getUsersByGroup: u, getDeptsByCode: f, getUsersByDept: m, getUsersByUsername: g, uploadFile: v, getFileInfos: y }) {
90
+ function createPageFormHelper({ getUserGroups: e, getUsersByGroup: s, getDeptsByCode: l, getUsersByDept: d, getUsersByUsername: f, uploadFile: m, getFileInfos: g }) {
91
+ let _ = (e) => e, x = (e) => isNullish(e) ? e : String(e), C = (e) => isNullish(e) ? e : Number(e);
90
92
  return {
91
- input: () => ({ slots: n, props: c }, { modelValue: l, "onUpdate:modelValue": u, required: d, readonly: f, ...p }) => f ? createVNode(NText, {
93
+ input: () => ({ slots: e, props: a }, { modelValue: o, "onUpdate:modelValue": s, required: c, readonly: l, ...u }) => l ? createVNode(NText, {
92
94
  depth: 2,
93
95
  style: "line-height: 1.25"
94
- }, { default: () => [l ?? ""] }) : (c = mapProps(c), h(NInput, {
96
+ }, { default: () => [o ?? ""] }) : (a = mapProps(a), h(NInput, {
95
97
  clearable: !0,
96
- ...c,
97
- ...p,
98
- value: l,
99
- "onUpdate:value": u
100
- }, n)),
101
- number: () => ({ slots: n, props: c }, { modelValue: l, "onUpdate:modelValue": u, required: d, readonly: f, ...p }) => f ? createVNode(NText, {
102
- depth: 2,
103
- style: "line-height: 1.25"
104
- }, { default: () => [l ?? ""] }) : (c = mapProps(c), h(NInputNumber, {
105
- clearable: !0,
106
- ...c,
107
- ...p,
108
- value: l,
109
- "onUpdate:value": u
110
- }, n)),
98
+ ...a,
99
+ ...u,
100
+ value: o,
101
+ "onUpdate:value": s
102
+ }, e)),
103
+ number: () => {
104
+ let e, a;
105
+ return ({ slots: o, props: s }, { modelValue: c, "onUpdate:modelValue": l, required: u, readonly: d, ...f }) => {
106
+ if (d) return createVNode(NText, {
107
+ depth: 2,
108
+ style: "line-height: 1.25"
109
+ }, { default: () => [c ?? ""] });
110
+ let { valueType: m = "number", ...g } = mapProps(s), _ = m === "string" ? C(c) : c;
111
+ return e = l, m === "string" && !a && (a = (a, ...o) => {
112
+ e(x(a), ...o);
113
+ }), h(NInputNumber, {
114
+ clearable: !0,
115
+ ...g,
116
+ ...f,
117
+ value: _,
118
+ "onUpdate:value": m === "string" ? a : e
119
+ }, o);
120
+ };
121
+ },
111
122
  select: () => {
112
- let n, c;
113
- return ({ slots: l, props: u }, { modelValue: d, "onUpdate:modelValue": f, required: p, readonly: m, ...g }) => {
114
- let { dictType: v, options: y, ...b } = mapProps(u);
115
- if (y ? c = y : n !== v && (n = v, !c && n && (c = useDict(n))), m) if (b.multiple) {
116
- let n;
123
+ let e, a, o, s, c;
124
+ return ({ slots: l, props: u }, { modelValue: d, "onUpdate:modelValue": f, required: m, readonly: g, ...v }) => {
125
+ let { dictType: b, options: S, valueType: w = "string", ...T } = mapProps(u), E = w === "number" ? x : _;
126
+ S ? a = S : e !== b && (e = b, !a && e && (a = useDict(e)));
127
+ let D = T.multiple ? d?.map(E) : E(d);
128
+ if (g) if (T.multiple) {
129
+ let e;
117
130
  return createVNode(NText, {
118
131
  depth: 2,
119
132
  style: "line-height: 1.25"
120
- }, _isSlot(n = (d?.map((n) => c?.find((c) => c[b.valueField || "value"] === n)) ?? []).map((n, c, l) => {
121
- let u = n ? b.renderLabel ? b.renderLabel(n) ?? "" : n[b.labelField || "label"] ?? "" : d[c] ?? "";
122
- return createVNode("span", { key: n ? n[b.valueField || "value"] : d[c] ?? "" }, [u, c < l.length - 1 ? ", " : ""]);
123
- })) ? n : { default: () => [n] });
133
+ }, _isSlot(e = (D?.map((e) => a?.find((a) => a[T.valueField || "value"] === e)) ?? []).map((e, a, o) => {
134
+ let s = e ? T.renderLabel ? T.renderLabel(e) ?? "" : e[T.labelField || "label"] ?? "" : D[a] ?? "";
135
+ return createVNode("span", { key: e ? e[T.valueField || "value"] : D[a] ?? "" }, [s, a < o.length - 1 ? ", " : ""]);
136
+ })) ? e : { default: () => [e] });
124
137
  } else {
125
- let n = c?.find((n) => n[b.valueField || "value"] === d);
138
+ let e = a?.find((e) => e[T.valueField || "value"] === D);
126
139
  return createVNode(NText, {
127
140
  depth: 2,
128
141
  style: "line-height: 1.25"
129
- }, { default: () => [n ? b.renderLabel ? b.renderLabel(n) ?? "" : n[b.labelField || "label"] ?? "" : d ?? ""] });
142
+ }, { default: () => [e ? T.renderLabel ? T.renderLabel(e) ?? "" : e[T.labelField || "label"] ?? "" : D ?? ""] });
130
143
  }
131
- return h(NSelect, {
144
+ return s = T.multiple, o = f, w === "number" && !c && (c = (e, ...a) => {
145
+ o(s ? e?.map(C) : C(e), ...a);
146
+ }), h(NSelect, {
132
147
  clearable: !0,
133
- loading: c?.loading,
134
- ...b,
135
- options: unref(c),
136
- ...g,
137
- value: d,
138
- "onUpdate:value": f
148
+ loading: a?.loading,
149
+ ...T,
150
+ options: unref(a),
151
+ ...v,
152
+ value: D,
153
+ "onUpdate:value": w === "number" ? c : o
139
154
  }, l);
140
155
  };
141
156
  },
142
- checkbox: () => ({ slots: n, props: c }, { modelValue: l, "onUpdate:modelValue": u, required: d, readonly: f, ...p }) => {
143
- if (c = mapProps(c), f) {
144
- let u;
145
- return u = l === (c.checkedValue ?? !0) ? n?.checked ? n.checked() : createVNode(NCheckbox, { checked: !0 }, null) : n?.unchecked ? n.unchecked() : createVNode(NCheckbox, { disabled: !0 }, null), createVNode(NText, {
157
+ checkbox: () => ({ slots: e, props: a }, { modelValue: o, "onUpdate:modelValue": s, required: c, readonly: l, ...u }) => {
158
+ if (a = mapProps(a), l) {
159
+ let s;
160
+ return s = o === (a.checkedValue ?? !0) ? e?.checked ? e.checked() : createVNode(NCheckbox, { checked: !0 }, null) : e?.unchecked ? e.unchecked() : createVNode(NCheckbox, { disabled: !0 }, null), createVNode(NText, {
146
161
  depth: 2,
147
162
  style: "line-height: 1.25"
148
- }, _isSlot(u) ? u : { default: () => [u] });
163
+ }, _isSlot(s) ? s : { default: () => [s] });
149
164
  }
150
165
  return h(NCheckbox, {
151
- ...c,
152
- ...p,
153
- checked: l,
154
- "onUpdate:checked": u
155
- }, n);
166
+ ...a,
167
+ ...u,
168
+ checked: o,
169
+ "onUpdate:checked": s
170
+ }, e);
156
171
  },
157
172
  checkboxes: () => {
158
- let n, c;
159
- return ({ props: u }, { modelValue: d, required: f, readonly: p, ...m }) => {
160
- let { dictType: g, options: v, ...y } = mapProps(u);
161
- if (v ? c = v : n !== g && (n = g, !c && n && (c = useDict(n))), p) {
162
- let n;
173
+ let e, a, s, c;
174
+ return ({ props: l }, { modelValue: u, "onUpdate:modelValue": d, required: f, readonly: m, ...g }) => {
175
+ let { dictType: v, options: y, valueType: b = "string", ...S } = mapProps(l), w = b === "number" ? x : _;
176
+ y ? a = y : e !== v && (e = v, !a && e && (a = useDict(e)));
177
+ let T = u?.map(w) ?? [];
178
+ if (m) {
179
+ let e;
163
180
  return createVNode(NText, {
164
181
  depth: 2,
165
182
  style: "line-height: 2.4"
166
- }, _isSlot(n = (d?.map((n) => c?.find((c) => c[y.valueField || "value"] === n)) ?? []).map((n, c, l) => {
167
- let u = n ? n[y.labelField ?? "label"] ?? "" : d[c] ?? "";
168
- return createVNode("span", { key: n ? n[y.valueField ?? "value"] : d[c] ?? "" }, [u, c < l.length - 1 ? ", " : ""]);
169
- })) ? n : { default: () => [n] });
183
+ }, _isSlot(e = (T?.map((e) => a?.find((a) => a[S.valueField || "value"] === e)) ?? []).map((e, a, o) => {
184
+ let s = e ? e[S.labelField ?? "label"] ?? "" : T[a] ?? "";
185
+ return createVNode("span", { key: e ? e[S.valueField ?? "value"] : T[a] ?? "" }, [s, a < o.length - 1 ? ", " : ""]);
186
+ })) ? e : { default: () => [e] });
170
187
  }
171
- return h(NCheckboxes, {
172
- ...y,
173
- ...m,
174
- options: c,
175
- modelValue: d
188
+ return s = d, b === "number" && !c && (c = (e, ...a) => {
189
+ s(multiple0 ? e?.map(C) : C(e), ...a);
190
+ }), h(NCheckboxes, {
191
+ ...S,
192
+ ...g,
193
+ options: a,
194
+ modelValue: T,
195
+ "onUpdate:modelValue": b === "number" ? c : s
176
196
  });
177
197
  };
178
198
  },
179
199
  radios: () => {
180
- let n, c;
181
- return ({ props: l }, { modelValue: u, required: d, readonly: f, ...m }) => {
182
- let { dictType: g, options: v, ...y } = mapProps(l);
183
- if (v ? c = v : n !== g && (n = g, !c && n && (c = useDict(n))), f) {
184
- let n = c?.find((n) => n[y.valueField ?? "value"] === u);
200
+ let e, a, o, s;
201
+ return ({ props: c }, { modelValue: l, "onUpdate:modelValue": d, required: f, readonly: m, ...g }) => {
202
+ let { dictType: v, options: y, valueType: b = "string", ...S } = mapProps(c), w = b === "number" ? x : _;
203
+ y ? a = y : e !== v && (e = v, !a && e && (a = useDict(e)));
204
+ let T = w(l);
205
+ if (m) {
206
+ let e = a?.find((e) => e[S.valueField ?? "value"] === T);
185
207
  return createVNode(NText, {
186
208
  depth: 2,
187
209
  style: "line-height: 1.25"
188
- }, { default: () => [n ? n[y.labelField ?? "label"] ?? "" : u ?? ""] });
210
+ }, { default: () => [e ? e[S.labelField ?? "label"] ?? "" : T ?? ""] });
189
211
  }
190
- return h(NRadios, {
191
- ...y,
192
- ...m,
193
- options: c,
194
- modelValue: u
212
+ return o = d, b === "number" && !s && (s = (e, ...a) => {
213
+ o(C(e), ...a);
214
+ }), h(NRadios, {
215
+ ...S,
216
+ ...g,
217
+ options: a,
218
+ modelValue: T,
219
+ "onUpdate:modelValue": b === "number" ? s : o
195
220
  });
196
221
  };
197
222
  },
198
- datepicker: () => ({ slots: n, props: c }, { modelValue: l, "onUpdate:modelValue": u, required: d, readonly: f, ...p }) => {
199
- let { type: m = "date", format: g = m.startsWith("datetime") ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM-dd", ...v } = mapProps(c);
200
- return f ? m.endsWith("range") ? createVNode(NText, {
223
+ datepicker: () => ({ slots: e, props: a }, { modelValue: o, "onUpdate:modelValue": s, required: c, readonly: l, ...u }) => {
224
+ let { type: d = "date", format: f = d.startsWith("datetime") ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM-dd", ...m } = mapProps(a);
225
+ return l ? d.endsWith("range") ? createVNode(NText, {
201
226
  depth: 2,
202
227
  style: "line-height: 1.25"
203
- }, { default: () => [l ? `${l[0] ? format(l[0], g) : ""} ~ ${l[1] ? format(l[1], g) : ""}` : ""] }) : createVNode(NText, {
228
+ }, { default: () => [o ? `${o[0] ? format(o[0], f) : ""} ~ ${o[1] ? format(o[1], f) : ""}` : ""] }) : createVNode(NText, {
204
229
  depth: 2,
205
230
  style: "line-height: 1.25"
206
- }, { default: () => [l ? format(l, g) : ""] }) : h(NDatePicker, {
231
+ }, { default: () => [o ? format(o, f) : ""] }) : h(NDatePicker, {
207
232
  actions: null,
208
233
  updateValueOnClose: !0,
209
234
  clearable: !0,
210
- ...v,
211
- ...p,
212
- type: m,
213
- format: g,
214
- value: l,
215
- "onUpdate:value": u
216
- }, n);
235
+ ...m,
236
+ ...u,
237
+ type: d,
238
+ format: f,
239
+ value: o,
240
+ "onUpdate:value": s
241
+ }, e);
217
242
  },
218
- file: () => ({ slots: n, props: c }, { modelValue: l, "onUpdate:modelValue": u, required: d, readonly: f, ...p }) => {
219
- if (c = mapProps(c), f) {
220
- let n;
243
+ file: () => ({ slots: e, props: a }, { modelValue: o, "onUpdate:modelValue": s, required: c, readonly: l, ...u }) => {
244
+ if (a = mapProps(a), l) {
245
+ let e;
221
246
  return console.warn("[file] 原则上此组建不应该显示在详情中"), fileList.value.length === 0 ? void 0 : createVNode(NFlex, {
222
247
  gap: "8",
223
248
  vertical: !0
224
- }, _isSlot(n = l.map((n) => createVNode("a", {
225
- key: n.id,
226
- href: n.url,
249
+ }, _isSlot(e = o.map((e) => createVNode("a", {
250
+ key: e.id,
251
+ href: e.url,
227
252
  target: "_blank",
228
253
  rel: "noreferrer",
229
254
  style: "max-width: 100px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: inline-block"
230
- }, [n.name]))) ? n : { default: () => [n] });
255
+ }, [e.name]))) ? e : { default: () => [e] });
231
256
  }
232
257
  return h(SimpleUpload, {
233
- ...c,
234
- ...p,
258
+ ...a,
259
+ ...u,
235
260
  defaultUpload: !1,
236
- uploadFile: v,
237
- fileList: l,
238
- onUpdateFileList: u
239
- }, n);
261
+ uploadFile: m,
262
+ fileList: o,
263
+ onUpdateFileList: s
264
+ }, e);
240
265
  },
241
266
  upload: () => {
242
- let n = null, c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = shallowRef([]), d = 0, f = (n) => {
243
- let c = ++d;
244
- u.value = n.map((n) => l.get(n)).filter(Boolean);
245
- let f = n.filter((n) => !l.has(n));
246
- Promise.resolve(f.length > 0 ? y(f) : []).then((f) => {
247
- if (c === d) {
248
- u.value = n.map((n) => l.get(n) || f.find((c) => c.id === n)), l.clear();
249
- for (let n of u.value) l.set(n.id, n);
267
+ let e = null, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = shallowRef([]), c = 0, l = (e) => {
268
+ let a = ++c;
269
+ s.value = e.map((e) => o.get(e)).filter(Boolean);
270
+ let l = e.filter((e) => !o.has(e));
271
+ Promise.resolve(l.length > 0 ? g(l) : []).then((l) => {
272
+ if (a === c) {
273
+ s.value = e.map((e) => o.get(e) || l.find((a) => a.id === e)), o.clear();
274
+ for (let e of s.value) o.set(e.id, e);
250
275
  }
251
276
  });
252
- }, p;
277
+ }, u;
253
278
  return {
254
- renderer: ({ slots: d, props: m }, { modelValue: g, "onUpdate:modelValue": y, required: b, readonly: S, ...C }) => {
255
- let w = mapProps(m);
256
- if (p = w.ref ??= shallowRef(), n !== g && (n = g, f(g?.split(",") ?? [])), S) {
257
- let n;
258
- return u.value.length === 0 ? void 0 : createVNode(NFlex, {
279
+ renderer: ({ slots: c, props: d }, { modelValue: f, "onUpdate:modelValue": g, required: _, readonly: y, ...b }) => {
280
+ let x = mapProps(d);
281
+ if (u = x.ref ??= shallowRef(), e !== f && (e = f, l(f?.split(",") ?? [])), y) {
282
+ let e;
283
+ return s.value.length === 0 ? void 0 : createVNode(NFlex, {
259
284
  gap: "8",
260
285
  vertical: !0,
261
286
  style: "padding: 6px 0"
262
- }, _isSlot(n = u.value.map((n) => createVNode("a", {
263
- key: n.id,
264
- href: n.url,
287
+ }, _isSlot(e = s.value.map((e) => createVNode("a", {
288
+ key: e.id,
289
+ href: e.url,
265
290
  target: "_blank",
266
291
  rel: "noreferrer",
267
- title: n.name,
268
- download: n.name,
292
+ title: e.name,
293
+ download: e.name,
269
294
  style: "max-width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: inline-block"
270
- }, [n.name]))) ? n : { default: () => [n] });
295
+ }, [e.name]))) ? e : { default: () => [e] });
271
296
  }
272
297
  return h(SimpleUpload, {
273
- ...w,
274
- ...C,
275
- uploadFile: v,
276
- fileList: u.value,
277
- onUpdateFileList: (n = []) => {
278
- l.clear();
279
- for (let u of n) u.file?.fileId && c.set(u.id, u.file.fileId), u.file?.fileId ? l.set(u.file.fileId, u) : l.set(u.id, u);
280
- u.value = n, y(u.value.map((n) => c.get(n.id) || n.id).join(",") || null);
298
+ ...x,
299
+ ...b,
300
+ uploadFile: m,
301
+ fileList: s.value,
302
+ onUpdateFileList: (e = []) => {
303
+ o.clear();
304
+ for (let s of e) s.file?.fileId && a.set(s.id, s.file.fileId), s.file?.fileId ? o.set(s.file.fileId, s) : o.set(s.id, s);
305
+ s.value = e, g(s.value.map((e) => a.get(e.id) || e.id).join(",") || null);
281
306
  }
282
- }, d);
307
+ }, c);
283
308
  },
284
309
  beforeSubmit: async () => {
285
- if (await p?.value?.submit(), await until(u).toMatch((n) => n.every((n) => !["pending", "uploading"].includes(n.status))), u.value.some((n) => n.status === "error")) return SimpleUpload.t("common.page.form.validate.fileErrorMessage");
310
+ if (await u?.value?.submit(), await until(s).toMatch((e) => e.every((e) => !["pending", "uploading"].includes(e.status))), s.value.some((e) => e.status === "error")) return SimpleUpload.t("common.page.form.validate.fileErrorMessage");
286
311
  }
287
312
  };
288
313
  },
289
314
  user: () => {
290
- let l, p, v;
291
- return ({ slots: y, props: b }, { modelValue: S, "onUpdate:modelValue": C, required: w, readonly: T, ...E }) => {
292
- let D = mapProps(b);
293
- return l || (l = shallowRef([]), p = shallowRef([]), v = shallowRef([]), g().then((n) => {
294
- l.value = n;
295
- }), n().then((n) => {
296
- p.value = n;
297
- }), f().then((n) => {
298
- v.value = n;
299
- })), T ? createVNode(DtUserRender, {
300
- value: S,
301
- multiple: D.multiple,
302
- getUsersByUsername: g
315
+ let o, u, m;
316
+ return ({ slots: g, props: _ }, { modelValue: y, "onUpdate:modelValue": b, required: x, readonly: S, ...C }) => {
317
+ let w = mapProps(_);
318
+ return o || (o = shallowRef([]), u = shallowRef([]), m = shallowRef([]), f().then((e) => {
319
+ o.value = e;
320
+ }), e().then((e) => {
321
+ u.value = e;
322
+ }), l().then((e) => {
323
+ m.value = e;
324
+ })), S ? createVNode(DtUserRender, {
325
+ value: y,
326
+ multiple: w.multiple,
327
+ getUsersByUsername: f
303
328
  }, null) : h(DtUserDept, {
304
329
  type: "user",
305
- users: l.value,
306
- depts: v.value,
307
- groups: p.value,
308
- getUsersByDept: m,
309
- getUsersByGroup: u,
310
- ...D,
311
- ...E,
312
- modelValue: S,
313
- "onUpdate:modelValue": C
314
- }, y);
330
+ users: o.value,
331
+ depts: m.value,
332
+ groups: u.value,
333
+ getUsersByDept: d,
334
+ getUsersByGroup: s,
335
+ ...w,
336
+ ...C,
337
+ modelValue: y,
338
+ "onUpdate:modelValue": b
339
+ }, g);
315
340
  };
316
341
  }
317
342
  };
318
343
  }
319
- function createPageTableHelper({ getDeptsByCode: n, getUsersByUsername: l, getFileInfos: u, previewFileUrl: d }) {
320
- let p = (n) => () => (c, l, u, d) => {
321
- if (c != null) return format(c, d.formatter ?? n);
322
- }, m = (n = {}) => createVNode("svg", mergeProps({
344
+ function createPageTableHelper({ getDeptsByCode: e, getUsersByUsername: o, getFileInfos: s, previewFileUrl: c }) {
345
+ let u = (e) => () => (a, o, s, c) => {
346
+ if (a != null) return format(a, c.formatter ?? e);
347
+ }, d = (e = {}) => createVNode("svg", mergeProps({
323
348
  xmlns: "http://www.w3.org/2000/svg",
324
349
  width: "1em",
325
350
  height: "1em",
326
351
  viewBox: "0 0 32 32"
327
- }, n), [createVNode("circle", {
352
+ }, e), [createVNode("circle", {
328
353
  cx: "16",
329
354
  cy: "16",
330
355
  r: "8",
331
356
  fill: "currentColor"
332
357
  }, null)]);
333
358
  return {
334
- date: p("yyyy-MM-dd"),
335
- datetime: p("yyyy-MM-dd HH:mm:ss"),
359
+ date: u("yyyy-MM-dd"),
360
+ datetime: u("yyyy-MM-dd HH:mm:ss"),
336
361
  dict: () => {
337
- let n, c, l;
338
- return (u, d, f, p) => {
339
- if (u == null) return;
340
- let { dictType: g, options: _, multiple: v, statusMap: y } = mapProps(p);
341
- if (_ ? c !== _ && (c = _, l = new Map(_.map((n) => [n[p.valueField || "value"], n]))) : n !== g && (n = g, !l && n && (l = useDictMap(n))), !v) {
342
- if (u = u.toString(), y && u in y) {
343
- let n = y[u] ?? "default";
362
+ let e, a, o;
363
+ return (s, c, l, u) => {
364
+ if (s == null) return;
365
+ let { dictType: f, options: p, multiple: m, statusMap: g } = mapProps(u);
366
+ if (p ? a !== p && (a = p, o = new Map(p.map((e) => [e[u.valueField || "value"], e]))) : e !== f && (e = f, !o && e && (o = useDictMap(e))), !m) {
367
+ if (s = s.toString(), g && s in g) {
368
+ let e = g[s] ?? "default";
344
369
  return [
345
370
  "primary",
346
371
  "success",
347
372
  "warning",
348
373
  "danger"
349
- ].includes(n) && (n = `var(--color-${n})`), createVNode("span", { style: "position: relative; padding-left: 1.25em" }, [createVNode(m, { style: `color: ${n}; position: absolute;left: 0; top: 1.5px` }, null), createVNode("span", null, [l.get(u)?.[p.labelField || "label"] ?? u ?? ""])]);
374
+ ].includes(e) && (e = `var(--color-${e})`), createVNode("span", { style: "position: relative; padding-left: 1.25em" }, [createVNode(d, { style: `color: ${e}; position: absolute;left: 0; top: 1.5px` }, null), createVNode("span", null, [o.get(s)?.[u.labelField || "label"] ?? s ?? ""])]);
350
375
  }
351
- return l.get(u)?.[p.labelField || "label"] ?? u ?? "";
376
+ return o.get(s)?.[u.labelField || "label"] ?? s ?? "";
352
377
  }
353
- return u?.map((n) => l.get(n?.toString())?.[p.labelField || "label"] ?? n?.toString() ?? "") ?? "";
378
+ return s?.map((e) => o.get(e?.toString())?.[u.labelField || "label"] ?? e?.toString() ?? "") ?? "";
354
379
  };
355
380
  },
356
- number: () => (n, c, l, u) => {
357
- if (n != null) {
358
- switch (u.percent && (n = Number(n) * 100), "number") {
359
- case typeof u.fixed:
360
- n = n.toFixed(u.fixed);
381
+ number: () => (e, a, o, s) => {
382
+ if (e != null) {
383
+ switch (s.percent && (e = Number(e) * 100), "number") {
384
+ case typeof s.fixed:
385
+ e = e.toFixed(s.fixed);
361
386
  break;
362
- case typeof u.round:
363
- n = n.toFixed(u.round).replace(/0+$/, "");
387
+ case typeof s.round:
388
+ e = e.toFixed(s.round).replace(/0+$/, "");
364
389
  break;
365
- case typeof u.precision:
366
- n = n.toPrecision(u.precision);
390
+ case typeof s.precision:
391
+ e = e.toPrecision(s.precision);
367
392
  break;
368
393
  }
369
- return u?.separator ? Number(n).toLocaleString() : n;
394
+ return s?.separator ? Number(e).toLocaleString() : e;
370
395
  }
371
396
  },
372
- email: () => (n) => createVNode("a", { href: `mailto:${n}` }, [n]),
373
- url: () => (n) => createVNode("a", { href: n }, [n]),
374
- color: () => (n) => createVNode(NColorPicker, {
375
- value: n,
397
+ email: () => (e) => createVNode("a", { href: `mailto:${e}` }, [e]),
398
+ url: () => (e) => createVNode("a", { href: e }, [e]),
399
+ color: () => (e) => createVNode(NColorPicker, {
400
+ value: e,
376
401
  disabled: !0,
377
402
  size: "small"
378
403
  }, null),
379
- image: () => (n, c, l, u) => {
380
- let f;
381
- return n ? createVNode(NFlex, {
404
+ image: () => (e, a, o, s) => {
405
+ let l;
406
+ return e ? createVNode(NFlex, {
382
407
  gap: "8",
383
408
  wrap: !0
384
- }, _isSlot(f = (Array.isArray(n) ? n : u?.multiple ? n.split(",") : [n]).map((n) => d(n)).map((n) => createVNode("img", {
385
- key: n,
386
- src: n,
409
+ }, _isSlot(l = (Array.isArray(e) ? e : s?.multiple ? e.split(",") : [e]).map((e) => c(e)).map((e) => createVNode("img", {
410
+ key: e,
411
+ src: e,
387
412
  style: "max-height: 32px; max-width: 100px; object-fit: contain"
388
- }, null))) ? f : { default: () => [f] }) : void 0;
413
+ }, null))) ? l : { default: () => [l] }) : void 0;
389
414
  },
390
415
  file: () => {
391
- let n = nanoid();
392
- return (c, l, d, f) => {
393
- let p;
394
- return c ? (l.__file_urls ??= {}, l.__file_urls[n] || u(Array.isArray(c) ? c : f?.multiple ? c.split(",") : [c]).then((c) => {
395
- l.__file_urls[n] = c;
416
+ let e = nanoid();
417
+ return (a, o, c, l) => {
418
+ let u;
419
+ return a ? (o.__file_urls ??= {}, o.__file_urls[e] || s(Array.isArray(a) ? a : l?.multiple ? a.split(",") : [a]).then((a) => {
420
+ o.__file_urls[e] = a;
396
421
  }), createVNode(NFlex, {
397
422
  gap: "8",
398
423
  wrap: !0
399
- }, _isSlot(p = (l.__file_urls[n] || []).map((n) => createVNode("a", {
400
- key: n.id,
401
- href: n.url,
424
+ }, _isSlot(u = (o.__file_urls[e] || []).map((e) => createVNode("a", {
425
+ key: e.id,
426
+ href: e.url,
402
427
  target: "_blank",
403
428
  rel: "noreferrer",
404
429
  style: "max-width: 100px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: inline-block"
405
- }, [n.name]))) ? p : { default: () => [p] })) : void 0;
430
+ }, [e.name]))) ? u : { default: () => [u] })) : void 0;
406
431
  };
407
432
  },
408
- dept: () => (c, l, u, d) => {
409
- if (c) return createVNode(DtDeptRender, {
410
- value: c,
411
- multiple: d?.multiple,
412
- getDeptsByCode: n
433
+ dept: () => (a, o, s, c) => {
434
+ if (a) return createVNode(DtDeptRender, {
435
+ value: a,
436
+ multiple: c?.multiple,
437
+ getDeptsByCode: e
413
438
  }, null);
414
439
  },
415
- user: () => (n, u, d, f) => {
416
- if (n) return createVNode(DtUserRender, {
417
- value: n,
418
- multiple: f?.multiple,
419
- getUsersByUsername: l
440
+ user: () => (e, s, c, l) => {
441
+ if (e) return createVNode(DtUserRender, {
442
+ value: e,
443
+ multiple: l?.multiple,
444
+ getUsersByUsername: o
420
445
  }, null);
421
446
  }
422
447
  };
423
448
  }
424
449
  function createFormHelper() {
425
- return () => ({ items: n, model: c, handleSubmit: l, reset: d, validation: f, readonly: p, inModal: m, showFeedback: g, showColon: _, labelWidth: v, labelAlign: y, labelPlacement: b, showRequireMark: x, requireMarkPlacement: C }) => createVNode(DataForm, {
426
- readonly: p,
427
- model: c,
428
- items: n,
429
- validation: f,
430
- showColon: unref(_) ?? !0,
431
- labelWidth: unref(v),
432
- labelAlign: unref(y),
433
- labelPlacement: unref(b),
434
- showRequireMark: unref(x),
435
- requireMarkPlacement: unref(C),
436
- showFeedback: unref(g) ?? !0,
450
+ return () => ({ items: e, model: a, handleSubmit: o, reset: c, validation: l, readonly: u, inModal: d, showFeedback: f, showColon: p, labelWidth: m, labelAlign: g, labelPlacement: _, showRequireMark: v, requireMarkPlacement: b }) => createVNode(DataForm, {
451
+ readonly: u,
452
+ model: a,
453
+ items: e,
454
+ validation: l,
455
+ showColon: unref(p) ?? !0,
456
+ labelWidth: unref(m),
457
+ labelAlign: unref(g),
458
+ labelPlacement: unref(_),
459
+ showRequireMark: unref(v),
460
+ requireMarkPlacement: unref(b),
461
+ showFeedback: unref(f) ?? !0,
437
462
  showAction: !1,
438
- onSubmit: l,
439
- onRest: d,
440
- style: m ? "padding-right: 2rem; padding-top: 1rem" : void 0
463
+ onSubmit: o,
464
+ onRest: c,
465
+ style: d ? "padding-right: 2rem; padding-top: 1rem" : void 0
441
466
  }, null);
442
467
  }
443
468
  function createModalHelper() {
444
- let n = (n) => typeof n == "number" ? `${n}px` : n, c = {
469
+ let e = (e) => typeof e == "number" ? `${e}px` : e, a = {
445
470
  maxHeight: "calc(100vh - 130px)",
446
471
  display: "flex",
447
472
  flexDirection: "column"
448
- }, l = { content: !0 };
449
- return () => ({ type: u = "dialog", visible: d, title: f, content: p, footer: m, placement: g, resizable: _, draggable: v, closeOnEsc: b, closable: x, showMask: S, maskClosable: C, width: T, height: E, style: D, onClose: O, onCancel: k, onConfirm: A, onAfterClose: j, onAfterOpen: M, confirmText: N, confirmDisabled: P, confirmLoading: F, cancelText: I, cancelDisabled: L, cancelLoading: R, nativeScrollbar: z, ...B }) => {
450
- let V = m ? () => m : m === null ? null : () => createVNode(NFlex, {
473
+ }, o = { content: !0 };
474
+ return () => ({ type: s = "dialog", visible: c, title: l, content: u, footer: d, placement: f, resizable: p, draggable: m, closeOnEsc: _, closable: v, showMask: y, maskClosable: b, width: S, height: C, style: w, onClose: O, onCancel: k, onConfirm: A, onAfterClose: j, onAfterOpen: M, confirmText: N, confirmDisabled: P, confirmLoading: F, cancelText: I, cancelDisabled: L, cancelLoading: R, nativeScrollbar: z, ...B }) => {
475
+ let V = d ? () => d : d === null ? null : () => createVNode(NFlex, {
451
476
  justify: "end",
452
477
  gap: "16"
453
478
  }, { default: () => [I === null ? void 0 : createVNode(NButton, {
@@ -462,58 +487,58 @@ function createModalHelper() {
462
487
  loading: F,
463
488
  style: "min-width: 60px"
464
489
  }, _isSlot(N) ? N : { default: () => [N] })] });
465
- if (u === "dialog") {
466
- let { style: u } = mergeProps({ style: {
467
- width: n(T ?? 520),
468
- height: n(E)
469
- } }, { style: D });
490
+ if (s === "dialog") {
491
+ let { style: s } = mergeProps({ style: {
492
+ width: e(S ?? 520),
493
+ height: e(C)
494
+ } }, { style: w });
470
495
  return createVNode(NModal, mergeProps({
471
- show: d,
496
+ show: c,
472
497
  preset: "card",
473
- title: () => f,
474
- maskClosable: C ?? !1,
475
- closeOnEsc: b,
476
- closable: x,
498
+ title: () => l,
499
+ maskClosable: b ?? !1,
500
+ closeOnEsc: _,
501
+ closable: v,
477
502
  onClose: O,
478
- segmented: l,
503
+ segmented: o,
479
504
  size: "small",
480
505
  onAfterEnter: M,
481
506
  onAfterLeave: j,
482
507
  onUpdateShow: O,
483
- draggable: v ?? !0,
484
- style: u,
485
- contentStyle: c
508
+ draggable: m ?? !0,
509
+ style: s,
510
+ contentStyle: a
486
511
  }, B), {
487
512
  default: () => createVNode(NScrollbar, {
488
513
  abstract: !0,
489
514
  style: "display: flex; flex-direction: column"
490
- }, _isSlot(p) ? p : { default: () => [p] }),
515
+ }, _isSlot(u) ? u : { default: () => [u] }),
491
516
  action: V
492
517
  });
493
518
  }
494
519
  let { bodyContentClass: H, bodyContentStyle: U, ...W } = B;
495
520
  return createVNode(NDrawer, mergeProps({
496
- show: d,
521
+ show: c,
497
522
  trapFocus: !1,
498
- closeOnEsc: b,
499
- showMask: S,
500
- maskClosable: C,
501
- resizable: _,
502
- placement: g,
503
- width: T ?? 440,
504
- height: E,
523
+ closeOnEsc: _,
524
+ showMask: y,
525
+ maskClosable: b,
526
+ resizable: p,
527
+ placement: f,
528
+ width: S ?? 440,
529
+ height: C,
505
530
  onUpdateShow: O,
506
531
  onAfterEnter: M,
507
532
  onAfterLeave: j,
508
- style: D
533
+ style: w
509
534
  }, W), { default: () => [createVNode(NDrawerContent, {
510
- closable: x,
535
+ closable: v,
511
536
  nativeScrollbar: z ?? !1,
512
537
  bodyContentClass: H,
513
538
  bodyContentStyle: U
514
539
  }, {
515
- default: () => p,
516
- header: () => f,
540
+ default: () => u,
541
+ header: () => l,
517
542
  footer: V
518
543
  })] });
519
544
  };
package/dist/use-style.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as flex, c as flexDirCol, d as flexJustifySB, f as fullHeight, g as useStyle, h as useMergedClsPrefix, i as cM, l as flexGap, m as fullWidth, n as cB, o as flexAlignCenter, p as fullWH, r as cE, s as flexCenter, t as c, u as flexJustifyCenter } from "./use-style-DcT-1dj4.js";
1
+ import { a as flex, c as flexDirCol, d as flexJustifySB, f as fullHeight, g as useStyle, h as useMergedClsPrefix, i as cM, l as flexGap, m as fullWidth, n as cB, o as flexAlignCenter, p as fullWH, r as cE, s as flexCenter, t as c, u as flexJustifyCenter } from "./use-style-mj2B1q0l.js";
2
2
  export { c, cB, cE, cM, useStyle as default, flex, flexAlignCenter, flexCenter, flexDirCol, flexGap, flexJustifyCenter, flexJustifySB, fullHeight, fullWH, fullWidth, useMergedClsPrefix as useClsPrefix };
package/esm/page.d.ts CHANGED
@@ -26,7 +26,9 @@ declare module '@ithinkdt/page' {
26
26
  inputSlots?: InputSlots
27
27
  }
28
28
  number: {
29
- numberProps?: ShallowMaybeRef<Omit<InputNumberProps, 'value' | 'onUpdate:value' | 'disabled'>> & PublicProps
29
+ numberProps?: ShallowMaybeRef<Omit<InputNumberProps, 'value' | 'onUpdate:value' | 'disabled'>> & PublicProps & {
30
+ valueType?: 'string' | 'number' | undefined
31
+ }
30
32
  numberSlots?: InputNumberSlots
31
33
  }
32
34
  select: {
@@ -34,6 +36,7 @@ declare module '@ithinkdt/page' {
34
36
  & {
35
37
  dictType?: DictTypeKey | undefined
36
38
  options?: DictItem[] | (SelectOption | SelectGroupOption)[] | undefined
39
+ valueType?: 'string' | 'number' | undefined
37
40
  }>
38
41
  selectSlots?: SelectSlots
39
42
  }
@@ -52,6 +55,7 @@ declare module '@ithinkdt/page' {
52
55
  & {
53
56
  dictType?: DictTypeKey | undefined
54
57
  options?: DictItem[] | undefined
58
+ valueType?: 'string' | 'number' | undefined
55
59
  }>
56
60
  checkboxesSlots?: { }
57
61
  }
@@ -61,6 +65,7 @@ declare module '@ithinkdt/page' {
61
65
  & {
62
66
  dictType?: DictTypeKey | undefined
63
67
  options?: DictItem[] | undefined
68
+ valueType?: 'string' | 'number' | undefined
64
69
  }>
65
70
  radiosSlots?: { }
66
71
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ithinkdt/ui",
3
- "version": "4.0.0-404",
3
+ "version": "4.0.0-406",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "iThinkDT UI",
@@ -82,14 +82,14 @@
82
82
  }
83
83
  },
84
84
  "devDependencies": {
85
- "@vitejs/plugin-vue-jsx": "^5.1.1",
85
+ "@vitejs/plugin-vue-jsx": "^5.1.2",
86
86
  "ithinkdt-ui": "^1.8.1",
87
87
  "typescript": "~5.9.3",
88
- "unocss": ">=66.5.6",
89
- "vite": "npm:rolldown-vite@^7.2.5",
90
- "vue": "^3.5.24",
88
+ "unocss": ">=66.5.9",
89
+ "vite": "npm:rolldown-vite@^7.2.7",
90
+ "vue": "^3.5.25",
91
91
  "vue-router": "^4.6.3",
92
- "@ithinkdt/page": "^4.0.0-400"
92
+ "@ithinkdt/page": "^4.0.0-401"
93
93
  },
94
94
  "scripts": {
95
95
  "dev": "vite build --watch",