@silver-formily/element-plus 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/LICENSE +21 -21
  2. package/README.en-US.md +32 -0
  3. package/README.md +32 -35
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/index.mjs +15 -16
  6. package/esm/__builtins__/shared/hooks.mjs.map +1 -1
  7. package/esm/__builtins__/shared/index.mjs +11 -12
  8. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  9. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  10. package/esm/__builtins__/shared/transform-component.d.ts +2 -6
  11. package/esm/__builtins__/shared/transform-component.mjs +16 -33
  12. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  13. package/esm/__builtins__/shared/utils.mjs +10 -10
  14. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  15. package/esm/array-base/index.mjs +76 -73
  16. package/esm/array-base/index.mjs.map +1 -1
  17. package/esm/array-base/symbols.mjs.map +1 -1
  18. package/esm/array-base/utils.mjs +33 -29
  19. package/esm/array-base/utils.mjs.map +1 -1
  20. package/esm/array-cards/index.mjs +56 -54
  21. package/esm/array-cards/index.mjs.map +1 -1
  22. package/esm/array-collapse/index.mjs +64 -62
  23. package/esm/array-collapse/index.mjs.map +1 -1
  24. package/esm/array-collapse/utils.mjs +8 -2
  25. package/esm/array-collapse/utils.mjs.map +1 -1
  26. package/esm/array-items/index.mjs +53 -47
  27. package/esm/array-items/index.mjs.map +1 -1
  28. package/esm/array-list-tabs/index.mjs +36 -34
  29. package/esm/array-list-tabs/index.mjs.map +1 -1
  30. package/esm/array-list-tabs/utils.mjs +11 -5
  31. package/esm/array-list-tabs/utils.mjs.map +1 -1
  32. package/esm/array-table/array-table.d.ts +28 -0
  33. package/esm/array-table/index.d.ts +28 -0
  34. package/esm/array-table/index.mjs +126 -123
  35. package/esm/array-table/index.mjs.map +1 -1
  36. package/esm/array-table/types.d.ts +1 -0
  37. package/esm/array-table/utils.mjs +18 -12
  38. package/esm/array-table/utils.mjs.map +1 -1
  39. package/esm/array-tabs/index.mjs +19 -17
  40. package/esm/array-tabs/index.mjs.map +1 -1
  41. package/esm/cascader/index.mjs +26 -24
  42. package/esm/cascader/index.mjs.map +1 -1
  43. package/esm/checkbox/checkbox-group.d.ts +1 -4
  44. package/esm/checkbox/index.d.ts +442 -379
  45. package/esm/checkbox/index.mjs +19 -16
  46. package/esm/checkbox/index.mjs.map +1 -1
  47. package/esm/date-picker/index.mjs +14 -12
  48. package/esm/date-picker/index.mjs.map +1 -1
  49. package/esm/editable/editable.d.ts +16 -12
  50. package/esm/editable/index.d.ts +8 -6
  51. package/esm/editable/index.mjs +113 -113
  52. package/esm/editable/index.mjs.map +1 -1
  53. package/esm/form/form.mjs +6 -6
  54. package/esm/form/form.mjs.map +1 -1
  55. package/esm/form-button-group/index.mjs +33 -29
  56. package/esm/form-button-group/index.mjs.map +1 -1
  57. package/esm/form-button-group/utils.mjs +8 -2
  58. package/esm/form-button-group/utils.mjs.map +1 -1
  59. package/esm/form-collapse/index.mjs +43 -42
  60. package/esm/form-collapse/index.mjs.map +1 -1
  61. package/esm/form-collapse/utils.mjs.map +1 -1
  62. package/esm/form-dialog/index.d.ts +1 -1
  63. package/esm/form-dialog/index.mjs +22 -22
  64. package/esm/form-dialog/index.mjs.map +1 -1
  65. package/esm/form-dialog/types.d.ts +6 -6
  66. package/esm/form-drawer/index.d.ts +1 -1
  67. package/esm/form-drawer/index.mjs +21 -21
  68. package/esm/form-drawer/index.mjs.map +1 -1
  69. package/esm/form-drawer/types.d.ts +6 -6
  70. package/esm/form-grid/hooks.mjs.map +1 -1
  71. package/esm/form-grid/index.d.ts +1 -183
  72. package/esm/form-grid/index.mjs +23 -20
  73. package/esm/form-grid/index.mjs.map +1 -1
  74. package/esm/form-item/form-item.d.ts +2 -1
  75. package/esm/form-item/index.d.ts +12 -6
  76. package/esm/form-item/index.mjs +157 -151
  77. package/esm/form-item/index.mjs.map +1 -1
  78. package/esm/form-item/types.d.ts +0 -1
  79. package/esm/form-item/utils.mjs.map +1 -1
  80. package/esm/form-layout/form-layout.d.ts +0 -1
  81. package/esm/form-layout/form-layout.mjs +56 -51
  82. package/esm/form-layout/form-layout.mjs.map +1 -1
  83. package/esm/form-layout/types.d.ts +0 -2
  84. package/esm/form-layout/utils.d.ts +3 -3
  85. package/esm/form-layout/utils.mjs +55 -45
  86. package/esm/form-layout/utils.mjs.map +1 -1
  87. package/esm/form-step/index.mjs +38 -34
  88. package/esm/form-step/index.mjs.map +1 -1
  89. package/esm/form-step/utils.mjs.map +1 -1
  90. package/esm/form-tab/hooks.mjs.map +1 -1
  91. package/esm/form-tab/index.d.ts +1 -26
  92. package/esm/form-tab/index.mjs +36 -35
  93. package/esm/form-tab/index.mjs.map +1 -1
  94. package/esm/form-tab/utils.mjs.map +1 -1
  95. package/esm/index.mjs +58 -58
  96. package/esm/input/index.mjs +23 -20
  97. package/esm/input/index.mjs.map +1 -1
  98. package/esm/input-number/index.d.ts +258 -147
  99. package/esm/input-number/index.mjs +9 -7
  100. package/esm/input-number/index.mjs.map +1 -1
  101. package/esm/pagination/components/jumper.mjs.map +1 -1
  102. package/esm/pagination/components/next.mjs.map +1 -1
  103. package/esm/pagination/components/pager.mjs.map +1 -1
  104. package/esm/pagination/components/prev.mjs.map +1 -1
  105. package/esm/pagination/components/total.mjs.map +1 -1
  106. package/esm/pagination/pagination.mjs +109 -110
  107. package/esm/pagination/pagination.mjs.map +1 -1
  108. package/esm/password/index.mjs.map +1 -1
  109. package/esm/preview-text/index.mjs +35 -32
  110. package/esm/preview-text/index.mjs.map +1 -1
  111. package/esm/preview-text/utils.mjs.map +1 -1
  112. package/esm/radio/index.d.ts +344 -194
  113. package/esm/radio/index.mjs +28 -25
  114. package/esm/radio/index.mjs.map +1 -1
  115. package/esm/reset/index.d.ts +1 -62
  116. package/esm/reset/index.mjs +1 -1
  117. package/esm/reset/index.mjs.map +1 -1
  118. package/esm/select/index.mjs +23 -20
  119. package/esm/select/index.mjs.map +1 -1
  120. package/esm/select-table/index.d.ts +28 -0
  121. package/esm/select-table/index.mjs +59 -55
  122. package/esm/select-table/index.mjs.map +1 -1
  123. package/esm/select-table/select-table.d.ts +56 -0
  124. package/esm/submit/index.d.ts +1 -47
  125. package/esm/submit/index.mjs +1 -1
  126. package/esm/submit/index.mjs.map +1 -1
  127. package/esm/switch/index.d.ts +225 -189
  128. package/esm/switch/index.mjs.map +1 -1
  129. package/esm/time-picker/index.mjs +8 -6
  130. package/esm/time-picker/index.mjs.map +1 -1
  131. package/esm/time-select/index.d.ts +163 -103
  132. package/esm/time-select/index.mjs +8 -6
  133. package/esm/time-select/index.mjs.map +1 -1
  134. package/esm/transfer/index.d.ts +196 -115
  135. package/esm/transfer/index.mjs.map +1 -1
  136. package/esm/tree/index.mjs +43 -40
  137. package/esm/tree/index.mjs.map +1 -1
  138. package/esm/tree/utils.mjs.map +1 -1
  139. package/esm/tree-select/index.mjs +20 -17
  140. package/esm/tree-select/index.mjs.map +1 -1
  141. package/esm/upload/index.d.ts +404 -399
  142. package/esm/upload/index.mjs +9 -7
  143. package/esm/upload/index.mjs.map +1 -1
  144. package/esm/upload/upload.d.ts +800 -790
  145. package/esm/vendor/icon.mjs.map +1 -1
  146. package/esm/vendor/lodash.mjs +12 -20
  147. package/esm/vendor/lodash.mjs.map +1 -1
  148. package/esm/vendor/runtime.mjs +29 -24
  149. package/esm/vendor/runtime.mjs.map +1 -1
  150. package/esm/vendor/shared.esm-bundler.mjs +2 -2
  151. package/esm/vendor/sizes.mjs.map +1 -1
  152. package/esm/vendor/types.mjs +5 -5
  153. package/esm/vendor/types.mjs.map +1 -1
  154. package/package.json +113 -114
