@silver-formily/element-plus 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +21 -21
  2. package/README.en-US.md +32 -32
  3. package/README.md +32 -32
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/index.mjs +12 -11
  6. package/esm/__builtins__/shared/index.mjs +11 -10
  7. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  8. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  9. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  10. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  11. package/esm/__builtins__/shared/utils.d.ts +1 -0
  12. package/esm/__builtins__/shared/utils.mjs +23 -17
  13. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  14. package/esm/array-base/index.mjs +56 -52
  15. package/esm/array-base/index.mjs.map +1 -1
  16. package/esm/array-base/symbols.mjs.map +1 -1
  17. package/esm/array-base/utils.d.ts +0 -1
  18. package/esm/array-base/utils.mjs +45 -46
  19. package/esm/array-base/utils.mjs.map +1 -1
  20. package/esm/array-cards/index.mjs +36 -33
  21. package/esm/array-cards/index.mjs.map +1 -1
  22. package/esm/array-collapse/index.mjs +39 -37
  23. package/esm/array-collapse/index.mjs.map +1 -1
  24. package/esm/array-collapse/utils.mjs +9 -2
  25. package/esm/array-collapse/utils.mjs.map +1 -1
  26. package/esm/array-items/index.mjs +38 -34
  27. package/esm/array-items/index.mjs.map +1 -1
  28. package/esm/array-list-tabs/index.mjs +38 -36
  29. package/esm/array-list-tabs/index.mjs.map +1 -1
  30. package/esm/array-list-tabs/utils.mjs +12 -5
  31. package/esm/array-list-tabs/utils.mjs.map +1 -1
  32. package/esm/array-table/index.mjs +63 -60
  33. package/esm/array-table/index.mjs.map +1 -1
  34. package/esm/array-table/utils.mjs +18 -11
  35. package/esm/array-table/utils.mjs.map +1 -1
  36. package/esm/array-tabs/index.mjs +28 -25
  37. package/esm/array-tabs/index.mjs.map +1 -1
  38. package/esm/autocomplete/index.mjs +24 -18
  39. package/esm/autocomplete/index.mjs.map +1 -1
  40. package/esm/cascader/index.mjs +22 -18
  41. package/esm/cascader/index.mjs.map +1 -1
  42. package/esm/checkbox/index.mjs +20 -16
  43. package/esm/checkbox/index.mjs.map +1 -1
  44. package/esm/color-picker/index.mjs +9 -6
  45. package/esm/color-picker/index.mjs.map +1 -1
  46. package/esm/color-picker-panel/index.mjs +9 -6
  47. package/esm/color-picker-panel/index.mjs.map +1 -1
  48. package/esm/date-picker/index.mjs +14 -11
  49. package/esm/date-picker/index.mjs.map +1 -1
  50. package/esm/date-picker/utils.mjs.map +1 -1
  51. package/esm/date-picker-panel/index.mjs +14 -11
  52. package/esm/date-picker-panel/index.mjs.map +1 -1
  53. package/esm/editable/editable.d.ts +2 -0
  54. package/esm/editable/index.d.ts +1 -0
  55. package/esm/editable/index.mjs +71 -66
  56. package/esm/editable/index.mjs.map +1 -1
  57. package/esm/form/form.mjs +6 -6
  58. package/esm/form/form.mjs.map +1 -1
  59. package/esm/form-button-group/form-button-group.d.ts +9 -0
  60. package/esm/form-button-group/index.d.ts +15 -0
  61. package/esm/form-button-group/index.mjs +47 -28
  62. package/esm/form-button-group/index.mjs.map +1 -1
  63. package/esm/form-button-group/utils.mjs +9 -2
  64. package/esm/form-button-group/utils.mjs.map +1 -1
  65. package/esm/form-collapse/index.mjs +21 -18
  66. package/esm/form-collapse/index.mjs.map +1 -1
  67. package/esm/form-collapse/utils.mjs.map +1 -1
  68. package/esm/form-dialog/index.mjs +22 -22
  69. package/esm/form-dialog/index.mjs.map +1 -1
  70. package/esm/form-drawer/index.mjs +21 -21
  71. package/esm/form-drawer/index.mjs.map +1 -1
  72. package/esm/form-grid/hooks.mjs.map +1 -1
  73. package/esm/form-grid/index.mjs +26 -22
  74. package/esm/form-grid/index.mjs.map +1 -1
  75. package/esm/form-item/index.d.ts +1 -0
  76. package/esm/form-item/index.mjs +102 -99
  77. package/esm/form-item/index.mjs.map +1 -1
  78. package/esm/form-item/types.d.ts +4 -0
  79. package/esm/form-item/utils.mjs.map +1 -1
  80. package/esm/form-layout/form-layout.mjs +14 -10
  81. package/esm/form-layout/form-layout.mjs.map +1 -1
  82. package/esm/form-layout/utils.mjs +23 -23
  83. package/esm/form-layout/utils.mjs.map +1 -1
  84. package/esm/form-step/index.mjs +30 -27
  85. package/esm/form-step/index.mjs.map +1 -1
  86. package/esm/form-step/utils.mjs.map +1 -1
  87. package/esm/form-tab/hooks.mjs.map +1 -1
  88. package/esm/form-tab/index.mjs +24 -22
  89. package/esm/form-tab/index.mjs.map +1 -1
  90. package/esm/form-tab/utils.mjs.map +1 -1
  91. package/esm/index.d.ts +2 -0
  92. package/esm/index.mjs +82 -78
  93. package/esm/index.mjs.map +1 -1
  94. package/esm/input/index.mjs +30 -26
  95. package/esm/input/index.mjs.map +1 -1
  96. package/esm/input-number/index.mjs +11 -8
  97. package/esm/input-number/index.mjs.map +1 -1
  98. package/esm/input-tag/index.mjs +20 -16
  99. package/esm/input-tag/index.mjs.map +1 -1
  100. package/esm/mention/index.mjs +24 -20
  101. package/esm/mention/index.mjs.map +1 -1
  102. package/esm/pagination/components/jumper.mjs.map +1 -1
  103. package/esm/pagination/components/next.mjs.map +1 -1
  104. package/esm/pagination/components/pager.mjs.map +1 -1
  105. package/esm/pagination/components/prev.mjs.map +1 -1
  106. package/esm/pagination/components/total.mjs.map +1 -1
  107. package/esm/pagination/pagination.mjs.map +1 -1
  108. package/esm/password/index.mjs.map +1 -1
  109. package/esm/preview-text/index.mjs +57 -53
  110. package/esm/preview-text/index.mjs.map +1 -1
  111. package/esm/preview-text/utils.mjs.map +1 -1
  112. package/esm/query-form/default-components.d.ts +5 -0
  113. package/esm/query-form/default-components.mjs +47 -0
  114. package/esm/query-form/default-components.mjs.map +1 -0
  115. package/esm/query-form/hooks.d.ts +25 -0
  116. package/esm/query-form/hooks.mjs +29 -0
  117. package/esm/query-form/hooks.mjs.map +1 -0
  118. package/esm/query-form/index.d.ts +117 -0
  119. package/esm/query-form/index.mjs +337 -0
  120. package/esm/query-form/index.mjs.map +1 -0
  121. package/esm/query-form/query-form-light.d.ts +27 -0
  122. package/esm/query-form/query-form.d.ts +52 -0
  123. package/esm/query-form/types.d.ts +44 -0
  124. package/esm/query-form/types.mjs +2 -0
  125. package/esm/query-form/types.mjs.map +1 -0
  126. package/esm/query-form-item/index.d.ts +151 -0
  127. package/esm/query-form-item/index.mjs +188 -0
  128. package/esm/query-form-item/index.mjs.map +1 -0
  129. package/esm/query-form-item/query-form-item.d.ts +96 -0
  130. package/esm/query-form-item/types.d.ts +46 -0
  131. package/esm/query-form-item/types.mjs +2 -0
  132. package/esm/query-form-item/types.mjs.map +1 -0
  133. package/esm/radio/index.mjs +29 -25
  134. package/esm/radio/index.mjs.map +1 -1
  135. package/esm/rate/index.mjs +13 -10
  136. package/esm/rate/index.mjs.map +1 -1
  137. package/esm/reset/index.mjs.map +1 -1
  138. package/esm/segmented/index.mjs +16 -12
  139. package/esm/segmented/index.mjs.map +1 -1
  140. package/esm/select/index.mjs +26 -22
  141. package/esm/select/index.mjs.map +1 -1
  142. package/esm/select-table/index.mjs +36 -33
  143. package/esm/select-table/index.mjs.map +1 -1
  144. package/esm/shared/overlay-elements.mjs +14 -11
  145. package/esm/shared/overlay-elements.mjs.map +1 -1
  146. package/esm/slider/index.mjs +13 -10
  147. package/esm/slider/index.mjs.map +1 -1
  148. package/esm/styles/form-button-group/index.css +1 -1
  149. package/esm/styles/form-item/index.css +1 -1
  150. package/esm/styles/query-form/index.css +1 -0
  151. package/esm/styles/query-form-item/index.css +1 -0
  152. package/esm/submit/index.mjs.map +1 -1
  153. package/esm/switch/index.mjs.map +1 -1
  154. package/esm/time-picker/index.mjs +9 -6
  155. package/esm/time-picker/index.mjs.map +1 -1
  156. package/esm/time-select/index.mjs +9 -6
  157. package/esm/time-select/index.mjs.map +1 -1
  158. package/esm/transfer/index.mjs.map +1 -1
  159. package/esm/tree/index.mjs +33 -29
  160. package/esm/tree/index.mjs.map +1 -1
  161. package/esm/tree/utils.mjs.map +1 -1
  162. package/esm/tree-select/index.mjs +18 -14
  163. package/esm/tree-select/index.mjs.map +1 -1
  164. package/esm/upload/index.mjs +10 -7
  165. package/esm/upload/index.mjs.map +1 -1
  166. package/esm/vendor/lodash.mjs +751 -663
  167. package/esm/vendor/lodash.mjs.map +1 -1
  168. package/esm/vendor/sizes.mjs.map +1 -1
  169. package/package.json +115 -115
