@ithinkdt/ui 4.0.0-700 → 4.0.0-801

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,9 +1,9 @@
1
1
  import { n as useI18n } from "./use-i18n-D-AJ8KbA.js";
2
- import { g as useStyle, h as useMergedClsPrefix, i as cM, n as cB, r as cE, t as c } from "./use-style-DrH-89qR.js";
3
- import { i as vTooltip } from "./directives-RPqFovTo.js";
2
+ import { g as useStyle, h as useMergedClsPrefix, i as cM, n as cB, r as cE, t as c } from "./use-style-BGq0HdRK.js";
3
+ import { i as vTooltip } from "./directives-pc2Vi93X.js";
4
4
  import { Fragment, computed, createTextVNode, createVNode, defineComponent, h, inject, isVNode, markRaw, mergeProps, nextTick, reactive, ref, shallowRef, toRaw, toRef, toValue, unref, useTemplateRef, watch, withDirectives } from "vue";
5
- import { toReactive, unrefElement, until, useCurrentElement, useElementSize, watchDebounced } from "@vueuse/core";
6
- import { NAnchor, NAnchorLink, NAvatar, NAvatarGroup, NButton, NCard, NCheckbox, NCheckboxGroup, NDataTable, NDropdown, NEllipsis, NEmpty, NFlex, NForm, NFormItem, NGi, NGrid, NH4, NIcon, NInput, NList, NListItem, NPagination, NPopover, NRadio, NRadioButton, NRadioGroup, NSelect, NSpin, NTag, NText, NTooltip, NTransfer, NTree, NTreeSelect, dataTableProps, formProps, useDialog } from "ithinkdt-ui";
5
+ import { toReactive, unrefElement, until } from "@vueuse/core";
6
+ import { NAnchor, NAnchorLink, NAvatar, NAvatarGroup, NButton, NCard, NCheckbox, NCheckboxGroup, NDataTable, NDropdown, NEllipsis, NEmpty, NFlex, NForm, NFormItem, NGi, NGrid, NIcon, NInput, NList, NListItem, NPagination, NPopover, NRadio, NRadioButton, NRadioGroup, NSelect, NSpin, NTag, NText, NTooltip, NTransfer, NTree, NTreeSelect, dataTableProps, formProps, useDialog } from "ithinkdt-ui";
7
7
  import { nanoid } from "nanoid";
8
8
  import { VOverflow, VResizeObserver } from "vueuc";
9
9
  import { Sortable } from "sortablejs/modular/sortable.core.esm.js";
@@ -67,37 +67,37 @@ const NCheckboxes = /* @__PURE__ */ defineComponent({
67
67
  "update:modelValue": () => !0,
68
68
  updateModelValue: () => !0
69
69
  },
70
- setup(x, { emit: S, attrs: C }) {
71
- let { t: w } = useI18n(), T = computed(() => x.default ? x.default === !0 ? w("common.all") : typeof x.default == "string" ? x.default : x.default?.[x.labelField] ?? w("common.all") : ""), E = ref([]);
72
- watch(() => x.modelValue, (e) => E.value = e, { immediate: !0 });
73
- let D = (e) => {
74
- S("update:modelValue", e), S("updateModelValue", e);
75
- }, O = () => {
76
- D(E.value?.length === x.options.length ? [] : x.options.map((e) => e[x.valueField]));
77
- }, A = computed(() => x.options.length > E.value?.length && E.value?.length > 0), j = computed(() => ({ "--n-label-padding": x.labelPadding }));
70
+ setup(t, { emit: n, attrs: r }) {
71
+ let { t: i } = useI18n(), a = computed(() => t.default ? t.default === !0 ? i("common.all") : typeof t.default == "string" ? t.default : t.default?.[t.labelField] ?? i("common.all") : ""), o = ref([]);
72
+ watch(() => t.modelValue, (e) => o.value = e, { immediate: !0 });
73
+ let s = (e) => {
74
+ n("update:modelValue", e), n("updateModelValue", e);
75
+ }, l = () => {
76
+ s(o.value?.length === t.options.length ? [] : t.options.map((e) => e[t.valueField]));
77
+ }, d = computed(() => t.options.length > o.value?.length && o.value?.length > 0), f = computed(() => ({ "--n-label-padding": t.labelPadding }));
78
78
  return () => {
79
- let e = createVNode(NCheckboxGroup, mergeProps(C, {
80
- value: E.value,
81
- onUpdateValue: D
79
+ let e = createVNode(NCheckboxGroup, mergeProps(r, {
80
+ value: o.value,
81
+ onUpdateValue: s
82
82
  }), { default: () => [createVNode(NFlex, {
83
- size: x.gap ?? (x.vertical ? void 0 : "small"),
84
- vertical: x.vertical,
85
- style: !x.default && x.vertical ? { padding: "6px 0 0" } : {}
86
- }, { default: () => [x.options?.map((e) => createVNode(NCheckbox, {
87
- value: e[x.valueField],
88
- disabled: e[x.disabledField],
89
- style: j.value
90
- }, { default: () => [e[x.labelField]] }))] })] });
91
- return x.default ? createVNode(NFlex, {
92
- size: x.gap ?? (x.vertical ? void 0 : "small"),
93
- vertical: x.vertical,
94
- style: x.vertical ? { padding: "6px 0 0" } : {}
83
+ size: t.gap ?? (t.vertical ? void 0 : "small"),
84
+ vertical: t.vertical,
85
+ style: !t.default && t.vertical ? { padding: "6px 0 0" } : {}
86
+ }, { default: () => [t.options?.map((e) => createVNode(NCheckbox, {
87
+ value: e[t.valueField],
88
+ disabled: e[t.disabledField],
89
+ style: f.value
90
+ }, { default: () => [e[t.labelField]] }))] })] });
91
+ return t.default ? createVNode(NFlex, {
92
+ size: t.gap ?? (t.vertical ? void 0 : "small"),
93
+ vertical: t.vertical,
94
+ style: t.vertical ? { padding: "6px 0 0" } : {}
95
95
  }, { default: () => [createVNode("span", null, [createVNode(NCheckbox, {
96
- indeterminate: A.value,
97
- checked: E.value?.length > 0,
98
- onUpdateChecked: O,
99
- style: j.value
100
- }, { default: () => [T.value] })]), e] }) : e;
96
+ indeterminate: d.value,
97
+ checked: o.value?.length > 0,
98
+ onUpdateChecked: l,
99
+ style: f.value
100
+ }, { default: () => [a.value] })]), e] }) : e;
101
101
  };
102
102
  }