@@ -1,36 +1,39 @@
1
- import { defineComponent as o, createBlock as m, createCommentVNode as f, unref as a, openBlock as i, normalizeClass as u, withCtx as h, createTextVNode as _, toDisplayString as v, createElementBlock as C, renderSlot as c, provide as M, useAttrs as w, withModifiers as $ } from "vue";
2
- import { Plus as D, ArrowDown as I, ArrowUp as R, Delete as S, Rank as U } from "@element-plus/icons-vue";
3
- import { useField as B, useFieldSchema as V } from "@silver-formily/vue";
1
+ import { defineComponent as o, createBlock as m, createCommentVNode as f, unref as a, openBlock as i, normalizeClass as c, withCtx as h, createTextVNode as _, toDisplayString as v, createElementBlock as C, renderSlot as u, provide as M, useAttrs as w, withModifiers as $ } from "vue";
4
2
  import { ElLink as y } from "element-plus";
5
- import { useArray as p, compatibleUnderlineProp as b, prefixCls as d, getDefaultValue as z, useIndex as k, useRecord as g, useKey as E } from "./utils.mjs";
6
- import { ArrayBaseSymbol as F, ItemSymbol as H } from "./symbols.mjs";
3
+ import "@formily/reactive";
4
+ import "@formily/core";
5
+ import "@silver-formily/reactive-vue";
6
+ import { useField as B, useFieldSchema as D } from "@silver-formily/vue";
7
+ import { composeExport as I } from "../__builtins__/shared/utils.mjs";
8
+ import { Plus as R, ArrowDown as S, ArrowUp as U, Delete as V, Rank as z } from "@element-plus/icons-vue";
9
+ import { useArray as p, compatibleUnderlineProp as b, prefixCls as d, getDefaultValue as g, useIndex as k, useRecord as E, useKey as F } from "./utils.mjs";
10
+ import { ArrayBaseSymbol as H, ItemSymbol as N } from "./symbols.mjs";
7
11
  import { isArr as x } from "@formily/shared";
8
- import { composeExport as N } from "../__builtins__/shared/utils.mjs";
9
12
  import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
10
13
  name: "ArrayBaseAddition",
11
14
  __name: "array-base-addition",
12
15
  props: {
13
16
  method: { default: "push" },
14
- defaultValue: null,
15
- title: null
17
+ defaultValue: {},
18
+ title: {}
16
19
  },
