@silver-formily/element-plus 4.0.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  2. package/esm/__builtins__/shared/transform-component.mjs +1 -1
  3. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  4. package/esm/__builtins__/shared/utils.mjs +11 -6
  5. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  6. package/esm/array-base/array-base-inner.mjs.map +1 -1
  7. package/esm/array-base/array-base-move-down.mjs +1 -1
  8. package/esm/array-base/array-base-move-down.mjs.map +1 -1
  9. package/esm/array-base/array-base-move-up.mjs +1 -1
  10. package/esm/array-base/array-base-move-up.mjs.map +1 -1
  11. package/esm/array-base/array-base-remove.mjs +1 -1
  12. package/esm/array-base/array-base-remove.mjs.map +1 -1
  13. package/esm/array-base/types.d.ts +2 -2
  14. package/esm/array-base/utils.d.ts +1 -1
  15. package/esm/array-base/utils.mjs +1 -1
  16. package/esm/array-base/utils.mjs.map +1 -1
  17. package/esm/array-cards/array-cards.mjs +1 -1
  18. package/esm/array-cards/array-cards.mjs.map +1 -1
  19. package/esm/array-collapse/array-collapse-item.mjs +1 -1
  20. package/esm/array-collapse/array-collapse-item.mjs.map +1 -1
  21. package/esm/array-collapse/array-collapse.mjs +3 -4
  22. package/esm/array-collapse/array-collapse.mjs.map +1 -1
  23. package/esm/array-items/array-items.mjs +3 -8
  24. package/esm/array-items/array-items.mjs.map +1 -1
  25. package/esm/array-list-tabs/array-list-tabs.mjs +57 -51
  26. package/esm/array-list-tabs/array-list-tabs.mjs.map +1 -1
  27. package/esm/array-list-tabs/utils.mjs.map +1 -1
  28. package/esm/array-table/array-table.mjs +4 -18
  29. package/esm/array-table/array-table.mjs.map +1 -1
  30. package/esm/array-table/utils.mjs.map +1 -1
  31. package/esm/array-tabs/array-tabs.mjs +1 -1
  32. package/esm/array-tabs/array-tabs.mjs.map +1 -1
  33. package/esm/autocomplete/autocomplete.mjs.map +1 -1
  34. package/esm/autocomplete/index.d.ts +3 -4
  35. package/esm/checkbox/checkbox-group.mjs +1 -1
  36. package/esm/checkbox/checkbox-group.mjs.map +1 -1
  37. package/esm/checkbox/index.d.ts +57 -57
  38. package/esm/color-picker/index.d.ts +20 -20
  39. package/esm/color-picker-panel/index.d.ts +9 -9
  40. package/esm/date-picker-panel/index.d.ts +1 -1
  41. package/esm/editable/editable-popover.mjs +1 -1
  42. package/esm/editable/editable-popover.mjs.map +1 -1
  43. package/esm/editable/editable.mjs +1 -1
  44. package/esm/editable/editable.mjs.map +1 -1
  45. package/esm/form/form.mjs.map +1 -1
  46. package/esm/form/form.vue.d.ts +1 -1
  47. package/esm/form-collapse/form-collapse.mjs +1 -1
  48. package/esm/form-collapse/form-collapse.mjs.map +1 -1
  49. package/esm/form-collapse/utils.d.ts +2 -2
  50. package/esm/form-collapse/utils.mjs +2 -2
  51. package/esm/form-collapse/utils.mjs.map +1 -1
  52. package/esm/form-dialog/dialog-content.mjs +1 -1
  53. package/esm/form-dialog/dialog-content.mjs.map +1 -1
  54. package/esm/form-dialog/index.mjs +3 -3
  55. package/esm/form-dialog/index.mjs.map +1 -1
  56. package/esm/form-dialog/types.d.ts +2 -2
  57. package/esm/form-drawer/drawer-content.mjs +1 -1
  58. package/esm/form-drawer/drawer-content.mjs.map +1 -1
  59. package/esm/form-drawer/index.mjs +3 -3
  60. package/esm/form-drawer/index.mjs.map +1 -1
  61. package/esm/form-drawer/types.d.ts +2 -2
  62. package/esm/form-grid/form-grid-column.mjs +6 -4
  63. package/esm/form-grid/form-grid-column.mjs.map +1 -1
  64. package/esm/form-item/form-item.mjs +1 -1
  65. package/esm/form-item/form-item.mjs.map +1 -1
  66. package/esm/form-item/index.mjs +1 -1
  67. package/esm/form-item/index.mjs.map +1 -1
  68. package/esm/form-item/utils.mjs +1 -1
  69. package/esm/form-item/utils.mjs.map +1 -1
  70. package/esm/form-layout/form-layout.mjs +1 -1
  71. package/esm/form-layout/form-layout.mjs.map +1 -1
  72. package/esm/form-layout/form-layout.vue.d.ts +1 -1
  73. package/esm/form-layout/utils.mjs +1 -1
  74. package/esm/form-layout/utils.mjs.map +1 -1
  75. package/esm/form-step/form-step.mjs +1 -1
  76. package/esm/form-step/form-step.mjs.map +1 -1
  77. package/esm/form-step/types.d.ts +1 -1
  78. package/esm/form-step/utils.d.ts +1 -1
  79. package/esm/form-step/utils.mjs +1 -1
  80. package/esm/form-step/utils.mjs.map +1 -1
  81. package/esm/form-tab/hooks.mjs.map +1 -1
  82. package/esm/form-tab/utils.mjs +1 -1
  83. package/esm/form-tab/utils.mjs.map +1 -1
  84. package/esm/input-number/index.d.ts +21 -21
  85. package/esm/input-tag/index.d.ts +1 -2
  86. package/esm/input-tag/input-tag.mjs.map +1 -1
  87. package/esm/mention/index.d.ts +3 -4
  88. package/esm/mention/mention.mjs.map +1 -1
  89. package/esm/pagination/components/pager2.mjs.map +1 -1
  90. package/esm/pagination/components/sizes2.mjs +1 -1
  91. package/esm/pagination/components/sizes2.mjs.map +1 -1
  92. package/esm/picker-select/picker-select.mjs +1 -1
  93. package/esm/picker-select/picker-select.mjs.map +1 -1
  94. package/esm/picker-select/types.d.ts +1 -1
  95. package/esm/preview-text/cascader.mjs.map +1 -1
  96. package/esm/preview-text/color-picker.mjs +1 -1
  97. package/esm/preview-text/color-picker.mjs.map +1 -1
  98. package/esm/preview-text/input.mjs +1 -1
  99. package/esm/preview-text/input.mjs.map +1 -1
  100. package/esm/preview-text/rate.mjs +1 -1
  101. package/esm/preview-text/rate.mjs.map +1 -1
  102. package/esm/preview-text/select.mjs +9 -4
  103. package/esm/preview-text/select.mjs.map +1 -1
  104. package/esm/preview-text/time-picker.mjs +1 -1
  105. package/esm/preview-text/time-picker.mjs.map +1 -1
  106. package/esm/preview-text/tree.mjs.map +1 -1
  107. package/esm/query-form/hooks.mjs +1 -1
  108. package/esm/query-form/hooks.mjs.map +1 -1
  109. package/esm/query-form/index.d.ts +5 -5
  110. package/esm/query-form/query-form-light.mjs +14 -7
  111. package/esm/query-form/query-form-light.mjs.map +1 -1
  112. package/esm/query-form/query-form.mjs +14 -7
  113. package/esm/query-form/query-form.mjs.map +1 -1
  114. package/esm/query-form/types.d.ts +9 -2
  115. package/esm/query-form-item/index.d.ts +4 -4
  116. package/esm/query-form-item/query-form-item.mjs +2 -2
  117. package/esm/query-form-item/query-form-item.mjs.map +1 -1
  118. package/esm/query-form-item/types.d.ts +2 -2
  119. package/esm/radio/index.d.ts +60 -60
  120. package/esm/radio/radio-group.mjs +5 -3
  121. package/esm/radio/radio-group.mjs.map +1 -1
  122. package/esm/rate/index.d.ts +10 -10
  123. package/esm/select/index.d.ts +7 -7
  124. package/esm/select-table/index.d.ts +3 -3
  125. package/esm/select-table/select-table.mjs +1 -1
  126. package/esm/select-table/select-table.mjs.map +1 -1
  127. package/esm/select-table/types.d.ts +1 -1
  128. package/esm/submit/submit.mjs.map +1 -1
  129. package/esm/switch/index.d.ts +27 -27
  130. package/esm/time-select/index.d.ts +20 -20
  131. package/esm/transfer/index.d.ts +21 -21
  132. package/esm/tree/tree.mjs +1 -1
  133. package/esm/tree/tree.mjs.map +1 -1
  134. package/esm/tree-select/tree-select.mjs.map +1 -1
  135. package/esm/upload/upload.mjs +1 -1
  136. package/esm/upload/upload.mjs.map +1 -1
  137. package/package.json +18 -14
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["DialogContent"],"sources":["../../src/form-dialog/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDialogSlotContent, IFormDialog, IFormDialogProps } 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 DialogContent from './dialog-content.vue'\n\nexport function FormDialog<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDialogProps | string,\n content?: Component | FormDialogSlotContent<T, DynamicMiddlewareNames[number]>,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDialog<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 settled?: boolean\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 settled: false,\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 IFormDialogProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : 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(DialogContent, {\n dialogProps: 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 disposeDialog() {\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 async function rejectDialog(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDialog()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDialog(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDialog()\n }\n catch {\n env.settled = false\n }\n }\n\n const formDialog = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDialog\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDialog\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDialog\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.settled = false\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 submitDialog(type, res, formDialog.close)\n }).catch(() => undefined)\n }, () => rejectDialog(() => rej(new Error('cancel'))))\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 if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDialog[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDialog\n }\n }\n }\n\n return formDialog as IFormDialog<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDialog\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["DialogContent"],"sources":["../../src/form-dialog/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@silver-formily/core'\nimport type { IMiddleware } from '@silver-formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDialogSlotContent, IFormDialog, IFormDialogProps } from './types'\nimport { createForm } from '@silver-formily/core'\nimport { toJS } from '@silver-formily/reactive'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@silver-formily/shared'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DialogContent from './dialog-content.vue'\n\nexport function FormDialog<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDialogProps | string,\n content?: Component | FormDialogSlotContent<T, DynamicMiddlewareNames[number]>,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDialog<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 settled?: boolean\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 settled: false,\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 IFormDialogProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : 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(DialogContent, {\n dialogProps: 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 disposeDialog() {\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 async function rejectDialog(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDialog()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDialog(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDialog()\n }\n catch {\n env.settled = false\n }\n }\n\n const formDialog = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDialog\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDialog\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDialog\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.settled = false\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 submitDialog(type, res, formDialog.close)\n }).catch(() => undefined)\n }, () => rejectDialog(() => rej(new Error('cancel'))))\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 if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDialog[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDialog\n }\n }\n }\n\n return formDialog as IFormDialog<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDialog\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ButtonProps, DialogProps } from "element-plus";
2
2
  import { SlotsType, VNode } from "vue";
3
- import { Form, IFormProps } from "@formily/core";
4
- import { IMiddleware } from "@formily/shared";
3
+ import { Form, IFormProps } from "@silver-formily/core";
4
+ import { IMiddleware } from "@silver-formily/shared";
5
5
 
6
6
  //#region src/form-dialog/types.d.ts