@@ -3,15 +3,15 @@ import { toJS as z } from "@formily/reactive";
3
3
  import { isFn as p, isArr as E, isStr as S, pascalCase as $, applyMiddleware as w, isValid as N } from "@formily/shared";
4
4
  import { observer as O } from "@silver-formily/reactive-vue";
5
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";
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
15
  const le = /* @__PURE__ */ R({
16
16
  name: "FormDrawerContent",
17
17
  __name: "drawer-content",
@@ -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 _({
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
43
  visible: k(() => s.visible),
44
44
  resolve: () => s.resolve(),
45
45
  submitting: d,
46
- getContainer: () => ee(l.value),
46
+ getContainer: () => ie(l.value),
47
47
  enabled: r
48
- }), (t, i) => (h(), I(n(Y), C({
48
+ }), (t, i) => (h(), I(n(X), C({
49
49
  ref_key: "drawerRef",
50
50
  ref: l,
51
51
  class: e,
@@ -57,9 +57,9 @@ const le = /* @__PURE__ */ R({
57
57
  }
58
58
  }), J({
59
59
  default: c(() => [
60
- b(n(X), { form: o.form }, {
60
+ b(n(ee), { form: o.form }, {
61
61
  default: c(() => [
62
- b(n(Z), L(Q(n(u))), {
62
+ b(n(Y), L(Q(n(u))), {
63
63
  default: c(() => [
64
64
  g(t.$slots, "default", {
65
65
  resolve: o.resolve,
@@ -135,7 +135,7 @@ function Ee(o, s, f) {
135
135
  /* istanbul ignore if -- @preserve */
136
136
  if (!S(r))
137
137
  return;
138
- const t = F(r);
138
+ const t = B(r);
139
139
  /* istanbul ignore if -- @preserve */
140
140
  if (["open", "cancel", "confirm"].includes(t))
141
141
  throw new Error(`for${$(t)} is presved`);
@@ -144,7 +144,7 @@ function Ee(o, s, f) {
144
144
  document.body.append(e.root);
145
145
  const u = S(o) ? { title: o } : o;
146
146
  function d(r, t, i) {
147
- const a = se(s) ? { default: () => D(s) } : s;
147
+ const a = re(s) ? { default: () => D(s) } : s;
148
148
  if (!e.instance) {
149
149
  const v = O({
150
150
  setup(P, { expose: V }) {
@@ -165,7 +165,7 @@ function Ee(o, s, f) {
165
165
  e.instance.visible = r;
166
166
  }
167
167
  function m() {
168
- const r = ne();
168
+ const r = _();
169
169
  setTimeout(() => {
170
170
  e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
171
171
  }, r);
@@ -177,7 +177,7 @@ function Ee(o, s, f) {
177
177
  open: (r) => {
178
178
  /* istanbul ignore if -- @preserve */
179
179
  return e.promise || (e.promise = new Promise((t, i) => {
180
- B(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
180
+ F(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
181
181
  e.form = e.form || q(a), d(!0, (v) => {
182
182
  e.form.submit(async () => {
183
183
  await (N(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(z(e.form.values)), l.close(), m();
@@ -185,7 +185,7 @@ function Ee(o, s, f) {
185
185
  console.warn(P);
186
186
  });
187
187
  }, async () => {
188
- await B(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
188
+ await F(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
189
189
  });
190
190
  }).catch(
191
191
  /* istanbul ignore next -- @preserve */
@@ -200,7 +200,7 @@ function Ee(o, s, f) {
200
200
  };
201
201
  if (E(f))
202
202
  for (const r of f) {
203
- const t = F(r);
203
+ const t = B(r);
204
204
  l[`for${$(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
205
205
  }
206
206
  return l;
@@ -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\">\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 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@formily/grid'\r\nimport type { InjectionKey, Ref } from 'vue'\r\nimport { Grid } from '@formily/grid'\r\nimport { markRaw } from '@formily/reactive'\r\nimport { inject } from 'vue'\r\n\r\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\r\n\r\nexport function createFormGrid(props): IGrid<HTMLElement> {\r\n return markRaw(new Grid(props))\r\n}\r\n\r\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\r\n"],"names":["FormGridSymbol","createFormGrid","props","markRaw","Grid","useFormGrid","inject"],"mappings":";;;AAMO,MAAMA,IAAwD,OAAO,iBAAiB;AAEtF,SAASC,EAAeC,GAA2B;AACxD,SAAOC,EAAQ,IAAIC,EAAKF,CAAK,CAAC;AAChC;AAEO,MAAMG,IAAc,MAA+BC,EAAON,CAAc;"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@formily/grid'\nimport type { InjectionKey, Ref } from 'vue'\nimport { Grid } from '@formily/grid'\nimport { markRaw } from '@formily/reactive'\nimport { inject } from 'vue'\n\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\n\nexport function createFormGrid(props): IGrid<HTMLElement> {\n return markRaw(new Grid(props))\n}\n\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\n"],"names":["FormGridSymbol","createFormGrid","props","markRaw","Grid","useFormGrid","inject"],"mappings":";;;AAMO,MAAMA,IAAwD,OAAO,iBAAiB;AAEtF,SAASC,EAAeC,GAA2B;AACxD,SAAOC,EAAQ,IAAIC,EAAKF,CAAK,CAAC;AAChC;AAEO,MAAMG,IAAc,MAA+BC,EAAON,CAAc;"}
@@ -1,10 +1,14 @@
1
- import { observer as i } from "@silver-formily/reactive-vue";
2
- import { defineComponent as l, createElementBlock as u, openBlock as c, renderSlot as d, ref as y, computed as G, provide as b, watchEffect as _, normalizeStyle as g, normalizeClass as F } from "vue";
3
- import { Grid as C } from "@formily/grid";
4
- import { markRaw as v } from "@formily/reactive";
5
- import { FormGridSymbol as h, createFormGrid as N } from "./hooks.mjs";
6
- import { stylePrefix as w } from "../__builtins__/configs/index.mjs";
7
- import { composeExport as x } from "../__builtins__/shared/utils.mjs";
1
+ import { observer as s } from "@silver-formily/reactive-vue";
2
+ import "element-plus";
3
+ import { markRaw as y } from "@formily/reactive";
4
+ import "@vueuse/core";
5
+ import { defineComponent as l, createElementBlock as u, openBlock as c, renderSlot as d, ref as G, computed as b, provide as _, watchEffect as g, normalizeStyle as F, normalizeClass as C } from "vue";
6
+ import "@formily/core";
7
+ import "@silver-formily/vue";
8
+ import { composeExport as v } from "../__builtins__/shared/utils.mjs";
9
+ import { Grid as h } from "@formily/grid";
10
+ import { stylePrefix as N } from "../__builtins__/configs/index.mjs";
11
+ import { FormGridSymbol as w, createFormGrid as x } from "./hooks.mjs";
8
12
  import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__PURE__ */ l({
9
13
  name: "FFormGridColumn",
10
14
  __name: "form-grid-column",
@@ -14,12 +18,12 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
14
18
  default: 1
15
19
  }
16
20
  },
17
- setup(n) {
18
- const r = n;
19
- return (m, a) => (c(), u("div", {
21
+ setup(m) {
22
+ const r = m;
23
+ return (n, a) => (c(), u("div", {
20
24
  "data-grid-span": r.gridSpan
21
25
  }, [
22
- d(m.$slots, "default")
26
+ d(n.$slots, "default")
23
27
  ], 8, A));
24
28
  }
25
29
  }), S = /* @__PURE__ */ l({
@@ -65,18 +69,18 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
65
69
  type: Object
66
70
  }
67
71
  },
68
- setup(n) {
69
- const r = n, m = `${w}-form-grid`, a = y(), o = G(() => {
72
+ setup(m) {
73
+ const r = m, n = `${N}-form-grid`, a = G(), o = b(() => {
70
74
  const { grid: e, ...t } = r, f = {
71
75
  columnGap: r?.columnGap ?? 8,
72
76
  rowGap: r.rowGap ?? 4,
73
77
  ...Object.fromEntries(
74
- Object.entries(t).filter(([s, p]) => p !== void 0).map(([s, p]) => [s, p])
78
+ Object.entries(t).filter(([i, p]) => p !== void 0).map(([i, p]) => [i, p])
75
79
  )
76
80
  };
77
- return v(e ?? new C(f));
81
+ return y(e ?? new h(f));
78
82
  });
79
- return b(h, o), _((e) => {
83
+ return _(w, o), g((e) => {
80
84
  const t = o.value.connect(a.value);
81
85
  e(() => {
82
86
  t();
@@ -84,8 +88,8 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
84
88
  }), (e, t) => (c(), u("div", {
85
89
  ref_key: "rootRef",
86
90
  ref: a,
87
- class: F(m),
88
- style: g({
91
+ class: C(n),
92
+ style: F({
89
93
  gridTemplateColumns: o.value.templateColumns,
90
94
  gap: o.value.gap
91
95
  })
@@ -93,12 +97,12 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
93
97
  d(e.$slots, "default")
94
98
  ], 4));
95
99
  }
96
- }), B = i(S), E = i(k), P = x(B, {
100
+ }), B = s(S), E = s(k), D = v(B, {
97
101
  GridColumn: E,
98
- createFormGrid: N
102
+ createFormGrid: x
99
103
  });
100
104
  export {
101
- P as FormGrid,
102
- P as default
105
+ D as FormGrid,
106
+ D as default
103
107
  };
104
108
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\ndefineOptions({\r\n name: 'FFormGridColumn',\r\n})\r\n\r\nconst props = defineProps({\r\n gridSpan: {\r\n type: Number,\r\n default: 1,\r\n },\r\n})\r\n</script>\r\n\r\n<template>\r\n <!-- @formily/grid 会优先使用这个值,如果没有会自动生成 -->\r\n <div :data-grid-span=\"props.gridSpan\">\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IGridOptions } from '@formily/grid'\r\nimport type { PropType } from 'vue'\r\nimport { Grid } from '@formily/grid'\r\nimport { markRaw } from '@formily/reactive'\r\nimport { computed, provide, ref, watchEffect } from 'vue'\r\nimport { stylePrefix } from '../__builtins__'\r\nimport { FormGridSymbol } from './hooks'\r\n\r\ndefineOptions({\r\n name: 'FFormGrid',\r\n})\r\n\r\nconst props = defineProps({\r\n columnGap: {\r\n type: Number,\r\n },\r\n rowGap: {\r\n type: Number,\r\n },\r\n minColumns: {\r\n type: [Number, Array],\r\n },\r\n minWidth: {\r\n type: [Number, Array],\r\n },\r\n maxColumns: {\r\n type: [Number, Array],\r\n },\r\n maxWidth: {\r\n type: [Number, Array],\r\n },\r\n breakpoints: {\r\n type: Array as PropType<number[]>,\r\n },\r\n colWrap: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n strictAutoFit: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n shouldVisible: {\r\n type: Function as PropType<IGridOptions['shouldVisible']>,\r\n default() {\r\n return () => true\r\n },\r\n },\r\n grid: {\r\n type: Object as PropType<Grid<HTMLElement>>,\r\n },\r\n})\r\n\r\nconst prefixCls = `${stylePrefix}-form-grid`\r\nconst rootRef = ref<HTMLElement>()\r\n\r\nconst gridInstance = computed(() => {\r\n const { grid, ...restProps } = props\r\n const options = {\r\n columnGap: props?.columnGap ?? 8,\r\n rowGap: props.rowGap ?? 4,\r\n ...Object.fromEntries(\r\n Object.entries(restProps)\r\n .filter(([_, v]) => v !== undefined)\r\n .map(([k, v]) => [k, v]),\r\n ),\r\n }\r\n return markRaw(grid ?? new Grid(options))\r\n})\r\n\r\nprovide(FormGridSymbol, gridInstance)\r\n\r\nwatchEffect((onInvalidate) => {\r\n const dispose = gridInstance.value.connect(rootRef.value)\r\n onInvalidate(() => {\r\n dispose()\r\n })\r\n})\r\n</script>\r\n\r\n<template>\r\n <div\r\n ref=\"rootRef\"\r\n :class=\"prefixCls\"\r\n :style=\"{\r\n gridTemplateColumns: gridInstance.templateColumns,\r\n gap: gridInstance.gap,\r\n }\"\r\n >\r\n <slot />\r\n </div>\r\n</template>\r\n","import { observer } from '@silver-formily/reactive-vue'\r\nimport { composeExport } from '../__builtins__'\r\nimport FFormGridColumn from './form-grid-column.vue'\r\nimport FFormGrid from './form-grid.vue'\r\nimport { createFormGrid } from './hooks'\r\nimport './style.scss'\r\n\r\nconst FormGridInner = observer(FFormGrid)\r\n\r\nconst FormGridColumn = observer(FFormGridColumn)\r\n\r\nexport const FormGrid = composeExport(FormGridInner, {\r\n GridColumn: FormGridColumn,\r\n createFormGrid,\r\n})\r\n\r\nexport default FormGrid\r\n"],"names":["props","__props","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","computed","grid","restProps","options","_","v","k","markRaw","Grid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport","createFormGrid"],"mappings":";;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC;2BAUZC,EAEM,OAAA;AAAA,MAFA,kBAAgBF,EAAM;AAAA,IAAA;MAC1BG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHZ,UAAMJ,IAAQC,GAyCRI,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeC,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAAcZ,GACzBa,IAAU;AAAA,QACd,WAAWb,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQY,CAAS,EACrB,OAAO,CAAC,CAACE,GAAGC,CAAC,MAAMA,MAAM,MAAS,EAClC,IAAI,CAAC,CAACC,GAAGD,CAAC,MAAM,CAACC,GAAGD,CAAC,CAAC;AAAA,QAAA;AAAA,MAC3B;AAEF,aAAOE,EAAQN,KAAQ,IAAIO,EAAKL,CAAO,CAAC;AAAA,IAC1C,CAAC;AAED,WAAAM,EAAQC,GAAgBX,CAAY,GAEpCY,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUd,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAe,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICrB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKmB,EAAA;AAAA,QAAgC,qBAAAf,EAAA,MAAa;AAAA,QAA6B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK7FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNqB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AAAA,EACZ,gBAAAI;AACF,CAAC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineOptions({\n name: 'FFormGridColumn',\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n</script>\n\n<template>\n <!-- @formily/grid 会优先使用这个值,如果没有会自动生成 -->\n <div :data-grid-span=\"props.gridSpan\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IGridOptions } from '@formily/grid'\nimport type { PropType } from 'vue'\nimport { Grid } from '@formily/grid'\nimport { markRaw } from '@formily/reactive'\nimport { computed, provide, ref, watchEffect } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FormGridSymbol } from './hooks'\n\ndefineOptions({\n name: 'FFormGrid',\n})\n\nconst props = defineProps({\n columnGap: {\n type: Number,\n },\n rowGap: {\n type: Number,\n },\n minColumns: {\n type: [Number, Array],\n },\n minWidth: {\n type: [Number, Array],\n },\n maxColumns: {\n type: [Number, Array],\n },\n maxWidth: {\n type: [Number, Array],\n },\n breakpoints: {\n type: Array as PropType<number[]>,\n },\n colWrap: {\n type: Boolean,\n default: true,\n },\n strictAutoFit: {\n type: Boolean,\n default: false,\n },\n shouldVisible: {\n type: Function as PropType<IGridOptions['shouldVisible']>,\n default() {\n return () => true\n },\n },\n grid: {\n type: Object as PropType<Grid<HTMLElement>>,\n },\n})\n\nconst prefixCls = `${stylePrefix}-form-grid`\nconst rootRef = ref<HTMLElement>()\n\nconst gridInstance = computed(() => {\n const { grid, ...restProps } = props\n const options = {\n columnGap: props?.columnGap ?? 8,\n rowGap: props.rowGap ?? 4,\n ...Object.fromEntries(\n Object.entries(restProps)\n .filter(([_, v]) => v !== undefined)\n .map(([k, v]) => [k, v]),\n ),\n }\n return markRaw(grid ?? new Grid(options))\n})\n\nprovide(FormGridSymbol, gridInstance)\n\nwatchEffect((onInvalidate) => {\n const dispose = gridInstance.value.connect(rootRef.value)\n onInvalidate(() => {\n dispose()\n })\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"prefixCls\"\n :style=\"{\n gridTemplateColumns: gridInstance.templateColumns,\n gap: gridInstance.gap,\n }\"\n >\n <slot />\n </div>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport { composeExport } from '../__builtins__'\nimport FFormGridColumn from './form-grid-column.vue'\nimport FFormGrid from './form-grid.vue'\nimport { createFormGrid } from './hooks'\nimport './style.scss'\n\nconst FormGridInner = observer(FFormGrid)\n\nconst FormGridColumn = observer(FFormGridColumn)\n\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n createFormGrid,\n})\n\nexport default FormGrid\n"],"names":["props","__props","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","computed","grid","restProps","options","_","v","k","markRaw","Grid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport","createFormGrid"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC;2BAUZC,EAEM,OAAA;AAAA,MAFA,kBAAgBF,EAAM;AAAA,IAAA;MAC1BG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHZ,UAAMJ,IAAQC,GAyCRI,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeC,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAAcZ,GACzBa,IAAU;AAAA,QACd,WAAWb,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQY,CAAS,EACrB,OAAO,CAAC,CAACE,GAAGC,CAAC,MAAMA,MAAM,MAAS,EAClC,IAAI,CAAC,CAACC,GAAGD,CAAC,MAAM,CAACC,GAAGD,CAAC,CAAC;AAAA,QAAA;AAAA,MAC3B;AAEF,aAAOE,EAAQN,KAAQ,IAAIO,EAAKL,CAAO,CAAC;AAAA,IAC1C,CAAC;AAED,WAAAM,EAAQC,GAAgBX,CAAY,GAEpCY,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUd,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAe,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICrB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKmB,EAAA;AAAA,QAA+B,qBAAAf,EAAA,MAAa;AAAA,QAA4B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK3FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNqB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AAAA,EACZ,gBAAAI;AACF,CAAC;"}
@@ -74,3 +74,4 @@ export declare const FormItem: {
74
74
  };
75
75
  export default FormItem;
76
76
  export { default as FormBaseItem } from './form-item';
77
+ export type { IFormItemProps } from './types';