@silver-formily/element-plus 2.3.0 → 3.0.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 (145) hide show
  1. package/esm/__builtins__/index.mjs +20 -19
  2. package/esm/__builtins__/shared/index.mjs +11 -10
  3. package/esm/__builtins__/shared/transform-component.d.ts +1 -1
  4. package/esm/__builtins__/shared/utils.d.ts +1 -0
  5. package/esm/__builtins__/shared/utils.mjs +22 -18
  6. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  7. package/esm/array-base/index.mjs +27 -27
  8. package/esm/array-base/index.mjs.map +1 -1
  9. package/esm/array-base/symbols.mjs +1 -1
  10. package/esm/array-base/symbols.mjs.map +1 -1
  11. package/esm/array-base/utils.d.ts +0 -1
  12. package/esm/array-base/utils.mjs +27 -35
  13. package/esm/array-base/utils.mjs.map +1 -1
  14. package/esm/array-cards/index.mjs +1 -1
  15. package/esm/array-cards/index.mjs.map +1 -1
  16. package/esm/array-collapse/index.mjs +2 -5
  17. package/esm/array-collapse/index.mjs.map +1 -1
  18. package/esm/array-items/index.mjs +1 -1
  19. package/esm/array-list-tabs/index.mjs +9 -9
  20. package/esm/array-table/index.mjs +7 -9
  21. package/esm/array-table/index.mjs.map +1 -1
  22. package/esm/array-tabs/index.mjs +1 -2
  23. package/esm/array-tabs/index.mjs.map +1 -1
  24. package/esm/autocomplete/autocomplete.d.ts +16 -16
  25. package/esm/autocomplete/index.d.ts +8 -8
  26. package/esm/autocomplete/index.mjs +2 -2
  27. package/esm/autocomplete/index.mjs.map +1 -1
  28. package/esm/cascader/index.mjs +2 -2
  29. package/esm/checkbox/index.d.ts +27 -27
  30. package/esm/checkbox/index.mjs +7 -12
  31. package/esm/checkbox/index.mjs.map +1 -1
  32. package/esm/editable/editable.d.ts +14 -12
  33. package/esm/editable/index.d.ts +7 -6
  34. package/esm/editable/index.mjs +57 -61
  35. package/esm/editable/index.mjs.map +1 -1
  36. package/esm/env.d.d.ts +1 -0
  37. package/esm/form/form.mjs +5 -5
  38. package/esm/form-button-group/form-button-group.d.ts +9 -0
  39. package/esm/form-button-group/index.d.ts +15 -0
  40. package/esm/form-button-group/index.mjs +33 -25
  41. package/esm/form-button-group/index.mjs.map +1 -1
  42. package/esm/form-collapse/index.mjs +1 -1
  43. package/esm/form-collapse/utils.mjs +0 -2
  44. package/esm/form-collapse/utils.mjs.map +1 -1
  45. package/esm/form-dialog/index.mjs +63 -70
  46. package/esm/form-dialog/index.mjs.map +1 -1
  47. package/esm/form-drawer/index.mjs +62 -69
  48. package/esm/form-drawer/index.mjs.map +1 -1
  49. package/esm/form-grid/form-grid.d.ts +2 -2
  50. package/esm/form-grid/hooks.d.ts +1 -2
  51. package/esm/form-grid/hooks.mjs +4 -11
  52. package/esm/form-grid/hooks.mjs.map +1 -1
  53. package/esm/form-grid/index.mjs +38 -35
  54. package/esm/form-grid/index.mjs.map +1 -1
  55. package/esm/form-item/index.d.ts +1 -0
  56. package/esm/form-item/index.mjs +102 -107
  57. package/esm/form-item/index.mjs.map +1 -1
  58. package/esm/form-item/types.d.ts +12 -6
  59. package/esm/form-layout/form-layout.mjs +2 -2
  60. package/esm/form-layout/utils.mjs +24 -24
  61. package/esm/form-layout/utils.mjs.map +1 -1
  62. package/esm/form-step/index.mjs +2 -2
  63. package/esm/form-step/utils.mjs +0 -3
  64. package/esm/form-step/utils.mjs.map +1 -1
  65. package/esm/form-tab/hooks.d.ts +2 -1
  66. package/esm/form-tab/hooks.mjs +13 -20
  67. package/esm/form-tab/hooks.mjs.map +1 -1
  68. package/esm/form-tab/index.mjs +38 -39
  69. package/esm/form-tab/index.mjs.map +1 -1
  70. package/esm/index.d.ts +2 -0
  71. package/esm/index.mjs +62 -58
  72. package/esm/index.mjs.map +1 -1
  73. package/esm/input/index.mjs +2 -2
  74. package/esm/input-number/index.d.ts +15 -15
  75. package/esm/input-tag/index.mjs +2 -2
  76. package/esm/mention/index.mjs +2 -2
  77. package/esm/pagination/pagination.mjs +1 -1
  78. package/esm/pagination/pagination.mjs.map +1 -1
  79. package/esm/preview-text/index.mjs +33 -42
  80. package/esm/preview-text/index.mjs.map +1 -1
  81. package/esm/preview-text/utils.mjs +1 -1
  82. package/esm/preview-text/utils.mjs.map +1 -1
  83. package/esm/query-form/default-components.d.ts +5 -0
  84. package/esm/query-form/default-components.mjs +47 -0
  85. package/esm/query-form/default-components.mjs.map +1 -0
  86. package/esm/query-form/hooks.d.ts +25 -0
  87. package/esm/query-form/hooks.mjs +29 -0
  88. package/esm/query-form/hooks.mjs.map +1 -0
  89. package/esm/query-form/index.d.ts +117 -0
  90. package/esm/query-form/index.mjs +331 -0
  91. package/esm/query-form/index.mjs.map +1 -0
  92. package/esm/query-form/query-form-light.d.ts +27 -0
  93. package/esm/query-form/query-form.d.ts +52 -0
  94. package/esm/query-form/types.d.ts +44 -0
  95. package/esm/query-form/types.mjs +2 -0
  96. package/esm/query-form/types.mjs.map +1 -0
  97. package/esm/query-form-item/index.d.ts +151 -0
  98. package/esm/query-form-item/index.mjs +181 -0
  99. package/esm/query-form-item/index.mjs.map +1 -0
  100. package/esm/query-form-item/query-form-item.d.ts +96 -0
  101. package/esm/query-form-item/types.d.ts +46 -0
  102. package/esm/query-form-item/types.mjs +2 -0
  103. package/esm/query-form-item/types.mjs.map +1 -0
  104. package/esm/radio/index.d.ts +18 -18
  105. package/esm/radio/index.mjs +7 -12
  106. package/esm/radio/index.mjs.map +1 -1
  107. package/esm/reset/index.mjs +2 -2
  108. package/esm/segmented/index.mjs +2 -2
  109. package/esm/select/index.d.ts +16 -16
  110. package/esm/select/index.mjs +1 -1
  111. package/esm/select-table/index.d.ts +6 -6
  112. package/esm/select-table/index.mjs +22 -24
  113. package/esm/select-table/index.mjs.map +1 -1
  114. package/esm/select-table/select-table.d.ts +2 -2
  115. package/esm/shared/overlay-elements.mjs +14 -11
  116. package/esm/shared/overlay-elements.mjs.map +1 -1
  117. package/esm/styles/form-button-group/index.css +1 -1
  118. package/esm/styles/form-grid/index.css +1 -1
  119. package/esm/styles/form-item/index.css +1 -1
  120. package/esm/styles/query-form/index.css +1 -0
  121. package/esm/styles/query-form-item/index.css +1 -0
  122. package/esm/submit/index.mjs +3 -3
  123. package/esm/submit/index.mjs.map +1 -1
  124. package/esm/switch/index.d.ts +9 -9
  125. package/esm/time-select/index.d.ts +12 -12
  126. package/esm/transfer/index.d.ts +12 -12
  127. package/esm/tree/index.mjs +3 -3
  128. package/esm/tree/utils.mjs +0 -2
  129. package/esm/tree/utils.mjs.map +1 -1
  130. package/esm/tree-select/index.mjs +2 -2
  131. package/esm/upload/index.d.ts +12 -12
  132. package/esm/upload/index.mjs +3 -3
  133. package/esm/upload/upload.d.ts +24 -24
  134. package/esm/vendor/icon.mjs.map +1 -1
  135. package/esm/vendor/lodash.mjs +777 -663
  136. package/esm/vendor/lodash.mjs.map +1 -1
  137. package/esm/vendor/runtime.mjs +23 -29
  138. package/esm/vendor/runtime.mjs.map +1 -1
  139. package/esm/vendor/shared.esm-bundler.mjs +2 -7
  140. package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
  141. package/esm/vendor/sizes.mjs.map +1 -1
  142. package/esm/vendor/types.mjs +5 -5
  143. package/esm/vendor/types.mjs.map +1 -1
  144. package/package.json +89 -115
  145. package/LICENSE +0 -21