7
7
  type IFormDialogProps = Partial<DialogProps> & {
@@ -6,7 +6,7 @@ import { resolveDrawerElement } from "../shared/overlay-elements.mjs";
6
6
  import { ElButton, ElConfigProvider, ElDrawer } from "element-plus";
7
7
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, ref, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
8
8
  import { FormProvider } from "@silver-formily/vue";
9
- import { isFn } from "@formily/shared";
9
+ import { isFn } from "@silver-formily/shared";
10
10
  import { omit } from "lodash-es";
11
11
  //#region src/form-drawer/drawer-content.vue
12
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-content.mjs","names":[],"sources":["../../src/form-drawer/drawer-content.vue"],"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 #header>\n <slot v-if=\"slots.header\" 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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAsBd,MAAM,QAAQ,UAAA;EACd,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,WAAW,sBAAqB;EAEtC,MAAM,EAAE,uBAAuB,qBAAqB,MAAM,KAAI;EAC9D,MAAM,eAAe,KAAK,MAAM,aAAa;GAAC;GAAc;GAAuB;GAAe;GAAc,CAAA;EAChH,MAAM,YAAY,IAAoC,KAAI;EAC1D,MAAM,oBAAoB,eAAe,MAAM,YAAY,gBAAgB,MAAK;AAEhF,iBAAe;GACb,SAAS,eAAe,MAAM,QAAQ;GACtC,eAAe,MAAM,SAAS;GAC9B,YAAY;GACZ,oBAAoB,qBAAqB,UAAU,MAAM;GACzD,SAAS;GACV,CAAA;;uBAIC,YAmDW,MAAA,SAAA,EAnDX,WAmDW;aAlDL;IAAJ,KAAI;IACH,OAAO;IACP,WAAS,MAAA,SAAQ,CAAC;MACX,MAAA,aAAY,EAAA;IACnB,eAAa,QAAA;IACb,iBAAe,SAAI;AAAa,aAAA,QAAM;SAAa,MAAA,KAAI,CAAC,MAAM,YAAY,YAAW,CAAa,OAAM,YAAY,YAAY,KAAI;SAA+B,OAAI;;;IAU7J,QAAM,cAC4E,CAA/E,MAAM,SAAlB,WAA2F,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;;IAG1E,SAAO,cAKD,CAJf,YAIe,MAAA,aAAA,EAAA,EAJA,MAAM,QAAA,MAAI,EAAA;4BAGJ,CAFnB,YAEmB,MAAA,iBAAA,EAAA,eAAA,mBAFO,MAAA,SAAQ,CAAA,CAAA,EAAA;6BACyB,CAAzD,WAAyD,KAAA,QAAA,WAAA;OAAlD,SAAS,QAAA;OAAU,QAAQ,QAAA;OAAS,MAAM,QAAA;;;;;;IAK5C,QAAM,cAqBT,CApBN,mBAoBM,OAAA,EApBA,OAAK,eAAA,GAAK,UAAS,SAAA,EAAA,EAAA,CACP,MAAM,SACpB,WAAuE,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;uBAEjE,mBAeW,UAAA,EAAA,KAAA,GAAA,EAAA,CAdT,YAKW,MAAA,SAAA,EALX,WACU,MAIC,aAJW,CAAC,mBAAiB,EACrC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,QAAM,GAAA,CAAA,EAAA;4BAEuB,CAAA,gBAAA,gBAAlC,MAAA,aAAY,CAAC,cAAU,KAAA,EAAA,EAAA,CAAA,CAAA;;YAE5B,YAOW,MAAA,SAAA,EAPX,WAOW,EANT,MAAK,WAAS,EACN,MAAA,aAAY,CAAC,eAAa;KACjC,SAAS,MAAA,mBAAkB;KAC3B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,SAAO;;4BAEkB,CAAA,gBAAA,gBAA9B,MAAA,aAAY,CAAC,UAAM,KAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"drawer-content.mjs","names":[],"sources":["../../src/form-drawer/drawer-content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@silver-formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@silver-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 #header>\n <slot v-if=\"slots.header\" 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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAsBd,MAAM,QAAQ,UAAA;EACd,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,WAAW,sBAAqB;EAEtC,MAAM,EAAE,uBAAuB,qBAAqB,MAAM,KAAI;EAC9D,MAAM,eAAe,KAAK,MAAM,aAAa;GAAC;GAAc;GAAuB;GAAe;GAAc,CAAA;EAChH,MAAM,YAAY,IAAoC,KAAI;EAC1D,MAAM,oBAAoB,eAAe,MAAM,YAAY,gBAAgB,MAAK;AAEhF,iBAAe;GACb,SAAS,eAAe,MAAM,QAAQ;GACtC,eAAe,MAAM,SAAS;GAC9B,YAAY;GACZ,oBAAoB,qBAAqB,UAAU,MAAM;GACzD,SAAS;GACV,CAAA;;uBAIC,YAmDW,MAAA,SAAA,EAnDX,WAmDW;aAlDL;IAAJ,KAAI;IACH,OAAO;IACP,WAAS,MAAA,SAAQ,CAAC;MACX,MAAA,aAAY,EAAA;IACnB,eAAa,QAAA;IACb,iBAAe,SAAI;AAAa,aAAA,QAAM;SAAa,MAAA,KAAI,CAAC,MAAM,YAAY,YAAW,CAAa,OAAM,YAAY,YAAY,KAAI;SAA+B,OAAI;;;IAU7J,QAAM,cAC4E,CAA/E,MAAM,SAAlB,WAA2F,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;;IAG1E,SAAO,cAKD,CAJf,YAIe,MAAA,aAAA,EAAA,EAJA,MAAM,QAAA,MAAI,EAAA;4BAGJ,CAFnB,YAEmB,MAAA,iBAAA,EAAA,eAAA,mBAFO,MAAA,SAAQ,CAAA,CAAA,EAAA;6BACyB,CAAzD,WAAyD,KAAA,QAAA,WAAA;OAAlD,SAAS,QAAA;OAAU,QAAQ,QAAA;OAAS,MAAM,QAAA;;;;;;IAK5C,QAAM,cAqBT,CApBN,mBAoBM,OAAA,EApBA,OAAK,eAAA,GAAK,UAAS,SAAA,EAAA,EAAA,CACP,MAAM,SACpB,WAAuE,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;uBAEjE,mBAeW,UAAA,EAAA,KAAA,GAAA,EAAA,CAdT,YAKW,MAAA,SAAA,EALX,WACU,MAIC,aAJW,CAAC,mBAAiB,EACrC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,QAAM,GAAA,CAAA,EAAA;4BAEuB,CAAA,gBAAA,gBAAlC,MAAA,aAAY,CAAC,cAAU,KAAA,EAAA,EAAA,CAAA,CAAA;;YAE5B,YAOW,MAAA,SAAA,EAPX,WAOW,EANT,MAAK,WAAS,EACN,MAAA,aAAY,CAAC,eAAa;KACjC,SAAS,MAAA,mBAAkB;KAC3B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,SAAO;;4BAEkB,CAAA,gBAAA,gBAA9B,MAAA,aAAY,CAAC,UAAM,KAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -3,10 +3,10 @@ import { isVueOptions } from "../__builtins__/shared/utils.mjs";
3
3
  import _sfc_main from "./drawer-content.mjs";
4
4
  import { observer } from "@silver-formily/reactive-vue";
5
5
  import { createApp, h, ref } from "vue";
6
- import { createForm } from "@formily/core";
7
- import { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from "@formily/shared";
6
+ import { createForm } from "@silver-formily/core";
7
+ import { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from "@silver-formily/shared";
8
8
  import { camelCase } from "lodash-es";
9
- import { toJS } from "@formily/reactive";
9
+ import { toJS } from "@silver-formily/reactive";
10
10
  //#region src/form-drawer/index.ts
11
11
  function FormDrawer(title, content, dynamicMiddlewareNames) {
12
12
  const env = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["DrawerContent"],"sources":["../../src/form-drawer/index.ts"],"sourcesContent":["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<T, DynamicMiddlewareNames[number]>,\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 settled?: boolean\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 settled: false,\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)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : 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 async function rejectDrawer(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDrawer()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDrawer(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDrawer()\n }\n catch {\n env.settled = false\n }\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.settled = false\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 submitDrawer(type, res, formDrawer.close)\n }).catch(() => undefined)\n }, () => rejectDrawer(() => rej(new Error('cancel'))))\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"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["DrawerContent"],"sources":["../../src/form-drawer/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@silver-formily/core'\nimport type { IMiddleware } from '@silver-formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@silver-formily/core'\nimport { toJS } from '@silver-formily/reactive'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@silver-formily/shared'\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<T, DynamicMiddlewareNames[number]>,\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 settled?: boolean\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 settled: false,\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)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : 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 async function rejectDrawer(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDrawer()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDrawer(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDrawer()\n }\n catch {\n env.settled = false\n }\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.settled = false\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 submitDrawer(type, res, formDrawer.close)\n }).catch(() => undefined)\n }, () => rejectDrawer(() => rej(new Error('cancel'))))\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"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ButtonProps, DrawerProps } from "element-plus";
2
2
  import { SlotsType, VNode } from "vue";
3
- import { Form, IFormProps } from "@formily/core";
4
- import { IMiddleware } from "@formily/shared";
3
+ import { Form, IFormProps } from "@silver-formily/core";
4
+ import { IMiddleware } from "@silver-formily/shared";
5
5
 
6
6
  //#region src/form-drawer/types.d.ts
7
7
  type IFormDrawerProps = Partial<DrawerProps> & {
@@ -1,8 +1,9 @@
1
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeStyle, openBlock, renderSlot } from "vue";
1
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, useAttrs } from "vue";
2
2
  //#region src/form-grid/form-grid-column.vue
3
3
  const _hoisted_1 = ["data-grid-span"];
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  name: "FFormGridColumn",
6
+ inheritAttrs: false,
6
7
  __name: "form-grid-column",
7
8
  props: { gridSpan: {
8
9
  type: Number,
@@ -10,15 +11,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10
11
  } },
11
12
  setup(__props) {
12
13
  const props = __props;
14
+ const attrs = useAttrs();
13
15
  const gridColumnStyle = computed(() => {
14
16
  if (props.gridSpan === -1) return {};
15
17
  return { gridColumn: `span ${props.gridSpan} / auto` };
16
18
  });
17
19
  return (_ctx, _cache) => {
18
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" @silver-formily/grid 会优先使用这个值,如果没有会自动生成 "), createElementVNode("div", {
20
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" @silver-formily/grid 会优先使用这个值,如果没有会自动生成 "), createElementVNode("div", mergeProps(unref(attrs), {
19
21
  "data-grid-span": props.gridSpan,
20
- style: normalizeStyle(gridColumnStyle.value)
21
- }, [renderSlot(_ctx.$slots, "default")], 12, _hoisted_1)], 2112);
22
+ style: gridColumnStyle.value
23
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1)], 2112);
22
24
  };
23
25
  }