17
- setup(l) {
18
- const n = l, t = B(), e = p();
19
- function s() {
20
- const r = z(n.defaultValue, e?.schema.value);
21
- n.method === "unshift" ? (e?.field?.value.unshift(r), e.attrs?.add?.(0)) : (e?.field?.value.push(r), e.attrs?.add?.(e?.field?.value?.value?.length - 1));
20
+ setup(n) {
21
+ const r = n, t = B(), e = p();
22
+ function l() {
23
+ const s = g(r.defaultValue, e?.schema.value);
24
+ r.method === "unshift" ? (e?.field?.value.unshift(s), e.attrs?.add?.(0)) : (e?.field?.value.push(s), e.attrs?.add?.(e?.field?.value?.value?.length - 1));
22
25
  }
23
- return (r, A) => a(e).field.value.pattern === "editable" ? (i(), m(a(y), {
26
+ return (s, A) => a(e).field.value.pattern === "editable" ? (i(), m(a(y), {
24
27
  key: 0,
25
- class: u(`${a(d)}-addition`),
26
- icon: a(D),
28
+ class: c(`${a(d)}-addition`),
29
+ icon: a(R),
27
30
  underline: a(b)(),
28
31
  role: "button",
29
32
  "aria-label": "添加条目",
30
- onClick: s
33
+ onClick: l
31
34
  }, {
32
35
  default: h(() => [
33
- _(v(a(t).title || n.title), 1)
36
+ _(v(a(t).title || r.title), 1)
34
37
  ]),
35
38
  _: 1
36
39
  }, 8, ["class", "icon", "underline"])) : f("", !0);
@@ -38,13 +41,13 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
38
41
  }), K = /* @__PURE__ */ o({
39
42
  name: "ArrayBaseIndex",
40
43
  __name: "array-base-index",
41
- setup(l) {
42
- const n = k();
44
+ setup(n) {
45
+ const r = k();
43
46
  return (t, e) => (i(), C("span", {
44
- class: u(`${a(d)}-index`)
47
+ class: c(`${a(d)}-index`)
45
48
  }, [
46
- c(t.$slots, "default", { index: a(n) }, () => [
47
- _(" #" + v(a(n) + 1) + ". ", 1)
49
+ u(t.$slots, "default", { index: a(r) }, () => [
50
+ _(" #" + v(a(r) + 1) + ". ", 1)
48
51
  ])
49
52
  ], 2));
50
53
  }
@@ -54,56 +57,56 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
54
57
  __name: "array-base-inner",
55
58
  props: {
56
59
  disabled: { type: Boolean },
57
- keyMap: null
60
+ keyMap: {}
58
61
  },
59
- setup(l) {
60
- const n = l, t = B(), e = V();
61
- return M(F, {
62
+ setup(n) {
63
+ const r = n, t = B(), e = D();
64
+ return M(H, {
62
65
  field: t,
63
66
  schema: e,
64
- props: n,
67
+ props: r,
65
68
  attrs: w(),
66
- keyMap: n.keyMap
67
- }), (s, r) => c(s.$slots, "default");
69
+ keyMap: r.keyMap
70
+ }), (l, s) => u(l.$slots, "default");
68
71
  }
69
72
  }), T = /* @__PURE__ */ o({
70
73
  name: "ArrayBaseItem",
71
74
  __name: "array-base-item",
72
75
  props: {
73
- index: null,
74
- record: null
76
+ index: {},
77
+ record: {}
75
78
  },
76
- setup(l) {
77
- return M(H, l), (t, e) => c(t.$slots, "default");
79
+ setup(n) {
80
+ return M(N, n), (t, e) => u(t.$slots, "default");
78
81
  }
79
82
  }), j = /* @__PURE__ */ o({
80
83
  name: "ArrayBaseMoveDown",
81
84
  __name: "array-base-move-down",
82
85
  props: {
83
- title: null
86
+ title: {}
84
87
  },
85
- setup(l) {
86
- const n = l, t = k(), e = p();
87
- function s() {
88
+ setup(n) {
89
+ const r = n, t = k(), e = p();
90
+ function l() {
88
91
  x(e?.keyMap) && e.keyMap.splice(
89
92
  t.value + 1,
90
93
  0,
91
94
  e.keyMap.splice(t.value, 1)[0]
92
95
  ), e?.field.value.moveDown(t.value), e?.attrs?.moveDown?.(t.value);
93
96
  }
94
- return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
97
+ return (s, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
95
98
  key: 0,
96
- class: u(`${a(d)}-move-down`),
99
+ class: c(`${a(d)}-move-down`),
97
100
  size: "small",
98
- icon: a(I),
101
+ icon: a(S),
99
102
  underline: a(b)(),
100
103
  role: "button",
101
104
  "aria-label": "下移条目",
102
- onClick: $(s, ["stop"])
105
+ onClick: $(l, ["stop"])
103
106
  }, {
104
107
  default: h(() => [
105
- c(r.$slots, "default", {}, () => [
106
- _(v(n.title), 1)
108
+ u(s.$slots, "default", {}, () => [
109
+ _(v(r.title), 1)
107
110
  ])
108
111
  ]),
109
112
  _: 3
@@ -113,30 +116,30 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
113
116
  name: "ArrayBaseMoveUp",
114
117
  __name: "array-base-move-up",
115
118
  props: {
116
- title: null
119
+ title: {}
117
120
  },
118
- setup(l) {
119
- const n = l, t = k(), e = p();
120
- function s() {
121
+ setup(n) {
122
+ const r = n, t = k(), e = p();
123
+ function l() {
121
124
  x(e?.keyMap) && e.keyMap.splice(
122
125
  t.value - 1,
123
126
  0,
124
127
  e.keyMap.splice(t.value, 1)[0]
125
128
  ), e?.field.value.moveUp(t.value), e?.attrs?.moveUp?.(t.value);
126
129
  }
127
- return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
130
+ return (s, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
128
131
  key: 0,
129
- class: u(`${a(d)}-move-up`),
132
+ class: c(`${a(d)}-move-up`),
130
133
  size: "small",
131
- icon: a(R),
134
+ icon: a(U),
132
135
  underline: a(b)(),
133
136
  role: "button",
134
137
  "aria-label": "上移条目",
135
- onClick: $(s, ["stop"])
138
+ onClick: $(l, ["stop"])
136
139
  }, {
137
140
  default: h(() => [
138
- c(r.$slots, "default", {}, () => [
139
- _(v(n.title), 1)
141
+ u(s.$slots, "default", {}, () => [
142
+ _(v(r.title), 1)
140
143
  ])
141
144
  ]),
142
145
  _: 3
@@ -146,26 +149,26 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
146
149
  name: "ArrayBaseRemove",
147
150
  __name: "array-base-remove",
148
151
  props: {
149
- title: null
152
+ title: {}
150
153
  },
151
- setup(l) {
152
- const n = l, t = k(), e = p();
153
- function s() {
154
+ setup(n) {
155
+ const r = n, t = k(), e = p();
156
+ function l() {
154
157
  x(e?.keyMap) && e?.keyMap?.splice(t.value, 1), e?.field.value.remove(t.value), e?.attrs?.remove?.(t.value);
155
158
  }
156
- return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
159
+ return (s, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
157
160
  key: 0,
158
- class: u(`${a(d)}-remove`),
161
+ class: c(`${a(d)}-remove`),
159
162
  size: "small",
160
- icon: a(S),
163
+ icon: a(V),
161
164
  underline: a(b)(),
162
165
  role: "button",
163
166
  "aria-label": "移除条目",
164
- onClick: $(s, ["stop"])
167
+ onClick: $(l, ["stop"])
165
168
  }, {
166
169
  default: h(() => [
167
- c(r.$slots, "default", {}, () => [
168
- _(v(n.title), 1)
170
+ u(s.$slots, "default", {}, () => [
171
+ _(v(r.title), 1)
169
172
  ])
170
173
  ]),
171
174
  _: 3
@@ -174,20 +177,20 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
174
177
  }), J = /* @__PURE__ */ o({
175
178
  name: "ArrayBaseSortHandle",
176
179
  __name: "array-base-sort-handle",
177
- setup(l) {
178
- const n = p();
179
- return (t, e) => a(n).field.value?.pattern === "editable" ? (i(), m(a(y), {
180
+ setup(n) {
181
+ const r = p();
182
+ return (t, e) => a(r).field.value?.pattern === "editable" ? (i(), m(a(y), {
180
183
  key: 0,
181
- class: u(`${a(d)}-sort-handle`),
184
+ class: c(`${a(d)}-sort-handle`),
182
185
  size: "small",
183
- icon: a(U),
186
+ icon: a(z),
184
187
  underline: a(b)(),
185
188
  role: "button",
186
189
  "aria-label": "拖拽排序",
187
190
  "aria-dropeffect": "move"
188
191
  }, null, 8, ["class", "icon", "underline"])) : f("", !0);
189
192
  }
190
- }), te = N(L, {
193
+ }), se = I(L, {
191
194
  Index: K,
192
195
  Item: T,
193
196
  SortHandle: J,
@@ -197,10 +200,10 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
197
200
  MoveUp: q,
198
201
  useArray: p,
199
202
  useIndex: k,
200
- useKey: E,
201
- useRecord: g
203
+ useKey: F,
204
+ useRecord: E
202
205
  });
203
206
  export {
204
- te as ArrayBase
207
+ se as ArrayBase
205
208
  };
206
209
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { IArrayBaseAdditionProps } from './types'\r\nimport { Plus } from '@element-plus/icons-vue'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, getDefaultValue, prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseAddition',\r\n})\r\n\r\nconst props = defineProps({\n method: { default: 'push' },\n defaultValue: null,\n title: null\n})\r\n\r\nconst self = useField()\r\nconst base = useArray()\r\n\r\nfunction onAddItemClick() {\r\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\r\n if (props.method === 'unshift') {\r\n base?.field?.value.unshift(defaultValue)\r\n base.attrs?.add?.(0)\r\n }\r\n else {\r\n base?.field?.value.push(defaultValue)\r\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-addition`\"\r\n :icon=\"Plus\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"添加条目\"\r\n @click=\"onAddItemClick\"\r\n >\r\n {{ self.title || props.title }}\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { prefixCls, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseIndex',\r\n})\r\n\r\nconst index = useIndex()\r\n</script>\r\n\r\n<template>\r\n <span :class=\"`${prefixCls}-index`\">\r\n <slot :index=\"index\">\r\n #{{ index + 1 }}.\r\n </slot>\r\n </span>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { IArrayBaseProps } from './types'\r\nimport { useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { provide, useAttrs } from 'vue'\r\nimport { ArrayBaseSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseInner',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\n disabled: { type: Boolean },\n keyMap: null\n})\r\n\r\nconst field = useField<ArrayField>()\r\nconst schema = useFieldSchema()\r\n\r\nprovide(ArrayBaseSymbol, {\r\n field,\r\n schema,\r\n props,\r\n attrs: useAttrs(),\r\n keyMap: props.keyMap,\r\n})\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseItemProps } from './types'\r\nimport { provide } from 'vue'\r\nimport { ItemSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseItem',\r\n})\r\n\r\nconst props = defineProps({\n index: null,\n record: null\n})\r\n\r\nprovide(ItemSymbol, props)\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowDown } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveDown',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value + 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveDown(indexRef.value as number)\r\n base?.attrs?.moveDown?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-down`\"\r\n size=\"small\"\r\n :icon=\"ArrowDown\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"下移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowUp } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveUp',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value - 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveUp(indexRef.value as number)\r\n base?.attrs?.moveUp?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-up`\"\r\n size=\"small\"\r\n :icon=\"ArrowUp\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"上移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { Delete } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseRemove',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base?.keyMap?.splice(indexRef.value, 1)\r\n }\r\n\r\n base?.field.value.remove(indexRef.value as number)\r\n base?.attrs?.remove?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-remove`\"\r\n size=\"small\"\r\n :icon=\"Delete\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"移除条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { Rank } from '@element-plus/icons-vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseSortHandle',\r\n})\r\n\r\nconst array = useArray()\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"array.field.value?.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-sort-handle`\"\r\n size=\"small\"\r\n :icon=\"Rank\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"拖拽排序\"\r\n aria-dropeffect=\"move\"\r\n />\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport ArrayBaseAddition from './array-base-addition.vue'\r\nimport ArrayBaseIndex from './array-base-index.vue'\r\nimport ArrayBaseInner from './array-base-inner.vue'\r\nimport ArrayBaseItem from './array-base-item.vue'\r\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\r\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\r\nimport ArrayBaseRemove from './array-base-remove.vue'\r\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\r\nimport { useArray, useIndex, useKey, useRecord } from './utils'\r\nimport './style.scss'\r\n\r\nexport const ArrayBase = composeExport(ArrayBaseInner, {\r\n Index: ArrayBaseIndex,\r\n Item: ArrayBaseItem,\r\n SortHandle: ArrayBaseSortHandle,\r\n Addition: ArrayBaseAddition,\r\n Remove: ArrayBaseRemove,\r\n MoveDown: ArrayBaseMoveDown,\r\n MoveUp: ArrayBaseMoveUp,\r\n useArray,\r\n useIndex,\r\n useKey,\r\n useRecord,\r\n})\r\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseAdditionProps } from './types'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useField } from '@silver-formily/vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, getDefaultValue, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseAddition',\n})\n\nconst props = withDefaults(defineProps<IArrayBaseAdditionProps>(), {\n method: 'push',\n})\n\nconst self = useField()\nconst base = useArray()\n\nfunction onAddItemClick() {\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\n if (props.method === 'unshift') {\n base?.field?.value.unshift(defaultValue)\n base.attrs?.add?.(0)\n }\n else {\n base?.field?.value.push(defaultValue)\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\n }\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-addition`\"\n :icon=\"Plus\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"添加条目\"\n @click=\"onAddItemClick\"\n >\n {{ self.title || props.title }}\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { prefixCls, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseIndex',\n})\n\nconst index = useIndex()\n</script>\n\n<template>\n <span :class=\"`${prefixCls}-index`\">\n <slot :index=\"index\">\n #{{ index + 1 }}.\n </slot>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { IArrayBaseProps } from './types'\nimport { useField, useFieldSchema } from '@silver-formily/vue'\nimport { provide, useAttrs } from 'vue'\nimport { ArrayBaseSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseInner',\n inheritAttrs: false,\n})\n\nconst props = defineProps<IArrayBaseProps>()\n\nconst field = useField<ArrayField>()\nconst schema = useFieldSchema()\n\nprovide(ArrayBaseSymbol, {\n field,\n schema,\n props,\n attrs: useAttrs(),\n keyMap: props.keyMap,\n})\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseItemProps } from './types'\nimport { provide } from 'vue'\nimport { ItemSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseItem',\n})\n\nconst props = defineProps<IArrayBaseItemProps>()\n\nprovide(ItemSymbol, props)\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveDown',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value + 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveDown(indexRef.value as number)\n base?.attrs?.moveDown?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-down`\"\n size=\"small\"\n :icon=\"ArrowDown\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"下移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveUp',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value - 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveUp(indexRef.value as number)\n base?.attrs?.moveUp?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-up`\"\n size=\"small\"\n :icon=\"ArrowUp\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"上移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseRemove',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base?.keyMap?.splice(indexRef.value, 1)\n }\n\n base?.field.value.remove(indexRef.value as number)\n base?.attrs?.remove?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-remove`\"\n size=\"small\"\n :icon=\"Delete\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"移除条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { Rank } from '@element-plus/icons-vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseSortHandle',\n})\n\nconst array = useArray()\n</script>\n\n<template>\n <ElLink\n v-if=\"array.field.value?.pattern === 'editable'\"\n :class=\"`${prefixCls}-sort-handle`\"\n size=\"small\"\n :icon=\"Rank\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"拖拽排序\"\n aria-dropeffect=\"move\"\n />\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport ArrayBaseAddition from './array-base-addition.vue'\nimport ArrayBaseIndex from './array-base-index.vue'\nimport ArrayBaseInner from './array-base-inner.vue'\nimport ArrayBaseItem from './array-base-item.vue'\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\nimport ArrayBaseRemove from './array-base-remove.vue'\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\nimport { useArray, useIndex, useKey, useRecord } from './utils'\nimport './style.scss'\n\nexport const ArrayBase = composeExport(ArrayBaseInner, {\n Index: ArrayBaseIndex,\n Item: ArrayBaseItem,\n SortHandle: ArrayBaseSortHandle,\n Addition: ArrayBaseAddition,\n Remove: ArrayBaseRemove,\n MoveDown: ArrayBaseMoveDown,\n MoveUp: ArrayBaseMoveUp,\n useArray,\n useIndex,\n useKey,\n useRecord,\n})\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\r\nimport type { IArrayBaseContext, IArrayBaseItemProps } from './types'\r\n\r\nexport const ArrayBaseSymbol: InjectionKey<IArrayBaseContext> = Symbol('ArrayBaseContext')\r\nexport const ItemSymbol: InjectionKey<IArrayBaseItemProps> = Symbol('ItemContext')\r\n"],"names":["ArrayBaseSymbol","ItemSymbol"],"mappings":"AAGO,MAAMA,IAAmD,OAAO,kBAAkB,GAC5EC,IAAgD,OAAO,aAAa;"}
1
+ {"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { IArrayBaseContext, IArrayBaseItemProps } from './types'\n\nexport const ArrayBaseSymbol: InjectionKey<IArrayBaseContext> = Symbol('ArrayBaseContext')\nexport const ItemSymbol: InjectionKey<IArrayBaseItemProps> = Symbol('ItemContext')\n"],"names":["ArrayBaseSymbol","ItemSymbol"],"mappings":"AAGO,MAAMA,IAAmD,OAAO,kBAAkB,GAC5EC,IAAgD,OAAO,aAAa;"}
@@ -1,31 +1,35 @@
1
- import { isArr as p, uid as u, isValid as c, clone as y } from "@formily/shared";
1
+ import { isArr as s, uid as u, isValid as c, clone as y } from "@formily/shared";
2
2
  import { version as l } from "element-plus";
3
3
  import { toRefs as f, inject as i } from "vue";
4
- import { ItemSymbol as s, ArrayBaseSymbol as x } from "./symbols.mjs";
5
- import { stylePrefix as a } from "../__builtins__/configs/index.mjs";
6
- import { lt as d } from "../__builtins__/shared/simple-version-compare.mjs";
7
- const w = `${a}-array-base`;
8
- function D() {
4
+ import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
5
+ import "@formily/reactive";
6
+ import { lt as a } from "../__builtins__/shared/simple-version-compare.mjs";
7
+ import "@formily/core";
8
+ import "@silver-formily/reactive-vue";
9
+ import "@silver-formily/vue";
10
+ import { ItemSymbol as m, ArrayBaseSymbol as d } from "./symbols.mjs";
11
+ const $ = `${x}-array-base`;
12
+ function K() {
9
13
  /* istanbul ignore next -- @preserve */
10
- return d(l, "2.9.9") ? !1 : "never";
14
+ return a(l, "2.9.9") ? !1 : "never";
11
15
  }
12
- function S() {
13
- return i(x, null);
16
+ function P() {
17
+ return i(d, null);
14
18
  }
15
- function U() {
16
- const { index: n } = f(i(s));
19
+ function W() {
20
+ const { index: n } = f(i(m));
17
21
  return n;
18
22
  }
19
23
  /* istanbul ignore next -- @preserve */
20
- function $() {
24
+ function B() {
21
25
  const { record: n } = f(
22
- i(s)
26
+ i(m)
23
27
  );
24
28
  return n;
25
29
  }
26
- const m = (n) => Array.isArray(n?.items) ? m(n.items[0]) : n?.items?.type === "array" || n?.items?.type === "object";
27
- function K(n) {
28
- const t = m(n);
30
+ const p = (n) => Array.isArray(n?.items) ? p(n.items[0]) : n?.items?.type === "array" || n?.items?.type === "object";
31
+ function V(n) {
32
+ const t = p(n);
29
33
  let e = null;
30
34
  return e = t ? /* @__PURE__ */ new WeakMap() : [], {
31
35
  keyMap: e,
@@ -35,13 +39,13 @@ function K(n) {
35
39
  function A(n, t) {
36
40
  return c(n) ? y(n) : Array.isArray(t?.items) ? A(n, t.items[0]) : t?.items?.type === "object" ? {} : null;
37
41
  }
38
- function P(n, t) {
39
- return p(n.items) ? n.items[t] ?? n.items[0] : n.items;
42
+ function q(n, t) {
43
+ return s(n.items) ? n.items[t] ?? n.items[0] : n.items;
40
44
  }
41
45
  function b(n) {
42
46
  return n["x-component"]?.indexOf("Addition") > -1;
43
47
  }
44
- function W(n) {
48
+ function z(n) {
45
49
  return n["x-component"]?.indexOf("Index") > -1;
46
50
  }
47
51
  function v(n) {
@@ -53,23 +57,23 @@ function O(n) {
53
57
  function C(n) {
54
58
  return n["x-component"]?.indexOf("MoveDown") > -1;
55
59
  }
56
- function B(n) {
60
+ function E(n) {
57
61
  return b(n) || v(n) || C(n) || O(n);
58
62
  }
59
63
  export {
60
- D as compatibleUnderlineProp,
61
- P as getArrayItemSchema,
64
+ K as compatibleUnderlineProp,
65
+ q as getArrayItemSchema,
62
66
  A as getDefaultValue,
63
67
  b as isAdditionComponent,
64
- W as isIndexComponent,
68
+ z as isIndexComponent,
65
69
  C as isMoveDownComponent,
66
70
  O as isMoveUpComponent,
67
- B as isOperationComponent,
71
+ E as isOperationComponent,
68
72
  v as isRemoveComponent,
69
- w as prefixCls,
70
- S as useArray,
71
- U as useIndex,
72
- K as useKey,
73
- $ as useRecord
73
+ $ as prefixCls,
74
+ P as useArray,
75
+ W as useIndex,
76
+ V as useKey,
77
+ B as useRecord
74
78
  };
75
79
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\r\nimport type { IArrayBaseItemProps } from './types'\r\nimport { clone, isArr, isValid, uid } from '@formily/shared'\r\nimport { version } from 'element-plus'\r\nimport { inject, toRefs } from 'vue'\r\nimport { lt, stylePrefix } from '../__builtins__'\r\nimport { ArrayBaseSymbol, ItemSymbol } from './symbols'\r\n\r\nexport const prefixCls = `${stylePrefix}-array-base`\r\n\r\nexport function compatibleUnderlineProp() {\r\n /* istanbul ignore next -- @preserve */\r\n return lt(version, '2.9.9') ? false : 'never'\r\n}\r\n\r\nexport function useArray() {\r\n return inject(ArrayBaseSymbol, null)\r\n}\r\n\r\nexport function useIndex() {\r\n const { index: indexRef } = toRefs(inject(ItemSymbol) as IArrayBaseItemProps)\r\n return indexRef\r\n}\r\n\r\n/* istanbul ignore next -- @preserve */\r\nexport function useRecord() {\r\n const { record: recordRef } = toRefs(\r\n inject(ItemSymbol) as IArrayBaseItemProps,\r\n )\r\n return recordRef\r\n}\r\n\r\nconst isObjectValue: (schema: Schema) => boolean = (schema: Schema) => {\r\n if (Array.isArray(schema?.items))\r\n return isObjectValue(schema.items[0])\r\n\r\n if (schema?.items?.type === 'array' || schema?.items?.type === 'object') {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nexport function useKey(schema: Schema) {\r\n const isObject = isObjectValue(schema)\r\n let keyMap: WeakMap<Record<string, unknown>, string> | string[] | null = null\r\n\r\n keyMap = isObject ? new WeakMap() : []\r\n\r\n return {\r\n keyMap,\r\n getKey: (record: any, index?: number) => {\r\n if (keyMap instanceof WeakMap) {\r\n if (!keyMap.has(record)) {\r\n keyMap.set(record, uid())\r\n }\r\n return `${keyMap.get(record)}`\r\n }\r\n\r\n if (keyMap && !keyMap[index]) {\r\n keyMap[index] = uid()\r\n }\r\n return `${keyMap[index]}`\r\n },\r\n }\r\n}\r\n\r\nexport function getDefaultValue(defaultValue: any, schema: Schema): any {\r\n if (isValid(defaultValue))\r\n return clone(defaultValue)\r\n if (Array.isArray(schema?.items))\r\n return getDefaultValue(defaultValue, schema.items[0])\r\n if (schema?.items?.type === 'object')\r\n return {}\r\n return null\r\n}\r\n\r\nexport function getArrayItemSchema(schema: ISchema, index: number): ISchema {\r\n return isArr(schema.items) ? schema.items[index] ?? schema.items[0] : schema.items\r\n}\r\n\r\nexport function isAdditionComponent(schema: ISchema) {\r\n return schema['x-component']?.indexOf('Addition') > -1\r\n}\r\n\r\nexport function isIndexComponent(schema: ISchema) {\r\n return schema['x-component']?.indexOf('Index') > -1\r\n}\r\n\r\nexport function isRemoveComponent(schema: ISchema) {\r\n return schema['x-component']?.indexOf('Remove') > -1\r\n}\r\n\r\nexport function isMoveUpComponent(schema: ISchema) {\r\n return schema['x-component']?.indexOf('MoveUp') > -1\r\n}\r\n\r\nexport function isMoveDownComponent(schema: ISchema) {\r\n return schema['x-component']?.indexOf('MoveDown') > -1\r\n}\r\n\r\nexport function isOperationComponent(schema: ISchema) {\r\n return (\r\n isAdditionComponent(schema)\r\n || isRemoveComponent(schema)\r\n || isMoveDownComponent(schema)\r\n || isMoveUpComponent(schema)\r\n )\r\n}\r\n"],"names":["prefixCls","stylePrefix","compatibleUnderlineProp","lt","version","useArray","inject","ArrayBaseSymbol","useIndex","indexRef","toRefs","ItemSymbol","useRecord","recordRef","isObjectValue","schema","useKey","isObject","keyMap","record","index","uid","getDefaultValue","defaultValue","isValid","clone","getArrayItemSchema","isArr","isAdditionComponent","isIndexComponent","isRemoveComponent","isMoveUpComponent","isMoveDownComponent","isOperationComponent"],"mappings":";;;;;;AAQO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,IAA0B;AAAA,EAAA;AAExC,SAAOC,EAAGC,GAAS,OAAO,IAAI,KAAQ;AACxC;AAEO,SAASC,IAAW;AACzB,SAAOC,EAAOC,GAAiB,IAAI;AACrC;AAEO,SAASC,IAAW;AACzB,QAAM,EAAE,OAAOC,EAAA,IAAaC,EAAOJ,EAAOK,CAAU,CAAwB;AAC5E,SAAOF;AACT;AAEA;AACO,SAASG,IAAY;AAC1B,QAAM,EAAE,QAAQC,EAAA,IAAcH;AAAA,IAC5BJ,EAAOK,CAAU;AAAA,EAAA;AAEnB,SAAOE;AACT;AAEA,MAAMC,IAA6C,CAACC,MAC9C,MAAM,QAAQA,GAAQ,KAAK,IACtBD,EAAcC,EAAO,MAAM,CAAC,CAAC,IAElCA,GAAQ,OAAO,SAAS,WAAWA,GAAQ,OAAO,SAAS;AAM1D,SAASC,EAAOD,GAAgB;AACrC,QAAME,IAAWH,EAAcC,CAAM;AACrC,MAAIG,IAAqE;AAEzE,SAAAA,IAASD,IAAW,oBAAI,QAAA,IAAY,CAAA,GAE7B;AAAA,IACL,QAAAC;AAAA,IACA,QAAQ,CAACC,GAAaC,MAChBF,aAAkB,WACfA,EAAO,IAAIC,CAAM,KACpBD,EAAO,IAAIC,GAAQE,GAAK,GAEnB,GAAGH,EAAO,IAAIC,CAAM,CAAC,OAG1BD,KAAU,CAACA,EAAOE,CAAK,MACzBF,EAAOE,CAAK,IAAIC,EAAA,IAEX,GAAGH,EAAOE,CAAK,CAAC;AAAA,EACzB;AAEJ;AAEO,SAASE,EAAgBC,GAAmBR,GAAqB;AACtE,SAAIS,EAAQD,CAAY,IACfE,EAAMF,CAAY,IACvB,MAAM,QAAQR,GAAQ,KAAK,IACtBO,EAAgBC,GAAcR,EAAO,MAAM,CAAC,CAAC,IAClDA,GAAQ,OAAO,SAAS,WACnB,CAAA,IACF;AACT;AAEO,SAASW,EAAmBX,GAAiBK,GAAwB;AAC1E,SAAOO,EAAMZ,EAAO,KAAK,IAAIA,EAAO,MAAMK,CAAK,KAAKL,EAAO,MAAM,CAAC,IAAIA,EAAO;AAC/E;AAEO,SAASa,EAAoBb,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASc,EAAiBd,GAAiB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,OAAO,IAAI;AACnD;AAEO,SAASe,EAAkBf,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASgB,EAAkBhB,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASiB,EAAoBjB,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASkB,EAAqBlB,GAAiB;AACpD,SACEa,EAAoBb,CAAM,KACvBe,EAAkBf,CAAM,KACxBiB,EAAoBjB,CAAM,KAC1BgB,EAAkBhB,CAAM;AAE/B;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\nimport type { IArrayBaseItemProps } from './types'\nimport { clone, isArr, isValid, uid } from '@formily/shared'\nimport { version } from 'element-plus'\nimport { inject, toRefs } from 'vue'\nimport { lt, stylePrefix } from '../__builtins__'\nimport { ArrayBaseSymbol, ItemSymbol } from './symbols'\n\nexport const prefixCls = `${stylePrefix}-array-base`\n\nexport function compatibleUnderlineProp() {\n /* istanbul ignore next -- @preserve */\n return lt(version, '2.9.9') ? false : 'never'\n}\n\nexport function useArray() {\n return inject(ArrayBaseSymbol, null)\n}\n\nexport function useIndex() {\n const { index: indexRef } = toRefs(inject(ItemSymbol) as IArrayBaseItemProps)\n return indexRef\n}\n\n/* istanbul ignore next -- @preserve */\nexport function useRecord() {\n const { record: recordRef } = toRefs(\n inject(ItemSymbol) as IArrayBaseItemProps,\n )\n return recordRef\n}\n\nconst isObjectValue: (schema: Schema) => boolean = (schema: Schema) => {\n if (Array.isArray(schema?.items))\n return isObjectValue(schema.items[0])\n\n if (schema?.items?.type === 'array' || schema?.items?.type === 'object') {\n return true\n }\n return false\n}\n\nexport function useKey(schema: Schema) {\n const isObject = isObjectValue(schema)\n let keyMap: WeakMap<Record<string, unknown>, string> | string[] | null = null\n\n keyMap = isObject ? new WeakMap() : []\n\n return {\n keyMap,\n getKey: (record: any, index?: number) => {\n if (keyMap instanceof WeakMap) {\n if (!keyMap.has(record)) {\n keyMap.set(record, uid())\n }\n return `${keyMap.get(record)}`\n }\n\n if (keyMap && !keyMap[index]) {\n keyMap[index] = uid()\n }\n return `${keyMap[index]}`\n },\n }\n}\n\nexport function getDefaultValue(defaultValue: any, schema: Schema): any {\n if (isValid(defaultValue))\n return clone(defaultValue)\n if (Array.isArray(schema?.items))\n return getDefaultValue(defaultValue, schema.items[0])\n if (schema?.items?.type === 'object')\n return {}\n return null\n}\n\nexport function getArrayItemSchema(schema: ISchema, index: number): ISchema {\n return isArr(schema.items) ? schema.items[index] ?? schema.items[0] : schema.items\n}\n\nexport function isAdditionComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Addition') > -1\n}\n\nexport function isIndexComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Index') > -1\n}\n\nexport function isRemoveComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Remove') > -1\n}\n\nexport function isMoveUpComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveUp') > -1\n}\n\nexport function isMoveDownComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveDown') > -1\n}\n\nexport function isOperationComponent(schema: ISchema) {\n return (\n isAdditionComponent(schema)\n || isRemoveComponent(schema)\n || isMoveDownComponent(schema)\n || isMoveUpComponent(schema)\n )\n}\n"],"names":["prefixCls","stylePrefix","compatibleUnderlineProp","lt","version","useArray","inject","ArrayBaseSymbol","useIndex","indexRef","toRefs","ItemSymbol","useRecord","recordRef","isObjectValue","schema","useKey","isObject","keyMap","record","index","uid","getDefaultValue","defaultValue","isValid","clone","getArrayItemSchema","isArr","isAdditionComponent","isIndexComponent","isRemoveComponent","isMoveUpComponent","isMoveDownComponent","isOperationComponent"],"mappings":";;;;;;;;;;AAQO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,IAA0B;AAAA,EAAA;AAExC,SAAOC,EAAGC,GAAS,OAAO,IAAI,KAAQ;AACxC;AAEO,SAASC,IAAW;AACzB,SAAOC,EAAOC,GAAiB,IAAI;AACrC;AAEO,SAASC,IAAW;AACzB,QAAM,EAAE,OAAOC,EAAA,IAAaC,EAAOJ,EAAOK,CAAU,CAAwB;AAC5E,SAAOF;AACT;AAEA;AACO,SAASG,IAAY;AAC1B,QAAM,EAAE,QAAQC,EAAA,IAAcH;AAAA,IAC5BJ,EAAOK,CAAU;AAAA,EAAA;AAEnB,SAAOE;AACT;AAEA,MAAMC,IAA6C,CAACC,MAC9C,MAAM,QAAQA,GAAQ,KAAK,IACtBD,EAAcC,EAAO,MAAM,CAAC,CAAC,IAElCA,GAAQ,OAAO,SAAS,WAAWA,GAAQ,OAAO,SAAS;AAM1D,SAASC,EAAOD,GAAgB;AACrC,QAAME,IAAWH,EAAcC,CAAM;AACrC,MAAIG,IAAqE;AAEzE,SAAAA,IAASD,IAAW,oBAAI,QAAA,IAAY,CAAA,GAE7B;AAAA,IACL,QAAAC;AAAA,IACA,QAAQ,CAACC,GAAaC,MAChBF,aAAkB,WACfA,EAAO,IAAIC,CAAM,KACpBD,EAAO,IAAIC,GAAQE,GAAK,GAEnB,GAAGH,EAAO,IAAIC,CAAM,CAAC,OAG1BD,KAAU,CAACA,EAAOE,CAAK,MACzBF,EAAOE,CAAK,IAAIC,EAAA,IAEX,GAAGH,EAAOE,CAAK,CAAC;AAAA,EACzB;AAEJ;AAEO,SAASE,EAAgBC,GAAmBR,GAAqB;AACtE,SAAIS,EAAQD,CAAY,IACfE,EAAMF,CAAY,IACvB,MAAM,QAAQR,GAAQ,KAAK,IACtBO,EAAgBC,GAAcR,EAAO,MAAM,CAAC,CAAC,IAClDA,GAAQ,OAAO,SAAS,WACnB,CAAA,IACF;AACT;AAEO,SAASW,EAAmBX,GAAiBK,GAAwB;AAC1E,SAAOO,EAAMZ,EAAO,KAAK,IAAIA,EAAO,MAAMK,CAAK,KAAKL,EAAO,MAAM,CAAC,IAAIA,EAAO;AAC/E;AAEO,SAASa,EAAoBb,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASc,EAAiBd,GAAiB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,OAAO,IAAI;AACnD;AAEO,SAASe,EAAkBf,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASgB,EAAkBhB,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASiB,EAAoBjB,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASkB,EAAqBlB,GAAiB;AACpD,SACEa,EAAoBb,CAAM,KACvBe,EAAkBf,CAAM,KACxBiB,EAAoBjB,CAAM,KAC1BgB,EAAkBhB,CAAM;AAE/B;"}