@@ -1,18 +1,18 @@
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 { FormProvider as X } from "@silver-formily/vue";
7
- import { ElDrawer as Y, ElButton as M, ElConfigProvider as Z } from "element-plus";
8
- import { useEnterSubmit as _ } from "../__builtins__/shared/use-enter-submit.mjs";
9
- import { resolveDrawerElement as ee } from "../shared/overlay-elements.mjs";
10
- import { o as re, c as F } from "../vendor/lodash.mjs";
11
- import { loadElConfigProvider as oe } from "../__builtins__/shared/load-config-provider.mjs";
12
- import { useDebonceSubmitting as te, loading as B, getTransitionDuration as ne } from "../__builtins__/shared/loading.mjs";
13
- import { stylePrefix as ie } from "../__builtins__/configs/index.mjs";
14
- import { isVueOptions as se } from "../__builtins__/shared/utils.mjs";
15
- const le = /* @__PURE__ */ R({
1
+ import { createForm as V } from "@formily/core";
2
+ import { toJS as q } from "@formily/reactive";
3
+ import { isFn as p, isArr as y, isStr as E, pascalCase as S, applyMiddleware as w, isValid as z } from "@formily/shared";
4
+ import { observer as N } from "@silver-formily/reactive-vue";
5
+ import { defineComponent as O, useSlots as R, ref as B, computed as $, openBlock as k, createBlock as A, unref as n, mergeProps as C, createSlots as I, withCtx as c, createElementVNode as J, normalizeClass as U, renderSlot as g, createElementBlock as G, Fragment as H, createVNode as b, createTextVNode as h, toDisplayString as j, normalizeProps as K, guardReactiveProps as L, h as x, createApp as Q } from "vue";
6
+ import { FormProvider as W } from "@silver-formily/vue";
7
+ import { ElDrawer as X, ElButton as D, ElConfigProvider as Y } from "element-plus";
8
+ import { useEnterSubmit as Z } from "../__builtins__/shared/use-enter-submit.mjs";
9
+ import { resolveDrawerElement as _ } from "../shared/overlay-elements.mjs";
10
+ import { o as ee, c as M } from "../vendor/lodash.mjs";
11
+ import { loadElConfigProvider as re } from "../__builtins__/shared/load-config-provider.mjs";
12
+ import { useDebonceSubmitting as oe, loading as F, getTransitionDuration as te } from "../__builtins__/shared/loading.mjs";
13
+ import { stylePrefix as ne } from "../__builtins__/configs/index.mjs";
14
+ import { isVueOptions as ie } from "../__builtins__/shared/utils.mjs";
15
+ const se = /* @__PURE__ */ O({
16
16
  name: "FormDrawerContent",
17
17
  __name: "drawer-content",
18
18
  props: {
@@ -38,14 +38,14 @@ const le = /* @__PURE__ */ R({
38
38
  }
39
39
  },
40
40
  setup(o) {
41
- const s = o, f = A(), e = `${ie}-form-drawer`, u = oe(), { internalSubmitting: d } = te(s.form), m = re(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = T(null), r = k(() => s.drawerProps.enterSubmit !== !1);
42
- return _({
43
- visible: k(() => s.visible),
41
+ const s = o, f = R(), e = `${ne}-form-drawer`, u = re(), { internalSubmitting: d } = oe(s.form), m = ee(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = B(null), r = $(() => s.drawerProps.enterSubmit !== !1);
42
+ return Z({
43
+ visible: $(() => s.visible),
44
44
  resolve: () => s.resolve(),
45
45
  submitting: d,
46
- getContainer: () => ee(l.value),
46
+ getContainer: () => _(l.value),
47
47
  enabled: r
48
- }), (t, i) => (h(), I(n(Y), C({
48
+ }), (t, i) => (k(), A(n(X), C({
49
49
  ref_key: "drawerRef",
50
50
  ref: l,
51
51
  class: e,
@@ -55,11 +55,11 @@ const le = /* @__PURE__ */ R({
55
55
  "before-close": (a) => {
56
56
  o.reject(), n(p)(s.drawerProps.beforeClose) ? s.drawerProps.beforeClose(a) : a();
57
57
  }
58
- }), J({
58
+ }), I({
59
59
  default: c(() => [
60
- b(n(X), { form: o.form }, {
60
+ b(n(W), { form: o.form }, {
61
61
  default: c(() => [
62
- b(n(Z), L(Q(n(u))), {
62
+ b(n(Y), K(L(n(u))), {
63
63
  default: c(() => [
64
64
  g(t.$slots, "default", {
65
65
  resolve: o.resolve,
@@ -74,29 +74,29 @@ const le = /* @__PURE__ */ R({
74
74
  }, 8, ["form"])
75
75
  ]),
76
76
  footer: c(() => [
77
- U("div", {
78
- class: G(`${e}-footer`)
77
+ J("div", {
78
+ class: U(`${e}-footer`)
79
79
  }, [
80
80
  f.footer ? g(t.$slots, "footer", {
81
81
  key: 0,
82
82
  resolve: o.resolve,
83
83
  reject: o.reject,
84
84
  form: o.form
85
- }) : (h(), H(K, { key: 1 }, [
86
- b(n(M), C(n(m).cancelButtonProps, {
85
+ }) : (k(), G(H, { key: 1 }, [
86
+ b(n(D), C(n(m).cancelButtonProps, {
87
87
  onClick: i[0] || (i[0] = (a) => o.reject())
88
88
  }), {
89
89
  default: c(() => [
90
- j(x(n(m).cancelText || "取消"), 1)
90
+ h(j(n(m).cancelText || "取消"), 1)
91
91
  ]),
92
92
  _: 1
93
93
  }, 16),
94
- b(n(M), C({ type: "primary" }, n(m).okButtonProps, {
94
+ b(n(D), C({ type: "primary" }, n(m).okButtonProps, {
95
95
  loading: n(d),
96
96
  onClick: i[1] || (i[1] = (a) => o.resolve())
97
97
  }), {
98
98
  default: c(() => [
99
- j(x(n(m).okText || "确定"), 1)
99
+ h(j(n(m).okText || "确定"), 1)
100
100
  ]),
101
101
  _: 1
102
102
  }, 16, ["loading"])
@@ -130,42 +130,40 @@ function Ee(o, s, f) {
130
130
  confirmMiddlewares: [],
131
131
  cancelMiddlewares: []
132
132
  };
133
- if (E(f))
133
+ if (y(f))
134
134
  for (const r of f) {
135
- /* istanbul ignore if -- @preserve */
136
- if (!S(r))
135
+ if (!E(r))
137
136
  return;
138
- const t = F(r);
139
- /* istanbul ignore if -- @preserve */
137
+ const t = M(r);
140
138
  if (["open", "cancel", "confirm"].includes(t))
141
- throw new Error(`for${$(t)} is presved`);
139
+ throw new Error(`for${S(t)} is presved`);
142
140
  e[`${t}Middlewares`] = [];
143
141
  }
144
142
  document.body.append(e.root);
145
- const u = S(o) ? { title: o } : o;
143
+ const u = E(o) ? { title: o } : o;
146
144
  function d(r, t, i) {
147
- const a = se(s) ? { default: () => D(s) } : s;
145
+ const a = ie(s) ? { default: () => x(s) } : s;
148
146
  if (!e.instance) {
149
- const v = O({
150
- setup(P, { expose: V }) {
151
- const y = T(!1);
152
- return V({
153
- visible: y
154
- }), () => D(le, {
147
+ const v = N({
148
+ setup(le, { expose: T }) {
149
+ const P = B(!1);
150
+ return T({
151
+ visible: P
152
+ }), () => x(se, {
155
153
  drawerProps: u,
156
154
  form: e.form,
157
155
  resolve: t,
158
156
  reject: i,
159
- visible: y.value
157
+ visible: P.value
160
158
  }, a);
161
159
  }
162
160
  });
163
- e.app = W(v), e.instance = e.app.mount(e.root);
161
+ e.app = Q(v), e.instance = e.app.mount(e.root);
164
162
  }
165
163
  e.instance.visible = r;
166
164
  }
167
165
  function m() {
168
- const r = ne();
166
+ const r = te();
169
167
  setTimeout(() => {
170
168
  e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
171
169
  }, r);
@@ -174,34 +172,29 @@ function Ee(o, s, f) {
174
172
  forOpen: (r) => (p(r) && e.openMiddlewares.push(r), l),
175
173
  forConfirm: (r) => (p(r) && e.confirmMiddlewares.push(r), l),
176
174
  forCancel: (r) => (p(r) && e.cancelMiddlewares.push(r), l),
177
- open: (r) => {
178
- /* istanbul ignore if -- @preserve */
179
- return e.promise || (e.promise = new Promise((t, i) => {
180
- B(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
181
- e.form = e.form || q(a), d(!0, (v) => {
182
- e.form.submit(async () => {
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);
186
- });
187
- }, async () => {
188
- await B(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
175
+ open: (r) => (e.promise || (e.promise = new Promise((t, i) => {
176
+ F(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
177
+ e.form = e.form || V(a), d(!0, (v) => {
178
+ e.form.submit(async () => {
179
+ await (z(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(q(e.form.values)), l.close(), m();
180
+ }).catch(() => {
189
181
  });
190
- }).catch(
191
- /* istanbul ignore next -- @preserve */
192
- (a) => i(a)
193
- );
194
- })), e.promise;
195
- },
182
+ }, async () => {
183
+ await F(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
184
+ });
185
+ }).catch(
186
+ /* istanbul ignore next -- @preserve */
187
+ (a) => i(a)
188
+ );
189
+ })), e.promise),
196
190
  close: () => {
197
- /* istanbul ignore if -- @preserve */
198
191
  e.root && d(!1);
199
192
  }
200
193
  };
201
- if (E(f))
194
+ if (y(f))
202
195
  for (const r of f) {
203
- const t = F(r);
204
- l[`for${$(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
196
+ const t = M(r);
197
+ l[`for${S(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
205
198
  }
206
199
  return l;
207
200
  }
@@ -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 { ComponentPublicInstance, 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 { computed, ref } from 'vue'\r\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\r\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\r\nimport { resolveDrawerElement } from '../shared/overlay-elements'\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', 'enterSubmit'])\r\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\r\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\r\n\r\nuseEnterSubmit({\r\n visible: computed(() => props.visible),\r\n resolve: () => props.resolve(),\r\n submitting: internalSubmitting,\r\n getContainer: () => resolveDrawerElement(drawerRef.value),\r\n enabled: enableEnterSubmit,\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElDrawer\r\n ref=\"drawerRef\"\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","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":"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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\">\r\nimport type { Form } from '@formily/core'\r\nimport type { ComponentPublicInstance, 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 { computed, ref } from 'vue'\r\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\r\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\r\nimport { resolveDrawerElement } from '../shared/overlay-elements'\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', 'enterSubmit'])\r\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\r\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\r\n\r\nuseEnterSubmit({\r\n visible: computed(() => props.visible),\r\n resolve: () => props.resolve(),\r\n submitting: internalSubmitting,\r\n getContainer: () => resolveDrawerElement(drawerRef.value),\r\n enabled: enableEnterSubmit,\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElDrawer\r\n ref=\"drawerRef\"\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(() => undefined)\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","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":"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"}
@@ -1,4 +1,4 @@
1
- import { IGridOptions, Grid } from '@formily/grid';
1
+ import { Grid, IGridOptions } from '../../../grid/src';
2
2
  import { PropType } from 'vue';
3
3
  declare function __VLS_template(): {
4
4
  attrs: Partial<{}>;
@@ -88,7 +88,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
88
88
  }>> & Readonly<{}>, {
89
89
  colWrap: boolean;
90
90
  strictAutoFit: boolean;
91
- shouldVisible: (node: import('@formily/grid').GridNode, grid: Grid<HTMLElement>) => boolean;
91
+ shouldVisible: (node: import('../../../grid/src').GridNode, grid: Grid<HTMLElement>) => boolean;
92
92
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
93
93
  rootRef: HTMLDivElement;
94
94
  }, HTMLDivElement>;
@@ -1,5 +1,4 @@
1
- import { Grid as IGrid } from '@formily/grid';
1
+ import { Grid as IGrid } from '../../../grid/src';
2
2
  import { InjectionKey, Ref } from 'vue';
3
3
  export declare const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>>;
4
- export declare function createFormGrid(props: any): IGrid<HTMLElement>;
5
4
  export declare const useFormGrid: () => Ref<IGrid<HTMLElement>>;
@@ -1,14 +1,7 @@
1
- import { Grid as o } from "@formily/grid";
2
- import { markRaw as m } from "@formily/reactive";
3
- import { inject as t } from "vue";
4
- const i = Symbol("FormGridContext");
5
- function d(r) {
6
- return m(new o(r));
7
- }
8
- const G = () => t(i);
1
+ import { inject as o } from "vue";
2
+ const r = /* @__PURE__ */ Symbol("FormGridContext"), t = () => o(r);
9
3
  export {
10
- i as FormGridSymbol,
11
- d as createFormGrid,
12
- G as useFormGrid
4
+ r as FormGridSymbol,
5
+ t as useFormGrid
13
6
  };
14
7
  //# sourceMappingURL=hooks.mjs.map
@@ -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 '@silver-formily/grid'\nimport type { InjectionKey, Ref } from 'vue'\nimport { inject } from 'vue'\n\r\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\n\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\n"],"names":["FormGridSymbol","useFormGrid","inject"],"mappings":";AAIO,MAAMA,2BAA+D,iBAAiB,GAEhFC,IAAc,MAA+BC,EAAOF,CAAc;"}
@@ -1,11 +1,10 @@
1
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";
8
- import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__PURE__ */ l({
2
+ import { defineComponent as l, computed as u, openBlock as d, createElementBlock as c, normalizeStyle as f, renderSlot as y, ref as b, provide as G, watchEffect as _, normalizeClass as C } from "vue";
3
+ import { createGrid as v } from "@silver-formily/grid";
4
+ import { FormGridSymbol as F } from "./hooks.mjs";
5
+ import { stylePrefix as S } from "../__builtins__/configs/index.mjs";
6
+ import { composeExport as h } from "../__builtins__/shared/utils.mjs";
7
+ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__PURE__ */ l({
9
8
  name: "FFormGridColumn",
10
9
  __name: "form-grid-column",
11
10
  props: {
@@ -14,15 +13,20 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
14
13
  default: 1
15
14
  }
16
15
  },
17
- setup(n) {
18
- const r = n;
19
- return (m, a) => (c(), u("div", {
20
- "data-grid-span": r.gridSpan
16
+ setup(a) {
17
+ const r = a, m = u(() => r.gridSpan === -1 ? {
18
+ gridColumn: "1 / -1"
19
+ } : {
20
+ gridColumn: `span ${r.gridSpan} / auto`
21
+ });
22
+ return (t, e) => (d(), c("div", {
23
+ "data-grid-span": r.gridSpan,
24
+ style: f(m.value)
21
25
  }, [
22
- d(m.$slots, "default")
23
- ], 8, A));
26
+ y(t.$slots, "default")
27
+ ], 12, N));
24
28
  }
25
- }), S = /* @__PURE__ */ l({
29
+ }), A = /* @__PURE__ */ l({
26
30
  name: "FFormGrid",
27
31
  __name: "form-grid",
28
32
  props: {
@@ -65,40 +69,39 @@ 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(() => {
70
- const { grid: e, ...t } = r, f = {
72
+ setup(a) {
73
+ const r = a, m = `${S}-form-grid`, t = b(), e = u(() => {
74
+ const { grid: o, ...n } = r, g = {
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(n).filter(([s, p]) => p !== void 0).map(([s, p]) => [s, p])
75
79
  )
76
80
  };
77
- return v(e ?? new C(f));
81
+ return o ?? v(g);
78
82
  });
79
- return b(h, o), _((e) => {
80
- const t = o.value.connect(a.value);
81
- e(() => {
82
- t();
83
+ return G(F, e), _((o) => {
84
+ const n = e.value.connect(t.value);
85
+ o(() => {
86
+ n();
83
87
  });
84
- }), (e, t) => (c(), u("div", {
88
+ }), (o, n) => (d(), c("div", {
85
89
  ref_key: "rootRef",
86
- ref: a,
87
- class: F(m),
88
- style: g({
89
- gridTemplateColumns: o.value.templateColumns,
90
- gap: o.value.gap
90
+ ref: t,
91
+ class: C(m),
92
+ style: f({
93
+ gridTemplateColumns: e.value.templateColumns,
94
+ gap: e.value.gap
91
95
  })
92
96
  }, [
93
- d(e.$slots, "default")
97
+ y(o.$slots, "default")
94
98
  ], 4));
95
99
  }
96
- }), B = i(S), E = i(k), P = x(B, {
97
- GridColumn: E,
98
- createFormGrid: N
100
+ }), $ = i(A), k = i(x), z = h($, {
101
+ GridColumn: k
99
102
  });
100
103
  export {
101
- P as FormGrid,
102
- P as default
104
+ z as FormGrid,
105
+ z as default
103
106
  };
104
107
  //# 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>\r\nimport { computed } from 'vue'\r\n\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\r\nconst gridColumnStyle = computed(() => {\r\n if (props.gridSpan === -1) {\r\n return {\r\n gridColumn: '1 / -1',\r\n }\r\n }\r\n return {\r\n gridColumn: `span ${props.gridSpan} / auto`,\r\n }\r\n})\r\n</script>\r\n\r\n<template>\r\n <!-- @silver-formily/grid 会优先使用这个值,如果没有会自动生成 -->\r\n <div :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Grid, IGridOptions } from '@silver-formily/grid'\r\nimport type { PropType } from 'vue'\r\nimport { createGrid } from '@silver-formily/grid'\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 grid ?? createGrid(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__'\nimport FFormGridColumn from './form-grid-column.vue'\nimport FFormGrid from './form-grid.vue'\nimport './style.scss'\n\r\nconst FormGridInner = observer(FFormGrid)\r\n\r\nconst FormGridColumn = observer(FFormGridColumn)\r\n\r\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n})\n\r\nexport default FormGrid\r\n"],"names":["props","__props","gridColumnStyle","computed","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","grid","restProps","options","_","v","k","createGrid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport"],"mappings":";;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAORC,IAAkBC,EAAS,MAC3BH,EAAM,aAAa,KACd;AAAA,MACL,YAAY;AAAA,IAAA,IAGT;AAAA,MACL,YAAY,QAAQA,EAAM,QAAQ;AAAA,IAAA,CAErC;2BAKCI,EAEM,OAAA;AAAA,MAFA,kBAAgBJ,EAAM;AAAA,MAAW,SAAOE,EAAA,KAAe;AAAA,IAAA;MAC3DG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBZ,UAAMN,IAAQC,GAyCRM,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeR,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAS,GAAM,GAAGC,EAAA,IAAcb,GACzBc,IAAU;AAAA,QACd,WAAWd,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQa,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,aAAOJ,KAAQM,EAAWJ,CAAO;AAAA,IACnC,CAAC;AAED,WAAAK,EAAQC,GAAgBT,CAAY,GAEpCU,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUZ,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAa,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICnB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKiB,EAAA;AAAA,QAAgC,qBAAAb,EAAA,MAAa;AAAA,QAA6B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK7FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNmB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AACd,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';