24
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"form-grid-column.mjs","names":[],"sources":["../../src/form-grid/form-grid-column.vue"],"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"],"mappings":";;;;;;;;;;;EAOA,MAAM,QAAQ;EAOd,MAAM,kBAAkB,eAAe;AACrC,OAAI,MAAM,aAAa,GAGrB,QAAO,EAAC;AAEV,UAAO,EACL,YAAY,QAAQ,MAAM,SAAS,UACrC;IACD;;2DAIC,mBAAA,4CAAgD,EAChD,mBAEM,OAAA;IAFA,kBAAgB,MAAM;IAAW,OAAK,eAAE,gBAAA,MAAe;OAC3D,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA,CAAA,EAAA,KAAA"}
1
+ {"version":3,"file":"form-grid-column.mjs","names":[],"sources":["../../src/form-grid/form-grid-column.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, useAttrs } from 'vue'\n\ndefineOptions({\n name: 'FFormGridColumn',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n\nconst attrs = useAttrs()\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 v-bind=\"attrs\" :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;EAQA,MAAM,QAAQ;EAOd,MAAM,QAAQ,UAAS;EAEvB,MAAM,kBAAkB,eAAe;AACrC,OAAI,MAAM,aAAa,GAGrB,QAAO,EAAC;AAEV,UAAO,EACL,YAAY,QAAQ,MAAM,SAAS,UACrC;IACD;;2DAIC,mBAAA,4CAAgD,EAChD,mBAEM,OAFN,WAAa,MAEP,MAFY,EAAA;IAAG,kBAAgB,MAAM;IAAW,OAAO,gBAAA;QAC3D,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA,CAAA,EAAA,KAAA"}
@@ -4,7 +4,7 @@ import { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace
4
4
  import { useResizeObserver } from "@vueuse/core";
5
5
  import { Fragment, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isVNode, normalizeClass, normalizeStyle, openBlock, provide, reactive, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, watch, withCtx } from "vue";
6
6
  import { useField } from "@silver-formily/vue";
7
- import { isArr, isValid } from "@formily/shared";
7
+ import { isArr, isValid } from "@silver-formily/shared";
8
8
  import { pick } from "lodash-es";
9
9
  import { CircleCheck, CircleClose, InfoFilled, Warning } from "@element-plus/icons-vue";
10
10
  import { addUnit } from "element-plus/es/utils/index";
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.mjs","names":[],"sources":["../../src/form-item/form-item.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Field } from '@formily/core'\nimport type {\n FormItemContext,\n FormItemValidateState,\n FormValidationResult,\n TooltipInstance,\n} from 'element-plus'\nimport type { CSSProperties } from 'vue'\nimport type { ICalculatedFormLayoutProps } from '../form-layout/types'\nimport type { IFormItemProps } from './types'\nimport { CircleCheck, CircleClose, InfoFilled, Warning } from '@element-plus/icons-vue'\nimport { isArr, isValid } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace } from 'element-plus'\nimport { addUnit } from 'element-plus/es/utils/index'\nimport { pick } from 'lodash-es'\nimport { computed, isVNode, provide, reactive, ref, useSlots, watch } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FORM_LAYOUT_PROPS_KEYS, formLayoutShallowContext, useFormLayout } from '../form-layout/utils'\n\ndefineOptions({\n name: 'FFormItem',\n})\nconst props = withDefaults(defineProps<IFormItemProps>(), {\n asterisk: undefined,\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n})\nconst slots = useSlots()\nconst ns = useNamespace('form-item')\nconst prefixCls = `${stylePrefix}-form-item`\nconst rootFormItemClass = computed(() => props.internalFormItemClass || ns.b())\nconst formItemConfig = computed<Partial<ICalculatedFormLayoutProps>>(() =>\n Object.fromEntries(\n Object.entries(pick(props, FORM_LAYOUT_PROPS_KEYS))\n .filter(([_, value]) => isValid(value)),\n ),\n)\nconst formlayoutConfig = useFormLayout()\nconst formlayout = computed(() => Object.assign({\n colon: true,\n feedbackLayout: 'loose',\n fullness: false,\n labelWrap: false,\n}, formlayoutConfig.value, formItemConfig.value))\nconst field = useField<Field>()\n\nconst inheritedSize = useFormSize(undefined, { formItem: false })\nconst formItemSize = computed(() => {\n if (isValid(formlayout.value.size)) {\n return formlayout.value.size\n }\n return inheritedSize.value\n})\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst formItemRef = ref<HTMLDivElement>()\nconst labelRef = ref<HTMLElement>()\nconst feedbackTooltipRef = ref<TooltipInstance>()\ndefineExpose({\n feedbackTooltipRef,\n})\n\nconst labelPosition = computed(\n () => {\n if (formlayout.value.layout === 'vertical' || (isArr(formlayout.value.layout) && formlayout.value.layout.includes('vertical' as any))) {\n return 'top'\n }\n return formlayout.value.labelAlign ?? 'right'\n },\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(formlayout.value.labelWidth || '')\n if (labelWidth)\n return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n const contentWidth = addUnit(formlayout.value?.wrapperWidth || '')\n if (contentWidth)\n return { width: contentWidth, flex: 'unset' }\n return {}\n})\n\nconst contentWrapperStyle = computed<CSSProperties>(() => {\n return {\n justifyContent: formlayout.value?.wrapperAlign === 'right' && 'flex-end',\n }\n})\n\nconst isRequired = computed(() =>\n props.asterisk && field.value?.pattern !== 'readPretty',\n)\n\nconst formItemClasses = computed(() => [\n rootFormItemClass.value,\n ns.m(formItemSize.value || 'default'),\n ns.is(props.feedbackStatus),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.asterisk),\n ns.is('no-asterisk', formlayout.value?.hideRequiredAsterisk),\n ns.is(formlayout.value.feedbackLayout),\n formlayout.value?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formlayout.value?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst validateClasses = computed(() => [\n `${prefixCls}-feedback`,\n ns.is(props.feedbackStatus),\n ns.is('loose', formlayout.value.feedbackLayout === 'loose'),\n])\n\nconst hasLabel = computed<boolean>(() => {\n return (props.label !== '' && isValid(props.label)) || isValid(slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nasync function validate(): FormValidationResult {\n return true\n}\n/* istanbul ignore next -- @preserve */\nconst clearValidate: FormItemContext['clearValidate'] = () => {}\n/* istanbul ignore next -- @preserve */\nconst resetField: FormItemContext['resetField'] = async () => {}\n/* istanbul ignore next -- @preserve */\nconst setInitialValue: FormItemContext['setInitialValue'] = () => {}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n /* istanbul ignore else -- @preserve */\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter(listId => listId !== id)\n}\n\nconst isEllipsisActive = ref(false)\nuseResizeObserver(labelRef, () => {\n isEllipsisActive.value = labelRef.value?.scrollWidth > labelRef.value?.clientWidth\n})\nconst isEllipsis = computed(() => {\n return isEllipsisActive.value && !formlayout.value.labelWrap\n})\n\n// HACK computed无法监听到props.feedbackStatus的变化\nconst _validateState = ref<FormItemValidateState>('')\nconst context: FormItemContext = reactive({\n $el: formItemRef,\n labelWidth: formlayout.value?.labelWidth,\n size: formItemSize,\n validateState: _validateState.value,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n labelPosition,\n inlineMessage: true,\n showMessage: true,\n fieldValue: field.value?.value,\n validateMessage: '',\n propString: '',\n setInitialValue,\n})\nwatch(() => props.feedbackStatus, (val) => {\n if (val === 'pending') {\n context.validateState = 'validating'\n return\n }\n if (val === 'warning') {\n context.validateState = ''\n return\n }\n context.validateState = val\n}, {\n immediate: true,\n})\n\nprovide(formLayoutShallowContext, ref({\n ...(isValid(formlayout.value.size) && { size: formlayout.value.size }),\n ...(isValid(formlayout.value.colon) && { colon: formlayout.value.colon }),\n}))\nprovide(formItemContextKey, context)\n</script>\n\n<template>\n <div\n ref=\"formItemRef\" :class=\"[prefixCls, formlayout.labelWrap && 'is-warp', ...formItemClasses]\"\n :role=\"isGroup ? 'group' : undefined\" :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\" v-if=\"hasLabel\" :id=\"labelId\" :for=\"labelFor\"\n :class=\"[ns.e('label'), isValid(formlayout.labelCol) && `${prefixCls}-col-${formlayout.labelCol}`]\"\n :style=\"labelStyle\"\n >\n <!-- label -->\n <template v-if=\"isVNode(props.label)\">\n <component :is=\"props.label\" />\n </template>\n <div v-else :class=\"`${prefixCls}-label__wrapper`\">\n <ElTooltip :disabled=\"!isEllipsis && formlayout.tooltipLayout !== 'text'\">\n <span\n :class=\"{\n [`${prefixCls}-label-content`]: true,\n ['is-tooltip']: isEllipsis || (props.tooltip && formlayout.tooltipLayout === 'text'),\n }\"\n >\n <span ref=\"labelRef\">{{ props.label }}</span>\n </span>\n <template #content>\n <template v-if=\"isVNode(props.tooltip)\">\n <component :is=\"props.tooltip\" />\n </template>\n <div v-else :style=\"`width: ${labelRef?.clientWidth ?? 0}px;`\">\n <template v-if=\"isEllipsis\">\n {{ props.label }}\n </template>\n <template v-if=\"formlayout.tooltipLayout === 'text'\">\n {{ props.tooltip }}\n </template>\n </div>\n </template>\n </ElTooltip>\n <ElTooltip v-if=\"props.tooltip && !isVNode(props.tooltip) && formlayout.tooltipLayout !== 'text'\" :content=\"props.tooltip\">\n <ElIcon :class=\"`${prefixCls}-label-tooltip`\">\n <InfoFilled />\n </ElIcon>\n </ElTooltip>\n <span v-if=\"formlayout.colon\" :class=\"`${prefixCls}-colon`\">:</span>\n </div>\n </component>\n <!-- content -->\n <div\n :class=\"[\n `${prefixCls}-content__wrapper`,\n isValid(formlayout.wrapperCol) && `${prefixCls}-col-${formlayout.wrapperCol}`,\n ]\"\n :style=\"contentWrapperStyle\"\n >\n <template v-if=\"isValid(props.addonBefore)\">\n <template v-if=\"isVNode(props.addonBefore)\">\n <component :is=\"props.addonBefore\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-before`\">\n {{ props.addonBefore }}\n </div>\n </template>\n <div\n :class=\"[\n ns.e('content'),\n formlayout.fullness && 'is-fullness',\n ns.is('addon-after', !!props.addonAfter),\n ]\" :style=\"contentStyle\"\n >\n <ElTooltip\n v-if=\"formlayout.feedbackLayout === 'popover'\"\n ref=\"feedbackTooltipRef\"\n :visible=\"!!props.feedbackText\"\n effect=\"light\"\n :offset=\"6\"\n >\n <template #default>\n <slot />\n </template>\n <template #content>\n <div :class=\"[...validateClasses, ns.is('tooltip')]\">\n <ElIcon>\n <CircleClose v-if=\"props.feedbackStatus === 'error'\" />\n <CircleCheck v-if=\"props.feedbackStatus === 'success'\" />\n <Warning v-if=\"props.feedbackStatus === 'warning'\" />\n </ElIcon>\n {{ props.feedbackText }}\n </div>\n </template>\n </ElTooltip>\n <slot v-else />\n <TransitionGroup :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <div v-if=\"props.feedbackText && formlayout.feedbackLayout !== 'popover'\" :class=\"validateClasses\">\n {{ props.feedbackText }}\n </div>\n <template v-if=\"isValid(props.extra)\">\n <template v-if=\"isVNode(props.extra)\">\n <component :is=\"props.extra\" />\n </template>\n <div v-else :class=\"`${prefixCls}-extra`\">\n {{ props.extra }}\n </div>\n </template>\n </TransitionGroup>\n </div>\n <template v-if=\"isValid(props.addonAfter)\">\n <template v-if=\"isVNode(props.addonAfter)\">\n <component :is=\"props.addonAfter\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-after`\">\n {{ props.addonAfter }}\n </div>\n </template>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"form-item.mjs","names":[],"sources":["../../src/form-item/form-item.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Field } from '@silver-formily/core'\nimport type {\n FormItemContext,\n FormItemValidateState,\n FormValidationResult,\n TooltipInstance,\n} from 'element-plus'\nimport type { CSSProperties } from 'vue'\nimport type { ICalculatedFormLayoutProps } from '../form-layout/types'\nimport type { IFormItemProps } from './types'\nimport { CircleCheck, CircleClose, InfoFilled, Warning } from '@element-plus/icons-vue'\nimport { isArr, isValid } from '@silver-formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace } from 'element-plus'\nimport { addUnit } from 'element-plus/es/utils/index'\nimport { pick } from 'lodash-es'\nimport { computed, isVNode, provide, reactive, ref, useSlots, watch } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FORM_LAYOUT_PROPS_KEYS, formLayoutShallowContext, useFormLayout } from '../form-layout/utils'\n\ndefineOptions({\n name: 'FFormItem',\n})\nconst props = withDefaults(defineProps<IFormItemProps>(), {\n asterisk: undefined,\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n})\nconst slots = useSlots()\nconst ns = useNamespace('form-item')\nconst prefixCls = `${stylePrefix}-form-item`\nconst rootFormItemClass = computed(() => props.internalFormItemClass || ns.b())\nconst formItemConfig = computed<Partial<ICalculatedFormLayoutProps>>(() =>\n Object.fromEntries(\n Object.entries(pick(props, FORM_LAYOUT_PROPS_KEYS))\n .filter(([_, value]) => isValid(value)),\n ),\n)\nconst formlayoutConfig = useFormLayout()\nconst formlayout = computed(() => Object.assign({\n colon: true,\n feedbackLayout: 'loose',\n fullness: false,\n labelWrap: false,\n}, formlayoutConfig.value, formItemConfig.value))\nconst field = useField<Field>()\n\nconst inheritedSize = useFormSize(undefined, { formItem: false })\nconst formItemSize = computed(() => {\n if (isValid(formlayout.value.size)) {\n return formlayout.value.size\n }\n return inheritedSize.value\n})\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst formItemRef = ref<HTMLDivElement>()\nconst labelRef = ref<HTMLElement>()\nconst feedbackTooltipRef = ref<TooltipInstance>()\ndefineExpose({\n feedbackTooltipRef,\n})\n\nconst labelPosition = computed(\n () => {\n if (formlayout.value.layout === 'vertical' || (isArr(formlayout.value.layout) && formlayout.value.layout.includes('vertical' as any))) {\n return 'top'\n }\n return formlayout.value.labelAlign ?? 'right'\n },\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(formlayout.value.labelWidth || '')\n if (labelWidth)\n return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n const contentWidth = addUnit(formlayout.value?.wrapperWidth || '')\n if (contentWidth)\n return { width: contentWidth, flex: 'unset' }\n return {}\n})\n\nconst contentWrapperStyle = computed<CSSProperties>(() => {\n return {\n justifyContent: formlayout.value?.wrapperAlign === 'right' && 'flex-end',\n }\n})\n\nconst isRequired = computed(() =>\n props.asterisk && field.value?.pattern !== 'readPretty',\n)\n\nconst formItemClasses = computed(() => [\n rootFormItemClass.value,\n ns.m(formItemSize.value || 'default'),\n ns.is(props.feedbackStatus),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.asterisk),\n ns.is('no-asterisk', formlayout.value?.hideRequiredAsterisk),\n ns.is(formlayout.value.feedbackLayout),\n formlayout.value?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formlayout.value?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst validateClasses = computed(() => [\n `${prefixCls}-feedback`,\n ns.is(props.feedbackStatus),\n ns.is('loose', formlayout.value.feedbackLayout === 'loose'),\n])\n\nconst hasLabel = computed<boolean>(() => {\n return (props.label !== '' && isValid(props.label)) || isValid(slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nasync function validate(): FormValidationResult {\n return true\n}\n/* istanbul ignore next -- @preserve */\nconst clearValidate: FormItemContext['clearValidate'] = () => {}\n/* istanbul ignore next -- @preserve */\nconst resetField: FormItemContext['resetField'] = async () => {}\n/* istanbul ignore next -- @preserve */\nconst setInitialValue: FormItemContext['setInitialValue'] = () => {}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n /* istanbul ignore else -- @preserve */\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter(listId => listId !== id)\n}\n\nconst isEllipsisActive = ref(false)\nuseResizeObserver(labelRef, () => {\n isEllipsisActive.value = labelRef.value?.scrollWidth > labelRef.value?.clientWidth\n})\nconst isEllipsis = computed(() => {\n return isEllipsisActive.value && !formlayout.value.labelWrap\n})\n\n// HACK computed无法监听到props.feedbackStatus的变化\nconst _validateState = ref<FormItemValidateState>('')\nconst context: FormItemContext = reactive({\n $el: formItemRef,\n labelWidth: formlayout.value?.labelWidth,\n size: formItemSize,\n validateState: _validateState.value,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n labelPosition,\n inlineMessage: true,\n showMessage: true,\n fieldValue: field.value?.value,\n validateMessage: '',\n propString: '',\n setInitialValue,\n})\nwatch(() => props.feedbackStatus, (val) => {\n if (val === 'pending') {\n context.validateState = 'validating'\n return\n }\n if (val === 'warning') {\n context.validateState = ''\n return\n }\n context.validateState = val\n}, {\n immediate: true,\n})\n\nprovide(formLayoutShallowContext, ref({\n ...(isValid(formlayout.value.size) && { size: formlayout.value.size }),\n ...(isValid(formlayout.value.colon) && { colon: formlayout.value.colon }),\n}))\nprovide(formItemContextKey, context)\n</script>\n\n<template>\n <div\n ref=\"formItemRef\" :class=\"[prefixCls, formlayout.labelWrap && 'is-warp', ...formItemClasses]\"\n :role=\"isGroup ? 'group' : undefined\" :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\" v-if=\"hasLabel\" :id=\"labelId\" :for=\"labelFor\"\n :class=\"[ns.e('label'), isValid(formlayout.labelCol) && `${prefixCls}-col-${formlayout.labelCol}`]\"\n :style=\"labelStyle\"\n >\n <!-- label -->\n <template v-if=\"isVNode(props.label)\">\n <component :is=\"props.label\" />\n </template>\n <div v-else :class=\"`${prefixCls}-label__wrapper`\">\n <ElTooltip :disabled=\"!isEllipsis && formlayout.tooltipLayout !== 'text'\">\n <span\n :class=\"{\n [`${prefixCls}-label-content`]: true,\n ['is-tooltip']: isEllipsis || (props.tooltip && formlayout.tooltipLayout === 'text'),\n }\"\n >\n <span ref=\"labelRef\">{{ props.label }}</span>\n </span>\n <template #content>\n <template v-if=\"isVNode(props.tooltip)\">\n <component :is=\"props.tooltip\" />\n </template>\n <div v-else :style=\"`width: ${labelRef?.clientWidth ?? 0}px;`\">\n <template v-if=\"isEllipsis\">\n {{ props.label }}\n </template>\n <template v-if=\"formlayout.tooltipLayout === 'text'\">\n {{ props.tooltip }}\n </template>\n </div>\n </template>\n </ElTooltip>\n <ElTooltip v-if=\"props.tooltip && !isVNode(props.tooltip) && formlayout.tooltipLayout !== 'text'\" :content=\"props.tooltip\">\n <ElIcon :class=\"`${prefixCls}-label-tooltip`\">\n <InfoFilled />\n </ElIcon>\n </ElTooltip>\n <span v-if=\"formlayout.colon\" :class=\"`${prefixCls}-colon`\">:</span>\n </div>\n </component>\n <!-- content -->\n <div\n :class=\"[\n `${prefixCls}-content__wrapper`,\n isValid(formlayout.wrapperCol) && `${prefixCls}-col-${formlayout.wrapperCol}`,\n ]\"\n :style=\"contentWrapperStyle\"\n >\n <template v-if=\"isValid(props.addonBefore)\">\n <template v-if=\"isVNode(props.addonBefore)\">\n <component :is=\"props.addonBefore\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-before`\">\n {{ props.addonBefore }}\n </div>\n </template>\n <div\n :class=\"[\n ns.e('content'),\n formlayout.fullness && 'is-fullness',\n ns.is('addon-after', !!props.addonAfter),\n ]\" :style=\"contentStyle\"\n >\n <ElTooltip\n v-if=\"formlayout.feedbackLayout === 'popover'\"\n ref=\"feedbackTooltipRef\"\n :visible=\"!!props.feedbackText\"\n effect=\"light\"\n :offset=\"6\"\n >\n <template #default>\n <slot />\n </template>\n <template #content>\n <div :class=\"[...validateClasses, ns.is('tooltip')]\">\n <ElIcon>\n <CircleClose v-if=\"props.feedbackStatus === 'error'\" />\n <CircleCheck v-if=\"props.feedbackStatus === 'success'\" />\n <Warning v-if=\"props.feedbackStatus === 'warning'\" />\n </ElIcon>\n {{ props.feedbackText }}\n </div>\n </template>\n </ElTooltip>\n <slot v-else />\n <TransitionGroup :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <div v-if=\"props.feedbackText && formlayout.feedbackLayout !== 'popover'\" :class=\"validateClasses\">\n {{ props.feedbackText }}\n </div>\n <template v-if=\"isValid(props.extra)\">\n <template v-if=\"isVNode(props.extra)\">\n <component :is=\"props.extra\" />\n </template>\n <div v-else :class=\"`${prefixCls}-extra`\">\n {{ props.extra }}\n </div>\n </template>\n </TransitionGroup>\n </div>\n <template v-if=\"isValid(props.addonAfter)\">\n <template v-if=\"isVNode(props.addonAfter)\">\n <component :is=\"props.addonAfter\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-after`\">\n {{ props.addonAfter }}\n </div>\n </template>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { composeExport } from "../__builtins__/shared/utils.mjs";
2
2
  import _sfc_main from "./form-item.mjs";
3
3
  import { determineFeedbackStatus, getFeedbackMessage } from "./utils.mjs";
4
4
  import "./style.css";
5
- import { isVoidField } from "@formily/core";
5
+ import { isVoidField } from "@silver-formily/core";
6
6
  import { connect, mapProps } from "@silver-formily/vue";
7
7
  //#region src/form-item/index.ts
8
8
  function fieldFeedbackMapper(props, field) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["FormBaseItem"],"sources":["../../src/form-item/index.ts"],"sourcesContent":["import { isVoidField } from '@formily/core'\nimport { connect, mapProps } from '@silver-formily/vue'\nimport { composeExport } from '../__builtins__'\nimport FormBaseItem from './form-item.vue'\nimport { determineFeedbackStatus, getFeedbackMessage } from './utils'\nimport './style.scss'\n\nexport function fieldFeedbackMapper(props, field) {\n if (isVoidField(field) || !field) {\n return props\n }\n\n const feedbackText = getFeedbackMessage(field)\n const feedbackStatus = determineFeedbackStatus(field)\n const asterisk = 'asterisk' in props\n ? props.asterisk\n : field.required && field.pattern !== 'readPretty'\n\n return {\n ...props,\n feedbackText,\n feedbackStatus,\n asterisk,\n }\n}\n\nconst Item = connect<typeof FormBaseItem>(\n FormBaseItem,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport const FormItem = composeExport(Item, {\n BaseItem: FormBaseItem,\n})\n\nexport default FormItem\n\nexport { default as FormBaseItem } from './form-item.vue'\nexport type { IFormItemProps } from './types'\n"],"mappings":";;;;;;;AAOA,SAAgB,oBAAoB,OAAO,OAAO;AAChD,KAAI,YAAY,MAAM,IAAI,CAAC,MACzB,QAAO;CAGT,MAAM,eAAe,mBAAmB,MAAM;CAC9C,MAAM,iBAAiB,wBAAwB,MAAM;CACrD,MAAM,WAAW,cAAc,QAC3B,MAAM,WACN,MAAM,YAAY,MAAM,YAAY;AAExC,QAAO;EACL,GAAG;EACH;EACA;EACA;EACD;;AAgBH,MAAa,WAAW,cAbX,QACXA,WACA,SACE;CACE,gBAAgB;CAChB,OAAO;CACP,UAAU;CACV,aAAa;CACd,EACD,oBACD,CACF,EAE2C,EAC1C,UAAUA,WACX,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":["FormBaseItem"],"sources":["../../src/form-item/index.ts"],"sourcesContent":["import { isVoidField } from '@silver-formily/core'\nimport { connect, mapProps } from '@silver-formily/vue'\nimport { composeExport } from '../__builtins__'\nimport FormBaseItem from './form-item.vue'\nimport { determineFeedbackStatus, getFeedbackMessage } from './utils'\nimport './style.scss'\n\nexport function fieldFeedbackMapper(props, field) {\n if (isVoidField(field) || !field) {\n return props\n }\n\n const feedbackText = getFeedbackMessage(field)\n const feedbackStatus = determineFeedbackStatus(field)\n const asterisk = 'asterisk' in props\n ? props.asterisk\n : field.required && field.pattern !== 'readPretty'\n\n return {\n ...props,\n feedbackText,\n feedbackStatus,\n asterisk,\n }\n}\n\nconst Item = connect<typeof FormBaseItem>(\n FormBaseItem,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport const FormItem = composeExport(Item, {\n BaseItem: FormBaseItem,\n})\n\nexport default FormItem\n\nexport { default as FormBaseItem } from './form-item.vue'\nexport type { IFormItemProps } from './types'\n"],"mappings":";;;;;;;AAOA,SAAgB,oBAAoB,OAAO,OAAO;AAChD,KAAI,YAAY,MAAM,IAAI,CAAC,MACzB,QAAO;CAGT,MAAM,eAAe,mBAAmB,MAAM;CAC9C,MAAM,iBAAiB,wBAAwB,MAAM;CACrD,MAAM,WAAW,cAAc,QAC3B,MAAM,WACN,MAAM,YAAY,MAAM,YAAY;AAExC,QAAO;EACL,GAAG;EACH;EACA;EACA;EACD;;AAgBH,MAAa,WAAW,cAbX,QACXA,WACA,SACE;CACE,gBAAgB;CAChB,OAAO;CACP,UAAU;CACV,aAAa;CACd,EACD,oBACD,CACF,EAE2C,EAC1C,UAAUA,WACX,CAAC"}
@@ -1,4 +1,4 @@
1
- import { isArr } from "@formily/shared";
1
+ import { isArr } from "@silver-formily/shared";
2
2
  //#region src/form-item/utils.ts
3
3
  function getFeedbackMessage(field) {
4
4
  const messages = {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@formily/core'\nimport { isArr } from '@formily/shared'\n\nexport function getFeedbackMessage(field: Field) {\n const messages = {\n errors: field.selfErrors.join(', '),\n warnings: field.selfWarnings.join(', '),\n successes: field.selfSuccesses.join(', '),\n }\n\n return messages.errors || messages.warnings || messages.successes\n}\n\nexport function determineFeedbackStatus(field: Field) {\n return isArr(field.decorator)\n ? (field.decorator[1]?.feedbackStatus ?? field.validateStatus)\n : field.validateStatus\n}\n"],"mappings":";;AAGA,SAAgB,mBAAmB,OAAc;CAC/C,MAAM,WAAW;EACf,QAAQ,MAAM,WAAW,KAAK,KAAK;EACnC,UAAU,MAAM,aAAa,KAAK,KAAK;EACvC,WAAW,MAAM,cAAc,KAAK,KAAK;EAC1C;AAED,QAAO,SAAS,UAAU,SAAS,YAAY,SAAS;;AAG1D,SAAgB,wBAAwB,OAAc;AACpD,QAAO,MAAM,MAAM,UAAU,GACxB,MAAM,UAAU,IAAI,kBAAkB,MAAM,iBAC7C,MAAM"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@silver-formily/core'\nimport { isArr } from '@silver-formily/shared'\n\nexport function getFeedbackMessage(field: Field) {\n const messages = {\n errors: field.selfErrors.join(', '),\n warnings: field.selfWarnings.join(', '),\n successes: field.selfSuccesses.join(', '),\n }\n\n return messages.errors || messages.warnings || messages.successes\n}\n\nexport function determineFeedbackStatus(field: Field) {\n return isArr(field.decorator)\n ? (field.decorator[1]?.feedbackStatus ?? field.validateStatus)\n : field.validateStatus\n}\n"],"mappings":";;AAGA,SAAgB,mBAAmB,OAAc;CAC/C,MAAM,WAAW;EACf,QAAQ,MAAM,WAAW,KAAK,KAAK;EACnC,UAAU,MAAM,aAAa,KAAK,KAAK;EACvC,WAAW,MAAM,cAAc,KAAK,KAAK;EAC1C;AAED,QAAO,SAAS,UAAU,SAAS,YAAY,SAAS;;AAG1D,SAAgB,wBAAwB,OAAc;AACpD,QAAO,MAAM,MAAM,UAAU,GACxB,MAAM,UAAU,IAAI,kBAAkB,MAAM,iBAC7C,MAAM"}
@@ -4,7 +4,7 @@ import { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutIdContext,
4
4
  import { formContextKey, useId } from "element-plus";
5
5
  import { useThrottleFn } from "@vueuse/core";
6
6
  import { computed, createBlock, defineComponent, mergeProps, openBlock, provide, reactive, ref, renderSlot, resolveDynamicComponent, toRef, unref, watch, withCtx, withModifiers } from "vue";
7
- import { isEmpty, isValid } from "@formily/shared";
7
+ import { isEmpty, isValid } from "@silver-formily/shared";
8
8
  //#region src/form-layout/form-layout.vue
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  name: "FFormLayout",
@@ -1 +1 @@
1
- {"version":3,"file":"form-layout.mjs","names":[],"sources":["../../src/form-layout/form-layout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FormContext } from 'element-plus'\nimport type { IFormLayoutProps } from './types'\nimport { isEmpty, isValid } from '@formily/shared'\nimport { useThrottleFn } from '@vueuse/core'\nimport { formContextKey, useId } from 'element-plus'\nimport { computed, provide, reactive, ref, toRef, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutIdContext, formLayoutShallowContext, useFormDeepLayout, useResponsiveFormLayout } from './utils'\n\ndefineOptions({\n name: 'FFormLayout',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IFormLayoutProps>(), {\n tag: 'form',\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n size: 'default',\n layout: 'horizontal',\n shallow: true,\n statusIcon: true,\n asterisk: undefined,\n})\nconst formPrefixCls = `${stylePrefix}-form`\nconst { props: attrs } = useCleanAttrs()\nconst rootHTMLRef = ref<HTMLElement>()\nconst isFormTag = props.tag === 'form'\nconst formLayoutBaseId = useId()\nconst formLayoutId = computed(() => attrs.value.id ?? `formily-${formLayoutBaseId.value}`)\nconst formLayoutDomId = computed(() => (isFormTag ? formLayoutId.value : attrs.value.id))\nif (isFormTag) {\n provide(formLayoutIdContext, formLayoutId)\n}\n\nconst formLayoutDeepConfig = useFormDeepLayout()\nconst { props: responsiveProps } = useResponsiveFormLayout(props, rootHTMLRef)\n\nconst deepLayout = ref({\n ...formLayoutDeepConfig.value,\n ...(props.shallow\n ? {\n size: props.size,\n ...(isValid(props.colon) && { colon: props.colon }),\n }\n : filterValidFormLayoutProps(props)),\n})\nprovide(formLayoutDeepContext, deepLayout)\n\nconst shallowLayout = ref(props.shallow ? filterValidFormLayoutProps(props) : {})\nprovide(formLayoutShallowContext, shallowLayout)\n\nconst updateLayout = useThrottleFn(() => {\n if (!isEmpty(responsiveProps.value)) {\n const _responsiveProps = filterValidFormLayoutProps(responsiveProps.value)\n shallowLayout.value = filterValidFormLayoutProps({ ...props, ..._responsiveProps })\n }\n}, 200, true)\n\nwatch(() => [props, responsiveProps], updateLayout, {\n deep: true,\n immediate: true,\n})\n\nconst formContext = reactive({\n size: toRef(props, 'size'),\n statusIcon: toRef(props, 'statusIcon'),\n hideRequiredAsterisk: toRef(props, 'hideRequiredAsterisk'),\n requireAsteriskPosition: toRef(props, 'requireAsteriskPosition'),\n})\nprovide(formContextKey, formContext as FormContext)\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n :id=\"formLayoutDomId\"\n ref=\"rootHTMLRef\"\n :class=\"formPrefixCls\"\n v-bind=\"attrs\"\n @submit.prevent.stop\n >\n <slot />\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EAWd,MAAM,gBAAgB,GAAG,YAAY;EACrC,MAAM,EAAE,OAAO,UAAU,eAAc;EACvC,MAAM,cAAc,KAAiB;EACrC,MAAM,YAAY,MAAM,QAAQ;EAChC,MAAM,mBAAmB,OAAM;EAC/B,MAAM,eAAe,eAAe,MAAM,MAAM,MAAM,WAAW,iBAAiB,QAAO;EACzF,MAAM,kBAAkB,eAAgB,YAAY,aAAa,QAAQ,MAAM,MAAM,GAAG;AACxF,MAAI,UACF,SAAQ,qBAAqB,aAAY;EAG3C,MAAM,uBAAuB,mBAAkB;EAC/C,MAAM,EAAE,OAAO,oBAAoB,wBAAwB,OAAO,YAAW;AAW7E,UAAQ,uBATW,IAAI;GACrB,GAAG,qBAAqB;GACxB,GAAI,MAAM,UACN;IACE,MAAM,MAAM;IACZ,GAAI,QAAQ,MAAM,MAAM,IAAI,EAAE,OAAO,MAAM,OAAO;IACpD,GACA,2BAA2B,MAAM;GACtC,CAAA,CACwC;EAEzC,MAAM,gBAAgB,IAAI,MAAM,UAAU,2BAA2B,MAAM,GAAG,EAAE,CAAA;AAChF,UAAQ,0BAA0B,cAAa;AAS/C,cAAY,CAAC,OAAO,gBAAgB,EAPf,oBAAoB;AACvC,OAAI,CAAC,QAAQ,gBAAgB,MAAM,EAAE;IACnC,MAAM,mBAAmB,2BAA2B,gBAAgB,MAAK;AACzE,kBAAc,QAAQ,2BAA2B;KAAE,GAAG;KAAO,GAAG;KAAkB,CAAA;;KAEnF,KAAK,KAAI,EAEwC;GAClD,MAAM;GACN,WAAW;GACZ,CAAA;AAQD,UAAQ,gBANY,SAAS;GAC3B,MAAM,MAAM,OAAO,OAAO;GAC1B,YAAY,MAAM,OAAO,aAAa;GACtC,sBAAsB,MAAM,OAAO,uBAAuB;GAC1D,yBAAyB,MAAM,OAAO,0BAA0B;GACjE,CAAA,CACiD;;uBAIhD,YASY,wBARL,MAAM,IAAG,EADhB,WASY;IAPT,IAAI,gBAAA;aACD;IAAJ,KAAI;IACH,OAAO;MACA,MAAA,MAAK,EAAA,EACZ,UAAM,OAAA,OAAA,OAAA,KAAA,oBAAP,IAAoB,CAAA,WAAA,OAAA,CAAA,GAAA,CAAA,EAAA;2BAEZ,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"form-layout.mjs","names":[],"sources":["../../src/form-layout/form-layout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FormContext } from 'element-plus'\nimport type { IFormLayoutProps } from './types'\nimport { isEmpty, isValid } from '@silver-formily/shared'\nimport { useThrottleFn } from '@vueuse/core'\nimport { formContextKey, useId } from 'element-plus'\nimport { computed, provide, reactive, ref, toRef, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutIdContext, formLayoutShallowContext, useFormDeepLayout, useResponsiveFormLayout } from './utils'\n\ndefineOptions({\n name: 'FFormLayout',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IFormLayoutProps>(), {\n tag: 'form',\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n size: 'default',\n layout: 'horizontal',\n shallow: true,\n statusIcon: true,\n asterisk: undefined,\n})\nconst formPrefixCls = `${stylePrefix}-form`\nconst { props: attrs } = useCleanAttrs()\nconst rootHTMLRef = ref<HTMLElement>()\nconst isFormTag = props.tag === 'form'\nconst formLayoutBaseId = useId()\nconst formLayoutId = computed(() => attrs.value.id ?? `formily-${formLayoutBaseId.value}`)\nconst formLayoutDomId = computed(() => (isFormTag ? formLayoutId.value : attrs.value.id))\nif (isFormTag) {\n provide(formLayoutIdContext, formLayoutId)\n}\n\nconst formLayoutDeepConfig = useFormDeepLayout()\nconst { props: responsiveProps } = useResponsiveFormLayout(props, rootHTMLRef)\n\nconst deepLayout = ref({\n ...formLayoutDeepConfig.value,\n ...(props.shallow\n ? {\n size: props.size,\n ...(isValid(props.colon) && { colon: props.colon }),\n }\n : filterValidFormLayoutProps(props)),\n})\nprovide(formLayoutDeepContext, deepLayout)\n\nconst shallowLayout = ref(props.shallow ? filterValidFormLayoutProps(props) : {})\nprovide(formLayoutShallowContext, shallowLayout)\n\nconst updateLayout = useThrottleFn(() => {\n if (!isEmpty(responsiveProps.value)) {\n const _responsiveProps = filterValidFormLayoutProps(responsiveProps.value)\n shallowLayout.value = filterValidFormLayoutProps({ ...props, ..._responsiveProps })\n }\n}, 200, true)\n\nwatch(() => [props, responsiveProps], updateLayout, {\n deep: true,\n immediate: true,\n})\n\nconst formContext = reactive({\n size: toRef(props, 'size'),\n statusIcon: toRef(props, 'statusIcon'),\n hideRequiredAsterisk: toRef(props, 'hideRequiredAsterisk'),\n requireAsteriskPosition: toRef(props, 'requireAsteriskPosition'),\n})\nprovide(formContextKey, formContext as FormContext)\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n :id=\"formLayoutDomId\"\n ref=\"rootHTMLRef\"\n :class=\"formPrefixCls\"\n v-bind=\"attrs\"\n @submit.prevent.stop\n >\n <slot />\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EAWd,MAAM,gBAAgB,GAAG,YAAY;EACrC,MAAM,EAAE,OAAO,UAAU,eAAc;EACvC,MAAM,cAAc,KAAiB;EACrC,MAAM,YAAY,MAAM,QAAQ;EAChC,MAAM,mBAAmB,OAAM;EAC/B,MAAM,eAAe,eAAe,MAAM,MAAM,MAAM,WAAW,iBAAiB,QAAO;EACzF,MAAM,kBAAkB,eAAgB,YAAY,aAAa,QAAQ,MAAM,MAAM,GAAG;AACxF,MAAI,UACF,SAAQ,qBAAqB,aAAY;EAG3C,MAAM,uBAAuB,mBAAkB;EAC/C,MAAM,EAAE,OAAO,oBAAoB,wBAAwB,OAAO,YAAW;AAW7E,UAAQ,uBATW,IAAI;GACrB,GAAG,qBAAqB;GACxB,GAAI,MAAM,UACN;IACE,MAAM,MAAM;IACZ,GAAI,QAAQ,MAAM,MAAM,IAAI,EAAE,OAAO,MAAM,OAAO;IACpD,GACA,2BAA2B,MAAM;GACtC,CAAA,CACwC;EAEzC,MAAM,gBAAgB,IAAI,MAAM,UAAU,2BAA2B,MAAM,GAAG,EAAE,CAAA;AAChF,UAAQ,0BAA0B,cAAa;AAS/C,cAAY,CAAC,OAAO,gBAAgB,EAPf,oBAAoB;AACvC,OAAI,CAAC,QAAQ,gBAAgB,MAAM,EAAE;IACnC,MAAM,mBAAmB,2BAA2B,gBAAgB,MAAK;AACzE,kBAAc,QAAQ,2BAA2B;KAAE,GAAG;KAAO,GAAG;KAAkB,CAAA;;KAEnF,KAAK,KAAI,EAEwC;GAClD,MAAM;GACN,WAAW;GACZ,CAAA;AAQD,UAAQ,gBANY,SAAS;GAC3B,MAAM,MAAM,OAAO,OAAO;GAC1B,YAAY,MAAM,OAAO,aAAa;GACtC,sBAAsB,MAAM,OAAO,uBAAuB;GAC1D,yBAAyB,MAAM,OAAO,0BAA0B;GACjE,CAAA,CACiD;;uBAIhD,YASY,wBARL,MAAM,IAAG,EADhB,WASY;IAPT,IAAI,gBAAA;aACD;IAAJ,KAAI;IACH,OAAO;MACA,MAAA,MAAK,EAAA,EACZ,UAAM,OAAA,OAAA,OAAA,KAAA,oBAAP,IAAoB,CAAA,WAAA,OAAA,CAAA,GAAA,CAAA,EAAA;2BAEZ,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_11) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<IFormLayoutProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<IFormLayoutProps> & Readonly<{}>, {
10
- layout: "vertical" | "horizontal" | "inline" | ("vertical" | "horizontal" | "inline")[];
11
10
  size: "small" | "default" | "large";
11
+ layout: "vertical" | "horizontal" | "inline" | ("vertical" | "horizontal" | "inline")[];
12
12
  tag: string;
13
13
  colon: boolean;
14
14
  labelWrap: boolean;
@@ -1,6 +1,6 @@
1
1
  import { useResizeObserver } from "@vueuse/core";
2
2
  import { computed, inject, ref } from "vue";
3
- import { isArr, isValid } from "@formily/shared";
3
+ import { isArr, isValid } from "@silver-formily/shared";
4
4
  //#region src/form-layout/utils.ts
5
5
  function calcBreakpointIndex(breakpoints, width) {
6
6
  for (const [i, breakpoint] of breakpoints.entries()) if (width <= breakpoint) return i;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-layout/utils.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { IFormLayoutProps } from './types'\nimport { isArr, isValid } from '@formily/shared'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, inject, ref } from 'vue'\n\nexport function calcBreakpointIndex(breakpoints: number[], width: number): number {\n for (const [i, breakpoint] of breakpoints.entries()) {\n if (width <= breakpoint) {\n return i\n }\n }\n return -1\n}\n\nexport function calcFactor<T>(value: T | readonly T[], breakpointIndex: number): T {\n if (!Array.isArray(value) || value.length === 0) {\n return value as T\n }\n const safeIndex = Math.max(-1, Math.min(breakpointIndex, value.length - 1))\n return value.at(safeIndex)\n}\n\nexport function factor<T>(value: T | T[], breakpointIndex: number): T {\n return isValid(value) ? calcFactor<T>(value, breakpointIndex) : value as T\n}\n\nexport function calculateProps(target: Element, props: IFormLayoutProps): IFormLayoutProps {\n const { clientWidth } = target\n const {\n breakpoints,\n layout,\n labelAlign,\n wrapperAlign,\n labelCol,\n wrapperCol,\n ...otherProps\n } = props\n const breakpointIndex = calcBreakpointIndex(\n breakpoints as number[],\n clientWidth,\n )\n\n return {\n layout: factor(layout, breakpointIndex),\n labelAlign: factor(labelAlign, breakpointIndex),\n wrapperAlign: factor(wrapperAlign, breakpointIndex),\n labelCol: factor(labelCol, breakpointIndex),\n wrapperCol: factor(wrapperCol, breakpointIndex),\n ...otherProps,\n }\n}\n\nexport function useResponsiveFormLayout(props: IFormLayoutProps, root: Ref<HTMLElement | null>) {\n const { breakpoints } = props\n if (!isArr(breakpoints)) {\n return {\n props: ref(props),\n }\n }\n\n const layoutProps = ref<IFormLayoutProps>({})\n\n useResizeObserver(root, () => {\n layoutProps.value = calculateProps(root.value, props)\n })\n\n return {\n props: layoutProps,\n }\n}\n\nexport const formLayoutDeepContext: InjectionKey<Ref<IFormLayoutProps>> = Symbol(\n 'formLayoutDeepContext',\n)\n\nexport const formLayoutShallowContext: InjectionKey<Ref<IFormLayoutProps>>\n = Symbol('formLayoutShallowContext')\n\nexport const formLayoutIdContext: InjectionKey<ComputedRef<string>>\n = Symbol('formLayoutIdContext')\n\nexport function useFormDeepLayout(): Ref<IFormLayoutProps> {\n return inject(formLayoutDeepContext, ref({}))\n}\n\nexport function useFormLayout(): Ref<IFormLayoutProps> {\n const shallowLayout = inject(formLayoutShallowContext, ref({}))\n const deepLayout = inject(formLayoutDeepContext, ref({}))\n\n const formLayout = computed(() => {\n return {\n ...deepLayout.value,\n ...shallowLayout.value,\n }\n })\n\n return formLayout\n}\n\nexport function useFormLayoutId(): ComputedRef<string> {\n return inject(formLayoutIdContext)\n}\n\nexport const FORM_LAYOUT_PROPS_KEYS: ReadonlyArray<keyof IFormLayoutProps> = [\n 'colon',\n 'labelAlign',\n 'wrapperAlign',\n 'labelWrap',\n 'labelWidth',\n 'wrapperWidth',\n 'labelCol',\n 'wrapperCol',\n 'fullness',\n 'size',\n 'layout',\n 'feedbackLayout',\n 'tooltipLayout',\n 'breakpoints',\n 'hideRequiredAsterisk',\n 'statusIcon',\n 'requireAsteriskPosition',\n] as const\n\nexport function filterValidFormLayoutProps(props: IFormLayoutProps): IFormLayoutProps {\n return Object.fromEntries(\n Object.entries(props)\n .filter(([_, value]) => isValid(value)),\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,oBAAoB,aAAuB,OAAuB;AAChF,MAAK,MAAM,CAAC,GAAG,eAAe,YAAY,SAAS,CACjD,KAAI,SAAS,WACX,QAAO;AAGX,QAAO;;AAGT,SAAgB,WAAc,OAAyB,iBAA4B;AACjF,KAAI,CAAC,MAAM,QAAQ,MAAM,IAAI,MAAM,WAAW,EAC5C,QAAO;CAET,MAAM,YAAY,KAAK,IAAI,IAAI,KAAK,IAAI,iBAAiB,MAAM,SAAS,EAAE,CAAC;AAC3E,QAAO,MAAM,GAAG,UAAU;;AAG5B,SAAgB,OAAU,OAAgB,iBAA4B;AACpE,QAAO,QAAQ,MAAM,GAAG,WAAc,OAAO,gBAAgB,GAAG;;AAGlE,SAAgB,eAAe,QAAiB,OAA2C;CACzF,MAAM,EAAE,gBAAgB;CACxB,MAAM,EACJ,aACA,QACA,YACA,cACA,UACA,YACA,GAAG,eACD;CACJ,MAAM,kBAAkB,oBACtB,aACA,YACD;AAED,QAAO;EACL,QAAQ,OAAO,QAAQ,gBAAgB;EACvC,YAAY,OAAO,YAAY,gBAAgB;EAC/C,cAAc,OAAO,cAAc,gBAAgB;EACnD,UAAU,OAAO,UAAU,gBAAgB;EAC3C,YAAY,OAAO,YAAY,gBAAgB;EAC/C,GAAG;EACJ;;AAGH,SAAgB,wBAAwB,OAAyB,MAA+B;CAC9F,MAAM,EAAE,gBAAgB;AACxB,KAAI,CAAC,MAAM,YAAY,CACrB,QAAO,EACL,OAAO,IAAI,MAAM,EAClB;CAGH,MAAM,cAAc,IAAsB,EAAE,CAAC;AAE7C,mBAAkB,YAAY;AAC5B,cAAY,QAAQ,eAAe,KAAK,OAAO,MAAM;GACrD;AAEF,QAAO,EACL,OAAO,aACR;;AAGH,MAAa,wBAA6D,OACxE,wBACD;AAED,MAAa,2BACT,OAAO,2BAA2B;AAEtC,MAAa,sBACT,OAAO,sBAAsB;AAEjC,SAAgB,oBAA2C;AACzD,QAAO,OAAO,uBAAuB,IAAI,EAAE,CAAC,CAAC;;AAG/C,SAAgB,gBAAuC;CACrD,MAAM,gBAAgB,OAAO,0BAA0B,IAAI,EAAE,CAAC,CAAC;CAC/D,MAAM,aAAa,OAAO,uBAAuB,IAAI,EAAE,CAAC,CAAC;AASzD,QAPmB,eAAe;AAChC,SAAO;GACL,GAAG,WAAW;GACd,GAAG,cAAc;GAClB;GACD;;AAKJ,SAAgB,kBAAuC;AACrD,QAAO,OAAO,oBAAoB;;AAGpC,MAAa,yBAAgE;CAC3E;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAgB,2BAA2B,OAA2C;AACpF,QAAO,OAAO,YACZ,OAAO,QAAQ,MAAM,CAClB,QAAQ,CAAC,GAAG,WAAW,QAAQ,MAAM,CAAC,CAC1C"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-layout/utils.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { IFormLayoutProps } from './types'\nimport { isArr, isValid } from '@silver-formily/shared'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, inject, ref } from 'vue'\n\nexport function calcBreakpointIndex(breakpoints: number[], width: number): number {\n for (const [i, breakpoint] of breakpoints.entries()) {\n if (width <= breakpoint) {\n return i\n }\n }\n return -1\n}\n\nexport function calcFactor<T>(value: T | readonly T[], breakpointIndex: number): T {\n if (!Array.isArray(value) || value.length === 0) {\n return value as T\n }\n const safeIndex = Math.max(-1, Math.min(breakpointIndex, value.length - 1))\n return value.at(safeIndex)\n}\n\nexport function factor<T>(value: T | T[], breakpointIndex: number): T {\n return isValid(value) ? calcFactor<T>(value, breakpointIndex) : value as T\n}\n\nexport function calculateProps(target: Element, props: IFormLayoutProps): IFormLayoutProps {\n const { clientWidth } = target\n const {\n breakpoints,\n layout,\n labelAlign,\n wrapperAlign,\n labelCol,\n wrapperCol,\n ...otherProps\n } = props\n const breakpointIndex = calcBreakpointIndex(\n breakpoints as number[],\n clientWidth,\n )\n\n return {\n layout: factor(layout, breakpointIndex),\n labelAlign: factor(labelAlign, breakpointIndex),\n wrapperAlign: factor(wrapperAlign, breakpointIndex),\n labelCol: factor(labelCol, breakpointIndex),\n wrapperCol: factor(wrapperCol, breakpointIndex),\n ...otherProps,\n }\n}\n\nexport function useResponsiveFormLayout(props: IFormLayoutProps, root: Ref<HTMLElement | null>) {\n const { breakpoints } = props\n if (!isArr(breakpoints)) {\n return {\n props: ref(props),\n }\n }\n\n const layoutProps = ref<IFormLayoutProps>({})\n\n useResizeObserver(root, () => {\n layoutProps.value = calculateProps(root.value, props)\n })\n\n return {\n props: layoutProps,\n }\n}\n\nexport const formLayoutDeepContext: InjectionKey<Ref<IFormLayoutProps>> = Symbol(\n 'formLayoutDeepContext',\n)\n\nexport const formLayoutShallowContext: InjectionKey<Ref<IFormLayoutProps>>\n = Symbol('formLayoutShallowContext')\n\nexport const formLayoutIdContext: InjectionKey<ComputedRef<string>>\n = Symbol('formLayoutIdContext')\n\nexport function useFormDeepLayout(): Ref<IFormLayoutProps> {\n return inject(formLayoutDeepContext, ref({}))\n}\n\nexport function useFormLayout(): Ref<IFormLayoutProps> {\n const shallowLayout = inject(formLayoutShallowContext, ref({}))\n const deepLayout = inject(formLayoutDeepContext, ref({}))\n\n const formLayout = computed(() => {\n return {\n ...deepLayout.value,\n ...shallowLayout.value,\n }\n })\n\n return formLayout\n}\n\nexport function useFormLayoutId(): ComputedRef<string> {\n return inject(formLayoutIdContext)\n}\n\nexport const FORM_LAYOUT_PROPS_KEYS: ReadonlyArray<keyof IFormLayoutProps> = [\n 'colon',\n 'labelAlign',\n 'wrapperAlign',\n 'labelWrap',\n 'labelWidth',\n 'wrapperWidth',\n 'labelCol',\n 'wrapperCol',\n 'fullness',\n 'size',\n 'layout',\n 'feedbackLayout',\n 'tooltipLayout',\n 'breakpoints',\n 'hideRequiredAsterisk',\n 'statusIcon',\n 'requireAsteriskPosition',\n] as const\n\nexport function filterValidFormLayoutProps(props: IFormLayoutProps): IFormLayoutProps {\n return Object.fromEntries(\n Object.entries(props)\n .filter(([_, value]) => isValid(value)),\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,oBAAoB,aAAuB,OAAuB;AAChF,MAAK,MAAM,CAAC,GAAG,eAAe,YAAY,SAAS,CACjD,KAAI,SAAS,WACX,QAAO;AAGX,QAAO;;AAGT,SAAgB,WAAc,OAAyB,iBAA4B;AACjF,KAAI,CAAC,MAAM,QAAQ,MAAM,IAAI,MAAM,WAAW,EAC5C,QAAO;CAET,MAAM,YAAY,KAAK,IAAI,IAAI,KAAK,IAAI,iBAAiB,MAAM,SAAS,EAAE,CAAC;AAC3E,QAAO,MAAM,GAAG,UAAU;;AAG5B,SAAgB,OAAU,OAAgB,iBAA4B;AACpE,QAAO,QAAQ,MAAM,GAAG,WAAc,OAAO,gBAAgB,GAAG;;AAGlE,SAAgB,eAAe,QAAiB,OAA2C;CACzF,MAAM,EAAE,gBAAgB;CACxB,MAAM,EACJ,aACA,QACA,YACA,cACA,UACA,YACA,GAAG,eACD;CACJ,MAAM,kBAAkB,oBACtB,aACA,YACD;AAED,QAAO;EACL,QAAQ,OAAO,QAAQ,gBAAgB;EACvC,YAAY,OAAO,YAAY,gBAAgB;EAC/C,cAAc,OAAO,cAAc,gBAAgB;EACnD,UAAU,OAAO,UAAU,gBAAgB;EAC3C,YAAY,OAAO,YAAY,gBAAgB;EAC/C,GAAG;EACJ;;AAGH,SAAgB,wBAAwB,OAAyB,MAA+B;CAC9F,MAAM,EAAE,gBAAgB;AACxB,KAAI,CAAC,MAAM,YAAY,CACrB,QAAO,EACL,OAAO,IAAI,MAAM,EAClB;CAGH,MAAM,cAAc,IAAsB,EAAE,CAAC;AAE7C,mBAAkB,YAAY;AAC5B,cAAY,QAAQ,eAAe,KAAK,OAAO,MAAM;GACrD;AAEF,QAAO,EACL,OAAO,aACR;;AAGH,MAAa,wBAA6D,OACxE,wBACD;AAED,MAAa,2BACT,OAAO,2BAA2B;AAEtC,MAAa,sBACT,OAAO,sBAAsB;AAEjC,SAAgB,oBAA2C;AACzD,QAAO,OAAO,uBAAuB,IAAI,EAAE,CAAC,CAAC;;AAG/C,SAAgB,gBAAuC;CACrD,MAAM,gBAAgB,OAAO,0BAA0B,IAAI,EAAE,CAAC,CAAC;CAC/D,MAAM,aAAa,OAAO,uBAAuB,IAAI,EAAE,CAAC,CAAC;AASzD,QAPmB,eAAe;AAChC,SAAO;GACL,GAAG,WAAW;GACd,GAAG,cAAc;GAClB;GACD;;AAKJ,SAAgB,kBAAuC;AACrD,QAAO,OAAO,oBAAoB;;AAGpC,MAAa,yBAAgE;CAC3E;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAgB,2BAA2B,OAA2C;AACpF,QAAO,OAAO,YACZ,OAAO,QAAQ,MAAM,CAClB,QAAQ,CAAC,GAAG,WAAW,QAAQ,MAAM,CAAC,CAC1C"}
@@ -4,7 +4,7 @@ import { ElStep, ElSteps } from "element-plus";
4
4
  import { useObserver } from "@silver-formily/reactive-vue";
5
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createSlots, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
6
6
  import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
7
- import { isObj } from "@formily/shared";
7
+ import { isObj } from "@silver-formily/shared";
8
8
  //#region src/form-step/form-step.vue
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  name: "FFormStep",
@@ -1 +1 @@
1
- {"version":3,"file":"form-step.mjs","names":["$attrs"],"sources":["../../src/form-step/form-step.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VoidField } from '@formily/core'\nimport type { IFormStepProps } from './types'\nimport { isObj } from '@formily/shared'\nimport { useObserver } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElStep, ElSteps } from 'element-plus'\nimport { computed } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { createFormStep, parseSteps } from './utils'\n\ndefineOptions({\n name: 'FFormStep',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IFormStepProps>(), {\n formStep: () => createFormStep(),\n})\n\nuseObserver()\n\nconst field = useField<VoidField>().value\nconst prefixCls = `${stylePrefix}-form-step`\nconst fieldSchemaRef = useFieldSchema()\n\nconst steps = parseSteps(fieldSchemaRef.value)\n\nprops.formStep.connect?.(steps, field)\n\nconst current = computed(() => props.active ?? props.formStep?.current ?? 0)\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ElSteps\n v-bind=\"$attrs\"\n :active=\"current\"\n :style=\"[{ marginBottom: '10px' }]\"\n >\n <ElStep\n v-for=\"({ props: stepProps, slots: stepSlots }, key) of steps\"\n :key=\"key\"\n v-bind=\"stepProps\"\n >\n <template v-if=\"stepSlots?.title\" #title>\n <template v-if=\"isObj(stepSlots.title)\">\n <component :is=\"stepSlots.title\" />\n </template>\n <template v-else>\n {{ stepSlots.title }}\n </template>\n </template>\n <template v-if=\"stepSlots?.icon\" #icon>\n <template v-if=\"isObj(stepSlots.icon)\">\n <component :is=\"stepSlots.icon\" />\n </template>\n <template v-else>\n {{ stepSlots.icon }}\n </template>\n </template>\n <template v-if=\"stepSlots?.description\" #description>\n <template v-if=\"isObj(stepSlots.description)\">\n <component :is=\"stepSlots.description\" />\n </template>\n <template v-else>\n {{ stepSlots.description }}\n </template>\n </template>\n </ElStep>\n </ElSteps>\n\n <template v-for=\"({ name, schema }, key) of steps\" :key=\"name\">\n <RecursionField\n v-if=\"key === current\"\n :name=\"name\"\n :schema=\"schema\"\n />\n </template>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;AAId,eAAY;EAEZ,MAAM,QAAQ,UAAqB,CAAC;EACpC,MAAM,YAAY,GAAG,YAAY;EAGjC,MAAM,QAAQ,WAFS,gBAAe,CAEE,MAAK;AAE7C,QAAM,SAAS,UAAU,OAAO,MAAK;EAErC,MAAM,UAAU,eAAe,MAAM,UAAU,MAAM,UAAU,WAAW,EAAC;;uBAIzE,mBA6CM,OAAA,EA7CA,OAAK,eAAE,UAAS,EAAA,EAAA,CACpB,YAmCU,MAAA,QAAA,EAnCV,WACUA,KAkCA,QAlCM;IACb,QAAQ,QAAA;IACR,OAAO,CAAA,EAAA,cAAA,QAAA,CAA0B;;2BAG8B,EAAA,UAAA,KAAA,EADhE,mBA6BS,UAAA,MAAA,WA5BiD,MAAA,MAAK,GAAA,EAAA,OAA5C,WAAS,OAAS,aAAa,QAAG;yBADrD,YA6BS,MAAA,OAAA,EA7BT,WA6BS,EA3BD,KAAG,EAAA,EAAA,SAAA,MAAA,EACD,UAAS,EAAA,YAAA,EAAA,GAAA,GAAA,EAAA;MAED,WAAW,QAAA;aAAQ;yBAGtB,CAFK,MAAA,MAAK,CAAC,UAAU,MAAK,IAAA,WAAA,EACnC,YAAmC,wBAAnB,UAAU,MAAK,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEjC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,MAAK,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;MAGN,WAAW,OAAA;aAAO;yBAGrB,CAFK,MAAA,MAAK,CAAC,UAAU,KAAI,IAAA,WAAA,EAClC,YAAkC,wBAAlB,UAAU,KAAI,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEhC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,KAAI,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;MAGL,WAAW,cAAA;aAAc;yBAG5B,CAFK,MAAA,MAAK,CAAC,UAAU,YAAW,IAAA,WAAA,EACzC,YAAyC,wBAAzB,UAAU,YAAW,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEvC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,YAAW,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;;;;yCAMhC,mBAMW,UAAA,MAAA,WANiC,MAAA,MAAK,GAAA,EAA7B,MAAM,UAAU,QAAG;4DAAkB,MAAI,EAAA,CAEnD,QAAQ,QAAA,SAAA,WAAA,EADhB,YAIE,MAAA,eAAA,EAAA;;KAFO;KACE"}
1
+ {"version":3,"file":"form-step.mjs","names":["$attrs"],"sources":["../../src/form-step/form-step.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VoidField } from '@silver-formily/core'\nimport type { IFormStepProps } from './types'\nimport { useObserver } from '@silver-formily/reactive-vue'\nimport { isObj } from '@silver-formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElStep, ElSteps } from 'element-plus'\nimport { computed } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { createFormStep, parseSteps } from './utils'\n\ndefineOptions({\n name: 'FFormStep',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IFormStepProps>(), {\n formStep: () => createFormStep(),\n})\n\nuseObserver()\n\nconst field = useField<VoidField>().value\nconst prefixCls = `${stylePrefix}-form-step`\nconst fieldSchemaRef = useFieldSchema()\n\nconst steps = parseSteps(fieldSchemaRef.value)\n\nprops.formStep.connect?.(steps, field)\n\nconst current = computed(() => props.active ?? props.formStep?.current ?? 0)\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ElSteps\n v-bind=\"$attrs\"\n :active=\"current\"\n :style=\"[{ marginBottom: '10px' }]\"\n >\n <ElStep\n v-for=\"({ props: stepProps, slots: stepSlots }, key) of steps\"\n :key=\"key\"\n v-bind=\"stepProps\"\n >\n <template v-if=\"stepSlots?.title\" #title>\n <template v-if=\"isObj(stepSlots.title)\">\n <component :is=\"stepSlots.title\" />\n </template>\n <template v-else>\n {{ stepSlots.title }}\n </template>\n </template>\n <template v-if=\"stepSlots?.icon\" #icon>\n <template v-if=\"isObj(stepSlots.icon)\">\n <component :is=\"stepSlots.icon\" />\n </template>\n <template v-else>\n {{ stepSlots.icon }}\n </template>\n </template>\n <template v-if=\"stepSlots?.description\" #description>\n <template v-if=\"isObj(stepSlots.description)\">\n <component :is=\"stepSlots.description\" />\n </template>\n <template v-else>\n {{ stepSlots.description }}\n </template>\n </template>\n </ElStep>\n </ElSteps>\n\n <template v-for=\"({ name, schema }, key) of steps\" :key=\"name\">\n <RecursionField\n v-if=\"key === current\"\n :name=\"name\"\n :schema=\"schema\"\n />\n </template>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;AAId,eAAY;EAEZ,MAAM,QAAQ,UAAqB,CAAC;EACpC,MAAM,YAAY,GAAG,YAAY;EAGjC,MAAM,QAAQ,WAFS,gBAAe,CAEE,MAAK;AAE7C,QAAM,SAAS,UAAU,OAAO,MAAK;EAErC,MAAM,UAAU,eAAe,MAAM,UAAU,MAAM,UAAU,WAAW,EAAC;;uBAIzE,mBA6CM,OAAA,EA7CA,OAAK,eAAE,UAAS,EAAA,EAAA,CACpB,YAmCU,MAAA,QAAA,EAnCV,WACUA,KAkCA,QAlCM;IACb,QAAQ,QAAA;IACR,OAAO,CAAA,EAAA,cAAA,QAAA,CAA0B;;2BAG8B,EAAA,UAAA,KAAA,EADhE,mBA6BS,UAAA,MAAA,WA5BiD,MAAA,MAAK,GAAA,EAAA,OAA5C,WAAS,OAAS,aAAa,QAAG;yBADrD,YA6BS,MAAA,OAAA,EA7BT,WA6BS,EA3BD,KAAG,EAAA,EAAA,SAAA,MAAA,EACD,UAAS,EAAA,YAAA,EAAA,GAAA,GAAA,EAAA;MAED,WAAW,QAAA;aAAQ;yBAGtB,CAFK,MAAA,MAAK,CAAC,UAAU,MAAK,IAAA,WAAA,EACnC,YAAmC,wBAAnB,UAAU,MAAK,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEjC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,MAAK,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;MAGN,WAAW,OAAA;aAAO;yBAGrB,CAFK,MAAA,MAAK,CAAC,UAAU,KAAI,IAAA,WAAA,EAClC,YAAkC,wBAAlB,UAAU,KAAI,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEhC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,KAAI,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;MAGL,WAAW,cAAA;aAAc;yBAG5B,CAFK,MAAA,MAAK,CAAC,UAAU,YAAW,IAAA,WAAA,EACzC,YAAyC,wBAAzB,UAAU,YAAW,EAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,EAEvC,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,UAAU,YAAW,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;;;;;yCAMhC,mBAMW,UAAA,MAAA,WANiC,MAAA,MAAK,GAAA,EAA7B,MAAM,UAAU,QAAG;4DAAkB,MAAI,EAAA,CAEnD,QAAQ,QAAA,SAAA,WAAA,EADhB,YAIE,MAAA,eAAA,EAAA;;KAFO;KACE"}
@@ -1,5 +1,5 @@
1
1
  import { SchemaStep } from "./utils.js";
2
- import { Form, VoidField } from "@formily/core";
2
+ import { Form, VoidField } from "@silver-formily/core";
3
3
 
4
4
  //#region src/form-step/types.d.ts
5
5
  interface IFormStep {
@@ -1,6 +1,6 @@
1
1
  import { IFormStep } from "./types.js";
2
2
  import { Slots } from "vue";
3
- import { Schema, SchemaKey } from "@formily/json-schema";
3
+ import { Schema, SchemaKey } from "@silver-formily/json-schema";
4
4
 
5
5
  //#region src/form-step/utils.d.ts
6
6
  interface SchemaStep {
@@ -1,4 +1,4 @@
1
- import { action, model, observable } from "@formily/reactive";
1
+ import { action, model, observable } from "@silver-formily/reactive";
2
2
  //#region src/form-step/utils.ts
3
3
  function createFormStep(defaultCurrent = 0) {
4
4
  const env = observable({
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-step/utils.ts"],"sourcesContent":["import type { Schema, SchemaKey } from '@formily/json-schema'\nimport type { Slots } from 'vue'\nimport type { FormStepEnv, IFormStep } from './types'\nimport { action, model, observable } from '@formily/reactive'\n\nexport interface SchemaStep {\n name: SchemaKey\n props: any\n schema: Schema\n slots: Slots\n}\n\nexport function createFormStep(defaultCurrent = 0): IFormStep {\n const env: FormStepEnv = observable({\n form: null,\n field: null,\n steps: [],\n })\n\n const setDisplay = action.bound((target: number) => {\n const currentStep = env.steps[target]\n for (const { name } of env.steps) {\n env.form.query(`${env.field.address}.${name}`).take((field) => {\n if (name === currentStep.name) {\n field.setDisplay('visible')\n }\n else {\n field.setDisplay('hidden')\n }\n })\n }\n })\n\n const formStep: IFormStep = model({\n connect(steps, field) {\n env.steps = steps\n env.form = field?.form\n env.field = field\n },\n current: defaultCurrent,\n setCurrent(key: number) {\n formStep.current = key\n },\n get allowNext() {\n return formStep.current < env.steps.length - 1\n },\n get allowBack() {\n return formStep.current > 0\n },\n async next() {\n try {\n await env.form.validate()\n // eslint-disable-next-line ts/no-use-before-define\n next()\n }\n catch {}\n },\n async back() {\n // eslint-disable-next-line ts/no-use-before-define\n back()\n },\n async submit(onSubmit) {\n return env.form?.submit?.(onSubmit)\n },\n })\n\n const next = action.bound(() => {\n /* istanbul ignore else -- @preserve */\n if (formStep.allowNext) {\n setDisplay(formStep.current + 1)\n formStep.setCurrent(formStep.current + 1)\n }\n })\n\n const back = action.bound(() => {\n /* istanbul ignore else -- @preserve */\n if (formStep.allowBack) {\n setDisplay(formStep.current - 1)\n formStep.setCurrent(formStep.current - 1)\n }\n })\n return formStep\n}\n\nexport function parseSteps(schema: Schema) {\n const steps: SchemaStep[] = []\n schema.mapProperties((schema, name) => {\n /* istanbul ignore else -- @preserve */\n if (schema['x-component']?.indexOf('StepPane') > -1) {\n steps.push({\n name,\n props: schema['x-component-props'],\n schema,\n slots: schema['x-content'],\n })\n }\n })\n return steps\n}\n"],"mappings":";;AAYA,SAAgB,eAAe,iBAAiB,GAAc;CAC5D,MAAM,MAAmB,WAAW;EAClC,MAAM;EACN,OAAO;EACP,OAAO,EAAE;EACV,CAAC;CAEF,MAAM,aAAa,OAAO,OAAO,WAAmB;EAClD,MAAM,cAAc,IAAI,MAAM;AAC9B,OAAK,MAAM,EAAE,UAAU,IAAI,MACzB,KAAI,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,UAAU;AAC7D,OAAI,SAAS,YAAY,KACvB,OAAM,WAAW,UAAU;OAG3B,OAAM,WAAW,SAAS;IAE5B;GAEJ;CAEF,MAAM,WAAsB,MAAM;EAChC,QAAQ,OAAO,OAAO;AACpB,OAAI,QAAQ;AACZ,OAAI,OAAO,OAAO;AAClB,OAAI,QAAQ;;EAEd,SAAS;EACT,WAAW,KAAa;AACtB,YAAS,UAAU;;EAErB,IAAI,YAAY;AACd,UAAO,SAAS,UAAU,IAAI,MAAM,SAAS;;EAE/C,IAAI,YAAY;AACd,UAAO,SAAS,UAAU;;EAE5B,MAAM,OAAO;AACX,OAAI;AACF,UAAM,IAAI,KAAK,UAAU;AAEzB,UAAM;WAEF;;EAER,MAAM,OAAO;AAEX,SAAM;;EAER,MAAM,OAAO,UAAU;AACrB,UAAO,IAAI,MAAM,SAAS,SAAS;;EAEtC,CAAC;CAEF,MAAM,OAAO,OAAO,YAAY;;AAE9B,MAAI,SAAS,WAAW;AACtB,cAAW,SAAS,UAAU,EAAE;AAChC,YAAS,WAAW,SAAS,UAAU,EAAE;;GAE3C;CAEF,MAAM,OAAO,OAAO,YAAY;;AAE9B,MAAI,SAAS,WAAW;AACtB,cAAW,SAAS,UAAU,EAAE;AAChC,YAAS,WAAW,SAAS,UAAU,EAAE;;GAE3C;AACF,QAAO;;AAGT,SAAgB,WAAW,QAAgB;CACzC,MAAM,QAAsB,EAAE;AAC9B,QAAO,eAAe,QAAQ,SAAS;;AAErC,MAAI,OAAO,gBAAgB,QAAQ,WAAW,GAAG,GAC/C,OAAM,KAAK;GACT;GACA,OAAO,OAAO;GACd;GACA,OAAO,OAAO;GACf,CAAC;GAEJ;AACF,QAAO"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-step/utils.ts"],"sourcesContent":["import type { Schema, SchemaKey } from '@silver-formily/json-schema'\nimport type { Slots } from 'vue'\nimport type { FormStepEnv, IFormStep } from './types'\nimport { action, model, observable } from '@silver-formily/reactive'\n\nexport interface SchemaStep {\n name: SchemaKey\n props: any\n schema: Schema\n slots: Slots\n}\n\nexport function createFormStep(defaultCurrent = 0): IFormStep {\n const env: FormStepEnv = observable({\n form: null,\n field: null,\n steps: [],\n })\n\n const setDisplay = action.bound((target: number) => {\n const currentStep = env.steps[target]\n for (const { name } of env.steps) {\n env.form.query(`${env.field.address}.${name}`).take((field) => {\n if (name === currentStep.name) {\n field.setDisplay('visible')\n }\n else {\n field.setDisplay('hidden')\n }\n })\n }\n })\n\n const formStep: IFormStep = model({\n connect(steps, field) {\n env.steps = steps\n env.form = field?.form\n env.field = field\n },\n current: defaultCurrent,\n setCurrent(key: number) {\n formStep.current = key\n },\n get allowNext() {\n return formStep.current < env.steps.length - 1\n },\n get allowBack() {\n return formStep.current > 0\n },\n async next() {\n try {\n await env.form.validate()\n // eslint-disable-next-line ts/no-use-before-define\n next()\n }\n catch {}\n },\n async back() {\n // eslint-disable-next-line ts/no-use-before-define\n back()\n },\n async submit(onSubmit) {\n return env.form?.submit?.(onSubmit)\n },\n })\n\n const next = action.bound(() => {\n /* istanbul ignore else -- @preserve */\n if (formStep.allowNext) {\n setDisplay(formStep.current + 1)\n formStep.setCurrent(formStep.current + 1)\n }\n })\n\n const back = action.bound(() => {\n /* istanbul ignore else -- @preserve */\n if (formStep.allowBack) {\n setDisplay(formStep.current - 1)\n formStep.setCurrent(formStep.current - 1)\n }\n })\n return formStep\n}\n\nexport function parseSteps(schema: Schema) {\n const steps: SchemaStep[] = []\n schema.mapProperties((schema, name) => {\n /* istanbul ignore else -- @preserve */\n if (schema['x-component']?.indexOf('StepPane') > -1) {\n steps.push({\n name,\n props: schema['x-component-props'],\n schema,\n slots: schema['x-content'],\n })\n }\n })\n return steps\n}\n"],"mappings":";;AAYA,SAAgB,eAAe,iBAAiB,GAAc;CAC5D,MAAM,MAAmB,WAAW;EAClC,MAAM;EACN,OAAO;EACP,OAAO,EAAE;EACV,CAAC;CAEF,MAAM,aAAa,OAAO,OAAO,WAAmB;EAClD,MAAM,cAAc,IAAI,MAAM;AAC9B,OAAK,MAAM,EAAE,UAAU,IAAI,MACzB,KAAI,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,UAAU;AAC7D,OAAI,SAAS,YAAY,KACvB,OAAM,WAAW,UAAU;OAG3B,OAAM,WAAW,SAAS;IAE5B;GAEJ;CAEF,MAAM,WAAsB,MAAM;EAChC,QAAQ,OAAO,OAAO;AACpB,OAAI,QAAQ;AACZ,OAAI,OAAO,OAAO;AAClB,OAAI,QAAQ;;EAEd,SAAS;EACT,WAAW,KAAa;AACtB,YAAS,UAAU;;EAErB,IAAI,YAAY;AACd,UAAO,SAAS,UAAU,IAAI,MAAM,SAAS;;EAE/C,IAAI,YAAY;AACd,UAAO,SAAS,UAAU;;EAE5B,MAAM,OAAO;AACX,OAAI;AACF,UAAM,IAAI,KAAK,UAAU;AAEzB,UAAM;WAEF;;EAER,MAAM,OAAO;AAEX,SAAM;;EAER,MAAM,OAAO,UAAU;AACrB,UAAO,IAAI,MAAM,SAAS,SAAS;;EAEtC,CAAC;CAEF,MAAM,OAAO,OAAO,YAAY;;AAE9B,MAAI,SAAS,WAAW;AACtB,cAAW,SAAS,UAAU,EAAE;AAChC,YAAS,WAAW,SAAS,UAAU,EAAE;;GAE3C;CAEF,MAAM,OAAO,OAAO,YAAY;;AAE9B,MAAI,SAAS,WAAW;AACtB,cAAW,SAAS,UAAU,EAAE;AAChC,YAAS,WAAW,SAAS,UAAU,EAAE;;GAE3C;AACF,QAAO;;AAGT,SAAgB,WAAW,QAAgB;CACzC,MAAM,QAAsB,EAAE;AAC9B,QAAO,eAAe,QAAQ,SAAS;;AAErC,MAAI,OAAO,gBAAgB,QAAQ,WAAW,GAAG,GAC/C,OAAM,KAAK;GACT;GACA,OAAO,OAAO;GACd;GACA,OAAO,OAAO;GACf,CAAC;GAEJ;AACF,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","names":[],"sources":["../../src/form-tab/hooks.ts"],"sourcesContent":["import type { GeneralField } from '@formily/core'\nimport type { Schema, SchemaKey } from '@formily/json-schema'\n\nexport type Tabs = { name: SchemaKey, props: any, schema: Schema }[]\n\nexport function useTabs(tabField: GeneralField, schema: Schema) {\n const schemaList = schema.mapProperties((item, name) => ({\n name,\n props: {\n name: item?.['x-component-props']?.name || name,\n ...item?.['x-component-props'],\n },\n schema: item,\n }))\n\n const tabs: Tabs = schemaList.filter((item) => {\n const field = tabField.query(tabField.address.concat(item.name)).take()\n const isHidden = field?.display === 'none' || field?.display === 'hidden'\n if (isHidden)\n return false\n return item?.schema?.['x-component']?.includes('TabPane') ?? false\n })\n\n return tabs\n}\n"],"mappings":";AAKA,SAAgB,QAAQ,UAAwB,QAAgB;AAkB9D,QAjBmB,OAAO,eAAe,MAAM,UAAU;EACvD;EACA,OAAO;GACL,MAAM,OAAO,sBAAsB,QAAQ;GAC3C,GAAG,OAAO;GACX;EACD,QAAQ;EACT,EAAE,CAE2B,QAAQ,SAAS;EAC7C,MAAM,QAAQ,SAAS,MAAM,SAAS,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,MAAM;AAEvE,MADiB,OAAO,YAAY,UAAU,OAAO,YAAY,SAE/D,QAAO;AACT,SAAO,MAAM,SAAS,gBAAgB,SAAS,UAAU,IAAI;GAC7D"}
1
+ {"version":3,"file":"hooks.mjs","names":[],"sources":["../../src/form-tab/hooks.ts"],"sourcesContent":["import type { GeneralField } from '@silver-formily/core'\nimport type { Schema, SchemaKey } from '@silver-formily/json-schema'\n\nexport type Tabs = { name: SchemaKey, props: any, schema: Schema }[]\n\nexport function useTabs(tabField: GeneralField, schema: Schema) {\n const schemaList = schema.mapProperties((item, name) => ({\n name,\n props: {\n name: item?.['x-component-props']?.name || name,\n ...item?.['x-component-props'],\n },\n schema: item,\n }))\n\n const tabs: Tabs = schemaList.filter((item) => {\n const field = tabField.query(tabField.address.concat(item.name)).take()\n const isHidden = field?.display === 'none' || field?.display === 'hidden'\n if (isHidden)\n return false\n return item?.schema?.['x-component']?.includes('TabPane') ?? false\n })\n\n return tabs\n}\n"],"mappings":";AAKA,SAAgB,QAAQ,UAAwB,QAAgB;AAkB9D,QAjBmB,OAAO,eAAe,MAAM,UAAU;EACvD;EACA,OAAO;GACL,MAAM,OAAO,sBAAsB,QAAQ;GAC3C,GAAG,OAAO;GACX;EACD,QAAQ;EACT,EAAE,CAE2B,QAAQ,SAAS;EAC7C,MAAM,QAAQ,SAAS,MAAM,SAAS,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,MAAM;AAEvE,MADiB,OAAO,YAAY,UAAU,OAAO,YAAY,SAE/D,QAAO;AACT,SAAO,MAAM,SAAS,gBAAgB,SAAS,UAAU,IAAI;GAC7D"}
@@ -1,4 +1,4 @@
1
- import { model } from "@formily/reactive";
1
+ import { model } from "@silver-formily/reactive";
2
2
  //#region src/form-tab/utils.ts
3
3
  function createFormTab(defaultActiveKey) {
4
4
  const formTab = model({
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-tab/utils.ts"],"sourcesContent":["import { model } from '@formily/reactive'\n\nexport function createFormTab(defaultActiveKey?: string) {\n const formTab = model({\n activeKey: defaultActiveKey,\n setActiveKey(key: string) {\n formTab.activeKey = key\n },\n })\n return formTab\n}\n"],"mappings":";;AAEA,SAAgB,cAAc,kBAA2B;CACvD,MAAM,UAAU,MAAM;EACpB,WAAW;EACX,aAAa,KAAa;AACxB,WAAQ,YAAY;;EAEvB,CAAC;AACF,QAAO"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../src/form-tab/utils.ts"],"sourcesContent":["import { model } from '@silver-formily/reactive'\n\nexport function createFormTab(defaultActiveKey?: string) {\n const formTab = model({\n activeKey: defaultActiveKey,\n setActiveKey(key: string) {\n formTab.activeKey = key\n },\n })\n return formTab\n}\n"],"mappings":";;AAEA,SAAgB,cAAc,kBAA2B;CACvD,MAAM,UAAU,MAAM;EACpB,WAAW;EACX,aAAa,KAAa;AACxB,WAAQ,YAAY;;EAEvB,CAAC;AACF,QAAO"}