@silver-formily/element-plus 2.2.0 → 2.4.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 (205) hide show
  1. package/LICENSE +21 -21
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/index.mjs +18 -21
  6. package/esm/__builtins__/index.mjs.map +1 -1
  7. package/esm/__builtins__/shared/index.d.ts +0 -1
  8. package/esm/__builtins__/shared/index.mjs +18 -21
  9. package/esm/__builtins__/shared/index.mjs.map +1 -1
  10. package/esm/__builtins__/shared/loading.mjs +5 -5
  11. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  12. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  13. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  14. package/esm/__builtins__/shared/use-enter-submit.d.ts +9 -0
  15. package/esm/__builtins__/shared/use-enter-submit.mjs +25 -0
  16. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -0
  17. package/esm/__builtins__/shared/utils.d.ts +1 -0
  18. package/esm/__builtins__/shared/utils.mjs +23 -17
  19. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  20. package/esm/array-base/index.mjs +56 -52
  21. package/esm/array-base/index.mjs.map +1 -1
  22. package/esm/array-base/symbols.mjs.map +1 -1
  23. package/esm/array-base/utils.d.ts +0 -1
  24. package/esm/array-base/utils.mjs +45 -46
  25. package/esm/array-base/utils.mjs.map +1 -1
  26. package/esm/array-cards/index.mjs +36 -33
  27. package/esm/array-cards/index.mjs.map +1 -1
  28. package/esm/array-collapse/index.mjs +39 -37
  29. package/esm/array-collapse/index.mjs.map +1 -1
  30. package/esm/array-collapse/utils.mjs +9 -2
  31. package/esm/array-collapse/utils.mjs.map +1 -1
  32. package/esm/array-items/index.mjs +38 -34
  33. package/esm/array-items/index.mjs.map +1 -1
  34. package/esm/array-list-tabs/index.mjs +38 -36
  35. package/esm/array-list-tabs/index.mjs.map +1 -1
  36. package/esm/array-list-tabs/utils.mjs +12 -5
  37. package/esm/array-list-tabs/utils.mjs.map +1 -1
  38. package/esm/array-table/index.mjs +63 -60
  39. package/esm/array-table/index.mjs.map +1 -1
  40. package/esm/array-table/utils.mjs +18 -11
  41. package/esm/array-table/utils.mjs.map +1 -1
  42. package/esm/array-tabs/index.mjs +28 -25
  43. package/esm/array-tabs/index.mjs.map +1 -1
  44. package/esm/autocomplete/autocomplete.d.ts +1222 -0
  45. package/esm/autocomplete/index.d.ts +639 -0
  46. package/esm/autocomplete/index.mjs +116 -0
  47. package/esm/autocomplete/index.mjs.map +1 -0
  48. package/esm/cascader/index.mjs +22 -18
  49. package/esm/cascader/index.mjs.map +1 -1
  50. package/esm/checkbox/index.d.ts +42 -42
  51. package/esm/checkbox/index.mjs +20 -16
  52. package/esm/checkbox/index.mjs.map +1 -1
  53. package/esm/color-picker/index.d.ts +210 -0
  54. package/esm/color-picker/index.mjs +17 -0
  55. package/esm/color-picker/index.mjs.map +1 -0
  56. package/esm/color-picker-panel/index.d.ts +129 -0
  57. package/esm/color-picker-panel/index.mjs +25 -0
  58. package/esm/color-picker-panel/index.mjs.map +1 -0
  59. package/esm/date-picker/index.mjs +18 -37
  60. package/esm/date-picker/index.mjs.map +1 -1
  61. package/esm/date-picker/utils.d.ts +4 -0
  62. package/esm/date-picker/utils.mjs +27 -0
  63. package/esm/date-picker/utils.mjs.map +1 -0
  64. package/esm/date-picker-panel/index.d.ts +143 -0
  65. package/esm/date-picker-panel/index.mjs +30 -0
  66. package/esm/date-picker-panel/index.mjs.map +1 -0
  67. package/esm/editable/editable.d.ts +2 -0
  68. package/esm/editable/index.d.ts +1 -0
  69. package/esm/editable/index.mjs +71 -66
  70. package/esm/editable/index.mjs.map +1 -1
  71. package/esm/env.d.mjs +2 -0
  72. package/esm/env.d.mjs.map +1 -0
  73. package/esm/form/form.mjs +6 -6
  74. package/esm/form/form.mjs.map +1 -1
  75. package/esm/form-button-group/form-button-group.d.ts +10 -1
  76. package/esm/form-button-group/index.d.ts +18 -3
  77. package/esm/form-button-group/index.mjs +47 -28
  78. package/esm/form-button-group/index.mjs.map +1 -1
  79. package/esm/form-button-group/utils.mjs +9 -2
  80. package/esm/form-button-group/utils.mjs.map +1 -1
  81. package/esm/form-collapse/index.mjs +21 -18
  82. package/esm/form-collapse/index.mjs.map +1 -1
  83. package/esm/form-collapse/utils.mjs.map +1 -1
  84. package/esm/form-dialog/dialog-content.d.ts +789 -3
  85. package/esm/form-dialog/index.mjs +97 -86
  86. package/esm/form-dialog/index.mjs.map +1 -1
  87. package/esm/form-dialog/types.d.ts +1 -0
  88. package/esm/form-drawer/drawer-content.d.ts +919 -3
  89. package/esm/form-drawer/index.mjs +92 -82
  90. package/esm/form-drawer/index.mjs.map +1 -1
  91. package/esm/form-drawer/types.d.ts +1 -0
  92. package/esm/form-grid/hooks.mjs.map +1 -1
  93. package/esm/form-grid/index.mjs +26 -22
  94. package/esm/form-grid/index.mjs.map +1 -1
  95. package/esm/form-item/index.d.ts +1 -0
  96. package/esm/form-item/index.mjs +102 -99
  97. package/esm/form-item/index.mjs.map +1 -1
  98. package/esm/form-item/types.d.ts +4 -0
  99. package/esm/form-item/utils.mjs.map +1 -1
  100. package/esm/form-layout/form-layout.mjs +18 -14
  101. package/esm/form-layout/form-layout.mjs.map +1 -1
  102. package/esm/form-layout/utils.mjs +23 -23
  103. package/esm/form-layout/utils.mjs.map +1 -1
  104. package/esm/form-step/index.mjs +30 -27
  105. package/esm/form-step/index.mjs.map +1 -1
  106. package/esm/form-step/utils.mjs.map +1 -1
  107. package/esm/form-tab/hooks.mjs.map +1 -1
  108. package/esm/form-tab/index.mjs +24 -22
  109. package/esm/form-tab/index.mjs.map +1 -1
  110. package/esm/form-tab/utils.mjs.map +1 -1
  111. package/esm/index.d.ts +8 -0
  112. package/esm/index.mjs +90 -74
  113. package/esm/index.mjs.map +1 -1
  114. package/esm/input/index.mjs +30 -26
  115. package/esm/input/index.mjs.map +1 -1
  116. package/esm/input-number/index.d.ts +21 -21
  117. package/esm/input-number/index.mjs +11 -8
  118. package/esm/input-number/index.mjs.map +1 -1
  119. package/esm/input-tag/index.d.ts +32 -0
  120. package/esm/input-tag/index.mjs +50 -0
  121. package/esm/input-tag/index.mjs.map +1 -0
  122. package/esm/input-tag/input-tag.d.ts +32 -0
  123. package/esm/mention/index.d.ts +50 -0
  124. package/esm/mention/index.mjs +97 -0
  125. package/esm/mention/index.mjs.map +1 -0
  126. package/esm/mention/mention.d.ts +51 -0
  127. package/esm/pagination/components/jumper.mjs.map +1 -1
  128. package/esm/pagination/components/next.mjs.map +1 -1
  129. package/esm/pagination/components/pager.mjs.map +1 -1
  130. package/esm/pagination/components/prev.mjs.map +1 -1
  131. package/esm/pagination/components/total.mjs.map +1 -1
  132. package/esm/pagination/pagination.mjs.map +1 -1
  133. package/esm/password/index.mjs.map +1 -1
  134. package/esm/preview-text/color-picker.d.ts +5 -0
  135. package/esm/preview-text/index.d.ts +5 -0
  136. package/esm/preview-text/index.mjs +184 -145
  137. package/esm/preview-text/index.mjs.map +1 -1
  138. package/esm/preview-text/utils.mjs.map +1 -1
  139. package/esm/query-form/default-components.d.ts +5 -0
  140. package/esm/query-form/default-components.mjs +47 -0
  141. package/esm/query-form/default-components.mjs.map +1 -0
  142. package/esm/query-form/hooks.d.ts +25 -0
  143. package/esm/query-form/hooks.mjs +29 -0
  144. package/esm/query-form/hooks.mjs.map +1 -0
  145. package/esm/query-form/index.d.ts +117 -0
  146. package/esm/query-form/index.mjs +337 -0
  147. package/esm/query-form/index.mjs.map +1 -0
  148. package/esm/query-form/query-form-light.d.ts +27 -0
  149. package/esm/query-form/query-form.d.ts +52 -0
  150. package/esm/query-form/types.d.ts +44 -0
  151. package/esm/query-form/types.mjs +2 -0
  152. package/esm/query-form/types.mjs.map +1 -0
  153. package/esm/query-form-item/index.d.ts +151 -0
  154. package/esm/query-form-item/index.mjs +188 -0
  155. package/esm/query-form-item/index.mjs.map +1 -0
  156. package/esm/query-form-item/query-form-item.d.ts +96 -0
  157. package/esm/query-form-item/types.d.ts +46 -0
  158. package/esm/query-form-item/types.mjs +2 -0
  159. package/esm/query-form-item/types.mjs.map +1 -0
  160. package/esm/radio/index.d.ts +36 -36
  161. package/esm/radio/index.mjs +29 -25
  162. package/esm/radio/index.mjs.map +1 -1
  163. package/esm/rate/index.mjs +13 -10
  164. package/esm/rate/index.mjs.map +1 -1
  165. package/esm/reset/index.mjs.map +1 -1
  166. package/esm/segmented/index.mjs +16 -12
  167. package/esm/segmented/index.mjs.map +1 -1
  168. package/esm/select/index.mjs +26 -22
  169. package/esm/select/index.mjs.map +1 -1
  170. package/esm/select-table/index.mjs +36 -33
  171. package/esm/select-table/index.mjs.map +1 -1
  172. package/esm/shared/overlay-elements.d.ts +6 -0
  173. package/esm/shared/overlay-elements.mjs +19 -0
  174. package/esm/shared/overlay-elements.mjs.map +1 -0
  175. package/esm/slider/index.mjs +13 -10
  176. package/esm/slider/index.mjs.map +1 -1
  177. package/esm/styles/form-button-group/index.css +1 -1
  178. package/esm/styles/form-item/index.css +1 -1
  179. package/esm/styles/preview-text/index.css +1 -1
  180. package/esm/styles/query-form/index.css +1 -0
  181. package/esm/styles/query-form-item/index.css +1 -0
  182. package/esm/submit/index.mjs.map +1 -1
  183. package/esm/switch/index.d.ts +12 -12
  184. package/esm/switch/index.mjs.map +1 -1
  185. package/esm/time-picker/index.mjs +9 -6
  186. package/esm/time-picker/index.mjs.map +1 -1
  187. package/esm/time-select/index.mjs +9 -6
  188. package/esm/time-select/index.mjs.map +1 -1
  189. package/esm/transfer/index.mjs.map +1 -1
  190. package/esm/tree/index.mjs +33 -29
  191. package/esm/tree/index.mjs.map +1 -1
  192. package/esm/tree/utils.mjs.map +1 -1
  193. package/esm/tree-select/index.mjs +18 -14
  194. package/esm/tree-select/index.mjs.map +1 -1
  195. package/esm/upload/index.d.ts +1 -1
  196. package/esm/upload/index.mjs +10 -7
  197. package/esm/upload/index.mjs.map +1 -1
  198. package/esm/upload/upload.d.ts +2 -2
  199. package/esm/vendor/lodash.mjs +751 -663
  200. package/esm/vendor/lodash.mjs.map +1 -1
  201. package/esm/vendor/sizes.mjs.map +1 -1
  202. package/package.json +115 -113
  203. package/esm/__builtins__/shared/hooks.d.ts +0 -7
  204. package/esm/__builtins__/shared/hooks.mjs +0 -59
  205. package/esm/__builtins__/shared/hooks.mjs.map +0 -1
