@silver-formily/element-plus 2.4.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/esm/__builtins__/shared/transform-component.d.ts +1 -1
  2. package/esm/__builtins__/shared/utils.mjs +0 -2
  3. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  4. package/esm/array-base/index.mjs +11 -11
  5. package/esm/array-base/symbols.mjs +1 -1
  6. package/esm/array-base/symbols.mjs.map +1 -1
  7. package/esm/array-base/utils.mjs +0 -1
  8. package/esm/array-base/utils.mjs.map +1 -1
  9. package/esm/array-cards/index.mjs +1 -1
  10. package/esm/array-collapse/index.mjs +2 -5
  11. package/esm/array-collapse/index.mjs.map +1 -1
  12. package/esm/array-items/index.mjs +1 -1
  13. package/esm/array-list-tabs/index.mjs +9 -9
  14. package/esm/array-table/index.mjs +7 -10
  15. package/esm/array-table/index.mjs.map +1 -1
  16. package/esm/array-tabs/index.mjs +1 -2
  17. package/esm/array-tabs/index.mjs.map +1 -1
  18. package/esm/autocomplete/autocomplete.d.ts +16 -16
  19. package/esm/autocomplete/index.d.ts +8 -8
  20. package/esm/autocomplete/index.mjs +2 -4
  21. package/esm/autocomplete/index.mjs.map +1 -1
  22. package/esm/cascader/index.mjs +2 -2
  23. package/esm/checkbox/index.d.ts +27 -27
  24. package/esm/checkbox/index.mjs +7 -12
  25. package/esm/checkbox/index.mjs.map +1 -1
  26. package/esm/editable/editable.d.ts +12 -12
  27. package/esm/editable/index.d.ts +6 -6
  28. package/esm/editable/index.mjs +27 -33
  29. package/esm/editable/index.mjs.map +1 -1
  30. package/esm/env.d.d.ts +1 -0
  31. package/esm/form/form.mjs +5 -5
  32. package/esm/form-button-group/index.mjs +5 -12
  33. package/esm/form-button-group/index.mjs.map +1 -1
  34. package/esm/form-collapse/index.mjs +1 -1
  35. package/esm/form-collapse/utils.mjs +0 -2
  36. package/esm/form-collapse/utils.mjs.map +1 -1
  37. package/esm/form-dialog/index.d.ts +1 -1
  38. package/esm/form-dialog/index.mjs +63 -70
  39. package/esm/form-dialog/index.mjs.map +1 -1
  40. package/esm/form-dialog/types.d.ts +13 -5
  41. package/esm/form-drawer/index.d.ts +1 -1
  42. package/esm/form-drawer/index.mjs +62 -69
  43. package/esm/form-drawer/index.mjs.map +1 -1
  44. package/esm/form-drawer/types.d.ts +13 -5
  45. package/esm/form-grid/form-grid.d.ts +2 -2
  46. package/esm/form-grid/hooks.d.ts +1 -2
  47. package/esm/form-grid/hooks.mjs +4 -11
  48. package/esm/form-grid/hooks.mjs.map +1 -1
  49. package/esm/form-grid/index.mjs +34 -32
  50. package/esm/form-grid/index.mjs.map +1 -1
  51. package/esm/form-item/index.mjs +25 -31
  52. package/esm/form-item/index.mjs.map +1 -1
  53. package/esm/form-item/types.d.ts +8 -6
  54. package/esm/form-layout/form-layout.mjs +2 -2
  55. package/esm/form-layout/utils.mjs +2 -2
  56. package/esm/form-layout/utils.mjs.map +1 -1
  57. package/esm/form-step/index.mjs +2 -2
  58. package/esm/form-step/utils.mjs +0 -3
  59. package/esm/form-step/utils.mjs.map +1 -1
  60. package/esm/form-tab/hooks.d.ts +2 -1
  61. package/esm/form-tab/hooks.mjs +13 -20
  62. package/esm/form-tab/hooks.mjs.map +1 -1
  63. package/esm/form-tab/index.mjs +39 -40
  64. package/esm/form-tab/index.mjs.map +1 -1
  65. package/esm/index.mjs +9 -9
  66. package/esm/input/index.mjs +2 -2
  67. package/esm/input-number/index.d.ts +15 -15
  68. package/esm/input-tag/index.mjs +2 -2
  69. package/esm/mention/index.mjs +2 -2
  70. package/esm/pagination/pagination.mjs +1 -1
  71. package/esm/pagination/pagination.mjs.map +1 -1
  72. package/esm/preview-text/index.mjs +2 -11
  73. package/esm/preview-text/index.mjs.map +1 -1
  74. package/esm/preview-text/utils.mjs +1 -1
  75. package/esm/preview-text/utils.mjs.map +1 -1
  76. package/esm/query-form/index.d.ts +3 -3
  77. package/esm/query-form/index.mjs +28 -31
  78. package/esm/query-form/index.mjs.map +1 -1
  79. package/esm/query-form/query-form.d.ts +1 -1
  80. package/esm/query-form/types.d.ts +1 -1
  81. package/esm/query-form-item/index.mjs +7 -11
  82. package/esm/query-form-item/index.mjs.map +1 -1
  83. package/esm/radio/index.d.ts +18 -18
  84. package/esm/radio/index.mjs +7 -12
  85. package/esm/radio/index.mjs.map +1 -1
  86. package/esm/reset/index.mjs +2 -2
  87. package/esm/segmented/index.mjs +2 -2
  88. package/esm/select/index.d.ts +16 -16
  89. package/esm/select/index.mjs +1 -1
  90. package/esm/select-table/index.d.ts +6 -6
  91. package/esm/select-table/index.mjs +4 -5
  92. package/esm/select-table/index.mjs.map +1 -1
  93. package/esm/select-table/select-table.d.ts +2 -2
  94. package/esm/styles/form-grid/index.css +1 -1
  95. package/esm/submit/index.mjs +3 -3
  96. package/esm/submit/index.mjs.map +1 -1
  97. package/esm/switch/index.d.ts +9 -9
  98. package/esm/time-select/index.d.ts +12 -12
  99. package/esm/transfer/index.d.ts +12 -12
  100. package/esm/tree/index.mjs +3 -3
  101. package/esm/tree/utils.mjs +0 -2
  102. package/esm/tree/utils.mjs.map +1 -1
  103. package/esm/tree-select/index.mjs +2 -2
  104. package/esm/upload/index.d.ts +12 -12
  105. package/esm/upload/index.mjs +3 -3
  106. package/esm/upload/upload.d.ts +24 -24
  107. package/esm/vendor/icon.mjs.map +1 -1
  108. package/esm/vendor/lodash.mjs +111 -85
  109. package/esm/vendor/lodash.mjs.map +1 -1
  110. package/esm/vendor/runtime.mjs +23 -29
  111. package/esm/vendor/runtime.mjs.map +1 -1
  112. package/esm/vendor/shared.esm-bundler.mjs +2 -7
  113. package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
  114. package/esm/vendor/sizes.mjs.map +1 -1
  115. package/esm/vendor/types.mjs +5 -5
  116. package/esm/vendor/types.mjs.map +1 -1
  117. package/package.json +57 -82
  118. 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 { 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";
10
- import { stylePrefix as oe } from "../__builtins__/configs/index.mjs";
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({
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 { ElDrawer as W, ElButton as D, ElConfigProvider as X } from "element-plus";
7
+ import { useDebonceSubmitting as Y, loading as M, getTransitionDuration as Z } from "../__builtins__/shared/loading.mjs";
8
+ import { FormProvider as _ } from "@silver-formily/vue";
9
+ import { isVueOptions as ee } from "../__builtins__/shared/utils.mjs";
10
+ import { stylePrefix as re } from "../__builtins__/configs/index.mjs";
11
+ import { loadElConfigProvider as oe } from "../__builtins__/shared/load-config-provider.mjs";
12
+ import { useEnterSubmit as te } from "../__builtins__/shared/use-enter-submit.mjs";
13
+ import { resolveDrawerElement as ne } from "../shared/overlay-elements.mjs";
14
+ import { o as ie, c as F } from "../vendor/lodash.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 = `${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),
41
+ const s = o, f = R(), e = `${re}-form-drawer`, u = oe(), { internalSubmitting: d } = Y(s.form), m = ie(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = B(null), r = $(() => s.drawerProps.enterSubmit !== !1);
42
+ return te({
43
+ visible: $(() => s.visible),
44
44
  resolve: () => s.resolve(),
45
45
  submitting: d,
46
- getContainer: () => ie(l.value),
46
+ getContainer: () => ne(l.value),
47
47
  enabled: r
48
- }), (t, i) => (h(), I(n(X), C({
48
+ }), (t, i) => (k(), A(n(W), 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(ee), { form: o.form }, {
60
+ b(n(_), { form: o.form }, {
61
61
  default: c(() => [
62
- b(n(Y), L(Q(n(u))), {
62
+ b(n(X), 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 = B(r);
139
- /* istanbul ignore if -- @preserve */
137
+ const t = F(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 = re(s) ? { default: () => D(s) } : s;
145
+ const a = ee(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 = _();
166
+ const r = Z();
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
- F(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 F(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
+ M(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 M(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 = B(r);
204
- l[`for${$(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
196
+ const t = F(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\">\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":"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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<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDrawer<T, DynamicMiddlewareNames[number]> {\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(() => undefined)\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, DynamicMiddlewareNames[number]>\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":"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"}
@@ -23,11 +23,19 @@ export interface FormDrawerSlots {
23
23
  export type FormDrawerSlotContent = SlotsType<FormDrawerSlots> | {
24
24
  [key in keyof FormDrawerSlots]?: FormDrawerSlots[key];
25
25
  };
26
- export interface IFormDrawer<T extends object = any> {
27
- forOpen: (middleware: IMiddleware<IFormProps<T>>) => IFormDrawer<T>;
28
- forConfirm: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T>;
29
- forCancel: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T>;
30
- [key: `for${string}`]: (middleware: IMiddleware<IFormProps<T>> | IMiddleware<Form<T>>) => IFormDrawer<T>;
26
+ type ReservedFormDrawerMiddlewareName = 'open' | 'confirm' | 'cancel';
27
+ type ReservedFormDrawerMiddlewareMethodName = `for${Capitalize<ReservedFormDrawerMiddlewareName>}`;
28
+ type NormalizeFormDrawerDynamicMiddlewareName<T extends string> = string extends T ? string : T extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head}_${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head} ${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T;
29
+ type FormDrawerDynamicMiddlewareMethodName<T extends string> = `for${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<T>>}`;
30
+ type FormDrawerDynamicMiddlewareMethods<T extends object, DynamicMiddlewareName extends string> = {
31
+ [K in FormDrawerDynamicMiddlewareMethodName<DynamicMiddlewareName> as K extends ReservedFormDrawerMiddlewareMethodName ? never : K]: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
32
+ };
33
+ interface IFormDrawerBase<T extends object = any, DynamicMiddlewareName extends string = never> {
34
+ forOpen: (middleware: IMiddleware<IFormProps<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
35
+ forConfirm: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
36
+ forCancel: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
31
37
  open: (props?: IFormProps<T>) => Promise<any>;
32
38
  close: () => void;
33
39
  }
40
+ export type IFormDrawer<T extends object = any, DynamicMiddlewareName extends string = never> = IFormDrawerBase<T, DynamicMiddlewareName> & FormDrawerDynamicMiddlewareMethods<T, DynamicMiddlewareName>;
41
+ export {};
@@ -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'\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
+ {"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\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,15 +1,15 @@
1
1
  import { observer as s } from "@silver-formily/reactive-vue";
2
2
  import "element-plus";
3
- import { markRaw as y } from "@formily/reactive";
3
+ import "@formily/reactive";
4
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";
5
+ 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";
6
6
  import "@formily/core";
7
7
  import "@silver-formily/vue";
8
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";
12
- import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__PURE__ */ l({
9
+ import { createGrid as F } from "@silver-formily/grid";
10
+ import { stylePrefix as S } from "../__builtins__/configs/index.mjs";
11
+ import { FormGridSymbol as h } from "./hooks.mjs";
12
+ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__PURE__ */ l({
13
13
  name: "FFormGridColumn",
14
14
  __name: "form-grid-column",
15
15
  props: {
@@ -19,14 +19,17 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
19
19
  }
20
20
  },
21
21
  setup(m) {
22
- const r = m;
23
- return (n, a) => (c(), u("div", {
24
- "data-grid-span": r.gridSpan
22
+ const r = m, a = u(() => r.gridSpan === -1 ? {} : {
23
+ gridColumn: `span ${r.gridSpan} / auto`
24
+ });
25
+ return (t, e) => (d(), c("div", {
26
+ "data-grid-span": r.gridSpan,
27
+ style: f(a.value)
25
28
  }, [
26
- d(n.$slots, "default")
27
- ], 8, A));
29
+ y(t.$slots, "default")
30
+ ], 12, N));
28
31
  }
29
- }), S = /* @__PURE__ */ l({
32
+ }), A = /* @__PURE__ */ l({
30
33
  name: "FFormGrid",
31
34
  __name: "form-grid",
32
35
  props: {
@@ -70,39 +73,38 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
70
73
  }
71
74
  },
72
75
  setup(m) {
73
- const r = m, n = `${N}-form-grid`, a = G(), o = b(() => {
74
- const { grid: e, ...t } = r, f = {
76
+ const r = m, a = `${S}-form-grid`, t = b(), e = u(() => {
77
+ const { grid: o, ...n } = r, g = {
75
78
  columnGap: r?.columnGap ?? 8,
76
79
  rowGap: r.rowGap ?? 4,
77
80
  ...Object.fromEntries(
78
- Object.entries(t).filter(([i, p]) => p !== void 0).map(([i, p]) => [i, p])
81
+ Object.entries(n).filter(([i, p]) => p !== void 0).map(([i, p]) => [i, p])
79
82
  )
80
83
  };
81
- return y(e ?? new h(f));
84
+ return o ?? F(g);
82
85
  });
83
- return _(w, o), g((e) => {
84
- const t = o.value.connect(a.value);
85
- e(() => {
86
- t();
86
+ return G(h, e), _((o) => {
87
+ const n = e.value.connect(t.value);
88
+ o(() => {
89
+ n();
87
90
  });
88
- }), (e, t) => (c(), u("div", {
91
+ }), (o, n) => (d(), c("div", {
89
92
  ref_key: "rootRef",
90
- ref: a,
91
- class: C(n),
92
- style: F({
93
- gridTemplateColumns: o.value.templateColumns,
94
- gap: o.value.gap
93
+ ref: t,
94
+ class: C(a),
95
+ style: f({
96
+ gridTemplateColumns: e.value.templateColumns,
97
+ gap: e.value.gap
95
98
  })
96
99
  }, [
97
- d(e.$slots, "default")
100
+ y(o.$slots, "default")
98
101
  ], 4));
99
102
  }
100
- }), B = s(S), E = s(k), D = v(B, {
101
- GridColumn: E,
102
- createFormGrid: x
103
+ }), $ = s(A), k = s(x), V = v($, {
104
+ GridColumn: k
103
105
  });
104
106
  export {
105
- D as FormGrid,
106
- D as default
107
+ V as FormGrid,
108
+ V as default
107
109
  };
108
110
  //# 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>\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;"}
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>\nimport { computed } from 'vue'\n\ndefineOptions({\n name: 'FFormGridColumn',\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n\nconst gridColumnStyle = computed(() => {\n if (props.gridSpan === -1) {\n // gridSpan=-1 means \"fill remaining columns in current row\".\n // Leave gridColumn unset so @silver-formily/grid can manage it dynamically.\n return {}\n }\n return {\n gridColumn: `span ${props.gridSpan} / auto`,\n }\n})\n</script>\n\n<template>\n <!-- @silver-formily/grid 会优先使用这个值,如果没有会自动生成 -->\n <div :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Grid, IGridOptions } from '@silver-formily/grid'\nimport type { PropType } from 'vue'\nimport { createGrid } from '@silver-formily/grid'\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 grid ?? createGrid(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 './style.scss'\n\nconst FormGridInner = observer(FFormGrid)\n\nconst FormGridColumn = observer(FFormGridColumn)\n\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n})\n\nexport default FormGrid\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,KAGd,CAAA,IAEF;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,QAA+B,qBAAAb,EAAA,MAAa;AAAA,QAA4B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK3FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNmB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AACd,CAAC;"}