103
103
  }), IHelp = (e) => createVNode("svg", mergeProps({
@@ -289,16 +289,16 @@ const NCheckboxes = /* @__PURE__ */ defineComponent({
289
289
  default: () => []
290
290
  } },
291
291
  setup(e) {
292
- let x = ref(), S = !0, C = () => {
293
- S ? S = !1 : x.value?.sync({ showAllItemsBeforeCalculate: !0 });
294
- }, w = ref(), T = () => w.value, E = ref(-1), D = (x) => {
295
- E.value = e.options.length - x;
296
- }, O = (e) => {
297
- e || (E.value = -1);
298
- }, A = () => {}, j = computed(() => E.value === -1 ? [] : e.options.slice(E.value).map((e) => ({
292
+ let t = ref(), n = !0, r = () => {
293
+ n ? n = !1 : t.value?.sync({ showAllItemsBeforeCalculate: !0 });
294
+ }, i = ref(), a = () => i.value, o = ref(-1), s = (t) => {
295
+ o.value = e.options.length - t;
296
+ }, l = (e) => {
297
+ e || (o.value = -1);
298
+ }, d = () => {}, f = computed(() => o.value === -1 ? [] : e.options.slice(o.value).map((e) => ({
299
299
  ...e,
300
300
  key: e.text
301
- }))), M = (e) => createVNode(NButton, {
301
+ }))), p = (e) => createVNode(NButton, {
302
302
  type: e.color === "danger" ? "error" : [
303
303
  "default",
304
304
  "tertiary",
@@ -309,15 +309,15 @@ const NCheckboxes = /* @__PURE__ */ defineComponent({
309
309
  "error"
310
310
  ].includes(e.color) ? e.color : "primary",
311
311
  text: !0
312
- }, { default: () => [e.text] }), N = (e, x) => {
313
- x.onClick?.();
312
+ }, { default: () => [e.text] }), m = (e, t) => {
313
+ t.onClick?.();
314
314
  };
315
- return () => createVNode(VResizeObserver, { onResize: C }, { default: () => [createVNode(VOverflow, {
316
- ref: x,
317
- getCounter: T,
318
- onUpdateCount: D,
319
- onUpdateOverflow: O,
320
- updateCounter: A,
315
+ return () => createVNode(VResizeObserver, { onResize: r }, { default: () => [createVNode(VOverflow, {
316
+ ref: t,
317
+ getCounter: a,
318
+ onUpdateCount: s,
319
+ onUpdateOverflow: l,
320
+ updateCounter: d,
321
321
  style: "margin-top: 2px"
322
322
  }, {
323
323
  default: () => e.options.map((e) => createVNode(NButton, {
@@ -335,12 +335,12 @@ const NCheckboxes = /* @__PURE__ */ defineComponent({
335
335
  onClick: e.onClick
336
336
  }, { default: () => [e.text] })),
337
337
  counter: () => createVNode("span", {
338
- ref: w,
338
+ ref: i,
339
339
  style: "position: absolute"
340
340
  }, [createVNode(NDropdown, {
341
- options: j.value,
342
- renderLabel: M,
343
- onSelect: N
341
+ options: f.value,
342
+ renderLabel: p,
343
+ onSelect: m
344
344
  }, { default: () => [createVNode(NButton, {
345
345
  quaternary: !0,
346
346
  size: "small"
@@ -361,9 +361,9 @@ var DataCustomItem = /* @__PURE__ */ defineComponent({
361
361
  fixed: [Boolean, String]
362
362
  },
363
363
  emits: ["update-hidden", "update-fixed"],
364
- setup(e, { emit: x }) {
364
+ setup(e, { emit: t }) {
365
365
  return () => {
366
- let S;
366
+ let n;
367
367
  return createVNode(NFlex, {
368
368
  align: "center",
369
369
  wrap: !1,
@@ -377,17 +377,17 @@ var DataCustomItem = /* @__PURE__ */ defineComponent({
377
377
  createVNode(NCheckbox, {
378
378
  checked: !e.hidden,
379
379
  disabled: e.disabled,
380
- onUpdateChecked: (e) => x("update-hidden", !e)
380
+ onUpdateChecked: (e) => t("update-hidden", !e)
381
381
  }, null),
382
- createVNode(NEllipsis, { style: "flex: 1 1 auto" }, _isSlot$7(S = toValue(e.label)) ? S : { default: () => [S] }),
382
+ createVNode(NEllipsis, { style: "flex: 1 1 auto" }, _isSlot$7(n = toValue(e.label)) ? n : { default: () => [n] }),
383
383
  e.showFixed ? [createVNode(NButton, {
384
384
  text: !0,
385
385
  type: e.fixed === "left" ? "primary" : void 0,
386
- onClick: () => x("update-fixed", e.fixed === "left" ? !1 : "left")
386
+ onClick: () => t("update-fixed", e.fixed === "left" ? !1 : "left")
387
387
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(ILeft2, null, null)] })] }), createVNode(NButton, {
388
388
  text: !0,
389
389
  type: e.fixed === "right" ? "primary" : void 0,
390
- onClick: () => x("update-fixed", e.fixed === "right" ? !1 : "right")
390
+ onClick: () => t("update-fixed", e.fixed === "right" ? !1 : "right")
391
391
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(IRight2, null, null)] })] })] : void 0
392
392
  ] });
393
393
  };
@@ -424,9 +424,9 @@ const DataCustom = /* @__PURE__ */ defineComponent({
424
424
  type: String,
425
425
  default: "disabled"
426
426
  },
427
- visiblityField: {
427
+ visibleField: {
428
428
  type: String,
429
- default: "visiblity"
429
+ default: "visible"
430
430
  },
431
431
  tooltip: [String, Object],
432
432
  size: {
@@ -436,24 +436,24 @@ const DataCustom = /* @__PURE__ */ defineComponent({
436
436
  type: { type: String }
437
437
  },
438
438
  emits: { custom: () => !0 },
439
- setup(x, { emit: S }) {
440
- let { t: C } = useI18n();
441
- function w(e, C, w) {
442
- S("custom", {
443
- key: e[x.keyField],
444
- [C]: w
439
+ setup(t, { emit: n }) {
440
+ let { t: r } = useI18n();
441
+ function i(e, r, i) {
442
+ n("custom", {
443
+ key: e[t.keyField],
444
+ [r]: i
445
445
  });
446
446
  }
447
- let T = ref();
448
- return watch(T, (e) => {
447
+ let a = ref();
448
+ return watch(a, (e) => {
449
449
  e.$el && Sortable.create(e.$el, {
450
450
  animation: 150,
451
451
  ghostClass: "ghost",
452
452
  handle: ".icon-drag",
453
453
  filter: ".disabled",
454
454
  onEnd(e) {
455
- let C = x.data.map((e) => e[x.keyField]), [w] = C.splice(e.oldIndex, 1);
456
- C.splice(e.newIndex, 0, w), S("custom", C);
455
+ let r = t.data.map((e) => e[t.keyField]), [i] = r.splice(e.oldIndex, 1);
456
+ r.splice(e.newIndex, 0, i), n("custom", r);
457
457
  }
458
458
  });
459
459
  }), () => createVNode(NPopover, {
@@ -465,27 +465,27 @@ const DataCustom = /* @__PURE__ */ defineComponent({
465
465
  }, {
466
466
  trigger: () => withDirectives(createVNode(NButton, {
467
467
  text: !0,
468
- type: x.type
469
- }, { default: () => [createVNode(NIcon, { size: x.size }, { default: () => [createVNode(ICustom, null, null)] })] }), [[vTooltip, x.tooltip ?? C("common.page.custom.tooltip")]]),
468
+ type: t.type
469
+ }, { default: () => [createVNode(NIcon, { size: t.size }, { default: () => [createVNode(ICustom, null, null)] })] }), [[vTooltip, t.tooltip ?? r("common.page.custom.tooltip")]]),
470
470
  default: () => {
471
- let e, E;
472
- return createVNode(NFlex, { vertical: !0 }, { default: () => [createVNode(NFlex, { justify: "space-between" }, { default: () => [createVNode("div", { style: "font-weight: bold" }, [x.tooltip ?? C("common.page.custom.tooltip")]), createVNode(NButton, {
471
+ let e, o;
472
+ return createVNode(NFlex, { vertical: !0 }, { default: () => [createVNode(NFlex, { justify: "space-between" }, { default: () => [createVNode("div", { style: "font-weight: bold" }, [t.tooltip ?? r("common.page.custom.tooltip")]), createVNode(NButton, {
473
473
  text: !0,
474
474
  type: "primary",
475
475
  size: "small",
476
- onClick: () => S("custom", !0)
477
- }, _isSlot$7(e = C("common.page.custom.reset")) ? e : { default: () => [e] })] }), createVNode(NFlex, {
478
- ref: T,
476
+ onClick: () => n("custom", !0)
477
+ }, _isSlot$7(e = r("common.page.custom.reset")) ? e : { default: () => [e] })] }), createVNode(NFlex, {
478
+ ref: a,
479
479
  vertical: !0
480
- }, _isSlot$7(E = x.data.filter((e) => e[x.visiblityField] !== !1).map((e) => createVNode(DataCustomItem, {
481
- key: e[x.keyField],
482
- label: e[x.labelField],
483
- hidden: e[x.hiddenField],
484
- fixed: e[x.fixedField],
485
- showFixed: x.showFixed,
486
- onUpdateHidden: (x) => w(e, "hidden", x),
487
- onUpdateFixed: (x) => w(e, "fixed", x)
488
- }, null))) ? E : { default: () => [E] })] });
480
+ }, _isSlot$7(o = t.data.filter((e) => e[t.visibleField] !== !1).map((e) => createVNode(DataCustomItem, {
481
+ key: e[t.keyField],
482
+ label: e[t.labelField],
483
+ hidden: e[t.hiddenField],
484
+ fixed: e[t.fixedField],
485
+ showFixed: t.showFixed,
486
+ onUpdateHidden: (t) => i(e, "hidden", t),
487
+ onUpdateFixed: (t) => i(e, "fixed", t)
488
+ }, null))) ? o : { default: () => [o] })] });
489
489
  }
490
490
  });
491
491
  }
@@ -493,31 +493,31 @@ const DataCustom = /* @__PURE__ */ defineComponent({
493
493
  function _isSlot$6(e) {
494
494
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
495
495
  }
496
- function renderLabel(e, x) {
497
- return typeof e == "function" ? e(x) : e;
496
+ function renderLabel(e, t) {
497
+ return typeof e == "function" ? e(t) : e;
498
498
  }
499
- function renderAnchorLink(e, x) {
499
+ function renderAnchorLink(e, t) {
500
500
  return e.isGroup ? (e.__children ??= e.children?.filter((e) => e.isGroup) ?? [], createVNode(NAnchorLink, { href: `#${e.prop}` }, {
501
- title: () => renderLabel(e.label, x),
502
- default: e.__children?.length ? () => e.__children.map((e) => renderAnchorLink(e, x)) : void 0
501
+ title: () => renderLabel(e.label, t),
502
+ default: e.__children?.length ? () => e.__children.map((e) => renderAnchorLink(e, t)) : void 0
503
503
  })) : null;
504
504
  }
505
- function getSpan(e, x, S) {
506
- return typeof e == "function" ? e(x, S) : e;
505
+ function getSpan(e, t, n) {
506
+ return typeof e == "function" ? e(t, n) : e;
507
507
  }
508
- function renderItem(e, x, S, C) {
508
+ function renderItem(e, t, n, r) {
509
509
  return e.isGroup ? createVNode("div", {
510
510
  key: e.prop,
511
- class: `${C}__group`,
511
+ class: `${r}__group`,
512
512
  id: e.prop
513
- }, [createVNode("div", { class: `${C}__title` }, [renderLabel(e.label, S)]), createVNode("div", { class: `${C}__wrapper` }, [e.children?.map((e) => renderItem(e, x, S, C))])]) : createVNode("div", {
513
+ }, [createVNode("div", { class: `${r}__title` }, [renderLabel(e.label, n)]), createVNode("div", { class: `${r}__wrapper` }, [e.children?.map((e) => renderItem(e, t, n, r))])]) : createVNode("div", {
514
514
  key: e.prop,
515
- class: `${C}__item`,
515
+ class: `${r}__item`,
516
516
  style: {
517
- "--descriptions-col-span": getSpan(e.colSpan, x, S) ?? 1,
518
- "--descriptions-row-span": getSpan(e.rowSpan, x, S) ?? 1
517
+ "--descriptions-col-span": getSpan(e.colSpan, t, n) ?? 1,
518
+ "--descriptions-row-span": getSpan(e.rowSpan, t, n) ?? 1
519
519
  }
520
- }, [e.label ? createVNode("div", { class: `${C}__label` }, [renderLabel(e.label, S)]) : void 0, createVNode("div", { class: `${C}__content` }, [(S ? e.render ? e.render(S) : S[e.prop] : void 0) ?? createVNode("span", { class: `${C}__nothing` }, [createTextVNode("--")])])]);
520
+ }, [e.label ? createVNode("div", { class: `${r}__label` }, [renderLabel(e.label, n)]) : void 0, createVNode("div", { class: `${r}__content` }, [(n ? e.render ? e.render(n) : n[e.prop] : void 0) ?? createVNode("span", { class: `${r}__nothing` }, [createTextVNode("--")])])]);
521
521
  }
522
522
  const DataDescriptions = /* @__PURE__ */ defineComponent({
523
523
  name: "DataDescriptions",
@@ -538,29 +538,29 @@ const DataDescriptions = /* @__PURE__ */ defineComponent({
538
538
  }
539
539
  },
540
540
  setup(e) {
541
- let C = useMergedClsPrefix(), w = `${C.value}-data-descriptions`;
542
- useStyle("-data-descriptions", style$1, C);
543
- let T = ref();
541
+ let r = useMergedClsPrefix(), i = `${r.value}-data-descriptions`;
542
+ useStyle("-data-descriptions", style$1, r);
543
+ let a = ref();
544
544
  watch(() => e.items, () => {
545
- location.hash && until(T).toBeTruthy().then((e) => {
545
+ location.hash && until(a).toBeTruthy().then((e) => {
546
546
  e.scrollTo(location.hash);
547
547
  });
548
548
  }, { immediate: !0 });
549
- let E = computed(() => ({ "--descriptions-cols": e.cols })), D = computed(() => mergeProps({
550
- ref: T,
551
- class: `${w}__anchor`,
549
+ let o = computed(() => ({ "--descriptions-cols": e.cols })), s = computed(() => mergeProps({
550
+ ref: a,
551
+ class: `${i}__anchor`,
552
552
  showBackground: !1,
553
553
  affix: !0
554
554
  }, e.anchor && typeof e.anchor == "object" ? e.anchor : {}));
555
555
  return () => {
556
- let x, { cols: S, title: C, data: T, items: O, anchor: k } = e, A = isNullish(C) ? void 0 : createVNode("div", { class: `${w}__header` }, [typeof C == "string" ? createVNode("span", null, [C]) : C(T ?? void 0)]), j = O.filter((e) => !e.hiddden).map((e) => renderItem(e, S, T, w)), N = k === !1 ? void 0 : createVNode(NAnchor, D.value, _isSlot$6(x = O.map((e) => h(renderAnchorLink(e, T), { key: e.prop }))) ? x : { default: () => [x] });
556
+ let t, { cols: n, title: r, data: a, items: l, anchor: u } = e, d = isNullish(r) ? void 0 : createVNode("div", { class: `${i}__header` }, [typeof r == "string" ? createVNode("span", null, [r]) : r(a ?? void 0)]), f = l.filter((e) => !e.hiddden).map((e) => renderItem(e, n, a, i)), m = u === !1 ? void 0 : createVNode(NAnchor, s.value, _isSlot$6(t = l.map((e) => h(renderAnchorLink(e, a), { key: e.prop }))) ? t : { default: () => [t] });
557
557
  return createVNode("div", {
558
- class: w,
559
- style: E.value
558
+ class: i,
559
+ style: o.value
560
560
  }, [
561
- A,
562
- createVNode("div", { class: `${w}__wrapper` }, [j]),
563
- N
561
+ d,
562
+ createVNode("div", { class: `${i}__wrapper` }, [f]),
563
+ m
564
564
  ]);
565
565
  };
566
566
  }
@@ -681,43 +681,43 @@ const dataFormActionsProps = {
681
681
  "reset",
682
682
  "cancel"
683
683
  ],
684
- setup(x, { emit: S, slots: C }) {
685
- let { t: w } = useI18n(), T = () => {
686
- S("submit");
687
- }, E = () => {
688
- S("reset");
689
- }, D = () => {
690
- S("cancel");
691
- }, { mergedDisabledRef: O, mergedSizeRef: k } = useFormItem(x);
684
+ setup(t, { emit: n, slots: r }) {
685
+ let { t: i } = useI18n(), a = () => {
686
+ n("submit");
687
+ }, o = () => {
688
+ n("reset");
689
+ }, s = () => {
690
+ n("cancel");
691
+ }, { mergedDisabledRef: l, mergedSizeRef: u } = useFormItem(t);
692
692
  return () => {
693
- let e = k.value, S = O.value, { gap: A = e === "small" ? 8 : e === "medium" ? 12 : 16, submitText: j, resetText: M, cancelText: N, submitDisabled: P, submitLoading: F, showSubmitBtn: I, showResetBtn: L, showCancelBtn: R, succeeded: z, successText: B = j, failureText: V = j, nativeButtonType: H } = x;
694
- return createVNode(NFlex, { size: A === void 0 ? e : A }, { default: () => [
695
- C.prefix?.(),
696
- I === !1 ? void 0 : createVNode(NButton, {
697
- attrType: H ? "submit" : "button",
693
+ let e = u.value, n = l.value, { gap: d = e === "small" ? 8 : e === "medium" ? 12 : 16, submitText: f, resetText: p, cancelText: m, submitDisabled: g, submitLoading: _, showSubmitBtn: v, showResetBtn: y, showCancelBtn: b, succeeded: x, successText: S = f, failureText: C = f, nativeButtonType: w } = t;
694
+ return createVNode(NFlex, { size: d === void 0 ? e : d }, { default: () => [
695
+ r.prefix?.(),
696
+ v === !1 ? void 0 : createVNode(NButton, {
697
+ attrType: w ? "submit" : "button",
698
698
  size: e,
699
- type: z ? "success" : z === !1 ? "error" : "primary",
700
- disabled: z !== void 0 || S || P || F,
701
- loading: F,
702
- onClick: H ? void 0 : T
699
+ type: x ? "success" : x === !1 ? "error" : "primary",
700
+ disabled: x !== void 0 || n || g || _,
701
+ loading: _,
702
+ onClick: w ? void 0 : a
703
703
  }, {
704
- default: () => (z ? B : z === !1 ? V : j) || w("common.page.form.submitText"),
705
- icon: () => z ? createVNode(NIcon, null, { default: () => [createVNode(ICheck, null, null)] }) : z === !1 ? createVNode(NIcon, null, { default: () => [createVNode(IClose, null, null)] }) : void 0
704
+ default: () => (x ? S : x === !1 ? C : f) || i("common.page.form.submitText"),
705
+ icon: () => x ? createVNode(NIcon, null, { default: () => [createVNode(ICheck, null, null)] }) : x === !1 ? createVNode(NIcon, null, { default: () => [createVNode(IClose, null, null)] }) : void 0
706
706
  }),
707
- L === !1 ? void 0 : createVNode(NButton, {
708
- size: k.value,
709
- attrType: H ? "reset" : "button",
710
- disabled: S || F || z,
711
- type: R ? "primary" : "default",
712
- secondary: R,
713
- onClick: H ? void 0 : E
714
- }, { default: () => [M || w("common.page.form.resetText")] }),
715
- R === !1 || z ? void 0 : createVNode(NButton, {
707
+ y === !1 ? void 0 : createVNode(NButton, {
708
+ size: u.value,
709
+ attrType: w ? "reset" : "button",
710
+ disabled: n || _ || x,
711
+ type: b ? "primary" : "default",
712
+ secondary: b,
713
+ onClick: w ? void 0 : o
714
+ }, { default: () => [p || i("common.page.form.resetText")] }),
715
+ b === !1 || x ? void 0 : createVNode(NButton, {
716
716
  attrType: "button",
717
- disabled: S || F,
718
- onClick: D
719
- }, { default: () => [N || w("common.page.form.cancelText")] }),
720
- C.suffix?.()
717
+ disabled: n || _,
718
+ onClick: s
719
+ }, { default: () => [m || i("common.page.form.cancelText")] }),
720
+ r.suffix?.()
721
721
  ] });
722
722
  };
723
723
  }
@@ -783,114 +783,103 @@ const DataForm = /* @__PURE__ */ defineComponent({
783
783
  "reset",
784
784
  "cancel"
785
785
  ],
786
- setup(e, { emit: x, slots: S }) {
787
- let C = (S) => {
788
- S?.preventDefault?.(), x("submit", { ...toRaw(e.model) }, S);
789
- }, w = (e) => {
790
- e?.preventDefault?.(), x("reset");
791
- }, T = (e) => {
792
- e?.preventDefault?.(), x("cancel");
793
- }, E = ref(), D = ref(), { width: k } = useElementSize(useCurrentElement());
794
- watchDebounced([E, k], () => {
795
- D.value = void 0, nextTick(() => {
796
- D.value = E.value?.responsiveCols || void 0;
786
+ setup(e, { emit: t, slots: n }) {
787
+ let r = (n) => {
788
+ n?.preventDefault?.(), t("submit", { ...toRaw(e.model) }, n);
789
+ }, i = (e) => {
790
+ e?.preventDefault?.(), t("reset");
791
+ }, a = (e) => {
792
+ e?.preventDefault?.(), t("cancel");
793
+ }, o = ref(), s = ({ overflow: t }) => {
794
+ if (n.action) return n.action({
795
+ overflow: t,
796
+ grid: o.value
797
797
  });
798
- }, {
799
- immediate: !0,
800
- debounce: 1e3 / 20
801
- });
802
- let j = 0, M = ({ overflow: x }) => {
803
- if (S.action) return S.action({
804
- cols: D.value,
805
- spans: j,
806
- overflow: x
807
- });
808
- let { loading: C, showSubmitBtn: w, showResetBtn: E, showCancelBtn: O, actionAlign: k, actionJustify: A, actionGap: M, submitDisabled: N, submitText: P, resetText: F, cancelText: I, succeeded: L, successText: R, failureText: z } = e;
798
+ let { loading: r, showSubmitBtn: i, showResetBtn: s, showCancelBtn: l, actionAlign: u, actionJustify: d, actionGap: f, submitDisabled: p, submitText: m, resetText: g, cancelText: _, succeeded: v, successText: y, failureText: b } = e;
809
799
  return createVNode(NFormItem, {
810
- label: A === "start" ? " " : void 0,
800
+ label: d === "start" ? " " : void 0,
811
801
  showLabel: e.labelPlacement !== "top",
812
802
  style: "padding-top: 16px"
813
803
  }, { default: () => [createVNode(DataFormActions, {
814
- align: k,
815
- justify: A,
816
- gap: M,
817
- showSubmitBtn: w,
818
- showResetBtn: E,
819
- showCancelBtn: O,
820
- submitText: P,
821
- resetText: F,
822
- cancelText: I,
823
- submitDisabled: N,
824
- submitLoading: C,
825
- succeeded: L,
826
- successText: R,
827
- failureText: z,
804
+ align: u,
805
+ justify: d,
806
+ gap: f,
807
+ showSubmitBtn: i,
808
+ showResetBtn: s,
809
+ showCancelBtn: l,
810
+ submitText: m,
811
+ resetText: g,
812
+ cancelText: _,
813
+ submitDisabled: p,
814
+ submitLoading: r,
815
+ succeeded: v,
816
+ successText: y,
817
+ failureText: b,
828
818
  nativeButtonType: !0,
829
- onCancel: T
819
+ onCancel: a
830
820
  }, {
831
- prefix: () => S.actionPrefix?.(),
832
- suffix: () => S.actionSuffix?.()
821
+ prefix: () => n.actionPrefix?.(),
822
+ suffix: () => n.actionSuffix?.()
833
823
  })] });
834
- }, N = () => {
835
- let { items: x, validation: C, showAction: w } = e;
836
- return j = 0, createVNode(Fragment, null, [x.map(({ hidden: x, name: S, render: w, label: T, showColon: E, span: D = 6, rowSpan: O, offset: k = 0, tooltip: M, tooltipPlacement: N = e.tooltipPlacement, validationStatus: P = C[S]?.errors?.some((e) => e !== void 0) ? "error" : C[S]?.warnings?.some((e) => e !== void 0) ? "warnings" : C[S] ? "success" : void 0, readonly: F = e.readonly, showRequireMark: L = !F, showTooltipWhenReadonly: R = !1, ...z }) => {
837
- if (x) return;
838
- j += D;
839
- let B;
840
- return B = S[0] === "$" ? w({}) : createVNode(NFormItem, mergeProps({
841
- path: S,
842
- validationStatus: P,
843
- showRequireMark: z.required && L
844
- }, z), {
824
+ }, u = () => {
825
+ let { items: t, validation: r, showAction: i } = e;
826
+ return createVNode(Fragment, null, [t.map(({ hidden: t, name: n, render: i, label: a, showColon: o, span: s = 6, rowSpan: l, offset: u = 0, tooltip: f, tooltipPlacement: p = e.tooltipPlacement, validationStatus: m = r[n]?.errors?.length ? "error" : r[n]?.warnings?.length ? "warnings" : r[n] ? "success" : void 0, readonly: g = e.readonly, showRequireMark: _ = !g, showTooltipWhenReadonly: y = !1, ...b }) => {
827
+ if (t) return;
828
+ let x;
829
+ return x = n[0] === "$" ? i({}) : createVNode(NFormItem, mergeProps({
830
+ path: n,
831
+ validationStatus: m,
832
+ showRequireMark: b.required && _
833
+ }, b), {
845
834
  label: () => createVNode(NText, {
846
835
  depth: e.readonly ? 3 : 2,
847
836
  style: "display: inline-flex; align-items: flex-start; gap: 1px"
848
837
  }, { default: () => [
849
- createVNode("span", null, [toValue(T)]),
850
- N === "icon" ? createVNode(NTooltip, null, {
851
- default: () => toValue(M),
838
+ createVNode("span", null, [toValue(a)]),
839
+ p === "icon" ? createVNode(NTooltip, null, {
840
+ default: () => toValue(f),
852
841
  trigger: () => createVNode(NButton, {
853
842
  text: !0,
854
843
  style: "font-size: 1.25em; opacity: 0.8"
855
844
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(IHelp, null, null)] })] })
856
845
  }) : void 0,
857
- e.showColon && E !== !1 ? createVNode("span", { style: "place-self: center" }, [createTextVNode(":")]) : void 0
846
+ e.showColon && o !== !1 ? createVNode("span", { style: "place-self: center" }, [createTextVNode(":")]) : void 0
858
847
  ] }),
859
848
  default: () => {
860
- let x, S = createVNode("div", { style: "width: 100%; font-size: calc(1rem - 2px); min-height: 32px; display: flex; align-items: center" }, [w({
849
+ let t, n = createVNode("div", { style: "width: 100%; font-size: calc(1rem - 2px); min-height: 32px; display: flex; align-items: center" }, [i({
861
850
  disabled: e.disabled,
862
851
  size: e.size,
863
852
  readonly: e.readonly
864
853
  })]);
865
- return M && N === "bottom" && (!e.readonly || R) ? createVNode("div", { style: "width: 100%; display: flex; flex-direction: column" }, [S, createVNode(NText, {
854
+ return f && p === "bottom" && (!e.readonly || y) ? createVNode("div", { style: "width: 100%; display: flex; flex-direction: column" }, [n, createVNode(NText, {
866
855
  depth: 3,
867
856
  style: "font-size: calc(1rem - 3px); margin-top: 6px"
868
- }, _isSlot$5(x = toValue(M)) ? x : { default: () => [x] })]) : S;
857
+ }, _isSlot$5(t = toValue(f)) ? t : { default: () => [t] })]) : n;
869
858
  },
870
- feedback: () => C[S]?.errors[0] ?? C[S]?.warnings[0]
871
- }), e.grid === !1 ? B : createVNode(NGi, {
872
- key: S,
873
- offset: k,
874
- span: D,
875
- style: O ? { gridRowEnd: `span ${O}` } : void 0
876
- }, _isSlot$5(B) ? B : { default: () => [B] });
877
- }), w === !1 || e.readonly === !0 && !S.action ? void 0 : createVNode(NGi, mergeProps({
859
+ feedback: () => r[n]?.errors?.[0] ?? r[n]?.warnings?.[0]
860
+ }), e.grid === !1 ? x : createVNode(NGi, {
861
+ key: n,
862
+ offset: u,
863
+ span: s,
864
+ style: l ? { gridRowEnd: `span ${l}` } : void 0
865
+ }, _isSlot$5(x) ? x : { default: () => [x] });
866
+ }), i === !1 || e.readonly === !0 && !n.action ? void 0 : createVNode(NGi, mergeProps({
878
867
  key: "action",
879
868
  span: 2 ** 53 - 1
880
- }, typeof e.showAction == "object" ? e.showAction : {}), { default: M })]);
869
+ }, typeof e.showAction == "object" ? e.showAction : {}), { default: s })]);
881
870
  };
882
871
  return () => {
883
- let { items: x, loading: S, validation: T, showColon: D, tooltipPlacement: O, showFeedback: k, labelWidth: A = "7.2em", labelAlign: j = e.labelPlacement === "top" ? "left" : "right", grid: M, showAction: P, showSubmitBtn: F, showResetBtn: L, showCancelBtn: R, actionAlign: z, actionJustify: B, actionGap: V, submitDisabled: H, submitText: U, resetText: W, cancelText: G, succeeded: It, successText: K, failureText: q, ...J } = e, Y = !e.readonly && k !== !1;
872
+ let { items: t, loading: n, validation: a, showColon: s, tooltipPlacement: l, showFeedback: d, labelWidth: f = "7.2em", labelAlign: p = e.labelPlacement === "top" ? "left" : "right", grid: m, showAction: g, showSubmitBtn: _, showResetBtn: y, showCancelBtn: b, actionAlign: x, actionJustify: S, actionGap: C, submitDisabled: w, submitText: T, resetText: E, cancelText: D, succeeded: O, successText: k, failureText: A, ...j } = e, M = !e.readonly && d !== !1;
884
873
  return createVNode(NForm, mergeProps({
885
- labelWidth: A,
886
- labelAlign: j,
887
- onReset: w,
888
- onSubmit: C,
889
- showFeedback: Y
890
- }, J), { default: () => [createVNode(NGrid, mergeProps({
891
- ref: E,
874
+ labelWidth: f,
875
+ labelAlign: p,
876
+ onReset: i,
877
+ onSubmit: r,
878
+ showFeedback: M
879
+ }, j), { default: () => [createVNode(NGrid, mergeProps({
880
+ ref: o,
892
881
  itemResponsive: !0
893
- }, M, { yGap: Y ? 0 : M?.yGap ?? 24 }), { default: N })] });
882
+ }, m, { yGap: M ? 0 : m?.yGap ?? 24 }), { default: u })] });
894
883
  };
895
884
  }
896
885
  }), DataFilter = /* @__PURE__ */ defineComponent({
@@ -945,7 +934,8 @@ const DataForm = /* @__PURE__ */ defineComponent({
945
934
  type: Boolean,
946
935
  required: !1,
947
936
  default: !0
948
- }
937
+ },
938
+ collapsedRows: Number
949
939
  },
950
940
  emits: [
951
941
  "filter",
@@ -953,94 +943,95 @@ const DataForm = /* @__PURE__ */ defineComponent({
953
943
  "custom",
954
944
  "collapse"
955
945
  ],
956
- setup(x, { expose: S, emit: C }) {
957
- let { t: w } = useI18n(), T = (e) => {
958
- C("filter", x.model, e);
959
- }, E = (e) => {
960
- C("reset", e), x.filterOnReset && C("filter", x.model, e);
961
- }, D = ref(x.defaultCollapsed), O = (e) => {
962
- D.value = e;
946
+ setup(t, { expose: n, emit: r }) {
947
+ let { t: i } = useI18n(), a = (e) => {
948
+ r("filter", t.model, e);
949
+ }, o = (e) => {
950
+ r("reset", e), t.filterOnReset && r("filter", t.model, e);
951
+ }, s = ref(t.defaultCollapsed), l = (e) => {
952
+ s.value = e;
963
953
  };
964
- S({ collapse: O });
965
- let k = reactive({
954
+ n({ collapse: l });
955
+ let u = reactive({
966
956
  span: 6,
967
957
  suffix: !0
968
958
  });
969
959
  return () => {
970
- let { filterOnReset: e, filterText: S, resetText: j, customizable: M, defaultCollapsed: N, collapsible: P, grid: F, ...L } = x;
960
+ let { filterOnReset: e, filterText: n, resetText: f, customizable: p, defaultCollapsed: m, collapsible: g, grid: _, collapsedRows: b, ...x } = t;
971
961
  return createVNode(DataForm, mergeProps({ grid: {
972
962
  cols: "12 768:18 1280:24 1536:30",
973
963
  yGap: 20,
974
964
  xGap: 8,
975
- ...F,
976
- collapsed: D.value
977
- } }, L, {
965
+ ..._,
966
+ collapsed: s.value,
967
+ collapsedRows: b
968
+ } }, x, {
978
969
  showFeedback: !1,
979
- showAction: k,
980
- onSubmit: T,
981
- onReset: E
982
- }), { action: ({ cols: e, spans: T }) => (k.suffix = e < T + k.span, createVNode(NFlex, {
983
- justify: k.suffix ? "end" : "start",
984
- align: "center"
985
- }, { default: () => [
986
- k.suffix ? void 0 : createVNode("span", null, [createTextVNode("\xA0\xA0\xA0\xA0")]),
970
+ showAction: u,
971
+ onSubmit: a,
972
+ onReset: o,
973
+ style: "position: relative"
974
+ }), { action: ({ grid: e }) => (nextTick(() => {
975
+ u.suffix = e?.collapsedOverflow || e?.contentEl.children.item(e?.contentEl.children.length - 1).offsetTop > 0;
976
+ }), createVNode("div", { style: "display: flex; gap: 12px; align-items: center; justify-content: " + (u.suffix ? "flex-end" : "flex-start") }, [
977
+ u.suffix ? void 0 : createVNode("span", null, [createTextVNode("\xA0\xA0\xA0\xA0")]),
987
978
  createVNode(NButton, {
988
979
  attrType: "submit",
989
980
  type: "primary",
990
- disabled: x.disabled,
991
- loading: x.loading
992
- }, { default: () => [S || w("common.page.filter.submitText")] }),
981
+ disabled: t.disabled,
982
+ loading: t.loading
983
+ }, { default: () => [n || i("common.page.filter.submitText")] }),
993
984
  createVNode(NButton, {
994
985
  attrType: "reset",
995
- disabled: x.disabled || x.loading
996
- }, { default: () => [j || w("common.page.form.resetText")] }),
997
- M ? createVNode(DataCustom, {
986
+ disabled: t.disabled || t.loading
987
+ }, { default: () => [f || i("common.page.form.resetText")] }),
988
+ p ? createVNode(DataCustom, {
998
989
  keyField: "name",
999
990
  showFixed: !1,
1000
- data: L.items,
991
+ data: x.items,
1001
992
  size: 18,
1002
993
  type: "primary",
1003
- onCustom: (e) => C("custom", e)
994
+ onCustom: (e) => r("custom", e)
1004
995
  }, null) : void 0,
1005
- P && k.suffix ? createVNode(NButton, {
996
+ g && e?.collapsedOverflow ? createVNode(NButton, {
1006
997
  text: !0,
1007
998
  type: "primary",
1008
999
  iconPlacement: "right",
1009
- renderIcon: D.value ? IDown : IUp,
1010
- onClick: () => O(!D.value)
1011
- }, { default: () => [D.value ? w("common.page.filter.expand") : w("common.page.filter.collapse")] }) : void 0
1012
- ] })) });
1000
+ renderIcon: s.value ? IDown : IUp,
1001
+ onClick: () => l(!s.value)
1002
+ }, { default: () => [s.value ? i("common.page.filter.expand") : i("common.page.filter.collapse")] }) : void 0
1003
+ ])) });
1013
1004
  };
1014
1005
  }
1015
1006
  });
1016
1007
  function _isSlot$4(e) {
1017
1008
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
1018
1009
  }
1019
- function useLocaleEdit(x, S, C = 1) {
1020
- let { t: w } = useI18n(), T = ref(!1), E = [], { open: D, reinit: O } = useFormModal({
1021
- title: x,
1010
+ function useLocaleEdit(t, n, r = 1) {
1011
+ let { t: i } = useI18n(), a = ref(!1), o = [], { open: s, reinit: l } = useFormModal({
1012
+ title: t,
1022
1013
  showColon: !0,
1023
- submitText: w("common.confirm.defaultOk"),
1024
- items: ({ it: e }) => E.map((x) => e(x.value, x.label, "input", {
1014
+ submitText: i("common.confirm.defaultOk"),
1015
+ items: ({ it: e }) => o.map((t) => e(t.value, t.label, "input", {
1025
1016
  span: 24,
1026
- required: x.required,
1017
+ required: t.required,
1027
1018
  inputProps: {
1028
- readonly: T,
1019
+ readonly: a,
1029
1020
  clearable: !0,
1030
1021
  type: "textarea",
1031
1022
  showCount: !0,
1032
1023
  autosize: {
1033
- minRows: unref(C),
1034
- maxRows: Math.max(unref(C), 5)
1024
+ minRows: unref(r),
1025
+ maxRows: Math.max(unref(r), 5)
1035
1026
  }
1036
1027
  }
1037
1028
  })),
1038
- onSubmit: S
1029
+ onSubmit: n
1039
1030
  });
1040
1031
  return {
1041
- open: (e, x = !1) => (T.value = x, D(e)),
1032
+ open: (e, t = !1) => (a.value = t, s(e)),
1042
1033
  setSupports: (e) => {
1043
- E = e, O();
1034
+ o = e, l();
1044
1035
  }
1045
1036
  };
1046
1037
  }
@@ -1085,102 +1076,102 @@ const DataLocaleInput = /* @__PURE__ */ defineComponent({
1085
1076
  }
1086
1077
  },
1087
1078
  emits: ["update:modelValue", "updateModelValue"],
1088
- setup(e, { emit: x }) {
1089
- let S = (S, C = e.showLang ?? e.defaultLang) => {
1090
- S = {
1079
+ setup(e, { emit: t }) {
1080
+ let n = (n, r = e.showLang ?? e.defaultLang) => {
1081
+ n = {
1091
1082
  ...e.modelValue,
1092
- [C]: S
1093
- }, x("update:modelValue", S), x("updateModelValue", S);
1094
- }, { open: C, setSupports: w } = useLocaleEdit(computed(() => toValue(e.label)), (e) => {
1095
- x("update:modelValue", e), x("updateModelValue", e);
1096
- }, toRef(e, "defaultRows")), T = ref(e.defaultExpanded);
1083
+ [r]: n
1084
+ }, t("update:modelValue", n), t("updateModelValue", n);
1085
+ }, { open: r, setSupports: i } = useLocaleEdit(computed(() => toValue(e.label)), (e) => {
1086
+ t("update:modelValue", e), t("updateModelValue", e);
1087
+ }, toRef(e, "defaultRows")), a = ref(e.defaultExpanded);
1097
1088
  watch(() => e.defaultExpanded, (e) => {
1098
- T.value = e;
1089
+ a.value = e;
1099
1090
  });
1100
- let E = () => createVNode(NButton, {
1091
+ let o = () => createVNode(NButton, {
1101
1092
  quaternary: !0,
1102
1093
  onClick: () => {
1103
- T.value = !T.value;
1094
+ a.value = !a.value;
1104
1095
  },
1105
1096
  style: "--n-padding: 0 8px"
1106
1097
  }, { default: () => [createVNode(NIcon, {
1107
1098
  size: "20",
1108
1099
  depth: "3"
1109
- }, { default: () => [T.value ? createVNode(ILangCollapse, null, null) : createVNode(ILangExpand, null, null)] })] }), O = (x) => {
1110
- let S = x.split("-")[0];
1111
- return e.supports.some((e) => e.value !== x && e.value.startsWith(S)) ? x : S;
1112
- }, A = `__slots${nanoid(6)}`;
1100
+ }, { default: () => [a.value ? createVNode(ILangCollapse, null, null) : createVNode(ILangExpand, null, null)] })] }), l = (t) => {
1101
+ let n = t.split("-")[0];
1102
+ return e.supports.some((e) => e.value !== t && e.value.startsWith(n)) ? t : n;
1103
+ }, d = `__slots${nanoid(6)}`;
1113
1104
  watch(() => e.supports, (e) => {
1114
- w(e);
1115
- let x = 0;
1116
- for (let [S, C] of e.entries()) {
1117
- let e = O(C.value);
1118
- x = Math.max(x, measureText(e, "monospace")), C[A] = markRaw({
1105
+ i(e);
1106
+ let t = 0;
1107
+ for (let [n, r] of e.entries()) {
1108
+ let e = l(r.value);
1109
+ t = Math.max(t, measureText(e, "monospace")), r[d] = markRaw({
1119
1110
  prefix: () => createVNode("div", { style: {
1120
- width: `${x + 4}px`,
1111
+ width: `${t + 4}px`,
1121
1112
  height: "100%",
1122
1113
  opacity: .5,
1123
1114
  fontSize: "12px",
1124
1115
  fontFamily: "monospace",
1125
- color: C.required ? "var(--color-danger)" : void 0
1116
+ color: r.required ? "var(--color-danger)" : void 0
1126
1117
  } }, [e]),
1127
- suffix: S === 0 ? E : void 0
1118
+ suffix: n === 0 ? o : void 0
1128
1119
  });
1129
1120
  }
1130
1121
  }, { immediate: !0 });
1131
- let j = computed(() => {
1132
- let x = O(e.showLang ?? e.defaultLang);
1133
- return [x, measureText(x, "monospace")];
1134
- }), M = {
1122
+ let f = computed(() => {
1123
+ let t = l(e.showLang ?? e.defaultLang);
1124
+ return [t, measureText(t, "monospace")];
1125
+ }), p = {
1135
1126
  prefix: () => createVNode("div", { style: {
1136
- width: `${j.value[1] + 4}px`,
1127
+ width: `${f.value[1] + 4}px`,
1137
1128
  height: "100%",
1138
1129
  opacity: .5,
1139
1130
  fontSize: "12px",
1140
1131
  fontFamily: "monospace"
1141
- } }, [j.value[0]]),
1132
+ } }, [f.value[0]]),
1142
1133
  suffix: () => createVNode(NButton, {
1143
1134
  quaternary: !0,
1144
- onClick: () => C(e.modelValue, e.disabled),
1135
+ onClick: () => r(e.modelValue, e.disabled),
1145
1136
  style: "--n-padding: 0 8px"
1146
1137
  }, { default: () => [createVNode(NIcon, {
1147
1138
  size: "20",
1148
1139
  depth: "3"
1149
1140
  }, { default: () => [createVNode(ILanguage, null, null)] })] })
1150
- }, N = { "--n-padding-right": "0" };
1141
+ }, m = { "--n-padding-right": "0" };
1151
1142
  return () => {
1152
- let x;
1143
+ let t;
1153
1144
  return e.mode === "dialog" ? createVNode(NInput, {
1154
1145
  value: e.modelValue?.[e.showLang ?? e.defaultLang] ?? e.modelValue?.[e.defaultLang],
1155
- onUpdateValue: S,
1146
+ onUpdateValue: n,
1156
1147
  disabled: e.disabled,
1157
1148
  clearable: !0,
1158
- style: N,
1149
+ style: m,
1159
1150
  type: e.defaultRows > 1 ? "textarea" : "text",
1160
1151
  rows: e.defaultRows
1161
- }, _isSlot$4(M) ? M : { default: () => [M] }) : createVNode(NFlex, {
1152
+ }, _isSlot$4(p) ? p : { default: () => [p] }) : createVNode(NFlex, {
1162
1153
  vertical: !0,
1163
1154
  wrap: !1,
1164
1155
  style: "width: 100%"
1165
- }, _isSlot$4(x = e.supports.map((x, C) => {
1166
- if (!T.value && C !== 0) return;
1167
- let w = C == 0;
1156
+ }, _isSlot$4(t = e.supports.map((t, r) => {
1157
+ if (!a.value && r !== 0) return;
1158
+ let i = r == 0;
1168
1159
  return withDirectives(createVNode(NInput, {
1169
- key: x.value,
1170
- value: e.modelValue?.[x.value],
1171
- onUpdateValue: (e) => S(e, x.value),
1160
+ key: t.value,
1161
+ value: e.modelValue?.[t.value],
1162
+ onUpdateValue: (e) => n(e, t.value),
1172
1163
  disabled: e.disabled,
1173
1164
  clearable: !0,
1174
- style: w ? N : void 0,
1165
+ style: i ? m : void 0,
1175
1166
  type: e.defaultRows > 1 ? "textarea" : "text",
1176
1167
  rows: e.defaultRows
1177
- }, x[A]), [[
1168
+ }, t[d]), [[
1178
1169
  vTooltip,
1179
- x.label,
1170
+ t.label,
1180
1171
  void 0,
1181
1172
  { left: !0 }
1182
1173
  ]]);
1183
- })) ? x : { default: () => [x] });
1174
+ })) ? t : { default: () => [t] });
1184
1175
  };
1185
1176
  }
1186
1177
  }), DataPagination = /* @__PURE__ */ defineComponent({
@@ -1193,6 +1184,10 @@ const DataLocaleInput = /* @__PURE__ */ defineComponent({
1193
1184
  currentPage: { type: Number },
1194
1185
  pageSize: { type: Number },
1195
1186
  page: { type: Object },
1187
+ resetPageOnSizeChange: {
1188
+ type: Boolean,
1189
+ default: !0
1190
+ },
1196
1191
  pageSizes: {
1197
1192
  type: Array,
1198
1193
  default: () => [
@@ -1204,27 +1199,27 @@ const DataLocaleInput = /* @__PURE__ */ defineComponent({
1204
1199
  }
1205
1200
  },
1206
1201
  emits: { change: () => !0 },
1207
- setup(x, { emit: S }) {
1208
- let { t: C } = useI18n(), w = (e) => S("change", {
1209
- pageSize: x.pageSize ?? x.page?.pageSize ?? 0,
1202
+ setup(t, { emit: n }) {
1203
+ let { t: r } = useI18n(), i = (e) => n("change", {
1204
+ pageSize: t.pageSize ?? t.page?.pageSize ?? 0,
1210
1205
  currentPage: e
1211
- }), T = (e) => S("change", {
1206
+ }), a = (e) => n("change", {
1212
1207
  pageSize: e,
1213
- currentPage: x.currentPage ?? x.page?.currentPage ?? 0
1208
+ currentPage: t.resetPageOnSizeChange ? 1 : t.currentPage ?? t.page?.currentPage ?? 1
1214
1209
  });
1215
1210
  return () => createVNode(NPagination, {
1216
- page: x.currentPage ?? x.page?.currentPage,
1217
- itemCount: x.total,
1218
- pageSize: x.pageSize ?? x.page?.pageSize,
1219
- onUpdatePage: w,
1220
- onUpdatePageSize: T,
1221
- pageSizes: x.pageSizes,
1211
+ page: t.currentPage ?? t.page?.currentPage,
1212
+ itemCount: t.total,
1213
+ pageSize: t.pageSize ?? t.page?.pageSize,
1214
+ onUpdatePage: i,
1215
+ onUpdatePageSize: a,
1216
+ pageSizes: t.pageSizes,
1222
1217
  showQuickJumper: !0,
1223
1218
  showSizePicker: !0,
1224
1219
  style: "justify-content: flex-end"
1225
1220
  }, {
1226
- prefix: () => C("common.page.pagination.prefix", { total: x.total }),
1227
- suffix: () => C("common.page.pagination.suffix")
1221
+ prefix: () => r("common.page.pagination.prefix", { total: t.total }),
1222
+ suffix: () => r("common.page.pagination.suffix")
1228
1223
  });
1229
1224
  }
1230
1225
  });
@@ -1247,28 +1242,28 @@ const DataSelection = /* @__PURE__ */ defineComponent({
1247
1242
  "update:modelValue": () => !0,
1248
1243
  clear: () => !0
1249
1244
  },
1250
- setup(x, { emit: S }) {
1251
- let { t: C } = useI18n();
1245
+ setup(t, { emit: n }) {
1246
+ let { t: r } = useI18n();
1252
1247
  return () => {
1253
1248
  let e;
1254
- return x.modelValue !== "selection" && x.count === 0 ? createVNode("div", null, null) : createVNode("div", null, [createVNode(NFlex, {
1249
+ return t.modelValue !== "selection" && t.count === 0 ? createVNode("div", null, null) : createVNode("div", null, [createVNode(NFlex, {
1255
1250
  align: "center",
1256
1251
  "wrap-item": !1
1257
1252
  }, { default: () => [
1258
- createVNode("span", null, [C("common.page.selection.countText", { count: x.count })]),
1253
+ createVNode("span", null, [r("common.page.selection.countText", { count: t.count })]),
1259
1254
  createVNode(NButton, {
1260
1255
  text: !0,
1261
1256
  type: "primary",
1262
1257
  onClick: () => {
1263
- S("update:modelValue", x.modelValue === "all" ? "selection" : "all");
1258
+ n("update:modelValue", t.modelValue === "all" ? "selection" : "all");
1264
1259
  }
1265
- }, { default: () => [x.modelValue === "all" ? C("common.page.selection.view") : C("common.page.selection.back")] }),
1260
+ }, { default: () => [t.modelValue === "all" ? r("common.page.selection.view") : r("common.page.selection.back")] }),
1266
1261
  createVNode(NButton, {
1267
1262
  text: !0,
1268
1263
  onClick: () => {
1269
- S("clear"), S("update:modelValue", "all");
1264
+ n("clear"), n("update:modelValue", "all");
1270
1265
  }
1271
- }, _isSlot$3(e = C("common.page.selection.clear")) ? e : { default: () => [e] })
1266
+ }, _isSlot$3(e = r("common.page.selection.clear")) ? e : { default: () => [e] })
1272
1267
  ] })]);
1273
1268
  };
1274
1269
  }
@@ -1276,13 +1271,13 @@ const DataSelection = /* @__PURE__ */ defineComponent({
1276
1271
  function _isSlot$2(e) {
1277
1272
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
1278
1273
  }
1279
- function _map(e, x) {
1274
+ function _map(e, t) {
1280
1275
  return (e ?? []).map((e) => {
1281
- let S = {
1276
+ let n = {
1282
1277
  csvTitle: e.exportTitle,
1283
1278
  ...e,
1284
1279
  title: () => {
1285
- let x = toValue(e.title), S = x && withDirectives(createVNode("div", null, [x]), [[
1280
+ let t = toValue(e.title), n = t && withDirectives(createVNode("div", null, [t]), [[
1286
1281
  vTooltip,
1287
1282
  () => toValue(e.title),
1288
1283
  void 0,
@@ -1293,26 +1288,26 @@ function _map(e, x) {
1293
1288
  wrap: !1,
1294
1289
  inline: !0,
1295
1290
  style: "max-width: 100%"
1296
- }, { default: () => [S, createVNode(NTooltip, null, {
1291
+ }, { default: () => [n, createVNode(NTooltip, null, {
1297
1292
  default: toValue(e.tooltip),
1298
1293
  trigger: () => createVNode(NButton, {
1299
1294
  text: !0,
1300
1295
  style: "font-size: 1.25em; opacity: 0.8"
1301
1296
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(IHelp, null, null)] })] })
1302
- })] }) : S;
1297
+ })] }) : n;
1303
1298
  }
1304
1299
  };
1305
- if (e.children?.length) S.children = _map(e.children, x);
1300
+ if (e.children?.length) n.children = _map(e.children, t);
1306
1301
  else {
1307
- e.hidden !== !0 && (S.width ??= 100, x.value += Number(S.width));
1308
- let C = e.render ?? ((e) => e);
1309
- e.ellipsis !== !1 && (S.ellipsis = !1, S.render = (...x) => {
1310
- let S = C(...x);
1311
- return S && (isVNode(S) || ((function() {
1312
- return S;
1313
- })(), S = createVNode("span", null, [S])), withDirectives(S, [[
1302
+ e.hidden !== !0 && (n.width ??= 100, t.value += Number(n.width));
1303
+ let r = e.render ?? ((e) => e);
1304
+ e.ellipsis !== !1 && (n.ellipsis = !1, n.render = (...t) => {
1305
+ let n = r(...t);
1306
+ return n && (isVNode(n) || ((function() {
1307
+ return n;
1308
+ })(), n = createVNode("span", null, [n])), withDirectives(n, [[
1314
1309
  vTooltip,
1315
- () => e.ellipsisTooltip ? e.ellipsisTooltip(...x) : S,
1310
+ () => e.ellipsisTooltip ? e.ellipsisTooltip(...t) : n,
1316
1311
  void 0,
1317
1312
  {
1318
1313
  auto: !0,
@@ -1320,14 +1315,14 @@ function _map(e, x) {
1320
1315
  [`ell${e.ellipsis}`]: !0
1321
1316
  }
1322
1317
  ]]));
1323
- }, e.ellipsisTooltip === !0 && (S.ellipsisTooltip = C)), Object.assign(S, {
1318
+ }, e.ellipsisTooltip === !0 && (n.ellipsisTooltip = r)), Object.assign(n, {
1324
1319
  resizable: e.resizable !== !1,
1325
1320
  sorter: e.sortable,
1326
1321
  type: ["selection", "expand"].includes(e.type) ? e.type : void 0,
1327
- disabled: e.selectable ? (x) => e.selectable(x) === !1 : void 0
1322
+ disabled: e.selectable ? (t) => e.selectable(t) === !1 : void 0
1328
1323
  });
1329
1324
  }
1330
- return S.key === "$actions" && (S.cellProps ??= () => ({ style: { padding: "0 2px" } })), S;
1325
+ return n.key === "$actions" && (n.cellProps ??= () => ({ style: { padding: "0 2px" } })), n;
1331
1326
  }).filter((e) => e?.hidden !== !0);
1332
1327
  }
1333
1328
  const DataTable = /* @__PURE__ */ defineComponent({
@@ -1371,94 +1366,94 @@ const DataTable = /* @__PURE__ */ defineComponent({
1371
1366
  "custom",
1372
1367
  "highlight"
1373
1368
  ],
1374
- setup(e, { slots: C, emit: w, expose: T }) {
1375
- let { keyField: E } = inject(PAGE_INJECTION), D = useMergedClsPrefix(), O = `${D.value}-datatable`;
1376
- useStyle("-datatable", style, D);
1377
- let A = useTemplateRef("table-ref"), j = ({ sortField: e, sortOrder: x } = {}, S) => {
1378
- e == S?.sortField && x == S?.sortOrder || A.value?.sort(e, x ? x + "end" : !1);
1369
+ setup(e, { slots: r, emit: i, expose: a }) {
1370
+ let { keyField: o } = inject(PAGE_INJECTION), s = useMergedClsPrefix(), l = `${s.value}-datatable`;
1371
+ useStyle("-datatable", style, s);
1372
+ let d = useTemplateRef("table-ref"), f = ({ sortField: e, sortOrder: t } = {}, n) => {
1373
+ e == n?.sortField && t == n?.sortOrder || d.value?.sort(e, t ? t + "end" : !1);
1379
1374
  };
1380
- watch(() => ({ ...e.sorter }), j, { deep: !0 });
1381
- let M = computed(() => {
1382
- let x = e.keyField || E || "key";
1383
- return (e) => e[x];
1384
- }), P = shallowRef({
1375
+ watch(() => ({ ...e.sorter }), f, { deep: !0 });
1376
+ let p = computed(() => {
1377
+ let t = e.keyField || o || "key";
1378
+ return (e) => e[t];
1379
+ }), g = shallowRef({
1385
1380
  cache: [],
1386
1381
  scrollToView(...e) {
1387
1382
  this.cache.push(e);
1388
1383
  }
1389
1384
  });
1390
- until(A).changed().then(() => {
1391
- j(e.sorter);
1392
- let x = P.value.cache;
1393
- P.value = A.value, P.value.scrollToView = (x) => {
1394
- let S = e.data.findIndex((e) => M.value(e) === x);
1395
- if (S === -1) return;
1396
- let C = A.value.$el.querySelector(`.${O}__row-marker:nth-child(${S + 1})`);
1397
- A.value.scrollTo({
1398
- top: C.offsetTop,
1385
+ until(d).changed().then(() => {
1386
+ f(e.sorter);
1387
+ let t = g.value.cache;
1388
+ g.value = d.value, g.value.scrollToView = (t) => {
1389
+ let n = e.data.findIndex((e) => p.value(e) === t);
1390
+ if (n === -1) return;
1391
+ let r = d.value.$el.querySelector(`.${l}__row-marker:nth-child(${n + 1})`);
1392
+ d.value.scrollTo({
1393
+ top: r.offsetTop,
1399
1394
  behavior: "smooth"
1400
1395
  });
1401
1396
  };
1402
- for (let e of x) P.value.scrollToView(...e);
1403
- }), T(toReactive(P));
1404
- let F = ref(0), I = shallowRef([]);
1397
+ for (let e of t) g.value.scrollToView(...e);
1398
+ }), a(toReactive(g));
1399
+ let _ = ref(0), v = shallowRef([]);
1405
1400
  watch(() => e.columns, () => {
1406
- F.value = 0, I.value = _map(e.columns, F);
1401
+ _.value = 0, v.value = _map(e.columns, _);
1407
1402
  }, {
1408
1403
  immediate: !0,
1409
1404
  deep: 1
1410
1405
  });
1411
- let L = ref();
1406
+ let y = ref();
1412
1407
  watch(() => e.highlight, (e) => {
1413
- L.value = typeof e == "boolean" ? null : e ?? null;
1408
+ y.value = typeof e == "boolean" ? null : e ?? null;
1414
1409
  }, { immediate: !0 });
1415
- let R = computed(() => (x, S) => [
1416
- e.rowClassName?.(x, S) || "",
1417
- `${O}__row-marker`,
1418
- L.value != null && M.value(x) === L.value ? `${O}__row-highlight` : ""
1419
- ].join(" ")), V = computed(() => (x, S) => {
1420
- let C = e.rowProps?.(x, S);
1410
+ let b = computed(() => (t, n) => [
1411
+ e.rowClassName?.(t, n) || "",
1412
+ `${l}__row-marker`,
1413
+ y.value != null && p.value(t) === y.value ? `${l}__row-highlight` : ""
1414
+ ].join(" ")), C = computed(() => (t, n) => {
1415
+ let r = e.rowProps?.(t, n);
1421
1416
  return {
1422
- ...C,
1423
- onClick: (S) => {
1424
- let T = M.value(x);
1425
- e.highlight === !0 && (L.value = T), w("highlight", T), C?.onClick?.(S);
1417
+ ...r,
1418
+ onClick: (n) => {
1419
+ let a = p.value(t);
1420
+ e.highlight === !0 && (y.value = a), i("highlight", a), r?.onClick?.(n);
1426
1421
  }
1427
1422
  };
1428
- }), H = (x) => {
1423
+ }), w = (t) => {
1429
1424
  if (e.sorter) {
1430
- let { sortField: S, sortOrder: C } = e.sorter;
1431
- if (x?.columnKey == S && (x?.order ? x.order === C + "end" : !C)) return;
1425
+ let { sortField: n, sortOrder: r } = e.sorter;
1426
+ if (t?.columnKey == n && (t?.order ? t.order === r + "end" : !r)) return;
1432
1427
  }
1433
- w("sort", {
1434
- sortField: x?.order ? x?.columnKey : void 0,
1435
- sortOrder: x?.order ? x.order.replace("end", "") : void 0
1428
+ i("sort", {
1429
+ sortField: t?.order ? t?.columnKey : void 0,
1430
+ sortOrder: t?.order ? t.order.replace("end", "") : void 0
1436
1431
  });
1437
- }, U = (e) => {
1438
- w("select", e);
1439
- }, W = (e, x, S) => {
1440
- w("custom", {
1441
- key: S.key,
1432
+ }, T = (e) => {
1433
+ i("select", e);
1434
+ }, E = (e, t, n) => {
1435
+ i("custom", {
1436
+ key: n.key,
1442
1437
  width: e
1443
1438
  });
1444
1439
  };
1445
1440
  return () => createVNode(NDataTable, {
1446
- class: [O, e.appear === "sticky" ? `${O}--sticky` : ""],
1441
+ class: [l, e.appear === "sticky" ? `${l}--sticky` : ""],
1447
1442
  data: e.data,
1448
- columns: I.value,
1449
- rowKey: M.value,
1443
+ columns: v.value,
1444
+ rowKey: p.value,
1450
1445
  tableLayout: "fixed",
1451
1446
  ref: "table-ref",
1452
- scrollX: F.value,
1453
- rowClassName: R.value,
1454
- rowProps: V.value,
1447
+ scrollX: _.value,
1448
+ rowClassName: b.value,
1449
+ rowProps: C.value,
1455
1450
  checkedRowKeys: e.selectedKeys,
1456
1451
  style: { "--n-tr-highlight-color": e.highlightColor },
1457
1452
  maxHeight: e.maxHeight ?? (e.appear === "sticky" ? "auto" : void 0),
1458
- onUpdateSorter: H,
1459
- onUpdateCheckedRowKeys: U,
1460
- onUnstableColumnResize: W
1461
- }, _isSlot$2(C) ? C : { default: () => [C] });
1453
+ onUpdateSorter: w,
1454
+ onUpdateCheckedRowKeys: T,
1455
+ onUnstableColumnResize: E
1456
+ }, _isSlot$2(r) ? r : { default: () => [r] });
1462
1457
  }
1463
1458
  });
1464
1459
  var style = /* @__PURE__ */ cB("datatable", [cE("row-highlight", [c("& > td", { backgroundColor: "var(--n-tr-highlight-color, var(--n-merged-border-color)) !important" })]), cM("sticky", [
@@ -1480,31 +1475,28 @@ var style = /* @__PURE__ */ cB("datatable", [cE("row-highlight", [c("& > td", {
1480
1475
  overflowX: "auto"
1481
1476
  }),
1482
1477
  c(".n-data-table-td > *", {
1483
- lineHeight: "1",
1484
1478
  verticalAlign: "middle",
1485
1479
  contentVisibility: "auto"
1486
- }),
1487
- c(".n-data-table-td > .n-checkbox--inside-table", { lineHeight: "16px" }),
1488
- c(".n-data-table-td > .n-tooltip-expanded", { lineHeight: "1.25" })
1480
+ })
1489
1481
  ])]);
1490
- function useDataTableDrag(e, { data: x, onSort: S, ...C }) {
1491
- watch([ref(x), e], async ([e, x]) => {
1482
+ function useDataTableDrag(e, { data: t, onSort: n, ...r }) {
1483
+ watch([ref(t), e], async ([e, t]) => {
1492
1484
  if (e.length === 0) return;
1493
1485
  await nextTick();
1494
- let w = unrefElement(x)?.querySelector(".n-data-table-base-table-body .n-data-table-tbody");
1495
- if (!w) return;
1496
- let T = Sortable$1.create(w, {
1486
+ let i = unrefElement(t)?.querySelector(".n-data-table-base-table-body .n-data-table-tbody");
1487
+ if (!i) return;
1488
+ let a = Sortable$1.create(i, {
1497
1489
  animation: 150,
1498
- ...C,
1490
+ ...r,
1499
1491
  onSort(e) {
1500
- S({
1492
+ n({
1501
1493
  from: e.oldIndex,
1502
1494
  to: e.newIndex
1503
1495
  });
1504
1496
  }
1505
1497
  });
1506
1498
  return () => {
1507
- T.destroy();
1499
+ a.destroy();
1508
1500
  };
1509
1501
  }, { immediate: !0 });
1510
1502
  }
@@ -1563,39 +1555,39 @@ const NRadios = /* @__PURE__ */ defineComponent({
1563
1555
  "update:modelValue": () => !0,
1564
1556
  updateModelValue: () => !0
1565
1557
  },
1566
- setup(x, { emit: S }) {
1567
- let { t: C } = useI18n(), w = computed(() => x.default === !1 ? "" : x.default === !0 ? C("common.all") : typeof x.default == "string" ? x.default : x.default?.[x.labelField] ?? C("common.all")), T = computed(() => x.type === "button-primary" ? {
1558
+ setup(t, { emit: n }) {
1559
+ let { t: r } = useI18n(), i = computed(() => t.default === !1 ? "" : t.default === !0 ? r("common.all") : typeof t.default == "string" ? t.default : t.default?.[t.labelField] ?? r("common.all")), a = computed(() => t.type === "button-primary" ? {
1568
1560
  "--n-button-color-active": "var(--color-primary)",
1569
1561
  "--n-button-text-color-active": "var(--color-base)"
1570
- } : {}), E = (e) => {
1571
- S("update:modelValue", e), S("updateModelValue", e);
1562
+ } : {}), o = (e) => {
1563
+ n("update:modelValue", e), n("updateModelValue", e);
1572
1564
  };
1573
1565
  return () => {
1574
- let e = x.type === "button" ? NRadioButton : NRadio, S = createVNode(Fragment, null, [x.default ? createVNode(e, { value: typeof x.default == "object" ? x.default?.[x.valueField] : null }, { default: () => [w.value] }) : void 0, x.options?.map((S) => {
1575
- let C = typeof S[x.labelField] == "string" ? S[x.labelField] : S[x.labelField]?.();
1566
+ let e = t.type === "button" ? NRadioButton : NRadio, n = createVNode(Fragment, null, [t.default ? createVNode(e, { value: typeof t.default == "object" ? t.default?.[t.valueField] : null }, { default: () => [i.value] }) : void 0, t.options?.map((n) => {
1567
+ let r = typeof n[t.labelField] == "string" ? n[t.labelField] : n[t.labelField]?.();
1576
1568
  return createVNode(e, {
1577
- value: S[x.valueField],
1578
- disabled: S[x.disabledField],
1579
- style: x.padding ? {
1580
- paddingLeft: x.padding,
1581
- paddingRight: x.padding
1569
+ value: n[t.valueField],
1570
+ disabled: n[t.disabledField],
1571
+ style: t.padding ? {
1572
+ paddingLeft: t.padding,
1573
+ paddingRight: t.padding
1582
1574
  } : {}
1583
- }, { default: () => [S.tip ? createVNode(NTooltip, null, {
1584
- default: () => S.tip,
1585
- trigger: () => C
1586
- }) : C] });
1575
+ }, { default: () => [n.tip ? createVNode(NTooltip, null, {
1576
+ default: () => n.tip,
1577
+ trigger: () => r
1578
+ }) : r] });
1587
1579
  })]);
1588
1580
  return createVNode(NRadioGroup, {
1589
- style: x.vertical ? {
1590
- ...T.value,
1581
+ style: t.vertical ? {
1582
+ ...a.value,
1591
1583
  padding: "6px 0 0"
1592
- } : T.value,
1593
- value: x.modelValue,
1594
- onUpdateValue: E
1595
- }, { default: () => [x.type === "radio" ? createVNode(NFlex, {
1596
- size: x.vertical ? void 0 : "small",
1597
- vertical: x.vertical
1598
- }, _isSlot$1(S) ? S : { default: () => [S] }) : S] });
1584
+ } : a.value,
1585
+ value: t.modelValue,
1586
+ onUpdateValue: o
1587
+ }, { default: () => [t.type === "radio" ? createVNode(NFlex, {
1588
+ size: t.vertical ? void 0 : "small",
1589
+ vertical: t.vertical
1590
+ }, _isSlot$1(n) ? n : { default: () => [n] }) : n] });
1599
1591
  };
1600
1592
  }
1601
1593
  });
@@ -1666,281 +1658,275 @@ const DtUserDept = /* @__PURE__ */ defineComponent({
1666
1658
  type: Function,
1667
1659
  default: () => []
1668
1660
  },
1669
- valueField: { type: String }
1661
+ valueField: { type: String },
1662
+ renderUserInfo: Function
1670
1663
  },
1671
1664
  emits: ["update:modelValue", "updateModelValue"],
1672
- setup(x, { emit: S, attrs: C }) {
1673
- let { t: w } = useI18n(), { localeRef: T } = useLocale("Popconfirm"), E = computed(() => x.valueField || (x.type === "user" ? "username" : "code")), D = computed(() => {
1674
- if (x.multiple) return x.modelValue || [];
1675
- let e = x.modelValue?.trim();
1665
+ setup(t, { emit: n, attrs: r }) {
1666
+ let { t: i } = useI18n(), { localeRef: a } = useLocale("Popconfirm"), o = computed(() => t.valueField || (t.type === "user" ? "username" : "code")), s = computed(() => {
1667
+ if (t.multiple) return t.modelValue || [];
1668
+ let e = t.modelValue?.trim();
1676
1669
  return e ? [e] : [];
1677
- }), A = /* @__PURE__ */ new Map(), j = computed(() => (A.clear(), x.users.map((e) => (e = reactive(e), e.label = e.nickname + e.username, e.value = e[E.value], e.type = "user", A.set(e[E.value], e), e)))), M = shallowRef([]);
1678
- watch(() => x.depts, (e) => {
1670
+ }), d = /* @__PURE__ */ new Map(), f = computed(() => (d.clear(), t.users.map((e) => (e = reactive(e), e.label = e.nickname + e.username, e.value = e[o.value], e.type = "user", d.set(e[o.value], e), e)))), p = shallowRef([]);
1671
+ watch(() => t.depts, (e) => {
1679
1672
  walkTree(e, (e) => {
1680
- e.label = e.name, e.value = e[E.value], e.type = "dept", e.children?.length || delete e.children;
1681
- }), M.value = flattenTree(e);
1673
+ e.label = e.name, e.value = e[o.value], e.type = "dept", e.children?.length || delete e.children;
1674
+ }), p.value = flattenTree(e);
1682
1675
  }, { immediate: !0 });
1683
- let N = computed(() => [
1684
- ...x.depts,
1685
- ...x.groups.map((e) => ({
1676
+ let m = computed(() => [
1677
+ ...t.depts,
1678
+ ...t.groups.map((e) => ({
1686
1679
  label: e.name,
1687
1680
  value: e.code,
1688
1681
  type: "group"
1689
1682
  })),
1690
- ...j.value
1691
- ]), P = ref([]), F = ref(), V = async (e) => {
1692
- let S = await (e.type === "group" ? x.getUsersByGroup(e.value) : x.getUsersByDept(e.value));
1693
- for (let e of j.value) e.disabled = !0;
1694
- F.value = [...e.type === "dept" ? e.children ?? [] : [], ...S.map((e) => {
1695
- let x = A.get(e[E.value]);
1696
- return x && (x.disabled = !1), {
1683
+ ...f.value
1684
+ ]), g = ref([]), _ = ref(), C = async (e) => {
1685
+ let n = await (e.type === "group" ? t.getUsersByGroup(e.value) : t.getUsersByDept(e.value));
1686
+ for (let e of f.value) e.disabled = !0;
1687
+ _.value = [...e.type === "dept" ? e.children ?? [] : [], ...n.map((e) => {
1688
+ let t = d.get(e[o.value]);
1689
+ return t && (t.disabled = !1), {
1697
1690
  ...e,
1698
1691
  label: e.nickname + e.username,
1699
- value: e[E.value],
1692
+ value: e[o.value],
1700
1693
  type: "user"
1701
1694
  };
1702
1695
  })];
1703
- }, H = /* @__PURE__ */ new WeakMap(), U = (e, S, C) => {
1704
- let T;
1705
- if (x.type === "dept") return createVNode(NTree, {
1706
- data: x.depts,
1696
+ }, w = /* @__PURE__ */ new WeakMap(), T = (e, n, r) => {
1697
+ let a;
1698
+ if (t.type === "dept") return createVNode(NTree, {
1699
+ data: t.depts,
1707
1700
  keyField: "value",
1708
1701
  labelField: "name",
1709
- defaultExpandAll: x.defaultExpandAll,
1710
- checkable: x.multiple,
1711
- selectable: !x.multiple,
1702
+ defaultExpandAll: t.defaultExpandAll,
1703
+ checkable: t.multiple,
1704
+ selectable: !t.multiple,
1712
1705
  multiple: !1,
1713
1706
  blockLine: !0,
1714
1707
  checkOnClick: !0,
1715
- pattern: C,
1716
- filter: (e, x) => x.label.includes(e) || x.value.includes(e),
1717
- checkedKeys: x.multiple ? e : void 0,
1718
- selectedKeys: x.multiple ? void 0 : e,
1708
+ pattern: r,
1709
+ filter: (e, t) => t.label.includes(e) || t.value.includes(e),
1710
+ checkedKeys: t.multiple ? e : void 0,
1711
+ selectedKeys: t.multiple ? void 0 : e,
1719
1712
  onUpdateCheckedKeys: (e) => {
1720
- x.max && e?.length > x.max || S(e);
1713
+ t.max && e?.length > t.max || n(e);
1721
1714
  },
1722
1715
  onUpdateSelectedKeys: (e) => {
1723
- S(e);
1716
+ n(e);
1724
1717
  }
1725
1718
  }, null);
1726
- let E = e ? H.get(e) : /* @__PURE__ */ new Set();
1727
- if (e && !E && (E = new Set(e), H.set(e, E)), F.value === !1) return createVNode(NSpin, { show: !0 }, null);
1728
- let D = F.value || N.value;
1729
- C = C?.trim(), C && (D = D?.filter((e) => e.label.includes(C) || e.value.includes(C)));
1730
- let k = P.value;
1731
- return createVNode(Fragment, null, [createVNode("div", { style: "margin: 12px 16px; display: flex; justify-content: space-between; align-items: center" }, [k.length > 0 ? createVNode(Fragment, null, [createVNode("span", { style: "display: flex; align-items: center" }, [
1732
- k.length >= 2 ? k.at(-2).label : w("common.all"),
1719
+ let o = e ? w.get(e) : /* @__PURE__ */ new Set();
1720
+ if (e && !o && (o = new Set(e), w.set(e, o)), _.value === !1) return createVNode(NSpin, { show: !0 }, null);
1721
+ let s = _.value || m.value;
1722
+ r = r?.trim(), r && (s = s?.filter((e) => e.label.includes(r) || e.value.includes(r)));
1723
+ let u = g.value;
1724
+ return createVNode(Fragment, null, [createVNode("div", { style: "margin: 12px 16px; display: flex; justify-content: space-between; align-items: center" }, [u.length > 0 ? createVNode(Fragment, null, [createVNode("span", { style: "display: flex; align-items: center" }, [
1725
+ u.length >= 2 ? u.at(-2).label : i("common.all"),
1733
1726
  createVNode("span", { style: "padding: 0 4px" }, [createVNode(IRight, null, null)]),
1734
- k.at(-1).label
1727
+ u.at(-1).label
1735
1728
  ]), createVNode(NButton, {
1736
1729
  text: !0,
1737
1730
  type: "warning",
1738
1731
  onClick: () => {
1739
- if (k.pop(), F.value = k.length > 0 ? !1 : void 0, k.length > 0) V(k.at(-1));
1740
- else for (let e of j.value) e.disabled = !1;
1732
+ if (u.pop(), _.value = u.length > 0 ? !1 : void 0, u.length > 0) C(u.at(-1));
1733
+ else for (let e of f.value) e.disabled = !1;
1741
1734
  }
1742
- }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(ILeft, null, null)] }), w("common.back")] })]) : createVNode("span", null, [w("common.all")])]), D?.length ? createVNode(NList, {
1735
+ }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(ILeft, null, null)] }), i("common.back")] })]) : createVNode("span", null, [i("common.all")])]), s?.length ? createVNode(NList, {
1743
1736
  showDivider: !1,
1744
1737
  style: "padding: 0 16px"
1745
- }, _isSlot(T = D.map((C) => {
1746
- let w, T;
1738
+ }, _isSlot(a = s.map((r) => {
1739
+ let i, a;
1747
1740
  return createVNode(NListItem, {
1748
- key: C.type + "_" + C.value,
1741
+ key: r.type + "_" + r.value,
1749
1742
  style: "padding: 6px 0"
1750
- }, { default: () => [C.type === "user" ? x.multiple ? createVNode(NCheckbox, {
1751
- checked: E.has(C.value) || !1,
1752
- onUpdateChecked: (w) => {
1753
- if (w && x.max && e.length >= x.max) return;
1754
- let T = [...e || []];
1755
- if (w) T.push(C.value);
1743
+ }, { default: () => [r.type === "user" ? t.multiple ? createVNode(NCheckbox, {
1744
+ checked: o.has(r.value) || !1,
1745
+ onUpdateChecked: (i) => {
1746
+ if (i && t.max && e.length >= t.max) return;
1747
+ let a = [...e || []];
1748
+ if (i) a.push(r.value);
1756
1749
  else {
1757
- let e = T.indexOf(C.value);
1758
- T.splice(e, 1);
1750
+ let e = a.indexOf(r.value);
1751
+ a.splice(e, 1);
1759
1752
  }
1760
- S(T);
1753
+ n(a);
1761
1754
  },
1762
1755
  style: "margin-left: 3px"
1763
- }, _isSlot(w = renderUsers([C], {
1756
+ }, _isSlot(i = renderUsers([r], {
1764
1757
  max: 1,
1765
1758
  size: 24,
1766
1759
  placement: "right",
1767
1760
  tooltip: !1,
1768
- username: !0
1769
- })) ? w : { default: () => [w] }) : createVNode(NRadio, {
1770
- checked: E.has(C.value) || !1,
1761
+ username: !0,
1762
+ renderInfo: t.renderUserInfo
1763
+ })) ? i : { default: () => [i] }) : createVNode(NRadio, {
1764
+ checked: o.has(r.value) || !1,
1771
1765
  onUpdateChecked: (e) => {
1772
- S(e ? [C.value] : []);
1766
+ n(e ? [r.value] : []);
1773
1767
  },
1774
1768
  style: "margin-left: 3px;"
1775
- }, _isSlot(T = renderUsers([C], {
1769
+ }, _isSlot(a = renderUsers([r], {
1776
1770
  max: 1,
1777
1771
  size: 24,
1778
1772
  placement: "right",
1779
1773
  tooltip: !1,
1780
- username: !0
1781
- })) ? T : { default: () => [T] }) : createVNode("div", {
1774
+ username: !0,
1775
+ renderInfo: t.renderUserInfo
1776
+ })) ? a : { default: () => [a] }) : createVNode("div", {
1782
1777
  onClick: () => {
1783
- F.value = !1, P.value.push(C), V(C);
1778
+ _.value = !1, g.value.push(r), C(r);
1784
1779
  },
1785
1780
  style: "cursor: pointer; display: flex; align-items: center; gap: 8px"
1786
1781
  }, [
1787
- C.type === "dept" ? createVNode(NAvatar, {
1782
+ r.type === "dept" ? createVNode(NAvatar, {
1788
1783
  size: 24,
1789
1784
  style: "background-color: red"
1790
1785
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(IDept, null, null)] })] }) : createVNode(NAvatar, {
1791
1786
  size: 24,
1792
1787
  style: "background-color: green"
1793
1788
  }, { default: () => [createVNode(NIcon, null, { default: () => [createVNode(IGroup, null, null)] })] }),
1794
- createVNode("span", { style: "flex: 1 1 auto" }, [C.label]),
1789
+ createVNode("span", { style: "flex: 1 1 auto" }, [r.label]),
1795
1790
  createVNode(NIcon, null, { default: () => [createVNode(IRight, null, null)] })
1796
1791
  ])] });
1797
- })) ? T : { default: () => [T] }) : createVNode(NEmpty, null, null)]);
1798
- }, W = () => createVNode(NEmpty, { description: x.placeholder }, null), G = ({ option: e }) => e.type === "user" ? createVNode("span", null, [e.nickname, createVNode("span", { style: {
1792
+ })) ? a : { default: () => [a] }) : createVNode(NEmpty, null, null)]);
1793
+ }, E = () => createVNode(NEmpty, { description: t.placeholder }, null), D = ({ option: e }) => e.type === "user" ? createVNode("span", null, [e.nickname, createVNode("span", { style: {
1799
1794
  opacity: .4,
1800
1795
  marginLeft: "8px"
1801
- } }, [e.username])]) : createVNode("span", null, [e.label]), K = (e, S, C, w, T) => createVNode(NTransfer, mergeProps(e, {
1802
- key: x.type,
1803
- options: S,
1804
- renderSourceList: ({ onCheck: e, pattern: x }) => U(C, e, x),
1805
- renderTargetList: x.placeholder?.trim() && !x.modelValue?.length ? W : void 0,
1806
- renderTargetLabel: G,
1807
- sourceFilterable: x.filterable,
1808
- size: x.size,
1809
- disabled: x.disabled || void 0,
1810
- value: C,
1811
- filter: (e, x) => x.label.includes(e) || x.value.includes(e),
1796
+ } }, [e.username])]) : createVNode("span", null, [e.label]), k = (e, n, r, i, a) => createVNode(NTransfer, mergeProps(e, {
1797
+ key: t.type,
1798
+ options: n,
1799
+ renderSourceList: ({ onCheck: e, pattern: t }) => T(r, e, t),
1800
+ renderTargetList: t.placeholder?.trim() && !t.modelValue?.length ? E : void 0,
1801
+ renderTargetLabel: D,
1802
+ sourceFilterable: t.filterable,
1803
+ size: t.size,
1804
+ disabled: t.disabled || void 0,
1805
+ value: r,
1806
+ filter: (e, t) => t.label.includes(e) || t.value.includes(e),
1812
1807
  "onUpdate:value": (e) => {
1813
- w?.(e);
1808
+ i?.(e);
1814
1809
  },
1815
1810
  onUpdateValue: (e) => {
1816
- T?.(e);
1811
+ a?.(e);
1817
1812
  }
1818
- }), null), q = ({ option: e, handleClose: S }) => createVNode(NTag, {
1819
- type: x.type === "user" ? "primary" : "info",
1813
+ }), null), A = ({ option: e, handleClose: n }) => createVNode(NTag, {
1814
+ type: t.type === "user" ? "primary" : "info",
1820
1815
  closable: !0,
1821
1816
  onMousedown: (e) => e.preventDefault(),
1822
1817
  onClose: (e) => {
1823
- e.stopPropagation(), S();
1818
+ e.stopPropagation(), n();
1824
1819
  }
1825
- }, { default: () => [e.label] }), J = (e, C = "updateModelValue") => {
1826
- x.multiple ? S(C, e) : S(C, e?.[0]);
1827
- }, Y = ref(), X = !1, Z = useDialog(), Q = () => {
1828
- if (X) return;
1829
- X = !0;
1830
- let e = shallowRef([...D.value || []]);
1831
- Z.create({
1820
+ }, { default: () => [e.label] }), j = (e, r = "updateModelValue") => {
1821
+ t.multiple ? n(r, e) : n(r, e?.[0]);
1822
+ }, M = ref(), N = !1, P = useDialog(), F = () => {
1823
+ if (N) return;
1824
+ N = !0;
1825
+ let e = shallowRef([...s.value || []]);
1826
+ P.create({
1832
1827
  showIcon: !1,
1833
- title: x.placeholder,
1828
+ title: t.placeholder,
1834
1829
  style: { width: "700px" },
1835
- content: () => createVNode("div", { style: { height: "550px" } }, [K({ style: { height: "100%" } }, x.type === "user" ? j.value : M.value, e.value, (x) => e.value = x)]),
1836
- positiveText: T.value.positiveText,
1837
- negativeText: T.value.negativeText,
1830
+ content: () => createVNode("div", { style: { height: "550px" } }, [k({ style: { height: "100%" } }, t.type === "user" ? f.value : p.value, e.value, (t) => e.value = t)]),
1831
+ positiveText: a.value.positiveText,
1832
+ negativeText: a.value.negativeText,
1838
1833
  onPositiveClick() {
1839
- J(e.value, "update:modelValue"), J(e.value, "updateModelValue");
1834
+ j(e.value, "update:modelValue"), j(e.value, "updateModelValue");
1840
1835
  },
1841
1836
  onAfterLeave() {
1842
1837
  nextTick(() => {
1843
- Y.value?.blur(), X = !1;
1838
+ M.value?.blur(), N = !1;
1844
1839
  });
1845
1840
  }
1846
1841
  });
1847
- }, $ = { arrow: () => createVNode(NIcon, null, { default: () => [x.type === "user" ? createVNode(IGroup, null, null) : createVNode(IDept, null, null)] }) };
1842
+ }, I = { arrow: () => createVNode(NIcon, null, { default: () => [t.type === "user" ? createVNode(IGroup, null, null) : createVNode(IDept, null, null)] }) };
1848
1843
  return () => {
1849
- let e = x.type === "user" ? j.value : M.value;
1850
- if (x.selectType === "dropdown" && x.type === "dept") return createVNode(NTreeSelect, {
1844
+ let e = t.type === "user" ? f.value : p.value;
1845
+ if (t.selectType === "dropdown" && t.type === "dept") return createVNode(NTreeSelect, {
1851
1846
  options: e,
1852
1847
  keyField: "value",
1853
- defaultExpandAll: x.defaultExpandAll,
1854
- checkable: x.multiple,
1855
- multiple: x.multiple,
1856
- filter: (e, x) => x.label.includes(e) || x.value.includes(e),
1857
- value: x.modelValue,
1848
+ defaultExpandAll: t.defaultExpandAll,
1849
+ checkable: t.multiple,
1850
+ multiple: t.multiple,
1851
+ filter: (e, t) => t.label.includes(e) || t.value.includes(e),
1852
+ value: t.modelValue,
1858
1853
  onUpdateValue: (e) => {
1859
- x.multiple && x.max && e?.length > x.max || S("updateModelValue", e);
1854
+ t.multiple && t.max && e?.length > t.max || n("updateModelValue", e);
1860
1855
  },
1861
1856
  "onUpdate:value": (e) => {
1862
- x.multiple && x.max && e?.length > x.max || S("update:modelValue", e);
1857
+ t.multiple && t.max && e?.length > t.max || n("update:modelValue", e);
1863
1858
  }
1864
- }, _isSlot($) ? $ : { default: () => [$] });
1865
- if (x.selectType === "transfer") return K(C, e, D.value, (e) => J(e, "update:modelValue"), (e) => J(e, "updateModelValue"));
1866
- let w = x.selectType === "dropdown";
1867
- return createVNode(NSelect, mergeProps(C, {
1868
- key: x.type,
1869
- ref: Y,
1870
- show: w ? void 0 : !1,
1871
- filterable: w ? x.filterable : !1,
1859
+ }, _isSlot(I) ? I : { default: () => [I] });
1860
+ if (t.selectType === "transfer") return k(r, e, s.value, (e) => j(e, "update:modelValue"), (e) => j(e, "updateModelValue"));
1861
+ let i = t.selectType === "dropdown";
1862
+ return createVNode(NSelect, mergeProps(r, {
1863
+ key: t.type,
1864
+ ref: M,
1865
+ show: i ? void 0 : !1,
1866
+ filterable: i ? t.filterable : !1,
1872
1867
  options: e,
1873
- multiple: x.multiple,
1874
- size: x.size,
1875
- placeholder: x.placeholder,
1876
- disabled: x.disabled || void 0,
1877
- value: x.modelValue,
1878
- renderTag: x.multiple ? q : void 0,
1879
- onFocus: w ? void 0 : Q,
1868
+ multiple: t.multiple,
1869
+ size: t.size,
1870
+ placeholder: t.placeholder,
1871
+ disabled: t.disabled || void 0,
1872
+ value: t.modelValue,
1873
+ renderTag: t.multiple ? A : void 0,
1874
+ onFocus: i ? void 0 : F,
1880
1875
  onUpdateValue: (e) => {
1881
- S("updateModelValue", e);
1876
+ n("updateModelValue", e);
1882
1877
  },
1883
1878
  "onUpdate:value": (e) => {
1884
- S("update:modelValue", e);
1879
+ n("update:modelValue", e);
1885
1880
  }
1886
- }), _isSlot($) ? $ : { default: () => [$] });
1881
+ }), _isSlot(I) ? I : { default: () => [I] });
1887
1882
  };
1888
1883
  }
1889
1884
  });
1890
- function renderUser(e, x, { placement: S, size: C, tooltip: w = !0, username: T = !1 }) {
1891
- let E = e.nickname.split(" ").at(-1), D = E;
1892
- return /^[\u4E00-\u9FA5]+$/.test(E) ? D = E.length >= 3 ? E.slice(-2) : E : E.length > 4 && (D = createVNode(NIcon, null, { default: () => [createVNode(IAccount, null, null)] })), createVNode(NPopover, {
1885
+ function renderUser(e, t, { placement: n = "left", size: r = 24, tooltip: i = !0, username: a = !1, renderInfo: o }) {
1886
+ let s = e.nickname.split(" ").at(-1), l = s;
1887
+ if (/^[\u4E00-\u9FA5]+$/.test(s)) {
1888
+ let e = s.length;
1889
+ l = e === 3 || e === 4 ? s.slice(-2) : e > 4 ? s.slice(0, 1) : s;
1890
+ } else s.length > 4 && (l = createVNode(NIcon, null, { default: () => [createVNode(IAccount, null, null)] }));
1891
+ let u = (e) => createVNode(NAvatar, {
1892
+ color: "var(--color-primary)",
1893
+ round: !0,
1894
+ size: e
1895
+ }, _isSlot(l) ? l : { default: () => [l] });
1896
+ return createVNode(NPopover, {
1893
1897
  key: e.username,
1894
1898
  raw: !0,
1895
- placement: S,
1896
- disabled: w === !1
1899
+ placement: n,
1900
+ disabled: i === !1
1897
1901
  }, {
1898
1902
  default: () => createVNode(NCard, {
1899
- style: "width: 200px",
1903
+ style: "min-width: 200px",
1900
1904
  size: "small"
1901
- }, { default: () => [createVNode(NH4, null, { default: () => [e.nickname] }), createVNode("span", null, [e.username])] }),
1905
+ }, { default: () => [createVNode("div", { style: "display: flex; align-items: center; gap: 12px" }, [u(48), createVNode("div", null, [createVNode("div", { style: "font-size: 16px; font-weight: 500;" }, [e.nickname]), createVNode("div", { style: "font-size: 14px; color: #999" }, [e.username])])]), o?.(e)] }),
1902
1906
  trigger: () => {
1903
- let S = createVNode(NAvatar, {
1904
- color: "var(--color-primary)",
1905
- round: !0,
1906
- size: C,
1907
- style: x ? {
1908
- position: "absolute",
1909
- bottom: -(C - 16) / 2 + "px"
1910
- } : ""
1911
- }, _isSlot(D) ? D : { default: () => [D] });
1912
- return x ? createVNode("div", { style: x ? {
1913
- display: "inline-flex",
1914
- itemsAlign: "center",
1915
- whiteSpace: "nowrap",
1916
- minWidth: C + "px",
1917
- height: C + "px"
1918
- } : "" }, [S, x ? createVNode(Fragment, null, [createVNode("span", { style: { marginLeft: C + 6 + "px" } }, [e.nickname]), T ? createVNode("span", { style: {
1919
- marginLeft: "8px",
1920
- opacity: .4
1921
- } }, [e.username]) : void 0]) : void 0]) : S;
1907
+ let n = u(r);
1908
+ return t ? createVNode("div", { style: "max-width: 100%; overflow: hidden; display: inline-flex; align-items: center; gap: 6px" }, [n, createVNode("div", { style: "overflow: hidden; white-space: nowrap; text-overflow: ellipsis" }, [createVNode("span", null, [e.nickname]), a ? createVNode("span", { style: "margin-left: 8px; opacity: 0.4" }, [e.username]) : void 0])]) : n;
1922
1909
  }
1923
1910
  });
1924
1911
  }
1925
- function renderUsers(e, x = {}) {
1926
- x.size ||= 24, x.max ||= 4;
1927
- let { max: S, size: C } = x;
1928
- return e.length <= 1 ? createVNode("span", { style: "position: relative" }, [e.map((e) => renderUser(e, !0, x))]) : createVNode("span", { style: {
1912
+ function renderUsers(e, t = {}) {
1913
+ let { max: n = 4, size: r = 24 } = t;
1914
+ return e.length <= 1 ? e[0] ? renderUser(e[0], !0, t) : null : createVNode("span", { style: {
1929
1915
  display: "inline-block",
1930
- height: C + "px"
1916
+ height: r + "px"
1931
1917
  } }, [createVNode(NAvatarGroup, {
1932
1918
  options: e,
1933
- size: C,
1934
- max: S || 4,
1919
+ size: r,
1920
+ max: n || 4,
1935
1921
  style: "top: -2px"
1936
1922
  }, {
1937
- avatar: ({ option: e }) => renderUser(e, !1, x),
1938
- rest: ({ options: e, rest: x }) => createVNode(NDropdown, {
1923
+ avatar: ({ option: e }) => renderUser(e, !1, t),
1924
+ rest: ({ options: e, rest: t }) => createVNode(NDropdown, {
1939
1925
  options: e,
1940
1926
  keyField: "username",
1941
1927
  labelField: "nickname",
1942
- renderOption: ({ option: x }) => renderUser(x, !1, e)
1943
- }, { default: () => [createVNode(NAvatar, null, { default: () => [createTextVNode("+"), x] })] })
1928
+ renderOption: ({ option: t }) => renderUser(t, !1, e)
1929
+ }, { default: () => [createVNode(NAvatar, null, { default: () => [createTextVNode("+"), t] })] })
1944
1930
  })]);
1945
1931
  }
1946
1932
  const DtDeptRender = /* @__PURE__ */ defineComponent({
@@ -1951,18 +1937,18 @@ const DtDeptRender = /* @__PURE__ */ defineComponent({
1951
1937
  getDeptsByCode: Function
1952
1938
  },
1953
1939
  setup(e) {
1954
- let x = ref([]), S = {};
1955
- return watch([() => e.modelValue, () => e.multiple], ([C, w]) => {
1956
- x.value = [];
1957
- let T = C ? w ? Array.isArray(C) ? C : C.trim() ? C.trim().split(",") : [] : [C] : [], E = [];
1958
- for (let [e, C] of T.entries()) S[C] || (S[C] = reactive({
1959
- code: C,
1960
- name: C
1961
- }), E.push(C)), x.value[e] = S[C];
1962
- E.length > 0 && e.getDeptsByCode(E).then((e) => {
1963
- for (let x of e) Object.assign(S[x.code], x);
1940
+ let t = ref([]), n = {};
1941
+ return watch([() => e.modelValue, () => e.multiple], ([r, i]) => {
1942
+ t.value = [];
1943
+ let a = r ? i ? Array.isArray(r) ? r : r.trim() ? r.trim().split(",") : [] : [r] : [], o = [];
1944
+ for (let [e, r] of a.entries()) n[r] || (n[r] = reactive({
1945
+ code: r,
1946
+ name: r
1947
+ }), o.push(r)), t.value[e] = n[r];
1948
+ o.length > 0 && e.getDeptsByCode(o).then((e) => {
1949
+ for (let t of e) Object.assign(n[t.code], t);
1964
1950
  });
1965
- }, { immediate: !0 }), () => x.value.map((e) => createVNode(NTag, { key: e.code }, { default: () => [e.name] }));
1951
+ }, { immediate: !0 }), () => t.value.map((e) => createVNode(NTag, { key: e.code }, { default: () => [e.name] }));
1966
1952
  }
1967
1953
  }), DtUserRender = /* @__PURE__ */ defineComponent({
1968
1954
  name: "UserRender",
@@ -1972,21 +1958,22 @@ const DtDeptRender = /* @__PURE__ */ defineComponent({
1972
1958
  max: Number,
1973
1959
  size: Number,
1974
1960
  placement: String,
1975
- getUsersByUsername: Function
1961
+ getUsersByUsername: Function,
1962
+ renderInfo: Function
1976
1963
  },
1977
1964
  setup(e) {
1978
- let x = ref([]), S = {};
1979
- return watch([() => e.modelValue, () => e.multiple], ([C, w]) => {
1980
- x.value = [];
1981
- let T = C ? w ? Array.isArray(C) ? C : C.trim() ? C.trim().split(",") : [] : [C] : [], E = [];
1982
- for (let [e, C] of T.entries()) S[C] || (S[C] = reactive({
1983
- code: C,
1984
- name: C
1985
- }), E.push(C)), x.value[e] = S[C];
1986
- E.length > 0 && e.getUsersByUsername(E).then((e) => {
1987
- for (let x of e) Object.assign(S[x.code], x);
1965
+ let t = ref([]), n = {};
1966
+ return watch([() => e.value, () => e.multiple], ([r, i]) => {
1967
+ t.value = [];
1968
+ let a = r ? i ? Array.isArray(r) ? r : r.trim() ? r.trim().split(",") : [] : [r] : [], o = [];
1969
+ for (let [e, r] of a.entries()) n[r] || (n[r] = reactive({
1970
+ username: r,
1971
+ nickname: r
1972
+ }), o.push(r)), t.value[e] = n[r];
1973
+ o.length > 0 && e.getUsersByUsername(o).then((e) => {
1974
+ for (let t of e) Object.assign(n[t.username], t);
1988
1975
  });
1989
- }, { immediate: !0 }), () => renderUsers(x.value, e);
1976
+ }, { immediate: !0 }), () => renderUsers(t.value, e);
1990
1977
  }
1991
1978
  }), StateButtonProps = {
1992
1979
  disabled: {
@@ -2020,15 +2007,15 @@ const DtDeptRender = /* @__PURE__ */ defineComponent({
2020
2007
  }, NStateButton = /* @__PURE__ */ defineComponent({
2021
2008
  name: "StateButton",
2022
2009
  props: StateButtonProps,
2023
- setup(e, { slots: x }) {
2010
+ setup(e, { slots: t }) {
2024
2011
  return () => {
2025
- let { type: S, disabled: C, succeeded: w, successText: T, failureText: E } = e;
2012
+ let { type: n, disabled: r, succeeded: i, successText: a, failureText: o } = e;
2026
2013
  return createVNode(NButton, {
2027
- type: w ? "success" : w === !1 ? "error" : S,
2028
- disabled: typeof w == "boolean" ? !0 : C
2014
+ type: i ? "success" : i === !1 ? "error" : n,
2015
+ disabled: typeof i == "boolean" ? !0 : r
2029
2016
  }, {
2030
- default: () => (w ? x.success ? x.success() : T : w === !1 ? x.failure ? x.failure() : E : x.default?.()) ?? x.default(),
2031
- icon: () => w ? x.successIcon ? x.successIcon() : createVNode(NIcon, null, { default: () => [createVNode(ICheck, null, null)] }) : w === !1 ? x.failureIcon ? x.failureIcon() : createVNode(NIcon, null, { default: () => [createVNode(IClose, null, null)] }) : x.icon?.()
2017
+ default: () => (i ? t.success ? t.success() : a : i === !1 ? t.failure ? t.failure() : o : t.default?.()) ?? t.default(),
2018
+ icon: () => i ? t.successIcon ? t.successIcon() : createVNode(NIcon, null, { default: () => [createVNode(ICheck, null, null)] }) : i === !1 ? t.failureIcon ? t.failureIcon() : createVNode(NIcon, null, { default: () => [createVNode(IClose, null, null)] }) : t.icon?.()
2032
2019
  });
2033
2020
  };
2034
2021
  }