@silver-formily/element-plus 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.en-US.md +32 -32
  2. package/README.md +32 -32
  3. package/esm/__builtins__/configs/index.mjs.map +1 -1
  4. package/esm/__builtins__/index.mjs +18 -18
  5. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  6. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  7. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  8. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  9. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  10. package/esm/array-base/index.mjs +63 -59
  11. package/esm/array-base/index.mjs.map +1 -1
  12. package/esm/array-base/symbols.mjs.map +1 -1
  13. package/esm/array-base/utils.mjs +37 -31
  14. package/esm/array-base/utils.mjs.map +1 -1
  15. package/esm/array-cards/index.mjs +36 -33
  16. package/esm/array-cards/index.mjs.map +1 -1
  17. package/esm/array-collapse/index.mjs +39 -37
  18. package/esm/array-collapse/index.mjs.map +1 -1
  19. package/esm/array-collapse/utils.mjs +9 -2
  20. package/esm/array-collapse/utils.mjs.map +1 -1
  21. package/esm/array-items/index.mjs +38 -34
  22. package/esm/array-items/index.mjs.map +1 -1
  23. package/esm/array-list-tabs/index.mjs +38 -36
  24. package/esm/array-list-tabs/index.mjs.map +1 -1
  25. package/esm/array-list-tabs/utils.mjs +12 -5
  26. package/esm/array-list-tabs/utils.mjs.map +1 -1
  27. package/esm/array-table/index.mjs +62 -60
  28. package/esm/array-table/index.mjs.map +1 -1
  29. package/esm/array-table/utils.mjs +18 -11
  30. package/esm/array-table/utils.mjs.map +1 -1
  31. package/esm/array-tabs/index.mjs +28 -25
  32. package/esm/array-tabs/index.mjs.map +1 -1
  33. package/esm/autocomplete/index.mjs +22 -18
  34. package/esm/autocomplete/index.mjs.map +1 -1
  35. package/esm/cascader/index.mjs +22 -18
  36. package/esm/cascader/index.mjs.map +1 -1
  37. package/esm/checkbox/index.mjs +20 -16
  38. package/esm/checkbox/index.mjs.map +1 -1
  39. package/esm/color-picker/index.mjs +9 -6
  40. package/esm/color-picker/index.mjs.map +1 -1
  41. package/esm/color-picker-panel/index.mjs +9 -6
  42. package/esm/color-picker-panel/index.mjs.map +1 -1
  43. package/esm/date-picker/index.mjs +14 -11
  44. package/esm/date-picker/index.mjs.map +1 -1
  45. package/esm/date-picker/utils.mjs.map +1 -1
  46. package/esm/date-picker-panel/index.mjs +14 -11
  47. package/esm/date-picker-panel/index.mjs.map +1 -1
  48. package/esm/editable/index.mjs +33 -30
  49. package/esm/editable/index.mjs.map +1 -1
  50. package/esm/form/form.mjs +6 -6
  51. package/esm/form/form.mjs.map +1 -1
  52. package/esm/form-button-group/index.mjs +18 -14
  53. package/esm/form-button-group/index.mjs.map +1 -1
  54. package/esm/form-button-group/utils.mjs +9 -2
  55. package/esm/form-button-group/utils.mjs.map +1 -1
  56. package/esm/form-collapse/index.mjs +21 -18
  57. package/esm/form-collapse/index.mjs.map +1 -1
  58. package/esm/form-collapse/utils.mjs.map +1 -1
  59. package/esm/form-dialog/index.d.ts +1 -1
  60. package/esm/form-dialog/index.mjs +22 -22
  61. package/esm/form-dialog/index.mjs.map +1 -1
  62. package/esm/form-dialog/types.d.ts +13 -5
  63. package/esm/form-drawer/index.d.ts +1 -1
  64. package/esm/form-drawer/index.mjs +21 -21
  65. package/esm/form-drawer/index.mjs.map +1 -1
  66. package/esm/form-drawer/types.d.ts +13 -5
  67. package/esm/form-grid/hooks.mjs.map +1 -1
  68. package/esm/form-grid/index.mjs +21 -18
  69. package/esm/form-grid/index.mjs.map +1 -1
  70. package/esm/form-item/index.mjs +55 -53
  71. package/esm/form-item/index.mjs.map +1 -1
  72. package/esm/form-item/utils.mjs.map +1 -1
  73. package/esm/form-layout/form-layout.mjs +14 -10
  74. package/esm/form-layout/form-layout.mjs.map +1 -1
  75. package/esm/form-layout/utils.mjs.map +1 -1
  76. package/esm/form-step/index.mjs +30 -27
  77. package/esm/form-step/index.mjs.map +1 -1
  78. package/esm/form-step/utils.mjs.map +1 -1
  79. package/esm/form-tab/hooks.mjs.map +1 -1
  80. package/esm/form-tab/index.mjs +25 -23
  81. package/esm/form-tab/index.mjs.map +1 -1
  82. package/esm/form-tab/utils.mjs.map +1 -1
  83. package/esm/index.mjs +72 -72
  84. package/esm/input/index.mjs +30 -26
  85. package/esm/input/index.mjs.map +1 -1
  86. package/esm/input-number/index.mjs +11 -8
  87. package/esm/input-number/index.mjs.map +1 -1
  88. package/esm/input-tag/index.mjs +20 -16
  89. package/esm/input-tag/index.mjs.map +1 -1
  90. package/esm/mention/index.mjs +24 -20
  91. package/esm/mention/index.mjs.map +1 -1
  92. package/esm/pagination/components/jumper.mjs.map +1 -1
  93. package/esm/pagination/components/next.mjs.map +1 -1
  94. package/esm/pagination/components/pager.mjs.map +1 -1
  95. package/esm/pagination/components/prev.mjs.map +1 -1
  96. package/esm/pagination/components/total.mjs.map +1 -1
  97. package/esm/pagination/pagination.mjs.map +1 -1
  98. package/esm/password/index.mjs.map +1 -1
  99. package/esm/preview-text/index.mjs +31 -27
  100. package/esm/preview-text/index.mjs.map +1 -1
  101. package/esm/preview-text/utils.mjs.map +1 -1
  102. package/esm/query-form/default-components.mjs.map +1 -1
  103. package/esm/query-form/hooks.mjs.map +1 -1
  104. package/esm/query-form/index.mjs +51 -48
  105. package/esm/query-form/index.mjs.map +1 -1
  106. package/esm/query-form-item/index.mjs +37 -34
  107. package/esm/query-form-item/index.mjs.map +1 -1
  108. package/esm/radio/index.mjs +29 -25
  109. package/esm/radio/index.mjs.map +1 -1
  110. package/esm/rate/index.mjs +13 -10
  111. package/esm/rate/index.mjs.map +1 -1
  112. package/esm/reset/index.mjs.map +1 -1
  113. package/esm/segmented/index.mjs +16 -12
  114. package/esm/segmented/index.mjs.map +1 -1
  115. package/esm/select/index.mjs +26 -22
  116. package/esm/select/index.mjs.map +1 -1
  117. package/esm/select-table/index.mjs +16 -12
  118. package/esm/select-table/index.mjs.map +1 -1
  119. package/esm/shared/overlay-elements.mjs.map +1 -1
  120. package/esm/slider/index.mjs +13 -10
  121. package/esm/slider/index.mjs.map +1 -1
  122. package/esm/submit/index.mjs.map +1 -1
  123. package/esm/switch/index.mjs.map +1 -1
  124. package/esm/time-picker/index.mjs +9 -6
  125. package/esm/time-picker/index.mjs.map +1 -1
  126. package/esm/time-select/index.mjs +9 -6
  127. package/esm/time-select/index.mjs.map +1 -1
  128. package/esm/transfer/index.mjs.map +1 -1
  129. package/esm/tree/index.mjs +33 -29
  130. package/esm/tree/index.mjs.map +1 -1
  131. package/esm/tree/utils.mjs.map +1 -1
  132. package/esm/tree-select/index.mjs +18 -14
  133. package/esm/tree-select/index.mjs.map +1 -1
  134. package/esm/upload/index.mjs +10 -7
  135. package/esm/upload/index.mjs.map +1 -1
  136. package/esm/vendor/sizes.mjs.map +1 -1
  137. package/package.json +6 -5