@@ -1,16 +1,18 @@
1
- import { createForm as T } from "@formily/core";
2
- import { toJS as V } from "@formily/reactive";
3
- import { isFn as u, isArr as $, isStr as h, pascalCase as j, applyMiddleware as w, isValid as q } from "@formily/shared";
4
- import { observer as z } from "@silver-formily/reactive-vue";
5
- import { defineComponent as N, useSlots as O, createBlock as A, openBlock as k, unref as n, mergeProps as C, createSlots as I, withCtx as f, createElementVNode as J, normalizeClass as R, renderSlot as P, createElementBlock as U, Fragment as G, createVNode as b, createTextVNode as x, toDisplayString as M, normalizeProps as H, guardReactiveProps as K, ref as L, h as D, createApp as Q } from "vue";
6
- import { FormProvider as W } from "@silver-formily/vue";
7
- import { ElDrawer as X, ElButton as E, ElConfigProvider as Y } from "element-plus";
8
- import { o as Z, c as F } from "../vendor/lodash.mjs";
9
- import { loadElConfigProvider as _ } from "../__builtins__/shared/load-config-provider.mjs";
10
- import { useDebonceSubmitting as ee, loading as S, getTransitionDuration as re } from "../__builtins__/shared/loading.mjs";
1
+ import { createForm as q } from "@formily/core";
2
+ import { toJS as z } from "@formily/reactive";
3
+ import { isFn as p, isArr as E, isStr as S, pascalCase as $, applyMiddleware as w, isValid as N } from "@formily/shared";
4
+ import { observer as O } from "@silver-formily/reactive-vue";
5
+ import { defineComponent as R, useSlots as A, ref as T, computed as k, createBlock as I, openBlock as h, unref as n, mergeProps as C, createSlots as J, withCtx as c, createElementVNode as U, normalizeClass as G, renderSlot as g, createElementBlock as H, Fragment as K, createVNode as b, createTextVNode as j, toDisplayString as x, normalizeProps as L, guardReactiveProps as Q, h as D, createApp as W } from "vue";
6
+ import { ElDrawer as X, ElButton as M, ElConfigProvider as Y } from "element-plus";
7
+ import { useDebonceSubmitting as Z, loading as F, getTransitionDuration as _ } from "../__builtins__/shared/loading.mjs";
8
+ import { FormProvider as ee } from "@silver-formily/vue";
9
+ import { isVueOptions as re } from "../__builtins__/shared/utils.mjs";
11
10
  import { stylePrefix as oe } from "../__builtins__/configs/index.mjs";