@@ -1,18 +1,20 @@
1
- import { ArrayBase as o } from "../array-base/index.mjs";
2
- import { defineComponent as Y, computed as y, ref as g, watch as Z, openBlock as n, createElementBlock as m, normalizeClass as z, unref as t, createBlock as i, withCtx as f, createVNode as ee, withDirectives as re, mergeProps as k, Fragment as h, renderList as A, resolveDynamicComponent as ae, createElementVNode as te, createTextVNode as ne, toDisplayString as oe, createCommentVNode as _, nextTick as le } from "vue";
3
- import { reaction as se, autorun as ue } from "@formily/reactive";
4
- import { isEqual as ie, isArr as R } from "@formily/shared";
5
- import { formilyComputed as pe } from "@silver-formily/reactive-vue";
6
- import { useField as ce, useFieldSchema as de, RecursionField as w } from "@silver-formily/vue";
7
- import { ElTable as me, ElTableColumn as fe, vLoading as ve } from "element-plus";
8
- import { VueDraggable as ye } from "vue-draggable-plus";
9
- import { isAdditionComponent as ge } from "../array-base/utils.mjs";
10
- import be from "../pagination/pagination.mjs";
11
- import { isColumnComponent as F, prefixCls as D, isTableComponent as ke, hasRequiredProperty as he } from "./utils.mjs";
12
- import { o as xe } from "../vendor/lodash.mjs";
13
- import { useCleanAttrs as Ce, composeExport as Pe } from "../__builtins__/shared/utils.mjs";
14
- import { stylePrefix as Se } from "../__builtins__/configs/index.mjs";
15
- import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE__ */ Y({
1
+ import { ElTable as Y, ElTableColumn as Z, vLoading as ee } from "element-plus";
2
+ import { reaction as re, autorun as ae } from "@formily/reactive";
3
+ import "@vueuse/core";
4
+ import { defineComponent as te, computed as y, ref as g, watch as oe, openBlock as o, createElementBlock as m, normalizeClass as z, unref as t, createBlock as u, withCtx as f, createVNode as ne, withDirectives as le, mergeProps as k, Fragment as h, renderList as A, resolveDynamicComponent as se, createElementVNode as ie, createTextVNode as ue, toDisplayString as pe, createCommentVNode as _, nextTick as ce } from "vue";
5
+ import "@formily/core";
6
+ import { formilyComputed as de } from "@silver-formily/reactive-vue";
7
+ import { useField as me, useFieldSchema as fe, RecursionField as R } from "@silver-formily/vue";
8
+ import { useCleanAttrs as ve, composeExport as ye } from "../__builtins__/shared/utils.mjs";
9
+ import { ArrayBase as n } from "../array-base/index.mjs";
10
+ import { isEqual as ge, isArr as w } from "@formily/shared";
11
+ import { VueDraggable as be } from "vue-draggable-plus";
12
+ import { stylePrefix as ke } from "../__builtins__/configs/index.mjs";
13
+ import { isAdditionComponent as he } from "../array-base/utils.mjs";
14
+ import xe from "../pagination/pagination.mjs";
15
+ import { isColumnComponent as F, prefixCls as D, isTableComponent as Ce, hasRequiredProperty as Pe } from "./utils.mjs";
16
+ import { o as Se } from "../vendor/lodash.mjs";
17
+ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE__ */ te({
16
18
  name: "FArrayTable",
17
19
  inheritAttrs: !1,
18
20
  __name: "array-table",
@@ -23,9 +25,9 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
23
25
  height: {}
24
26
  },
25
27
  setup(V) {
26
- const c = V, { props: B } = Ce(), N = y(() => xe(c.paginationProps, ["pageSize", "currentPage"])), x = ce(), l = x.value, C = de(), U = y(() => C.value?.properties ?? {}), { getKey: P, keyMap: $ } = o.useKey(C.value), E = g();
28
+ const c = V, { props: B } = ve(), N = y(() => Se(c.paginationProps, ["pageSize", "currentPage"])), x = me(), l = x.value, C = fe(), U = y(() => C.value?.properties ?? {}), { getKey: P, keyMap: $ } = n.useKey(C.value), E = g();
27
29
  function I(a) {
28
- return ke(a) ? H(a) : a.properties ? Object.values(a.properties).flatMap((r) => I(r)) : [];
30
+ return Ce(a) ? H(a) : a.properties ? Object.values(a.properties).flatMap((r) => I(r)) : [];
29
31
  }
30
32
  function H(a) {
31
33
  const r = a["x-component-props"]?.prop || a.name;
@@ -35,7 +37,7 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
35
37
  return [{
36
38
  name: r,
37
39
  display: e?.display || a["x-display"],
38
- required: he(a),
40
+ required: Pe(a),
39
41
  field: e,
40
42
  fieldProps: e?.props || a.toFieldProps(),
41
43
  schema: a,
@@ -43,7 +45,7 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
43
45
  }];
44
46
  }
45
47
  const S = g(0);
46
- se(() => {
48
+ re(() => {
47
49
  const a = l.path.entire;
48
50
  return l.query(`${a}.*`).map((r) => ({
49
51
  name: r.component[0],
@@ -51,10 +53,10 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
51
53
  })).filter((r) => r.name.includes("Column"));
52
54
  }, async () => {
53
55
  S.value++;
54
- }, { equals: ie });
56
+ }, { equals: ge });
55
57
  const v = g([]), d = g(c.paginationProps?.pageSize ?? 10), p = g(c.paginationProps?.currentPage ?? 1);
56
58
  function M() {
57
- if (!R(l.value)) {
59
+ if (!w(l.value)) {
58
60
  v.value = [];
59
61
  return;
60
62
  }
@@ -64,18 +66,18 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
64
66
  }
65
67
  v.value = l.value.slice((p.value - 1) * d.value, p.value * d.value);
66
68
  }
67
- Z([d, p], M), ue(M);
68
- const T = pe(() => {
69
+ oe([d, p], M), ae(M);
70
+ const T = de(() => {
69
71
  const a = C.value.items;
70
- return (R(a) ? a : [a]).reduce((e, u) => {
71
- const s = I(u);
72
+ return (w(a) ? a : [a]).reduce((e, i) => {
73
+ const s = I(i);
72
74
  return e.concat(s);
73
75
  }, []).filter((e) => e.display !== "none");
74
76
  }), K = y(() => (T.value ?? []).map((r, e) => ({ source: r, index: e })).filter(({ source: r }) => r.display === "visible" && F(r.schema)).map(({ source: r, index: e }) => {
75
- const { name: u, columnProps: s, required: b, field: W } = r, { title: G, asterisk: J, ...Q } = s, X = {
77
+ const { name: i, columnProps: s, required: b, field: W } = r, { title: G, asterisk: J, ...Q } = s, X = {
76
78
  label: G,
77
79
  ...Q,
78
- prop: u
80
+ prop: i
79
81
  };
80
82
  return {
81
83
  key: e,
@@ -86,7 +88,7 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
86
88
  })), L = y(() => (T.value ?? []).filter((r) => r.display !== "none" && F(r.schema))), q = y(() => (p.value - 1) * d.value);
87
89
  async function O() {
88
90
  if (c.pagination === !1) {
89
- await le();
91
+ await ce();
90
92
  const a = E.value?.$el.querySelector(".el-scrollbar__wrap");
91
93
  a?.scrollTo({
92
94
  top: a.scrollHeight,
@@ -94,7 +96,7 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
94
96
  });
95
97
  return;
96
98
  }
97
- if (!R(l.value)) {
99
+ if (!w(l.value)) {
98
100
  p.value = 1;
99
101
  return;
100
102
  }
@@ -104,44 +106,44 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
104
106
  const { oldIndex: r, newIndex: e } = a;
105
107
  await l.move(r, e), S.value++;
106
108
  }
107
- return (a, r) => (n(), m("div", {
109
+ return (a, r) => (o(), m("div", {
108
110
  class: z(t(D))
109
111
  }, [
110
- (n(), i(t(o), {
112
+ (o(), u(t(n), {
111
113
  key: S.value,
112
114
  "key-map": t($),
113
115
  add: O
114
116
  }, {
115
117
  default: f(() => [
116
- ee(t(ye), {
118
+ ne(t(be), {
117
119
  "model-value": v.value,
118
120
  target: "tbody",
119
- handle: `.${t(Se)}-array-base-sort-handle`,
121
+ handle: `.${t(ke)}-array-base-sort-handle`,
120
122
  animation: 150,
121
123
  onEnd: j
122
124
  }, {
123
125
  default: f(() => [
124
- re((n(), i(t(me), k({
126
+ le((o(), u(t(Y), k({
125
127
  ref_key: "elTableRef",
126
128
  ref: E,
127
129
  "row-key": t(P),
128
130
  data: v.value
129
131
  }, t(B)), {
130
132
  default: f(() => [
131
- (n(!0), m(h, null, A(K.value, (e, u) => (n(), i(t(fe), k({
133
+ (o(!0), m(h, null, A(K.value, (e, i) => (o(), u(t(Z), k({
132
134
  key: e.key,
133
135
  ref_for: !0
134
136
  }, e.props), {
135
137
  default: f(({ row: s, $index: b }) => [
136
- (n(), i(t(o).Item, {
138
+ (o(), u(t(n).Item, {
137
139
  key: t(P)(s),
138
140
  index: b + q.value,
139
141
  record: s
140
142
  }, {
141
143
  default: f(() => [
142
- (n(), i(t(w), {
144
+ (o(), u(t(R), {
143
145
  key: `${t(P)(s)}`,
144
- schema: t(T)[u].schema,
146
+ schema: t(T)[i].schema,
145
147
  name: b + q.value,
146
148
  "only-render-properties": ""
147
149
  }, null, 8, ["schema", "name"]))
@@ -150,14 +152,14 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
150
152
  }, 1032, ["index", "record"]))
151
153
  ]),
152
154
  header: f(({ column: s }) => [
153
- e.field.content?.header ? (n(), i(ae(e.field.content.header), k({
155
+ e.field.content?.header ? (o(), u(se(e.field.content.header), k({
154
156
  key: 0,
155
157
  ref_for: !0
156
- }, { ...s, field: t(l) }), null, 16)) : e.asterisk ? (n(), m("span", Te, [
157
- te("span", {
158
+ }, { ...s, field: t(l) }), null, 16)) : e.asterisk ? (o(), m("span", Te, [
159
+ ie("span", {
158
160
  class: z(`${t(D)}-asterisk`)
159
161
  }, "*", 2),
160
- ne(" " + oe(s.label), 1)
162
+ ue(" " + pe(s.label), 1)
161
163
  ])) : _("", !0)
162
164
  ]),
163
165
  _: 2
@@ -165,18 +167,18 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
165
167
  ]),
166
168
  _: 1
167
169
  }, 16, ["row-key", "data"])), [
168
- [t(ve), t(l).loading]
170
+ [t(ee), t(l).loading]
169
171
  ])
170
172
  ]),
171
173
  _: 1
172
174
  }, 8, ["model-value", "handle"]),
173
- (n(!0), m(h, null, A(L.value, (e, u) => (n(), i(t(w), {
174
- key: u,
175
+ (o(!0), m(h, null, A(L.value, (e, i) => (o(), u(t(R), {
176
+ key: i,
175
177
  name: e.name,
176
178
  schema: e.schema,
177
179
  "only-render-self": !0
178
180
  }, null, 8, ["name", "schema"]))), 128)),
179
- c.pagination ? (n(), i(t(be), k({
181
+ c.pagination ? (o(), u(t(xe), k({
180
182
  key: 0,
181
183
  "current-page": p.value,
182
184
  "onUpdate:currentPage": r[0] || (r[0] = (e) => p.value = e),
@@ -187,8 +189,8 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
187
189
  layout: "total, sizes, prev, pager, next",
188
190
  total: c.modelValue.length
189
191
  }, N.value), null, 16, ["current-page", "page-size", "class", "total"])) : _("", !0),
190
- (n(!0), m(h, null, A(U.value, (e, u) => (n(), m(h, { key: u }, [
191
- t(ge)(e) ? (n(), i(t(w), {
192
+ (o(!0), m(h, null, A(U.value, (e, i) => (o(), m(h, { key: i }, [
193
+ t(he)(e) ? (o(), u(t(R), {
192
194
  key: 0,
193
195
  schema: e,
194
196
  name: "addition"
@@ -204,20 +206,20 @@ import '../styles/array-table/index.css';const Te = { key: 1 }, Ae = /* @__PURE_
204
206
  render() {
205
207
  return null;
206
208
  }
207
- }, He = Pe(Ae, {
209
+ }, Le = ye(Ae, {
208
210
  Column: _e,
209
- Index: o.Index,
210
- SortHandle: o.SortHandle,
211
- Addition: o.Addition,
212
- Remove: o.Remove,
213
- MoveDown: o.MoveDown,
214
- MoveUp: o.MoveUp,
215
- useArray: o.useArray,
216
- useIndex: o.useIndex,
217
- useRecord: o.useRecord
211
+ Index: n.Index,
212
+ SortHandle: n.SortHandle,
213
+ Addition: n.Addition,
214
+ Remove: n.Remove,
215
+ MoveDown: n.MoveDown,
216
+ MoveUp: n.MoveUp,
217
+ useArray: n.useArray,
218
+ useIndex: n.useIndex,
219
+ useRecord: n.useRecord
218
220
  });
219
221
  export {
220
- He as ArrayTable,
221
- He as default
222
+ Le as ArrayTable,
223
+ Le as default
222
224
  };
223
225
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-table/array-table.vue","../../src/array-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { Schema } from '@formily/json-schema'\r\nimport type { TableInstance } from 'element-plus'\r\nimport type { IArrayTableProps } from './types'\r\nimport { autorun, reaction } from '@formily/reactive'\r\nimport { isArr, isEqual } from '@formily/shared'\r\nimport { formilyComputed } from '@silver-formily/reactive-vue'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElTable, ElTableColumn, vLoading } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, nextTick, ref, watch } from 'vue'\r\nimport { VueDraggable } from 'vue-draggable-plus'\r\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\r\nimport { ArrayBase } from '../array-base'\r\nimport { isAdditionComponent } from '../array-base/utils'\r\nimport ElPagination from '../pagination/pagination'\r\nimport { hasRequiredProperty, isColumnComponent, isTableComponent, prefixCls } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayTable',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IArrayTableProps>(), {\r\n modelValue: () => [],\r\n pagination: true,\r\n})\r\nconst { props: elTableProps } = useCleanAttrs()\r\nconst paginationProps = computed(() => omit(props.paginationProps, ['pageSize', 'currentPage']))\r\nconst fieldRef = useField<ArrayField>()\r\nconst field = fieldRef.value\r\nconst schemaRef = useFieldSchema()\r\nconst additionSchemas = computed<Record<string, Schema>>(() => schemaRef.value?.properties ?? {})\r\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\r\n\r\nconst elTableRef = ref<TableInstance>()\r\n\r\nfunction extractTableSources(schema: Schema): any[] {\r\n if (isTableComponent(schema)) {\r\n return createTableSource(schema)\r\n }\r\n return schema.properties\r\n ? Object.values(schema.properties).flatMap(element => extractTableSources(element))\r\n : []\r\n}\r\n\r\nfunction createTableSource(schema: Schema): any[] {\r\n const propName = schema['x-component-props']?.prop || schema.name\r\n /* istanbul ignore if -- @preserve */\r\n if (!propName)\r\n return []\r\n\r\n const field = fieldRef.value.query(fieldRef.value.address.concat(propName)).take()\r\n\r\n return [{\r\n name: propName,\r\n display: field?.display || schema['x-display'],\r\n required: hasRequiredProperty(schema),\r\n field,\r\n fieldProps: field?.props || schema.toFieldProps(),\r\n schema,\r\n columnProps: (field?.component as any[])?.[1] || schema['x-component-props'] || {},\r\n }]\r\n}\r\n\r\nconst triggerUpdateKey = ref(0)\r\nreaction(() => {\r\n const path = field.path.entire\r\n return field.query(`${path}.*`).map((item) => {\r\n return {\r\n name: item.component[0],\r\n visible: item.visible,\r\n }\r\n }).filter(item => item.name.includes('Column'))\r\n}, async () => {\r\n triggerUpdateKey.value++\r\n}, { equals: isEqual })\r\n\r\nconst dataSource = ref([])\r\nconst pageSize = ref(props.paginationProps?.pageSize ?? 10)\r\nconst currentPage = ref(props.paginationProps?.currentPage ?? 1)\r\n\r\nfunction updateDataSource() {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isArr(field.value)) {\r\n dataSource.value = []\r\n return\r\n }\r\n if (props.pagination === false) {\r\n dataSource.value = [...field.value]\r\n return\r\n }\r\n dataSource.value = field.value.slice((currentPage.value - 1) * pageSize.value, (currentPage.value) * pageSize.value)\r\n}\r\nwatch([pageSize, currentPage], updateDataSource)\r\nautorun(updateDataSource)\r\n\r\nconst sources = formilyComputed(() => {\r\n const schema = schemaRef.value.items\r\n const items = isArr(schema) ? schema : [schema]\r\n return items.reduce((columns, schema) => {\r\n const item = extractTableSources(schema)\r\n return columns.concat(item)\r\n }, []).filter(item => item.display !== 'none')\r\n})\r\n\r\nconst columns = computed(() => {\r\n const currentSources = sources.value ?? []\r\n return currentSources\r\n .map((source, index) => ({ source, index }))\r\n .filter(({ source }) => source.display === 'visible' && isColumnComponent(source.schema))\r\n .map(({ source, index: key }) => {\r\n const { name, columnProps, required, field } = source\r\n const { title, asterisk, ...restProps } = columnProps\r\n const props = {\r\n label: title,\r\n ...restProps,\r\n prop: name,\r\n }\r\n return {\r\n key,\r\n props,\r\n field,\r\n asterisk: asterisk ?? required,\r\n }\r\n })\r\n})\r\n\r\nconst stateManagerColumns = computed(() => {\r\n const currentSources = sources.value ?? []\r\n return currentSources.filter((column) => {\r\n return column.display !== 'none' && isColumnComponent(column.schema)\r\n })\r\n})\r\n\r\nconst baseIndex = computed(() => {\r\n return (currentPage.value - 1) * pageSize.value\r\n})\r\n\r\nasync function onAddItemClick() {\r\n if (props.pagination === false) {\r\n await nextTick()\r\n const scrollWarpDOM = elTableRef.value?.$el.querySelector('.el-scrollbar__wrap')\r\n scrollWarpDOM?.scrollTo({\r\n top: scrollWarpDOM.scrollHeight,\r\n behavior: 'smooth',\r\n })\r\n return\r\n }\r\n /* istanbul ignore if -- @preserve */\r\n if (!isArr(field.value)) {\r\n currentPage.value = 1\r\n return\r\n }\r\n currentPage.value = Math.ceil(field.value.length / pageSize.value)\r\n}\r\n\r\nasync function handleDragEnd(evt: { oldIndex: number, newIndex: number }) {\r\n const { oldIndex, newIndex } = evt\r\n await field.move(oldIndex, newIndex)\r\n triggerUpdateKey.value++\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ArrayBase :key=\"triggerUpdateKey\" :key-map=\"keyMap\" :add=\"onAddItemClick\">\r\n <VueDraggable\r\n :model-value=\"dataSource\" target=\"tbody\" :handle=\"`.${stylePrefix}-array-base-sort-handle`\"\r\n :animation=\"150\" @end=\"handleDragEnd\"\r\n >\r\n <ElTable ref=\"elTableRef\" v-loading=\"field.loading\" :row-key=\"getKey\" :data=\"dataSource\" v-bind=\"elTableProps\">\r\n <template v-for=\"(column, colIndex) of columns\" :key=\"column.key\">\r\n <ElTableColumn v-bind=\"column.props\">\r\n <template #default=\"{ row, $index }\">\r\n <ArrayBase.Item :key=\"getKey(row)\" :index=\"$index + baseIndex\" :record=\"row\">\r\n <RecursionField\r\n :key=\"`${getKey(row)}`\" :schema=\"sources[colIndex].schema\"\r\n :name=\"$index + baseIndex\" only-render-properties\r\n />\r\n </ArrayBase.Item>\r\n </template>\r\n <template #header=\"{ column: col }\">\r\n <template v-if=\"column.field.content?.header\">\r\n <component :is=\"column.field.content.header\" v-bind=\"{ ...col, field }\" />\r\n </template>\r\n <span v-else-if=\"column.asterisk\">\r\n <span :class=\"`${prefixCls}-asterisk`\">*</span>\r\n {{ col.label }}\r\n </span>\r\n </template>\r\n </ElTableColumn>\r\n </template>\r\n </ElTable>\r\n </VueDraggable>\r\n\r\n <!-- 状态管理器 -->\r\n <template v-for=\"(column, key) of stateManagerColumns\" :key=\"key\">\r\n <RecursionField :name=\"column.name\" :schema=\"column.schema\" :only-render-self=\"true\" />\r\n </template>\r\n <ElPagination\r\n v-if=\"props.pagination\" v-model:current-page=\"currentPage\" v-model:page-size=\"pageSize\"\r\n :class=\"`${prefixCls}-pagination`\" background layout=\"total, sizes, prev, pager, next\"\r\n :total=\"props.modelValue.length\" v-bind=\"paginationProps\"\r\n />\r\n <template v-for=\"(itemSchema, key) of additionSchemas\" :key=\"key\">\r\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\r\n </template>\r\n </ArrayBase>\r\n </div>\r\n</template>\r\n","import type { Component } from 'vue'\r\nimport { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayTableInner from './array-table.vue'\r\nimport './style.scss'\r\n\r\nconst ArrayTableColumn: Component = {\r\n name: 'FArrayTableColumn',\r\n render() {\r\n return null\r\n },\r\n}\r\n\r\nexport const ArrayTable = composeExport(ArrayTableInner, {\r\n Column: ArrayTableColumn,\r\n Index: ArrayBase.Index,\r\n SortHandle: ArrayBase.SortHandle,\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n MoveDown: ArrayBase.MoveDown,\r\n MoveUp: ArrayBase.MoveUp,\r\n useArray: ArrayBase.useArray,\r\n useIndex: ArrayBase.useIndex,\r\n useRecord: ArrayBase.useRecord,\r\n})\r\n\r\nexport default ArrayTable\r\n"],"names":["props","__props","elTableProps","useCleanAttrs","paginationProps","computed","omit","fieldRef","useField","field","schemaRef","useFieldSchema","additionSchemas","getKey","keyMap","ArrayBase","elTableRef","ref","extractTableSources","schema","isTableComponent","createTableSource","element","propName","hasRequiredProperty","triggerUpdateKey","reaction","path","item","isEqual","dataSource","pageSize","currentPage","updateDataSource","isArr","watch","autorun","sources","formilyComputed","columns","source","index","isColumnComponent","key","name","columnProps","required","title","asterisk","restProps","stateManagerColumns","column","baseIndex","onAddItemClick","nextTick","scrollWarpDOM","handleDragEnd","evt","oldIndex","newIndex","_createElementBlock","_unref","prefixCls","_createBlock","_createVNode","VueDraggable","stylePrefix","_withDirectives","_openBlock","_mergeProps","_Fragment","_renderList","colIndex","_withCtx","row","$index","RecursionField","col","_resolveDynamicComponent","_hoisted_1","_createElementVNode","_toDisplayString","vLoading","$event","itemSchema","isAdditionComponent","ArrayTableColumn","ArrayTable","composeExport","ArrayTableInner"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-table/array-table.vue","../../src/array-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ArrayField } from '@formily/core'\nimport type { Schema } from '@formily/json-schema'\nimport type { TableInstance } from 'element-plus'\nimport type { IArrayTableProps } from './types'\nimport { autorun, reaction } from '@formily/reactive'\nimport { isArr, isEqual } from '@formily/shared'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElTable, ElTableColumn, vLoading } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { VueDraggable } from 'vue-draggable-plus'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { ArrayBase } from '../array-base'\nimport { isAdditionComponent } from '../array-base/utils'\nimport ElPagination from '../pagination/pagination'\nimport { hasRequiredProperty, isColumnComponent, isTableComponent, prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayTable',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IArrayTableProps>(), {\n modelValue: () => [],\n pagination: true,\n})\nconst { props: elTableProps } = useCleanAttrs()\nconst paginationProps = computed(() => omit(props.paginationProps, ['pageSize', 'currentPage']))\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst schemaRef = useFieldSchema()\nconst additionSchemas = computed<Record<string, Schema>>(() => schemaRef.value?.properties ?? {})\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst elTableRef = ref<TableInstance>()\n\nfunction extractTableSources(schema: Schema): any[] {\n if (isTableComponent(schema)) {\n return createTableSource(schema)\n }\n return schema.properties\n ? Object.values(schema.properties).flatMap(element => extractTableSources(element))\n : []\n}\n\nfunction createTableSource(schema: Schema): any[] {\n const propName = schema['x-component-props']?.prop || schema.name\n /* istanbul ignore if -- @preserve */\n if (!propName)\n return []\n\n const field = fieldRef.value.query(fieldRef.value.address.concat(propName)).take()\n\n return [{\n name: propName,\n display: field?.display || schema['x-display'],\n required: hasRequiredProperty(schema),\n field,\n fieldProps: field?.props || schema.toFieldProps(),\n schema,\n columnProps: (field?.component as any[])?.[1] || schema['x-component-props'] || {},\n }]\n}\n\nconst triggerUpdateKey = ref(0)\nreaction(() => {\n const path = field.path.entire\n return field.query(`${path}.*`).map((item) => {\n return {\n name: item.component[0],\n visible: item.visible,\n }\n }).filter(item => item.name.includes('Column'))\n}, async () => {\n triggerUpdateKey.value++\n}, { equals: isEqual })\n\nconst dataSource = ref([])\nconst pageSize = ref(props.paginationProps?.pageSize ?? 10)\nconst currentPage = ref(props.paginationProps?.currentPage ?? 1)\n\nfunction updateDataSource() {\n /* istanbul ignore if -- @preserve */\n if (!isArr(field.value)) {\n dataSource.value = []\n return\n }\n if (props.pagination === false) {\n dataSource.value = [...field.value]\n return\n }\n dataSource.value = field.value.slice((currentPage.value - 1) * pageSize.value, (currentPage.value) * pageSize.value)\n}\nwatch([pageSize, currentPage], updateDataSource)\nautorun(updateDataSource)\n\nconst sources = formilyComputed(() => {\n const schema = schemaRef.value.items\n const items = isArr(schema) ? schema : [schema]\n return items.reduce((columns, schema) => {\n const item = extractTableSources(schema)\n return columns.concat(item)\n }, []).filter(item => item.display !== 'none')\n})\n\nconst columns = computed(() => {\n const currentSources = sources.value ?? []\n return currentSources\n .map((source, index) => ({ source, index }))\n .filter(({ source }) => source.display === 'visible' && isColumnComponent(source.schema))\n .map(({ source, index: key }) => {\n const { name, columnProps, required, field } = source\n const { title, asterisk, ...restProps } = columnProps\n const props = {\n label: title,\n ...restProps,\n prop: name,\n }\n return {\n key,\n props,\n field,\n asterisk: asterisk ?? required,\n }\n })\n})\n\nconst stateManagerColumns = computed(() => {\n const currentSources = sources.value ?? []\n return currentSources.filter((column) => {\n return column.display !== 'none' && isColumnComponent(column.schema)\n })\n})\n\nconst baseIndex = computed(() => {\n return (currentPage.value - 1) * pageSize.value\n})\n\nasync function onAddItemClick() {\n if (props.pagination === false) {\n await nextTick()\n const scrollWarpDOM = elTableRef.value?.$el.querySelector('.el-scrollbar__wrap')\n scrollWarpDOM?.scrollTo({\n top: scrollWarpDOM.scrollHeight,\n behavior: 'smooth',\n })\n return\n }\n /* istanbul ignore if -- @preserve */\n if (!isArr(field.value)) {\n currentPage.value = 1\n return\n }\n currentPage.value = Math.ceil(field.value.length / pageSize.value)\n}\n\nasync function handleDragEnd(evt: { oldIndex: number, newIndex: number }) {\n const { oldIndex, newIndex } = evt\n await field.move(oldIndex, newIndex)\n triggerUpdateKey.value++\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key=\"triggerUpdateKey\" :key-map=\"keyMap\" :add=\"onAddItemClick\">\n <VueDraggable\n :model-value=\"dataSource\" target=\"tbody\" :handle=\"`.${stylePrefix}-array-base-sort-handle`\"\n :animation=\"150\" @end=\"handleDragEnd\"\n >\n <ElTable ref=\"elTableRef\" v-loading=\"field.loading\" :row-key=\"getKey\" :data=\"dataSource\" v-bind=\"elTableProps\">\n <template v-for=\"(column, colIndex) of columns\" :key=\"column.key\">\n <ElTableColumn v-bind=\"column.props\">\n <template #default=\"{ row, $index }\">\n <ArrayBase.Item :key=\"getKey(row)\" :index=\"$index + baseIndex\" :record=\"row\">\n <RecursionField\n :key=\"`${getKey(row)}`\" :schema=\"sources[colIndex].schema\"\n :name=\"$index + baseIndex\" only-render-properties\n />\n </ArrayBase.Item>\n </template>\n <template #header=\"{ column: col }\">\n <template v-if=\"column.field.content?.header\">\n <component :is=\"column.field.content.header\" v-bind=\"{ ...col, field }\" />\n </template>\n <span v-else-if=\"column.asterisk\">\n <span :class=\"`${prefixCls}-asterisk`\">*</span>\n {{ col.label }}\n </span>\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n </VueDraggable>\n\n <!-- 状态管理器 -->\n <template v-for=\"(column, key) of stateManagerColumns\" :key=\"key\">\n <RecursionField :name=\"column.name\" :schema=\"column.schema\" :only-render-self=\"true\" />\n </template>\n <ElPagination\n v-if=\"props.pagination\" v-model:current-page=\"currentPage\" v-model:page-size=\"pageSize\"\n :class=\"`${prefixCls}-pagination`\" background layout=\"total, sizes, prev, pager, next\"\n :total=\"props.modelValue.length\" v-bind=\"paginationProps\"\n />\n <template v-for=\"(itemSchema, key) of additionSchemas\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import type { Component } from 'vue'\nimport { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayTableInner from './array-table.vue'\nimport './style.scss'\n\nconst ArrayTableColumn: Component = {\n name: 'FArrayTableColumn',\n render() {\n return null\n },\n}\n\nexport const ArrayTable = composeExport(ArrayTableInner, {\n Column: ArrayTableColumn,\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayTable\n"],"names":["props","__props","elTableProps","useCleanAttrs","paginationProps","computed","omit","fieldRef","useField","field","schemaRef","useFieldSchema","additionSchemas","getKey","keyMap","ArrayBase","elTableRef","ref","extractTableSources","schema","isTableComponent","createTableSource","element","propName","hasRequiredProperty","triggerUpdateKey","reaction","path","item","isEqual","dataSource","pageSize","currentPage","updateDataSource","isArr","watch","autorun","sources","formilyComputed","columns","source","index","isColumnComponent","key","name","columnProps","required","title","asterisk","restProps","stateManagerColumns","column","baseIndex","onAddItemClick","nextTick","scrollWarpDOM","handleDragEnd","evt","oldIndex","newIndex","_createElementBlock","_unref","prefixCls","_createBlock","_createVNode","VueDraggable","stylePrefix","_withDirectives","_openBlock","_mergeProps","_Fragment","_renderList","colIndex","_withCtx","row","$index","RecursionField","col","_resolveDynamicComponent","_hoisted_1","_createElementVNode","_toDisplayString","vLoading","$event","itemSchema","isAdditionComponent","ArrayTableColumn","ArrayTable","composeExport","ArrayTableInner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,UAAMA,IAAQC,GAIR,EAAE,OAAOC,EAAA,IAAiBC,GAAA,GAC1BC,IAAkBC,EAAS,MAAMC,GAAKN,EAAM,iBAAiB,CAAC,YAAY,aAAa,CAAC,CAAC,GACzFO,IAAWC,GAAA,GACXC,IAAQF,EAAS,OACjBG,IAAYC,GAAA,GACZC,IAAkBP,EAAiC,MAAMK,EAAU,OAAO,cAAc,EAAE,GAC1F,EAAE,QAAAG,GAAQ,QAAAC,EAAA,IAAWC,EAAU,OAAOL,EAAU,KAAK,GAErDM,IAAaC,EAAA;AAEnB,aAASC,EAAoBC,GAAuB;AAClD,aAAIC,GAAiBD,CAAM,IAClBE,EAAkBF,CAAM,IAE1BA,EAAO,aACV,OAAO,OAAOA,EAAO,UAAU,EAAE,QAAQ,CAAAG,MAAWJ,EAAoBI,CAAO,CAAC,IAChF,CAAA;AAAA,IACN;AAEA,aAASD,EAAkBF,GAAuB;AAChD,YAAMI,IAAWJ,EAAO,mBAAmB,GAAG,QAAQA,EAAO;AAE7D,UAAI,CAACI;AACH,eAAO,CAAA;AAET,YAAMd,IAAQF,EAAS,MAAM,MAAMA,EAAS,MAAM,QAAQ,OAAOgB,CAAQ,CAAC,EAAE,KAAA;AAE5E,aAAO,CAAC;AAAA,QACN,MAAMA;AAAA,QACN,SAASd,GAAO,WAAWU,EAAO,WAAW;AAAA,QAC7C,UAAUK,GAAoBL,CAAM;AAAA,QACpC,OAAAV;AAAAA,QACA,YAAYA,GAAO,SAASU,EAAO,aAAA;AAAA,QACnC,QAAAA;AAAA,QACA,aAAcV,GAAO,YAAsB,CAAC,KAAKU,EAAO,mBAAmB,KAAK,CAAA;AAAA,MAAC,CAClF;AAAA,IACH;AAEA,UAAMM,IAAmBR,EAAI,CAAC;AAC9B,IAAAS,GAAS,MAAM;AACb,YAAMC,IAAOlB,EAAM,KAAK;AACxB,aAAOA,EAAM,MAAM,GAAGkB,CAAI,IAAI,EAAE,IAAI,CAACC,OAC5B;AAAA,QACL,MAAMA,EAAK,UAAU,CAAC;AAAA,QACtB,SAASA,EAAK;AAAA,MAAA,EAEjB,EAAE,OAAO,CAAAA,MAAQA,EAAK,KAAK,SAAS,QAAQ,CAAC;AAAA,IAChD,GAAG,YAAY;AACb,MAAAH,EAAiB;AAAA,IACnB,GAAG,EAAE,QAAQI,IAAS;AAEtB,UAAMC,IAAab,EAAI,EAAE,GACnBc,IAAWd,EAAIjB,EAAM,iBAAiB,YAAY,EAAE,GACpDgC,IAAcf,EAAIjB,EAAM,iBAAiB,eAAe,CAAC;AAE/D,aAASiC,IAAmB;AAE1B,UAAI,CAACC,EAAMzB,EAAM,KAAK,GAAG;AACvB,QAAAqB,EAAW,QAAQ,CAAA;AACnB;AAAA,MACF;AACA,UAAI9B,EAAM,eAAe,IAAO;AAC9B,QAAA8B,EAAW,QAAQ,CAAC,GAAGrB,EAAM,KAAK;AAClC;AAAA,MACF;AACA,MAAAqB,EAAW,QAAQrB,EAAM,MAAM,OAAOuB,EAAY,QAAQ,KAAKD,EAAS,OAAQC,EAAY,QAASD,EAAS,KAAK;AAAA,IACrH;AACA,IAAAI,GAAM,CAACJ,GAAUC,CAAW,GAAGC,CAAgB,GAC/CG,GAAQH,CAAgB;AAExB,UAAMI,IAAUC,GAAgB,MAAM;AACpC,YAAMnB,IAAST,EAAU,MAAM;AAE/B,cADcwB,EAAMf,CAAM,IAAIA,IAAS,CAACA,CAAM,GACjC,OAAO,CAACoB,GAASpB,MAAW;AACvC,cAAMS,IAAOV,EAAoBC,CAAM;AACvC,eAAOoB,EAAQ,OAAOX,CAAI;AAAA,MAC5B,GAAG,CAAA,CAAE,EAAE,OAAO,CAAAA,MAAQA,EAAK,YAAY,MAAM;AAAA,IAC/C,CAAC,GAEKW,IAAUlC,EAAS,OACAgC,EAAQ,SAAS,CAAA,GAErC,IAAI,CAACG,GAAQC,OAAW,EAAE,QAAAD,GAAQ,OAAAC,IAAQ,EAC1C,OAAO,CAAC,EAAE,QAAAD,EAAA,MAAaA,EAAO,YAAY,aAAaE,EAAkBF,EAAO,MAAM,CAAC,EACvF,IAAI,CAAC,EAAE,QAAAA,GAAQ,OAAOG,QAAU;AAC/B,YAAM,EAAE,MAAAC,GAAM,aAAAC,GAAa,UAAAC,GAAU,OAAArC,MAAU+B,GACzC,EAAE,OAAAO,GAAO,UAAAC,GAAU,GAAGC,MAAcJ,GACpC7C,IAAQ;AAAA,QACZ,OAAO+C;AAAA,QACP,GAAGE;AAAA,QACH,MAAML;AAAA,MAAA;AAER,aAAO;AAAA,QACL,KAAAD;AAAA,QACA,OAAA3C;AAAAA,QACA,OAAAS;AAAAA,QACA,UAAUuC,KAAYF;AAAA,MAAA;AAAA,IAE1B,CAAC,CACJ,GAEKI,IAAsB7C,EAAS,OACZgC,EAAQ,SAAS,CAAA,GAClB,OAAO,CAACc,MACrBA,EAAO,YAAY,UAAUT,EAAkBS,EAAO,MAAM,CACpE,CACF,GAEKC,IAAY/C,EAAS,OACjB2B,EAAY,QAAQ,KAAKD,EAAS,KAC3C;AAED,mBAAesB,IAAiB;AAC9B,UAAIrD,EAAM,eAAe,IAAO;AAC9B,cAAMsD,GAAA;AACN,cAAMC,IAAgBvC,EAAW,OAAO,IAAI,cAAc,qBAAqB;AAC/E,QAAAuC,GAAe,SAAS;AAAA,UACtB,KAAKA,EAAc;AAAA,UACnB,UAAU;AAAA,QAAA,CACX;AACD;AAAA,MACF;AAEA,UAAI,CAACrB,EAAMzB,EAAM,KAAK,GAAG;AACvB,QAAAuB,EAAY,QAAQ;AACpB;AAAA,MACF;AACA,MAAAA,EAAY,QAAQ,KAAK,KAAKvB,EAAM,MAAM,SAASsB,EAAS,KAAK;AAAA,IACnE;AAEA,mBAAeyB,EAAcC,GAA6C;AACxE,YAAM,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaF;AAC/B,YAAMhD,EAAM,KAAKiD,GAAUC,CAAQ,GACnClC,EAAiB;AAAA,IACnB;2BAIEmC,EA4CM,OAAA;AAAA,MA5CA,SAAOC,EAAAC,CAAA,CAAS;AAAA,IAAA;YACpBC,EA0CYF,EAAA9C,CAAA,GAAA;AAAA,QA1CA,KAAKU,EAAA;AAAA,QAAmB,WAASoC,EAAA/C,CAAA;AAAA,QAAS,KAAKuC;AAAA,MAAA;mBACzD,MA2Be;AAAA,UA3BfW,GA2BeH,EAAAI,EAAA,GAAA;AAAA,YA1BZ,eAAanC,EAAA;AAAA,YAAY,QAAO;AAAA,YAAS,YAAY+B,EAAAK,EAAA,CAAW;AAAA,YAChE,WAAW;AAAA,YAAM,OAAKV;AAAA,UAAA;uBAEvB,MAsBU;AAAA,cAtBVW,IAAAC,EAAA,GAAAL,EAsBUF,MAtBVQ,EAsBU;AAAA,yBAtBG;AAAA,gBAAJ,KAAIrD;AAAA,gBAAwC,WAAS6C,EAAAhD,CAAA;AAAA,gBAAS,MAAMiB,EAAA;AAAA,cAAA,GAAoB+B,EAAA3D,CAAA,CAAY,GAAA;AAAA,2BACjG,MAAqC;AAAA,mBAA/CkE,EAAA,EAAA,GAAAR,EAoBWU,GAAA,MAAAC,EApB4BhC,EAAA,OAAO,CAA5BY,GAAQqB,OACxBJ,KAAAL,EAkBgBF,MAlBhBQ,EAkBgB;AAAA,oBAnBoC,KAAAlB,EAAO;AAAA;qBACpCA,EAAO,KAAK,GAAA;AAAA,oBACtB,SAAOsB,EAChB,CAKiB,EANG,KAAAC,GAAK,QAAAC,QAAM;AAAA,4BAC/BZ,EAKiBF,EAAA9C,CAAA,EAAA,MAAA;AAAA,wBALA,KAAK8C,EAAAhD,CAAA,EAAO6D,CAAG;AAAA,wBAAI,OAAOC,IAASvB,EAAA;AAAA,wBAAY,QAAQsB;AAAA,sBAAA;mCACtE,MAGE;AAAA,gCAHFX,EAGEF,EAAAe,CAAA,GAAA;AAAA,4BAFC,KAAG,GAAKf,EAAAhD,CAAA,EAAO6D,CAAG,CAAA;AAAA,4BAAM,QAAQb,EAAAxB,CAAA,EAAQmC,CAAQ,EAAE;AAAA,4BAClD,MAAMG,IAASvB,EAAA;AAAA,4BAAW,0BAAA;AAAA,0BAAA;;;;;oBAItB,QAAMqB,EACf,CAEW,EAAA,QAHgBI,QAAG;AAAA,sBACd1B,EAAO,MAAM,SAAS,eACpCY,EAA0Ee,GAA1D3B,EAAO,MAAM,QAAQ,MAAM,GAA3CkB,EAA0E;AAAA;;yBAAhB,EAAA,GAAAQ,UAAKhB,EAAApD,CAAA,EAAA,CAAK,GAAA,MAAA,EAAA,KAErD0C,EAAO,iBAAxBS,EAGO,QAAAmB,IAAA;AAAA,wBAFLC,GAA+C,QAAA;AAAA,0BAAxC,YAAUnB,EAAAC,CAAA,CAAS,WAAA;AAAA,wBAAA,GAAa,KAAC,CAAA;AAAA,2BAAO,MAC/CmB,GAAGJ,EAAI,KAAK,GAAA,CAAA;AAAA,sBAAA;;;;;;;gBAjBe,CAAAhB,EAAAqB,EAAA,GAAArB,EAAApD,CAAA,EAAM,OAAO;AAAA,cAAA;;;;WA0BpD2D,EAAA,EAAA,GAAAR,EAEWU,GAAA,MAAAC,EAFuBrB,EAAA,OAAmB,CAAnCC,GAAQR,YACxBoB,EAAuFF,EAAAe,CAAA,GAAA;AAAA;YAAtE,MAAMzB,EAAO;AAAA,YAAO,QAAQA,EAAO;AAAA,YAAS,oBAAkB;AAAA,UAAA;UAGzEnD,EAAM,cADdoE,EAAA,GAAAL,EAIEF,OAJFQ,EAIE;AAAA;YAHgC,gBAAcrC,EAAA;AAAA,2DAAAA,EAAW,QAAAmD;AAAA,YAAU,aAAWpD,EAAA;AAAA,wDAAAA,EAAQ,QAAAoD;AAAA,YACrF,UAAUtB,EAAAC,CAAA,CAAS;AAAA,YAAe,YAAA;AAAA,YAAW,QAAO;AAAA,YACpD,OAAO9D,EAAM,WAAW;AAAA,UAAA,GAAgBI,EAAA,KAAe,GAAA,MAAA,IAAA,CAAA,gBAAA,aAAA,SAAA,OAAA,CAAA;WAE1DgE,EAAA,EAAA,GAAAR,EAEWU,GAAA,MAAAC,EAF2B3D,EAAA,OAAe,CAAnCwE,GAAYzC,6BAAkC;AAAA,YACxCkB,EAAAwB,EAAA,EAAoBD,CAAU,UAApDrB,EAA8FF,EAAAe,CAAA,GAAA;AAAA;cAAtC,QAAQQ;AAAA,cAAY,MAAK;AAAA,YAAA;;;;;;;ICzMnFE,KAA8B;AAAA,EAClC,MAAM;AAAA,EACN,SAAS;AACP,WAAO;AAAA,EACT;AACF,GAEaC,KAAaC,GAAcC,IAAiB;AAAA,EACvD,QAAQH;AAAA,EACR,OAAOvE,EAAU;AAAA,EACjB,YAAYA,EAAU;AAAA,EACtB,UAAUA,EAAU;AAAA,EACpB,QAAQA,EAAU;AAAA,EAClB,UAAUA,EAAU;AAAA,EACpB,QAAQA,EAAU;AAAA,EAClB,UAAUA,EAAU;AAAA,EACpB,UAAUA,EAAU;AAAA,EACpB,WAAWA,EAAU;AACvB,CAAC;"}
@@ -1,19 +1,26 @@
1
- import { isOperationComponent as r, isAdditionComponent as t } from "../array-base/utils.mjs";
2
1
  import { stylePrefix as i } from "../__builtins__/configs/index.mjs";
3
- const m = `${i}-array-table`;
4
- function p(n) {
5
- return n["x-component"]?.indexOf("Column") > -1;
2
+ import "element-plus";
3
+ import "@formily/reactive";
4
+ import "@vueuse/core";
5
+ import "vue";
6
+ import "@formily/core";
7
+ import "@silver-formily/reactive-vue";
8
+ import "@silver-formily/vue";
9
+ import { isOperationComponent as n, isAdditionComponent as e } from "../array-base/utils.mjs";
10
+ const c = `${i}-array-table`;
11
+ function p(o) {
12
+ return o["x-component"]?.indexOf("Column") > -1;
6
13
  }
7
- function s(n) {
8
- return p(n) || r(n) || t(n);
14
+ function y(o) {
15
+ return p(o) || n(o) || e(o);
9
16
  }
10
- function l(n) {
11
- return n.reduceProperties((o, e) => o || !!e.required, !1);
17
+ function P(o) {
18
+ return o.reduceProperties((r, t) => r || !!t.required, !1);
12
19
  }
13
20
  export {
14
- l as hasRequiredProperty,
21
+ P as hasRequiredProperty,
15
22
  p as isColumnComponent,
16
- s as isTableComponent,
17
- m as prefixCls
23
+ y as isTableComponent,
24
+ c as prefixCls
18
25
  };
19
26
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../src/array-table/utils.ts"],"sourcesContent":["import type { Schema } from '@formily/json-schema'\r\nimport { stylePrefix } from '../__builtins__'\r\nimport { isAdditionComponent, isOperationComponent } from '../array-base/utils'\r\n\r\nexport const prefixCls = `${stylePrefix}-array-table`\r\n\r\nexport function isColumnComponent(schema: Schema) {\r\n return schema['x-component']?.indexOf('Column') > -1\r\n}\r\n\r\nexport function isTableComponent(schema: Schema): boolean {\r\n return isColumnComponent(schema) || isOperationComponent(schema) || isAdditionComponent(schema)\r\n}\r\n\r\nexport function hasRequiredProperty(schema: Schema): boolean {\r\n return schema.reduceProperties((hasRequired, property) =>\r\n hasRequired || !!property.required, false)\r\n}\r\n"],"names":["prefixCls","stylePrefix","isColumnComponent","schema","isTableComponent","isOperationComponent","isAdditionComponent","hasRequiredProperty","hasRequired","property"],"mappings":";;AAIO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,EAAkBC,GAAgB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASC,EAAiBD,GAAyB;AACxD,SAAOD,EAAkBC,CAAM,KAAKE,EAAqBF,CAAM,KAAKG,EAAoBH,CAAM;AAChG;AAEO,SAASI,EAAoBJ,GAAyB;AAC3D,SAAOA,EAAO,iBAAiB,CAACK,GAAaC,MAC3CD,KAAe,CAAC,CAACC,EAAS,UAAU,EAAK;AAC7C;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/array-table/utils.ts"],"sourcesContent":["import type { Schema } from '@formily/json-schema'\nimport { stylePrefix } from '../__builtins__'\nimport { isAdditionComponent, isOperationComponent } from '../array-base/utils'\n\nexport const prefixCls = `${stylePrefix}-array-table`\n\nexport function isColumnComponent(schema: Schema) {\n return schema['x-component']?.indexOf('Column') > -1\n}\n\nexport function isTableComponent(schema: Schema): boolean {\n return isColumnComponent(schema) || isOperationComponent(schema) || isAdditionComponent(schema)\n}\n\nexport function hasRequiredProperty(schema: Schema): boolean {\n return schema.reduceProperties((hasRequired, property) =>\n hasRequired || !!property.required, false)\n}\n"],"names":["prefixCls","stylePrefix","isColumnComponent","schema","isTableComponent","isOperationComponent","isAdditionComponent","hasRequiredProperty","hasRequired","property"],"mappings":";;;;;;;;;AAIO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,EAAkBC,GAAgB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASC,EAAiBD,GAAyB;AACxD,SAAOD,EAAkBC,CAAM,KAAKE,EAAqBF,CAAM,KAAKG,EAAoBH,CAAM;AAChG;AAEO,SAASI,EAAoBJ,GAAyB;AAC3D,SAAOA,EAAO,iBAAiB,CAACK,GAAaC,MAC3CD,KAAe,CAAC,CAACC,EAAS,UAAU,EAAK;AAC7C;"}
@@ -1,11 +1,14 @@
1
- import { defineComponent as C, ref as p, onUnmounted as E, openBlock as s, createBlock as f, unref as e, mergeProps as F, withCtx as u, createElementBlock as i, Fragment as _, renderList as A, createVNode as b, normalizeClass as B, createTextVNode as N, toDisplayString as v } from "vue";
1
+ import { defineComponent as C, ref as p, onUnmounted as E, openBlock as s, createBlock as f, unref as e, mergeProps as F, withCtx as m, createElementBlock as i, Fragment as _, renderList as A, createVNode as b, normalizeClass as B, createTextVNode as N, toDisplayString as v } from "vue";
2
2
  import { reaction as P } from "@formily/reactive";
3
3
  import { isEqual as R, isFn as h } from "@formily/shared";
4
4
  import { useField as S, useFieldSchema as V, RecursionField as q } from "@silver-formily/vue";
5
5
  import { ElTabs as U, ElTabPane as L, ElBadge as w } from "element-plus";
6
6
  import { stylePrefix as z } from "../__builtins__/configs/index.mjs";
7
- import { getArrayItemSchema as D } from "../array-base/utils.mjs";
8
- import { useCleanAttrs as I } from "../__builtins__/shared/utils.mjs";
7
+ import "@vueuse/core";
8
+ import "@formily/core";
9
+ import "@silver-formily/reactive-vue";
10
+ import { useCleanAttrs as D } from "../__builtins__/shared/utils.mjs";
11
+ import { getArrayItemSchema as I } from "../array-base/utils.mjs";
9
12
  import '../styles/array-tabs/index.css';const K = { key: 0 }, j = { key: 1 }, G = /* @__PURE__ */ C({
10
13
  name: "FArrayTabs",
11
14
  inheritAttrs: !1,
@@ -17,53 +20,53 @@ import '../styles/array-tabs/index.css';const K = { key: 0 }, j = { key: 1 }, G
17
20
  function d(r) {
18
21
  return `${t.title || "Untitled"} ${r + 1}`;
19
22
  }
20
- const m = p([]), T = P(() => t.value.map((r, o) => t.form.queryFeedbacks({
23
+ const u = p([]), T = P(() => t.value.map((r, l) => t.form.queryFeedbacks({
21
24
  type: "error",
22
- address: `${t.address.concat(o)}.**`
25
+ address: `${t.address.concat(l)}.**`
23
26
  }).length), (r) => {
24
- m.value = r;
27
+ u.value = r;
25
28
  }, {
26
29
  equals: R
27
30
  });
28
31
  E(() => {
29
32
  T();
30
33
  });
31
- const { props: k } = I(["value", "modelValue", "onUpdate:modelValue"]);
32
- return (r, o) => (s(), f(e(U), F(e(k), {
34
+ const { props: k } = D(["value", "modelValue", "onUpdate:modelValue"]);
35
+ return (r, l) => (s(), f(e(U), F(e(k), {
33
36
  "model-value": n.value,
34
37
  class: c,
35
38
  type: "card",
36
39
  addable: !0,
37
- onTabRemove: o[0] || (o[0] = (l) => {
38
- const a = l.toString().match(/tab-(\d+)/)?.[1];
39
- e(t).remove(Number(a)), n.value === l && (n.value = `tab-${Number(a) - 1}`), e(h)(r.$attrs["tab-remove"]) && r.$attrs["tab-remove"](l);
40
+ onTabRemove: l[0] || (l[0] = (o) => {
41
+ const a = o.toString().match(/tab-(\d+)/)?.[1];
42
+ e(t).remove(Number(a)), n.value === o && (n.value = `tab-${Number(a) - 1}`), e(h)(r.$attrs["tab-remove"]) && r.$attrs["tab-remove"](o);
40
43
  }),
41
- onTabAdd: o[1] || (o[1] = () => {
42
- const l = e(t).value.length;
43
- e(t).value.push(null), n.value = `tab-${l}`, e(h)(r.$attrs["tab-add"]) && r.$attrs["tab-add"]();
44
+ onTabAdd: l[1] || (l[1] = () => {
45
+ const o = e(t).value.length;
46
+ e(t).value.push(null), n.value = `tab-${o}`, e(h)(r.$attrs["tab-add"]) && r.$attrs["tab-add"]();
44
47
  }),
45
48
  onChange: () => {
46
49
  }
47
50
  }), {
48
- default: u(() => [
49
- (s(!0), i(_, null, A(e(t).value, (l, a) => (s(), f(e(L), {
51
+ default: m(() => [
52
+ (s(!0), i(_, null, A(e(t).value, (o, a) => (s(), f(e(L), {
50
53
  key: `tab-${a}`,
51
54
  closable: a !== 0,
52
55
  name: `tab-${a}`
53
56
  }, {
54
- default: u(() => [
57
+ default: m(() => [
55
58
  b(e(q), {
56
- schema: e(D)(e(g), a),
59
+ schema: e(I)(e(g), a),
57
60
  name: a
58
61
  }, null, 8, ["schema", "name"])
59
62
  ]),
60
- label: u(() => [
61
- m.value[a] > 0 ? (s(), i("span", K, [
63
+ label: m(() => [
64
+ u.value[a] > 0 ? (s(), i("span", K, [
62
65
  b(e(w), {
63
66
  class: B([`${c}-errors-badge`]),
64
- value: m.value[a]
67
+ value: u.value[a]
65
68
  }, {
66
- default: u(() => [
69
+ default: m(() => [
67
70
  N(v(d(a)), 1)
68
71
  ]),
69
72
  _: 2
@@ -76,9 +79,9 @@ import '../styles/array-tabs/index.css';const K = { key: 0 }, j = { key: 1 }, G
76
79
  _: 1
77
80
  }, 16, ["model-value"]));
78
81
  }
79
- }), x = G;
82
+ }), te = G;
80
83
  export {
81
- x as ArrayTabs,
82
- x as default
84
+ te as ArrayTabs,
85
+ te as default
83
86
  };
84
87
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-tabs/array-tabs.vue","../../src/array-tabs/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { TabPaneName } from 'element-plus'\r\nimport { reaction } from '@formily/reactive'\r\nimport { isEqual, isFn } from '@formily/shared'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElBadge, ElTabPane, ElTabs } from 'element-plus'\r\nimport { onUnmounted, ref } from 'vue'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { getArrayItemSchema } from '../array-base/utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayTabs',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst schemaRef = useFieldSchema()\r\n\r\nconst prefixCls = `${stylePrefix}-array-tabs`\r\nconst activeKey = ref<TabPaneName>('tab-0')\r\n\r\nconst field = fieldRef.value\r\n/* istanbul ignore else -- @preserve */\r\nif (field.value.length === 0) {\r\n field.value.push(null)\r\n}\r\nconst schema = schemaRef.value\r\nfunction getTabTitle(index: number) {\r\n return `${field.title || 'Untitled'} ${index + 1}`\r\n}\r\n\r\nconst errorCountList = ref([])\r\nconst dispose = reaction(() => {\r\n return field.value.map((item, index) => {\r\n const panelErrors = field.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${field.address.concat(index)}.**`,\r\n })\r\n return panelErrors.length\r\n })\r\n}, (newVal) => {\r\n errorCountList.value = newVal\r\n}, {\r\n equals: isEqual,\r\n})\r\nonUnmounted(() => {\r\n dispose()\r\n})\r\nconst { props: elTabProps } = useCleanAttrs(['value', 'modelValue', 'onUpdate:modelValue'])\r\n</script>\r\n\r\n<template>\r\n <ElTabs\r\n v-bind=\"elTabProps\"\r\n :model-value=\"activeKey\"\r\n :class=\"prefixCls\"\r\n type=\"card\"\r\n :addable=\"true\"\r\n @tab-remove=\"(target) => {\r\n const index = target.toString().match(/tab-(\\d+)/)?.[1]\r\n field.remove(Number(index))\r\n if (activeKey === target) {\r\n activeKey = `tab-${Number(index) - 1}`\r\n }\r\n\r\n if (isFn($attrs['tab-remove'])) {\r\n $attrs['tab-remove'](target)\r\n }\r\n }\"\r\n @tab-add=\"() => {\r\n const id = field.value.length\r\n field.value.push(null)\r\n activeKey = `tab-${id}`\r\n if (isFn($attrs['tab-add'])) {\r\n $attrs['tab-add']()\r\n }\r\n }\"\r\n @change=\"() => {}\"\r\n >\r\n <ElTabPane\r\n v-for=\"(item, index) of field.value\"\r\n :key=\"`tab-${index}`\"\r\n :closable=\"index !== 0\"\r\n :name=\"`tab-${index}`\"\r\n >\r\n <template #default>\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n />\r\n </template>\r\n <template #label>\r\n <span v-if=\"errorCountList[index] > 0\">\r\n <ElBadge\r\n :class=\"[`${prefixCls}-errors-badge`]\"\r\n :value=\"errorCountList[index]\"\r\n >\r\n {{ getTabTitle(index) }}\r\n </ElBadge>\r\n </span>\r\n <span v-else>\r\n {{ getTabTitle(index) }}\r\n </span>\r\n </template>\r\n </ElTabPane>\r\n </ElTabs>\r\n</template>\r\n","import FArrayTabs from './array-tabs.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayTabs = FArrayTabs\r\n\r\nexport default ArrayTabs\r\n"],"names":["fieldRef","useField","schemaRef","useFieldSchema","prefixCls","stylePrefix","activeKey","ref","field","schema","getTabTitle","index","errorCountList","dispose","reaction","item","newVal","isEqual","onUnmounted","elTabProps","useCleanAttrs","_createBlock","_unref","ElTabs","_mergeProps","target","isFn","$attrs","_cache","id","_openBlock","_createElementBlock","_Fragment","ElTabPane","_createVNode","RecursionField","getArrayItemSchema","_hoisted_1","ElBadge","_createTextVNode","_toDisplayString","_hoisted_2","ArrayTabs","FArrayTabs"],"mappings":";;;;;;;;;;;;;AAiBA,UAAMA,IAAWC,EAAA,GACXC,IAAYC,EAAA,GAEZC,IAAY,GAAGC,CAAW,eAC1BC,IAAYC,EAAiB,OAAO,GAEpCC,IAAQR,EAAS;AAEvB,IAAIQ,EAAM,MAAM,WAAW,KACzBA,EAAM,MAAM,KAAK,IAAI;AAEvB,UAAMC,IAASP,EAAU;AACzB,aAASQ,EAAYC,GAAe;AAClC,aAAO,GAAGH,EAAM,SAAS,UAAU,IAAIG,IAAQ,CAAC;AAAA,IAClD;AAEA,UAAMC,IAAiBL,EAAI,EAAE,GACvBM,IAAUC,EAAS,MAChBN,EAAM,MAAM,IAAI,CAACO,GAAMJ,MACRH,EAAM,KAAK,eAAe;AAAA,MAC5C,MAAM;AAAA,MACN,SAAS,GAAGA,EAAM,QAAQ,OAAOG,CAAK,CAAC;AAAA,IAAA,CACxC,EACkB,MACpB,GACA,CAACK,MAAW;AACb,MAAAJ,EAAe,QAAQI;AAAA,IACzB,GAAG;AAAA,MACD,QAAQC;AAAA,IAAA,CACT;AACD,IAAAC,EAAY,MAAM;AAChB,MAAAL,EAAA;AAAA,IACF,CAAC;AACD,UAAM,EAAE,OAAOM,MAAeC,EAAc,CAAC,SAAS,cAAc,qBAAqB,CAAC;2BAIxFC,EAqDSC,EAAAC,CAAA,GArDTC,EAqDSF,EAAAH,CAAA,GApDW;AAAA,MACjB,eAAab,EAAA;AAAA,MACb,OAAOF;AAAA,MACR,MAAK;AAAA,MACJ,SAAS;AAAA,MACT,8BAAaqB,MAAM;AAAoB,cAAAd,IAAQc,EAAO,SAAA,EAAW,MAAK,WAAA,IAAA,CAAA;AAA0BH,QAAAA,EAAAd,CAAA,EAAM,OAAO,OAAOG,CAAK,CAAA,GAAcL,EAAA,UAAcmB,MAAmBnB,EAAA,QAAS,OAAU,OAAOK,CAAK,IAAA,CAAA,KAA8BW,EAAAI,CAAA,EAAKC,EAAAA,OAAM,YAAA,CAAA,KAA4BA,EAAAA,qBAAqBF,CAAM;AAAA;MAWvS,UAAOG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,MAAA;AAAuB,cAAAC,IAAKP,EAAAd,CAAA,EAAM,MAAM;AAAcc,QAAAA,EAAAd,CAAA,EAAM,MAAM,KAAI,IAAA,GAAcF,EAAA,eAAmBuB,CAAE,IAAcP,EAAAI,CAAA,EAAKC,EAAAA,OAAM,SAAA,CAAA,KAAyBA,EAAAA,OAAM,SAAA,EAAA;AAAA;MAQxK,UAAQ,MAAA;AAAA,MAAA;AAAA,IAAA;iBAGP,MAAoC;AAAA,SADtCG,EAAA,EAAA,GAAAC,EAyBYC,WAxBcV,EAAAd,CAAA,EAAM,OAAK,CAA3BO,GAAMJ,YADhBU,EAyBYC,EAAAW,CAAA,GAAA;AAAA,UAvBT,YAAYtB,CAAK;AAAA,UACjB,UAAUA,MAAK;AAAA,UACf,aAAaA,CAAK;AAAA,QAAA;UAER,WACT,MAGE;AAAA,YAHFuB,EAGEZ,EAAAa,CAAA,GAAA;AAAA,cAFC,QAAQb,EAAAc,CAAA,EAAmBd,EAAAb,CAAA,GAAQE,CAAK;AAAA,cACxC,MAAMA;AAAA,YAAA;;UAGA,SACT,MAOO;AAAA,YAPKC,EAAA,MAAeD,CAAK,IAAA,UAAhCoB,EAOO,QAAAM,GAAA;AAAA,cANLH,EAKUZ,EAAAgB,CAAA,GAAA;AAAA,gBAJP,aAAWlC,CAAS,eAAA,CAAA;AAAA,gBACpB,OAAOQ,EAAA,MAAeD,CAAK;AAAA,cAAA;2BAE5B,MAAwB;AAAA,kBAArB4B,EAAAC,EAAA9B,EAAYC,CAAK,CAAA,GAAA,CAAA;AAAA,gBAAA;;;wBAGxBoB,EAEO,QAAAU,GAAAD,EADF9B,EAAYC,CAAK,CAAA,GAAA,CAAA;AAAA,UAAA;;;;;;;ICpGjB+B,IAAYC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-tabs/array-tabs.vue","../../src/array-tabs/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { TabPaneName } from 'element-plus'\nimport { reaction } from '@formily/reactive'\nimport { isEqual, isFn } from '@formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElTabPane, ElTabs } from 'element-plus'\nimport { onUnmounted, ref } from 'vue'\nimport { useCleanAttrs } from '../__builtins__'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { getArrayItemSchema } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayTabs',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\n\nconst prefixCls = `${stylePrefix}-array-tabs`\nconst activeKey = ref<TabPaneName>('tab-0')\n\nconst field = fieldRef.value\n/* istanbul ignore else -- @preserve */\nif (field.value.length === 0) {\n field.value.push(null)\n}\nconst schema = schemaRef.value\nfunction getTabTitle(index: number) {\n return `${field.title || 'Untitled'} ${index + 1}`\n}\n\nconst errorCountList = ref([])\nconst dispose = reaction(() => {\n return field.value.map((item, index) => {\n const panelErrors = field.form.queryFeedbacks({\n type: 'error',\n address: `${field.address.concat(index)}.**`,\n })\n return panelErrors.length\n })\n}, (newVal) => {\n errorCountList.value = newVal\n}, {\n equals: isEqual,\n})\nonUnmounted(() => {\n dispose()\n})\nconst { props: elTabProps } = useCleanAttrs(['value', 'modelValue', 'onUpdate:modelValue'])\n</script>\n\n<template>\n <ElTabs\n v-bind=\"elTabProps\"\n :model-value=\"activeKey\"\n :class=\"prefixCls\"\n type=\"card\"\n :addable=\"true\"\n @tab-remove=\"(target) => {\n const index = target.toString().match(/tab-(\\d+)/)?.[1]\n field.remove(Number(index))\n if (activeKey === target) {\n activeKey = `tab-${Number(index) - 1}`\n }\n\n if (isFn($attrs['tab-remove'])) {\n $attrs['tab-remove'](target)\n }\n }\"\n @tab-add=\"() => {\n const id = field.value.length\n field.value.push(null)\n activeKey = `tab-${id}`\n if (isFn($attrs['tab-add'])) {\n $attrs['tab-add']()\n }\n }\"\n @change=\"() => {}\"\n >\n <ElTabPane\n v-for=\"(item, index) of field.value\"\n :key=\"`tab-${index}`\"\n :closable=\"index !== 0\"\n :name=\"`tab-${index}`\"\n >\n <template #default>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n />\n </template>\n <template #label>\n <span v-if=\"errorCountList[index] > 0\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCountList[index]\"\n >\n {{ getTabTitle(index) }}\n </ElBadge>\n </span>\n <span v-else>\n {{ getTabTitle(index) }}\n </span>\n </template>\n </ElTabPane>\n </ElTabs>\n</template>\n","import FArrayTabs from './array-tabs.vue'\nimport './style.scss'\n\nexport const ArrayTabs = FArrayTabs\n\nexport default ArrayTabs\n"],"names":["fieldRef","useField","schemaRef","useFieldSchema","prefixCls","stylePrefix","activeKey","ref","field","schema","getTabTitle","index","errorCountList","dispose","reaction","item","newVal","isEqual","onUnmounted","elTabProps","useCleanAttrs","_createBlock","_unref","ElTabs","_mergeProps","target","isFn","$attrs","_cache","id","_openBlock","_createElementBlock","_Fragment","ElTabPane","_createVNode","RecursionField","getArrayItemSchema","_hoisted_1","ElBadge","_createTextVNode","_toDisplayString","_hoisted_2","ArrayTabs","FArrayTabs"],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { useField as S, connect as $, mapProps as P } from "@silver-formily/vue";
2
- import { PreviewText as A } from "../preview-text/index.mjs";
3
- import { defineComponent as R, useSlots as w, ref as C, computed as d, openBlock as F, createBlock as x, unref as u, mergeProps as z, createSlots as B, withCtx as n, renderSlot as r, normalizeProps as E, guardReactiveProps as K } from "vue";
4
- import { ElAutocomplete as L } from "element-plus";
5
- import { useCleanAttrs as O } from "../__builtins__/shared/utils.mjs";
6
- import { mapReadPretty as b } from "../__builtins__/shared/transform-component.mjs";
2
+ import { ElAutocomplete as A } from "element-plus";
3
+ import "@formily/reactive";
4
+ import "@vueuse/core";
5
+ import { defineComponent as R, useSlots as w, ref as C, computed as d, openBlock as F, createBlock as x, unref as p, mergeProps as z, createSlots as B, withCtx as n, renderSlot as r, normalizeProps as E, guardReactiveProps as K } from "vue";
6
+ import { mapReadPretty as L } from "../__builtins__/shared/transform-component.mjs";
7
+ import { PreviewText as O } from "../preview-text/index.mjs";
8
+ import "@formily/core";
9
+ import "@silver-formily/reactive-vue";
10
+ import { useCleanAttrs as b } from "../__builtins__/shared/utils.mjs";
7
11
  const j = /* @__PURE__ */ R({
8
12
  name: "FAutocomplete",
9
13
  inheritAttrs: !1,
@@ -12,18 +16,18 @@ const j = /* @__PURE__ */ R({
12
16
  options: {}
13
17
  },
14
18
  setup(m) {
15
- const f = m, o = w(), { props: i } = O(), t = S(), p = C();
19
+ const u = m, o = w(), { props: i } = b(), t = S(), f = C();
16
20
  t.value?.inject({
17
- getElAutocompleteRef: () => p
21
+ getElAutocompleteRef: () => f
18
22
  });
19
23
  const c = d(() => {
20
24
  const e = i.value.fetchSuggestions;
21
25
  if (e)
22
26
  return ((a, s) => e(a, s, t.value));
23
- if (f.options)
27
+ if (u.options)
24
28
  return (a, s) => {
25
29
  t.value.loading = !0;
26
- const l = (a ?? "").toLowerCase(), y = i.value.valueKey ?? "value", k = l ? f.options.filter((h) => v(h, y, l)) : f.options;
30
+ const l = (a ?? "").toLowerCase(), y = i.value.valueKey ?? "value", k = l ? u.options.filter((h) => v(h, y, l)) : u.options;
27
31
  s(k), t.value.loading = !1;
28
32
  };
29
33
  });
@@ -36,28 +40,28 @@ const j = /* @__PURE__ */ R({
36
40
  loading: i.value.loading ?? t.value?.loading,
37
41
  fetchSuggestions: c.value
38
42
  }));
39
- return (e, a) => (F(), x(u(L), z({
43
+ return (e, a) => (F(), x(p(A), z({
40
44
  ref_key: "autocompleteRef",
41
- ref: p
45
+ ref: f
42
46
  }, g.value), B({ _: 2 }, [
43
47
  o.default ? {
44
48
  name: "default",
45
49
  fn: n((s) => [
46
- r(e.$slots, "default", E(K({ ...s, field: u(t) })))
50
+ r(e.$slots, "default", E(K({ ...s, field: p(t) })))
47
51
  ]),
48
52
  key: "0"
49
53
  } : void 0,
50
54
  o.header ? {
51
55
  name: "header",
52
56
  fn: n(() => [
53
- r(e.$slots, "header", { field: u(t) })
57
+ r(e.$slots, "header", { field: p(t) })
54
58
  ]),
55
59
  key: "1"
56
60
  } : void 0,
57
61
  o.footer ? {
58
62
  name: "footer",
59
63
  fn: n(() => [
60
- r(e.$slots, "footer", { field: u(t) })
64
+ r(e.$slots, "footer", { field: p(t) })
61
65
  ]),
62
66
  key: "2"
63
67
  } : void 0,
@@ -98,13 +102,13 @@ const j = /* @__PURE__ */ R({
98
102
  } : void 0
99
103
  ]), 1040));
100
104
  }
101
- }), J = $(
105
+ }), U = $(
102
106
  j,
103
107
  P({ dataSource: "options", readOnly: "readonly", disabled: !0 }),
104
- b(A.Input)
108
+ L(O.Input)
105
109
  );
106
110
  export {
107
- J as Autocomplete,
108
- J as default
111
+ U as Autocomplete,
112
+ U as default
109
113
  };
110
114
  //# sourceMappingURL=index.mjs.map