12
- import { isVueOptions as te } from "../__builtins__/shared/utils.mjs";
13
- const ne = /* @__PURE__ */ N({
11
+ import { loadElConfigProvider as te } from "../__builtins__/shared/load-config-provider.mjs";
12
+ import { useEnterSubmit as ne } from "../__builtins__/shared/use-enter-submit.mjs";
13
+ import { resolveDrawerElement as ie } from "../shared/overlay-elements.mjs";
14
+ import { o as se, c as B } from "../vendor/lodash.mjs";
15
+ const le = /* @__PURE__ */ R({
14
16
  name: "FormDrawerContent",
15
17
  __name: "drawer-content",
16
18
  props: {
@@ -36,22 +38,30 @@ const ne = /* @__PURE__ */ N({
36
38
  }
37
39
  },
38
40
  setup(o) {
39
- const s = o, a = O(), e = `${oe}-form-drawer`, c = _(), { internalSubmitting: p } = ee(s.form), l = Z(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose"]);
40
- return (i, r) => (k(), A(n(X), C({
41
+ const s = o, f = A(), e = `${oe}-form-drawer`, u = te(), { internalSubmitting: d } = Z(s.form), m = se(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = T(null), r = k(() => s.drawerProps.enterSubmit !== !1);
42
+ return ne({
43
+ visible: k(() => s.visible),
44
+ resolve: () => s.resolve(),
45
+ submitting: d,
46
+ getContainer: () => ie(l.value),
47
+ enabled: r
48
+ }), (t, i) => (h(), I(n(X), C({
49
+ ref_key: "drawerRef",
50
+ ref: l,
41
51
  class: e,
42
- "z-index": n(c).zIndex
43
- }, n(l), {
52
+ "z-index": n(u).zIndex
53
+ }, n(m), {
44
54
  "model-value": o.visible,
45
- "before-close": (t) => {
46
- o.reject(), n(u)(s.drawerProps.beforeClose) ? s.drawerProps.beforeClose(t) : t();
55
+ "before-close": (a) => {
56
+ o.reject(), n(p)(s.drawerProps.beforeClose) ? s.drawerProps.beforeClose(a) : a();
47
57
  }
48
- }), I({
49
- default: f(() => [
50
- b(n(W), { form: o.form }, {
51
- default: f(() => [
52
- b(n(Y), H(K(n(c))), {
53
- default: f(() => [
54
- P(i.$slots, "default", {
58
+ }), J({
59
+ default: c(() => [
60
+ b(n(ee), { form: o.form }, {
61
+ default: c(() => [
62
+ b(n(Y), L(Q(n(u))), {
63
+ default: c(() => [
64
+ g(t.$slots, "default", {
55
65
  resolve: o.resolve,
56
66
  reject: o.reject,
57
67
  form: o.form
@@ -63,30 +73,30 @@ const ne = /* @__PURE__ */ N({
63
73
  _: 3
64
74
  }, 8, ["form"])
65
75
  ]),
66
- footer: f(() => [
67
- J("div", {
68
- class: R(`${e}-footer`)
76
+ footer: c(() => [
77
+ U("div", {
78
+ class: G(`${e}-footer`)
69
79
  }, [
70
- a.footer ? P(i.$slots, "footer", {
80
+ f.footer ? g(t.$slots, "footer", {
71
81
  key: 0,
72
82
  resolve: o.resolve,
73
83
  reject: o.reject,
74
84
  form: o.form
75
- }) : (k(), U(G, { key: 1 }, [
76
- b(n(E), C(n(l).cancelButtonProps, {
77
- onClick: r[0] || (r[0] = (t) => o.reject())
85
+ }) : (h(), H(K, { key: 1 }, [
86
+ b(n(M), C(n(m).cancelButtonProps, {
87
+ onClick: i[0] || (i[0] = (a) => o.reject())
78
88
  }), {
79
- default: f(() => [
80
- x(M(n(l).cancelText || "取消"), 1)
89
+ default: c(() => [
90
+ j(x(n(m).cancelText || "取消"), 1)
81
91
  ]),
82
92
  _: 1
83
93
  }, 16),
84
- b(n(E), C({ type: "primary" }, n(l).okButtonProps, {
85
- loading: n(p),
86
- onClick: r[1] || (r[1] = (t) => o.resolve())
94
+ b(n(M), C({ type: "primary" }, n(m).okButtonProps, {
95
+ loading: n(d),
96
+ onClick: i[1] || (i[1] = (a) => o.resolve())
87
97
  }), {
88
- default: f(() => [
89
- x(M(n(l).okText || "确定"), 1)
98
+ default: c(() => [
99
+ j(x(n(m).okText || "确定"), 1)
90
100
  ]),
91
101
  _: 1
92
102
  }, 16, ["loading"])
@@ -95,10 +105,10 @@ const ne = /* @__PURE__ */ N({
95
105
  ]),
96
106
  _: 2
97
107
  }, [
98
- a.header ? {
108
+ f.header ? {
99
109
  name: "header",
100
- fn: f(() => [
101
- P(i.$slots, "header", {
110
+ fn: c(() => [
111
+ g(t.$slots, "header", {
102
112
  resolve: o.resolve,
103
113
  reject: o.reject,
104
114
  form: o.form
@@ -109,7 +119,7 @@ const ne = /* @__PURE__ */ N({
109
119
  ]), 1040, ["z-index", "model-value", "before-close"]));
110
120
  }
111
121
  });
112
- function be(o, s, a) {
122
+ function Ee(o, s, f) {
113
123
  const e = {
114
124
  root: document.createElement("div"),
115
125
  form: null,
@@ -120,83 +130,83 @@ function be(o, s, a) {
120
130
  confirmMiddlewares: [],
121
131
  cancelMiddlewares: []
122
132
  };
123
- if ($(a))
124
- for (const r of a) {
133
+ if (E(f))
134
+ for (const r of f) {
125
135
  /* istanbul ignore if -- @preserve */
126
- if (!h(r))
136
+ if (!S(r))
127
137
  return;
128
- const t = F(r);
138
+ const t = B(r);
129
139
  /* istanbul ignore if -- @preserve */
130
140
  if (["open", "cancel", "confirm"].includes(t))
131
- throw new Error(`for${j(t)} is presved`);
141
+ throw new Error(`for${$(t)} is presved`);
132
142
  e[`${t}Middlewares`] = [];
133
143
  }
134
144
  document.body.append(e.root);
135
- const c = h(o) ? { title: o } : o;
136
- function p(r, t, m) {
137
- const d = te(s) ? { default: () => D(s) } : s;
145
+ const u = S(o) ? { title: o } : o;
146
+ function d(r, t, i) {
147
+ const a = re(s) ? { default: () => D(s) } : s;
138
148
  if (!e.instance) {
139
- const v = z({
140
- setup(g, { expose: B }) {
141
- const y = L(!1);
142
- return B({
149
+ const v = O({
150
+ setup(P, { expose: V }) {
151
+ const y = T(!1);
152
+ return V({
143
153
  visible: y
144
- }), () => D(ne, {
145
- drawerProps: c,
154
+ }), () => D(le, {
155
+ drawerProps: u,
146
156
  form: e.form,
147
157
  resolve: t,
148
- reject: m,
158
+ reject: i,
149
159
  visible: y.value
150
- }, d);
160
+ }, a);
151
161
  }
152
162
  });
153
- e.app = Q(v), e.instance = e.app.mount(e.root);
163
+ e.app = W(v), e.instance = e.app.mount(e.root);
154
164
  }
155
165
  e.instance.visible = r;
156
166
  }
157
- function l() {
158
- const r = re();
167
+ function m() {
168
+ const r = _();
159
169
  setTimeout(() => {
160
170
  e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
161
171
  }, r);
162
172
  }
163
- const i = {
164
- forOpen: (r) => (u(r) && e.openMiddlewares.push(r), i),
165
- forConfirm: (r) => (u(r) && e.confirmMiddlewares.push(r), i),
166
- forCancel: (r) => (u(r) && e.cancelMiddlewares.push(r), i),
173
+ const l = {
174
+ forOpen: (r) => (p(r) && e.openMiddlewares.push(r), l),
175
+ forConfirm: (r) => (p(r) && e.confirmMiddlewares.push(r), l),
176
+ forCancel: (r) => (p(r) && e.cancelMiddlewares.push(r), l),
167
177
  open: (r) => {
168
178
  /* istanbul ignore if -- @preserve */
169
- return e.promise || (e.promise = new Promise((t, m) => {
170
- S(c.loadingText, () => w(r, e.openMiddlewares)).then((d) => {
171
- e.form = e.form || T(d), p(!0, (v) => {
179
+ return e.promise || (e.promise = new Promise((t, i) => {
180
+ F(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
181
+ e.form = e.form || q(a), d(!0, (v) => {
172
182
  e.form.submit(async () => {
173
- await (q(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(V(e.form.values)), i.close(), l();
174
- }).catch((g) => {
175
- console.warn(g);
183
+ await (N(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(z(e.form.values)), l.close(), m();
184
+ }).catch((P) => {
185
+ console.warn(P);
176
186
  });
177
187
  }, async () => {
178
- await S(c.loadingText, () => w(e.form, e.cancelMiddlewares)), i.close(), l(), m(new Error("cancel"));
188
+ await F(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
179
189
  });
180
190
  }).catch(
181
191
  /* istanbul ignore next -- @preserve */
182
- (d) => m(d)
192
+ (a) => i(a)
183
193
  );
184
194
  })), e.promise;
185
195
  },
186
196
  close: () => {
187
197
  /* istanbul ignore if -- @preserve */
188
- e.root && p(!1);
198
+ e.root && d(!1);
189
199
  }
190
200
  };
191
- if ($(a))
192
- for (const r of a) {
193
- const t = F(r);
194
- i[`for${j(t)}`] = (m) => (u(m) && e[`${t}Middlewares`].push(m), i);
201
+ if (E(f))
202
+ for (const r of f) {
203
+ const t = B(r);
204
+ l[`for${$(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
195
205
  }
196
- return i;
206
+ return l;
197
207
  }
198
208
  export {
199
- be as FormDrawer,
200
- be as default
209
+ Ee as FormDrawer,
210
+ Ee as default
201
211
  };
202
212
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Form } from '@formily/core'\r\nimport type { PropType } from 'vue'\r\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\r\nimport { isFn } from '@formily/shared'\r\nimport { FormProvider } from '@silver-formily/vue'\r\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FormDrawerContent',\r\n})\r\n\r\nconst props = defineProps({\r\n drawerProps: {\r\n type: Object as PropType<IFormDrawerProps>,\r\n required: true,\r\n },\r\n visible: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n form: {\r\n type: Object as PropType<Form>,\r\n required: true,\r\n },\r\n resolve: {\r\n type: Function as PropType<(type?: string) => void>,\r\n required: true,\r\n },\r\n reject: {\r\n type: Function as PropType<() => void>,\r\n required: true,\r\n },\r\n})\r\nconst slots = defineSlots<FormDrawerSlots>()\r\nconst prefixCls = `${stylePrefix}-form-drawer`\r\nconst elConfig = loadElConfigProvider()\r\n\r\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\r\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose'])\r\n</script>\r\n\r\n<template>\r\n <ElDrawer\r\n :class=\"prefixCls\"\r\n :z-index=\"elConfig.zIndex\"\r\n v-bind=\"_drawerProps\"\r\n :model-value=\"visible\"\r\n :before-close=\"(done) => {\r\n reject()\r\n if (isFn(props.drawerProps.beforeClose)) {\r\n props.drawerProps.beforeClose(done)\r\n }\r\n else {\r\n done()\r\n }\r\n }\"\r\n >\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n\r\n <template #default>\r\n <FormProvider :form=\"form\">\r\n <ElConfigProvider v-bind=\"elConfig\">\r\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </ElConfigProvider>\r\n </FormProvider>\r\n </template>\r\n\r\n <template #footer>\r\n <div :class=\"`${prefixCls}-footer`\">\r\n <template v-if=\"slots.footer\">\r\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n <template v-else>\r\n <ElButton\r\n v-bind=\"_drawerProps.cancelButtonProps\"\r\n @click=\"reject()\"\r\n >\r\n {{ _drawerProps.cancelText || '取消' }}\r\n </ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-bind=\"_drawerProps.okButtonProps\"\r\n :loading=\"internalSubmitting\"\r\n @click=\"resolve()\"\r\n >\r\n {{ _drawerProps.okText || '确定' }}\r\n </ElButton>\r\n </template>\r\n </div>\r\n </template>\r\n </ElDrawer>\r\n</template>\r\n","import type { Form, IFormProps } from '@formily/core'\r\nimport type { IMiddleware } from '@formily/shared'\r\nimport type { App, Component } from 'vue'\r\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { toJS } from '@formily/reactive'\r\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\r\nimport { observer } from '@silver-formily/reactive-vue'\r\nimport { camelCase } from 'lodash-es'\r\nimport { createApp, h, ref } from 'vue'\r\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\r\nimport DrawerContent from './drawer-content.vue'\r\n\r\nexport function FormDrawer<T extends object = any>(\r\n title: IFormDrawerProps | string,\r\n content?: Component | FormDrawerSlotContent,\r\n dynamicMiddlewareNames?: string[],\r\n): IFormDrawer<T> {\r\n const env: {\r\n root?: HTMLElement\r\n form?: Form<T>\r\n promise?: Promise<any>\r\n instance?: any\r\n app?: App<Element>\r\n openMiddlewares: IMiddleware<IFormProps<T>>[]\r\n confirmMiddlewares: IMiddleware<Form<T>>[]\r\n cancelMiddlewares: IMiddleware<Form<T>>[]\r\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\r\n } = {\r\n root: document.createElement('div'),\r\n form: null,\r\n promise: null,\r\n app: null,\r\n instance: null,\r\n openMiddlewares: [],\r\n confirmMiddlewares: [],\r\n cancelMiddlewares: [],\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isStr(middlewareName))\r\n return\r\n const _middlewareName = camelCase(middlewareName)\r\n /* istanbul ignore if -- @preserve */\r\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\r\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\r\n }\r\n (env[`${_middlewareName}Middlewares`] = [])\r\n }\r\n }\r\n\r\n document.body.append(env.root)\r\n\r\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\r\n\r\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\r\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\r\n if (!env.instance) {\r\n const ComponentConstructor = observer({\r\n setup(_, { expose }) {\r\n const visible = ref(false)\r\n expose({\r\n visible,\r\n })\r\n return () => h(DrawerContent, {\r\n drawerProps: props,\r\n form: env.form,\r\n resolve,\r\n reject,\r\n visible: visible.value,\r\n }, _content)\r\n },\r\n })\r\n env.app = createApp(ComponentConstructor)\r\n env.instance = env.app.mount(env.root)\r\n }\r\n env.instance.visible = visible\r\n }\r\n\r\n function disposeDrawer() {\r\n const animationDuration = getTransitionDuration()\r\n setTimeout(() => {\r\n env.app?.unmount?.()\r\n env.app = null\r\n env.instance = null\r\n env.root?.remove()\r\n env.root = undefined\r\n }, animationDuration)\r\n }\r\n\r\n const formDrawer = {\r\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\r\n isFn(middleware) && env.openMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forCancel: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n open: (payload: IFormProps<T>) => {\r\n /* istanbul ignore if -- @preserve */\r\n if (env.promise)\r\n return env.promise\r\n\r\n env.promise = new Promise((res, rej) => {\r\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\r\n .then((resPayload) => {\r\n env.form = env.form || createForm(resPayload as IFormProps<T>)\r\n render(true, (type: string) => {\r\n env.form.submit(async () => {\r\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\r\n res(toJS(env.form.values))\r\n formDrawer.close()\r\n disposeDrawer()\r\n }).catch((error) => {\r\n console.warn(error)\r\n })\r\n }, async () => {\r\n await loading(props.loadingText, () =>\r\n applyMiddleware(env.form, env.cancelMiddlewares))\r\n formDrawer.close()\r\n disposeDrawer()\r\n rej(new Error('cancel'))\r\n })\r\n })\r\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\r\n })\r\n return env.promise\r\n },\r\n close: () => {\r\n /* istanbul ignore if -- @preserve */\r\n if (!env.root)\r\n return\r\n render(false)\r\n },\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n const _middlewareName = camelCase(middlewareName)\r\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\r\n return formDrawer\r\n }\r\n }\r\n }\r\n\r\n return formDrawer as IFormDrawer<T>\r\n}\r\n\r\nexport default FormDrawer\r\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","internalSubmitting","useDebonceSubmitting","_drawerProps","omit","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_createTextVNode","_toDisplayString","FormDrawer","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","ref","DrawerContent","createApp","disposeDrawer","animationDuration","getTransitionDuration","formDrawer","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDrawerElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDrawerContent',\n})\n\nconst props = defineProps({\n drawerProps: {\n type: Object as PropType<IFormDrawerProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\nconst slots = defineSlots<FormDrawerSlots>()\nconst prefixCls = `${stylePrefix}-form-drawer`\nconst elConfig = loadElConfigProvider()\n\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDrawerElement(drawerRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDrawer\n ref=\"drawerRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_drawerProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.drawerProps.beforeClose)) {\n props.drawerProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"form\">\n <ElConfigProvider v-bind=\"elConfig\">\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </ElConfigProvider>\n </FormProvider>\n </template>\n\n <template #footer>\n <div :class=\"`${prefixCls}-footer`\">\n <template v-if=\"slots.footer\">\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n <template v-else>\n <ElButton\n v-bind=\"_drawerProps.cancelButtonProps\"\n @click=\"reject()\"\n >\n {{ _drawerProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_drawerProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"resolve()\"\n >\n {{ _drawerProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDrawer>\n</template>\n","import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DrawerContent from './drawer-content.vue'\n\nexport function FormDrawer<T extends object = any>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent,\n dynamicMiddlewareNames?: string[],\n): IFormDrawer<T> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DrawerContent, {\n drawerProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDrawer() {\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n const formDrawer = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDrawer\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDrawer\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDrawer\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDrawer.close()\n disposeDrawer()\n }).catch((error) => {\n console.warn(error)\n })\n }, async () => {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n formDrawer.close()\n disposeDrawer()\n rej(new Error('cancel'))\n })\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDrawer\n }\n }\n }\n\n return formDrawer as IFormDrawer<T>\n}\n\nexport default FormDrawer\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","internalSubmitting","useDebonceSubmitting","_drawerProps","omit","drawerRef","ref","enableEnterSubmit","computed","useEnterSubmit","resolveDrawerElement","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_createTextVNode","_toDisplayString","FormDrawer","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","DrawerContent","createApp","disposeDrawer","animationDuration","getTransitionDuration","formDrawer","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAMA,IAAQC,GAsBRC,IAAQC,EAAA,GACRC,IAAY,GAAGC,EAAW,gBAC1BC,IAAWC,GAAA,GAEX,EAAE,oBAAAC,EAAA,IAAuBC,EAAqBT,EAAM,IAAI,GACxDU,IAAeC,GAAKX,EAAM,aAAa,CAAC,cAAc,uBAAuB,eAAe,aAAa,CAAC,GAC1GY,IAAYC,EAAoC,IAAI,GACpDC,IAAoBC,EAAS,MAAMf,EAAM,YAAY,gBAAgB,EAAK;AAEhF,WAAAgB,GAAe;AAAA,MACb,SAASD,EAAS,MAAMf,EAAM,OAAO;AAAA,MACrC,SAAS,MAAMA,EAAM,QAAA;AAAA,MACrB,YAAYQ;AAAA,MACZ,cAAc,MAAMS,GAAqBL,EAAU,KAAK;AAAA,MACxD,SAASE;AAAA,IAAA,CACV,cAICI,KAAAC,EAmDWC,MAnDXC,EAmDW;AAAA,eAlDL;AAAA,MAAJ,KAAIT;AAAA,MACH,OAAOR;AAAA,MACP,WAASgB,EAAAd,CAAA,EAAS;AAAA,IAAA,GACXc,EAAAV,CAAA,GAAY;AAAA,MACnB,eAAaT,EAAA;AAAA,MACb,iBAAeqB,MAAI;AAAa,QAAArB,EAAA,OAAA,GAAmBmB,EAAAG,CAAA,EAAKvB,EAAM,YAAY,WAAW,IAAaA,EAAM,YAAY,YAAYsB,CAAI,IAA+BA,EAAA;AAAA;;MAczJ,WACT,MAIe;AAAA,QAJfE,EAIeJ,EAAAK,EAAA,GAAA,EAJA,MAAMxB,EAAA,QAAI;AAAA,qBACvB,MAEmB;AAAA,YAFnBuB,EAEmBJ,UAFOA,EAAAd,CAAA,CAAQ,CAAA,GAAA;AAAA,yBAChC,MAAyD;AAAA,gBAAzDoB,EAAyDC,EAAA,QAAA,WAAA;AAAA,kBAAlD,SAAS1B,EAAA;AAAA,kBAAU,QAAQA,EAAA;AAAA,kBAAS,MAAMA,EAAA;AAAA,gBAAA;;;;;;;;MAK5C,UACT,MAoBM;AAAA,QApBN2B,EAoBM,OAAA;AAAA,UApBA,YAAUxB,CAAS,SAAA;AAAA,QAAA;UACPF,EAAM,SACpBwB,EAAuEC,EAAA,QAAA,UAAA;AAAA;YAAlD,SAAS1B,EAAA;AAAA,YAAU,QAAQA,EAAA;AAAA,YAAS,MAAMA,EAAA;AAAA,UAAA,WAEjE4B,EAeWC,GAAA,EAAA,KAAA,KAAA;AAAA,YAdTN,EAKWJ,EAAAW,CAAA,GALXV,EACUD,EAICV,CAAA,EAJY,mBAAiB;AAAA,cACrC,gCAAOT,EAAA,OAAA;AAAA,YAAM;yBAEd,MAAqC;AAAA,gBAAlC+B,EAAAC,EAAAb,EAAAV,CAAA,EAAa,cAAU,IAAA,GAAA,CAAA;AAAA,cAAA;;;YAE5Bc,EAOWJ,EAAAW,CAAA,GAPXV,EAOW,EANT,MAAK,aACGD,EAAAV,CAAA,EAAa,eAAa;AAAA,cACjC,SAASU,EAAAZ,CAAA;AAAA,cACT,gCAAOP,EAAA,QAAA;AAAA,YAAO;yBAEf,MAAiC;AAAA,gBAA9B+B,EAAAC,EAAAb,EAAAV,CAAA,EAAa,UAAM,IAAA,GAAA,CAAA;AAAA,cAAA;;;;;;;;MA9BdR,EAAM;cAAS;AAAA,cAC7B,MAAuE;AAAA,UAAvEwB,EAAuEC,EAAA,QAAA,UAAA;AAAA,YAAlD,SAAS1B,EAAA;AAAA,YAAU,QAAQA,EAAA;AAAA,YAAS,MAAMA,EAAA;AAAA,UAAA;;;;;;;AC9D9D,SAASiC,GACdC,GACAC,GACAC,GACgB;AAChB,QAAMC,IAUF;AAAA,IACF,MAAM,SAAS,cAAc,KAAK;AAAA,IAClC,MAAM;AAAA,IACN,SAAS;AAAA,IACT,KAAK;AAAA,IACL,UAAU;AAAA,IACV,iBAAiB,CAAA;AAAA,IACjB,oBAAoB,CAAA;AAAA,IACpB,mBAAmB,CAAA;AAAA,EAAC;AAGtB,MAAIC,EAAMF,CAAsB;AAC9B,eAAWG,KAAkBH,GAAwB;AAAA,MAAA;AAEnD,UAAI,CAACI,EAAMD,CAAc;AACvB;AACF,YAAME,IAAkBC,EAAUH,CAAc;AAAA,MAAA;AAEhD,UAAI,CAAC,QAAQ,UAAU,SAAS,EAAE,SAASE,CAAe;AACxD,cAAM,IAAI,MAAM,MAAME,EAAWF,CAAe,CAAC,aAAa;AAE/D,MAAAJ,EAAI,GAAGI,CAAe,aAAa,IAAI,CAAA;AAAA,IAC1C;AAGF,WAAS,KAAK,OAAOJ,EAAI,IAAI;AAE7B,QAAMtC,IAASyC,EAAMN,CAAK,IAAK,EAAE,OAAAA,MAAWA;AAE5C,WAASU,EAAOC,GAAkBC,GAAkCC,GAAoB;AACtF,UAAMC,IAAWC,GAAad,CAAO,IAAI,EAAE,SAAS,MAAMe,EAAEf,CAAO,EAAA,IAAMA;AACzE,QAAI,CAACE,EAAI,UAAU;AACjB,YAAMc,IAAuBC,EAAS;AAAA,QACpC,MAAMC,GAAG,EAAE,QAAAC,KAAU;AACnB,gBAAMT,IAAUjC,EAAI,EAAK;AACzB,iBAAA0C,EAAO;AAAA,YACL,SAAAT;AAAAA,UAAA,CACD,GACM,MAAMK,EAAEK,IAAe;AAAA,YAC5B,aAAaxD;AAAA,YACb,MAAMsC,EAAI;AAAA,YACV,SAAAS;AAAA,YACA,QAAAC;AAAA,YACA,SAASF,EAAQ;AAAA,UAAA,GAChBG,CAAQ;AAAA,QACb;AAAA,MAAA,CACD;AACD,MAAAX,EAAI,MAAMmB,EAAUL,CAAoB,GACxCd,EAAI,WAAWA,EAAI,IAAI,MAAMA,EAAI,IAAI;AAAA,IACvC;AACA,IAAAA,EAAI,SAAS,UAAUQ;AAAA,EACzB;AAEA,WAASY,IAAgB;AACvB,UAAMC,IAAoBC,EAAA;AAC1B,eAAW,MAAM;AACf,MAAAtB,EAAI,KAAK,UAAA,GACTA,EAAI,MAAM,MACVA,EAAI,WAAW,MACfA,EAAI,MAAM,OAAA,GACVA,EAAI,OAAO;AAAA,IACb,GAAGqB,CAAiB;AAAA,EACtB;AAEA,QAAME,IAAa;AAAA,IACjB,SAAS,CAACC,OACRvC,EAAKuC,CAAU,KAAKxB,EAAI,gBAAgB,KAAKwB,CAAU,GAChDD;AAAA,IAET,YAAY,CAACC,OACXvC,EAAKuC,CAAU,KAAKxB,EAAI,mBAAmB,KAAKwB,CAAU,GACnDD;AAAA,IAET,WAAW,CAACC,OACVvC,EAAKuC,CAAU,KAAKxB,EAAI,kBAAkB,KAAKwB,CAAU,GAClDD;AAAA,IAET,MAAM,CAACE,MAA2B;AAAA,MAAA;AAEhC,aAAIzB,EAAI,YAGRA,EAAI,UAAU,IAAI,QAAQ,CAAC0B,GAAKC,MAAQ;AACtC,QAAAC,EAAQlE,EAAM,aAAa,MAAMmE,EAAgBJ,GAASzB,EAAI,eAAe,CAAC,EAC3E,KAAK,CAAC8B,MAAe;AACpB,UAAA9B,EAAI,OAAOA,EAAI,QAAQ+B,EAAWD,CAA2B,GAC7DvB,EAAO,IAAM,CAACyB,MAAiB;AAC7B,YAAAhC,EAAI,KAAK,OAAO,YAAY;AAC1B,qBAAOiC,EAAQD,CAAI,IAAIH,EAAgB7B,EAAI,MAAMA,EAAI,GAAGgC,CAAI,aAAa,CAAC,IAAIH,EAAgB7B,EAAI,MAAMA,EAAI,kBAAkB,IAC9H0B,EAAIQ,EAAKlC,EAAI,KAAK,MAAM,CAAC,GACzBuB,EAAW,MAAA,GACXH,EAAA;AAAA,YACF,CAAC,EAAE,MAAM,CAACe,MAAU;AAClB,sBAAQ,KAAKA,CAAK;AAAA,YACpB,CAAC;AAAA,UACH,GAAG,YAAY;AACb,kBAAMP,EAAQlE,EAAM,aAAa,MAC/BmE,EAAgB7B,EAAI,MAAMA,EAAI,iBAAiB,CAAC,GAClDuB,EAAW,MAAA,GACXH,EAAA,GACAO,EAAI,IAAI,MAAM,QAAQ,CAAC;AAAA,UACzB,CAAC;AAAA,QACH,CAAC,EACA;AAAA;AAAA,UAA8C,CAAAQ,MAASR,EAAIQ,CAAK;AAAA,QAAA;AAAA,MACrE,CAAC,IACMnC,EAAI;AAAA,IACb;AAAA,IACA,OAAO,MAAM;AAAA,MAAA;AAEX,MAAKA,EAAI,QAETO,EAAO,EAAK;AAAA,IACd;AAAA,EAAA;AAGF,MAAIN,EAAMF,CAAsB;AAC9B,eAAWG,KAAkBH,GAAwB;AACnD,YAAMK,IAAkBC,EAAUH,CAAc;AAChD,MAAAqB,EAAW,MAAMjB,EAAWF,CAAe,CAAC,EAAE,IAAI,CAACoB,OACjDvC,EAAKuC,CAAU,KAAKxB,EAAI,GAAGI,CAAe,aAAa,EAAE,KAAKoB,CAAU,GACjED;AAAA,IAEX;AAGF,SAAOA;AACT;"}
@@ -8,6 +8,7 @@ export type IFormDrawerProps = Partial<DrawerProps> & {
8
8
  okText?: string;
9
9
  okButtonProps?: ButtonProps;
10
10
  loadingText?: string;
11
+ enterSubmit?: boolean;
11
12
  };
12
13
  export interface FormDrawerSlotProps {
13
14
  resolve: (type?: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@formily/grid'\r\nimport type { InjectionKey, Ref } from 'vue'\r\nimport { Grid } from '@formily/grid'\r\nimport { markRaw } from '@formily/reactive'\r\nimport { inject } from 'vue'\r\n\r\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\r\n\r\nexport function createFormGrid(props): IGrid<HTMLElement> {\r\n return markRaw(new Grid(props))\r\n}\r\n\r\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\r\n"],"names":["FormGridSymbol","createFormGrid","props","markRaw","Grid","useFormGrid","inject"],"mappings":";;;AAMO,MAAMA,IAAwD,OAAO,iBAAiB;AAEtF,SAASC,EAAeC,GAA2B;AACxD,SAAOC,EAAQ,IAAIC,EAAKF,CAAK,CAAC;AAChC;AAEO,MAAMG,IAAc,MAA+BC,EAAON,CAAc;"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@formily/grid'\nimport type { InjectionKey, Ref } from 'vue'\nimport { Grid } from '@formily/grid'\nimport { markRaw } from '@formily/reactive'\nimport { inject } from 'vue'\n\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\n\nexport function createFormGrid(props): IGrid<HTMLElement> {\n return markRaw(new Grid(props))\n}\n\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\n"],"names":["FormGridSymbol","createFormGrid","props","markRaw","Grid","useFormGrid","inject"],"mappings":";;;AAMO,MAAMA,IAAwD,OAAO,iBAAiB;AAEtF,SAASC,EAAeC,GAA2B;AACxD,SAAOC,EAAQ,IAAIC,EAAKF,CAAK,CAAC;AAChC;AAEO,MAAMG,IAAc,MAA+BC,EAAON,CAAc;"}
@@ -1,10 +1,14 @@
1
- import { observer as i } from "@silver-formily/reactive-vue";
2
- import { defineComponent as l, createElementBlock as u, openBlock as c, renderSlot as d, ref as y, computed as G, provide as b, watchEffect as _, normalizeStyle as g, normalizeClass as F } from "vue";
3
- import { Grid as C } from "@formily/grid";
4
- import { markRaw as v } from "@formily/reactive";
5
- import { FormGridSymbol as h, createFormGrid as N } from "./hooks.mjs";
6
- import { stylePrefix as w } from "../__builtins__/configs/index.mjs";
7
- import { composeExport as x } from "../__builtins__/shared/utils.mjs";
1
+ import { observer as s } from "@silver-formily/reactive-vue";
2
+ import "element-plus";
3
+ import { markRaw as y } from "@formily/reactive";
4
+ import "@vueuse/core";
5
+ import { defineComponent as l, createElementBlock as u, openBlock as c, renderSlot as d, ref as G, computed as b, provide as _, watchEffect as g, normalizeStyle as F, normalizeClass as C } from "vue";
6
+ import "@formily/core";
7
+ import "@silver-formily/vue";
8
+ import { composeExport as v } from "../__builtins__/shared/utils.mjs";
9
+ import { Grid as h } from "@formily/grid";
10
+ import { stylePrefix as N } from "../__builtins__/configs/index.mjs";
11
+ import { FormGridSymbol as w, createFormGrid as x } from "./hooks.mjs";
8
12
  import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__PURE__ */ l({
9
13
  name: "FFormGridColumn",
10
14
  __name: "form-grid-column",
@@ -14,12 +18,12 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
14
18
  default: 1
15
19
  }
16
20
  },
17
- setup(n) {
18
- const r = n;
19
- return (m, a) => (c(), u("div", {
21
+ setup(m) {
22
+ const r = m;
23
+ return (n, a) => (c(), u("div", {
20
24
  "data-grid-span": r.gridSpan
21
25
  }, [
22
- d(m.$slots, "default")
26
+ d(n.$slots, "default")
23
27
  ], 8, A));
24
28
  }
25
29
  }), S = /* @__PURE__ */ l({
@@ -65,18 +69,18 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
65
69
  type: Object
66
70
  }
67
71
  },
68
- setup(n) {
69
- const r = n, m = `${w}-form-grid`, a = y(), o = G(() => {
72
+ setup(m) {
73
+ const r = m, n = `${N}-form-grid`, a = G(), o = b(() => {
70
74
  const { grid: e, ...t } = r, f = {
71
75
  columnGap: r?.columnGap ?? 8,
72
76
  rowGap: r.rowGap ?? 4,
73
77
  ...Object.fromEntries(
74
- Object.entries(t).filter(([s, p]) => p !== void 0).map(([s, p]) => [s, p])
78
+ Object.entries(t).filter(([i, p]) => p !== void 0).map(([i, p]) => [i, p])
75
79
  )
76
80
  };
77
- return v(e ?? new C(f));
81
+ return y(e ?? new h(f));
78
82
  });
79
- return b(h, o), _((e) => {
83
+ return _(w, o), g((e) => {
80
84
  const t = o.value.connect(a.value);
81
85
  e(() => {
82
86
  t();
@@ -84,8 +88,8 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
84
88
  }), (e, t) => (c(), u("div", {
85
89
  ref_key: "rootRef",
86
90
  ref: a,
87
- class: F(m),
88
- style: g({
91
+ class: C(n),
92
+ style: F({
89
93
  gridTemplateColumns: o.value.templateColumns,
90
94
  gap: o.value.gap
91
95
  })
@@ -93,12 +97,12 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
93
97
  d(e.$slots, "default")
94
98
  ], 4));
95
99
  }
96
- }), B = i(S), E = i(k), P = x(B, {
100
+ }), B = s(S), E = s(k), D = v(B, {
97
101
  GridColumn: E,
98
- createFormGrid: N
102
+ createFormGrid: x
99
103
  });
100
104
  export {
101
- P as FormGrid,
102
- P as default
105
+ D as FormGrid,
106
+ D as default
103
107
  };
104
108
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\ndefineOptions({\r\n name: 'FFormGridColumn',\r\n})\r\n\r\nconst props = defineProps({\r\n gridSpan: {\r\n type: Number,\r\n default: 1,\r\n },\r\n})\r\n</script>\r\n\r\n<template>\r\n <!-- @formily/grid 会优先使用这个值,如果没有会自动生成 -->\r\n <div :data-grid-span=\"props.gridSpan\">\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IGridOptions } from '@formily/grid'\r\nimport type { PropType } from 'vue'\r\nimport { Grid } from '@formily/grid'\r\nimport { markRaw } from '@formily/reactive'\r\nimport { computed, provide, ref, watchEffect } from 'vue'\r\nimport { stylePrefix } from '../__builtins__'\r\nimport { FormGridSymbol } from './hooks'\r\n\r\ndefineOptions({\r\n name: 'FFormGrid',\r\n})\r\n\r\nconst props = defineProps({\r\n columnGap: {\r\n type: Number,\r\n },\r\n rowGap: {\r\n type: Number,\r\n },\r\n minColumns: {\r\n type: [Number, Array],\r\n },\r\n minWidth: {\r\n type: [Number, Array],\r\n },\r\n maxColumns: {\r\n type: [Number, Array],\r\n },\r\n maxWidth: {\r\n type: [Number, Array],\r\n },\r\n breakpoints: {\r\n type: Array as PropType<number[]>,\r\n },\r\n colWrap: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n strictAutoFit: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n shouldVisible: {\r\n type: Function as PropType<IGridOptions['shouldVisible']>,\r\n default() {\r\n return () => true\r\n },\r\n },\r\n grid: {\r\n type: Object as PropType<Grid<HTMLElement>>,\r\n },\r\n})\r\n\r\nconst prefixCls = `${stylePrefix}-form-grid`\r\nconst rootRef = ref<HTMLElement>()\r\n\r\nconst gridInstance = computed(() => {\r\n const { grid, ...restProps } = props\r\n const options = {\r\n columnGap: props?.columnGap ?? 8,\r\n rowGap: props.rowGap ?? 4,\r\n ...Object.fromEntries(\r\n Object.entries(restProps)\r\n .filter(([_, v]) => v !== undefined)\r\n .map(([k, v]) => [k, v]),\r\n ),\r\n }\r\n return markRaw(grid ?? new Grid(options))\r\n})\r\n\r\nprovide(FormGridSymbol, gridInstance)\r\n\r\nwatchEffect((onInvalidate) => {\r\n const dispose = gridInstance.value.connect(rootRef.value)\r\n onInvalidate(() => {\r\n dispose()\r\n })\r\n})\r\n</script>\r\n\r\n<template>\r\n <div\r\n ref=\"rootRef\"\r\n :class=\"prefixCls\"\r\n :style=\"{\r\n gridTemplateColumns: gridInstance.templateColumns,\r\n gap: gridInstance.gap,\r\n }\"\r\n >\r\n <slot />\r\n </div>\r\n</template>\r\n","import { observer } from '@silver-formily/reactive-vue'\r\nimport { composeExport } from '../__builtins__'\r\nimport FFormGridColumn from './form-grid-column.vue'\r\nimport FFormGrid from './form-grid.vue'\r\nimport { createFormGrid } from './hooks'\r\nimport './style.scss'\r\n\r\nconst FormGridInner = observer(FFormGrid)\r\n\r\nconst FormGridColumn = observer(FFormGridColumn)\r\n\r\nexport const FormGrid = composeExport(FormGridInner, {\r\n GridColumn: FormGridColumn,\r\n createFormGrid,\r\n})\r\n\r\nexport default FormGrid\r\n"],"names":["props","__props","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","computed","grid","restProps","options","_","v","k","markRaw","Grid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport","createFormGrid"],"mappings":";;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC;2BAUZC,EAEM,OAAA;AAAA,MAFA,kBAAgBF,EAAM;AAAA,IAAA;MAC1BG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHZ,UAAMJ,IAAQC,GAyCRI,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeC,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAAcZ,GACzBa,IAAU;AAAA,QACd,WAAWb,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQY,CAAS,EACrB,OAAO,CAAC,CAACE,GAAGC,CAAC,MAAMA,MAAM,MAAS,EAClC,IAAI,CAAC,CAACC,GAAGD,CAAC,MAAM,CAACC,GAAGD,CAAC,CAAC;AAAA,QAAA;AAAA,MAC3B;AAEF,aAAOE,EAAQN,KAAQ,IAAIO,EAAKL,CAAO,CAAC;AAAA,IAC1C,CAAC;AAED,WAAAM,EAAQC,GAAgBX,CAAY,GAEpCY,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUd,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAe,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICrB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKmB,EAAA;AAAA,QAAgC,qBAAAf,EAAA,MAAa;AAAA,QAA6B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK7FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNqB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AAAA,EACZ,gBAAAI;AACF,CAAC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineOptions({\n name: 'FFormGridColumn',\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n</script>\n\n<template>\n <!-- @formily/grid 会优先使用这个值,如果没有会自动生成 -->\n <div :data-grid-span=\"props.gridSpan\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IGridOptions } from '@formily/grid'\nimport type { PropType } from 'vue'\nimport { Grid } from '@formily/grid'\nimport { markRaw } from '@formily/reactive'\nimport { computed, provide, ref, watchEffect } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FormGridSymbol } from './hooks'\n\ndefineOptions({\n name: 'FFormGrid',\n})\n\nconst props = defineProps({\n columnGap: {\n type: Number,\n },\n rowGap: {\n type: Number,\n },\n minColumns: {\n type: [Number, Array],\n },\n minWidth: {\n type: [Number, Array],\n },\n maxColumns: {\n type: [Number, Array],\n },\n maxWidth: {\n type: [Number, Array],\n },\n breakpoints: {\n type: Array as PropType<number[]>,\n },\n colWrap: {\n type: Boolean,\n default: true,\n },\n strictAutoFit: {\n type: Boolean,\n default: false,\n },\n shouldVisible: {\n type: Function as PropType<IGridOptions['shouldVisible']>,\n default() {\n return () => true\n },\n },\n grid: {\n type: Object as PropType<Grid<HTMLElement>>,\n },\n})\n\nconst prefixCls = `${stylePrefix}-form-grid`\nconst rootRef = ref<HTMLElement>()\n\nconst gridInstance = computed(() => {\n const { grid, ...restProps } = props\n const options = {\n columnGap: props?.columnGap ?? 8,\n rowGap: props.rowGap ?? 4,\n ...Object.fromEntries(\n Object.entries(restProps)\n .filter(([_, v]) => v !== undefined)\n .map(([k, v]) => [k, v]),\n ),\n }\n return markRaw(grid ?? new Grid(options))\n})\n\nprovide(FormGridSymbol, gridInstance)\n\nwatchEffect((onInvalidate) => {\n const dispose = gridInstance.value.connect(rootRef.value)\n onInvalidate(() => {\n dispose()\n })\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"prefixCls\"\n :style=\"{\n gridTemplateColumns: gridInstance.templateColumns,\n gap: gridInstance.gap,\n }\"\n >\n <slot />\n </div>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport { composeExport } from '../__builtins__'\nimport FFormGridColumn from './form-grid-column.vue'\nimport FFormGrid from './form-grid.vue'\nimport { createFormGrid } from './hooks'\nimport './style.scss'\n\nconst FormGridInner = observer(FFormGrid)\n\nconst FormGridColumn = observer(FFormGridColumn)\n\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n createFormGrid,\n})\n\nexport default FormGrid\n"],"names":["props","__props","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","computed","grid","restProps","options","_","v","k","markRaw","Grid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport","createFormGrid"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC;2BAUZC,EAEM,OAAA;AAAA,MAFA,kBAAgBF,EAAM;AAAA,IAAA;MAC1BG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHZ,UAAMJ,IAAQC,GAyCRI,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeC,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAAcZ,GACzBa,IAAU;AAAA,QACd,WAAWb,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQY,CAAS,EACrB,OAAO,CAAC,CAACE,GAAGC,CAAC,MAAMA,MAAM,MAAS,EAClC,IAAI,CAAC,CAACC,GAAGD,CAAC,MAAM,CAACC,GAAGD,CAAC,CAAC;AAAA,QAAA;AAAA,MAC3B;AAEF,aAAOE,EAAQN,KAAQ,IAAIO,EAAKL,CAAO,CAAC;AAAA,IAC1C,CAAC;AAED,WAAAM,EAAQC,GAAgBX,CAAY,GAEpCY,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUd,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAe,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICrB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKmB,EAAA;AAAA,QAA+B,qBAAAf,EAAA,MAAa;AAAA,QAA4B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK3FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNqB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AAAA,EACZ,gBAAAI;AACF,CAAC;"}
@@ -74,3 +74,4 @@ export declare const FormItem: {
74
74
  };
75
75
  export default FormItem;
76
76
  export { default as FormBaseItem } from './form-item';
77
+ export type { IFormItemProps } from './types';