@silver-formily/element-plus 0.0.1-alpha.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.
- package/LICENSE +21 -0
- package/README.md +31 -0
- package/esm/__builtins__/configs/index.d.ts +1 -0
- package/esm/__builtins__/configs/index.mjs +5 -0
- package/esm/__builtins__/configs/index.mjs.map +1 -0
- package/esm/__builtins__/index.d.ts +2 -0
- package/esm/__builtins__/index.mjs +27 -0
- package/esm/__builtins__/index.mjs.map +1 -0
- package/esm/__builtins__/shared/hooks.d.ts +7 -0
- package/esm/__builtins__/shared/hooks.mjs +59 -0
- package/esm/__builtins__/shared/hooks.mjs.map +1 -0
- package/esm/__builtins__/shared/index.d.ts +7 -0
- package/esm/__builtins__/shared/index.mjs +25 -0
- package/esm/__builtins__/shared/index.mjs.map +1 -0
- package/esm/__builtins__/shared/load-config-provider.d.ts +2 -0
- package/esm/__builtins__/shared/load-config-provider.mjs +13 -0
- package/esm/__builtins__/shared/load-config-provider.mjs.map +1 -0
- package/esm/__builtins__/shared/loading.d.ts +12 -0
- package/esm/__builtins__/shared/loading.mjs +49 -0
- package/esm/__builtins__/shared/loading.mjs.map +1 -0
- package/esm/__builtins__/shared/simple-version-compare.d.ts +2 -0
- package/esm/__builtins__/shared/simple-version-compare.mjs +18 -0
- package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -0
- package/esm/__builtins__/shared/transform-component.d.ts +8 -0
- package/esm/__builtins__/shared/transform-component.mjs +50 -0
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -0
- package/esm/__builtins__/shared/types.d.ts +2 -0
- package/esm/__builtins__/shared/types.mjs +2 -0
- package/esm/__builtins__/shared/types.mjs.map +1 -0
- package/esm/__builtins__/shared/utils.d.ts +8 -0
- package/esm/__builtins__/shared/utils.mjs +34 -0
- package/esm/__builtins__/shared/utils.mjs.map +1 -0
- package/esm/array-base/array-base-addition.d.ts +5 -0
- package/esm/array-base/array-base-index.d.ts +19 -0
- package/esm/array-base/array-base-inner.d.ts +18 -0
- package/esm/array-base/array-base-item.d.ts +18 -0
- package/esm/array-base/array-base-move-down.d.ts +18 -0
- package/esm/array-base/array-base-move-up.d.ts +18 -0
- package/esm/array-base/array-base-remove.d.ts +18 -0
- package/esm/array-base/array-base-sort-handle.d.ts +2 -0
- package/esm/array-base/index.d.ts +114 -0
- package/esm/array-base/index.mjs +225 -0
- package/esm/array-base/index.mjs.map +1 -0
- package/esm/array-base/symbols.d.ts +4 -0
- package/esm/array-base/symbols.mjs +6 -0
- package/esm/array-base/symbols.mjs.map +1 -0
- package/esm/array-base/types.d.ts +28 -0
- package/esm/array-base/types.mjs +2 -0
- package/esm/array-base/types.mjs.map +1 -0
- package/esm/array-base/utils.d.ts +18 -0
- package/esm/array-base/utils.mjs +88 -0
- package/esm/array-base/utils.mjs.map +1 -0
- package/esm/array-cards/array-cards.d.ts +13 -0
- package/esm/array-cards/index.d.ts +122 -0
- package/esm/array-cards/index.mjs +119 -0
- package/esm/array-cards/index.mjs.map +1 -0
- package/esm/array-collapse/array-collapse-item.d.ts +18 -0
- package/esm/array-collapse/array-collapse.d.ts +16 -0
- package/esm/array-collapse/index.d.ts +134 -0
- package/esm/array-collapse/index.mjs +180 -0
- package/esm/array-collapse/index.mjs.map +1 -0
- package/esm/array-collapse/utils.d.ts +1 -0
- package/esm/array-collapse/utils.mjs +12 -0
- package/esm/array-collapse/utils.mjs.map +1 -0
- package/esm/array-items/array-items-item.d.ts +30 -0
- package/esm/array-items/array-items.d.ts +2 -0
- package/esm/array-items/index.d.ts +130 -0
- package/esm/array-items/index.mjs +105 -0
- package/esm/array-items/index.mjs.map +1 -0
- package/esm/array-list-tabs/array-list-tabs.d.ts +31 -0
- package/esm/array-list-tabs/index.d.ts +83 -0
- package/esm/array-list-tabs/index.mjs +183 -0
- package/esm/array-list-tabs/index.mjs.map +1 -0
- package/esm/array-list-tabs/utils.d.ts +3 -0
- package/esm/array-list-tabs/utils.mjs +16 -0
- package/esm/array-list-tabs/utils.mjs.map +1 -0
- package/esm/array-table/index.mjs +230 -0
- package/esm/array-table/index.mjs.map +1 -0
- package/esm/array-table/types.d.ts +6 -0
- package/esm/array-table/types.mjs +2 -0
- package/esm/array-table/types.mjs.map +1 -0
- package/esm/array-table/utils.d.ts +5 -0
- package/esm/array-table/utils.mjs +26 -0
- package/esm/array-table/utils.mjs.map +1 -0
- package/esm/array-tabs/array-tabs.d.ts +2 -0
- package/esm/array-tabs/index.d.ts +2 -0
- package/esm/array-tabs/index.mjs +88 -0
- package/esm/array-tabs/index.mjs.map +1 -0
- package/esm/cascader/cascader.d.ts +30 -0
- package/esm/cascader/index.d.ts +41 -0
- package/esm/cascader/index.mjs +54 -0
- package/esm/cascader/index.mjs.map +1 -0
- package/esm/checkbox/checkbox-group.d.ts +58 -0
- package/esm/checkbox/index.d.ts +716 -0
- package/esm/checkbox/index.mjs +86 -0
- package/esm/checkbox/index.mjs.map +1 -0
- package/esm/date-picker/index.d.ts +2 -0
- package/esm/date-picker/index.mjs +57 -0
- package/esm/date-picker/index.mjs.map +1 -0
- package/esm/editable/editable-popover.d.ts +25 -0
- package/esm/editable/editable.d.ts +187 -0
- package/esm/editable/index.d.ts +147 -0
- package/esm/editable/index.mjs +231 -0
- package/esm/editable/index.mjs.map +1 -0
- package/esm/form/form.d.ts +46 -0
- package/esm/form/form.mjs +77 -0
- package/esm/form/form.mjs.map +1 -0
- package/esm/form/index.d.ts +1 -0
- package/esm/form/index.mjs +6 -0
- package/esm/form/index.mjs.map +1 -0
- package/esm/form-button-group/form-button-group-sticky.d.ts +17 -0
- package/esm/form-button-group/form-button-group.d.ts +48 -0
- package/esm/form-button-group/index.d.ts +87 -0
- package/esm/form-button-group/index.mjs +90 -0
- package/esm/form-button-group/index.mjs.map +1 -0
- package/esm/form-button-group/utils.d.ts +1 -0
- package/esm/form-button-group/utils.mjs +12 -0
- package/esm/form-button-group/utils.mjs.map +1 -0
- package/esm/form-collapse/form-collapse.d.ts +18 -0
- package/esm/form-collapse/index.d.ts +45 -0
- package/esm/form-collapse/index.mjs +103 -0
- package/esm/form-collapse/index.mjs.map +1 -0
- package/esm/form-collapse/utils.d.ts +31 -0
- package/esm/form-collapse/utils.mjs +54 -0
- package/esm/form-collapse/utils.mjs.map +1 -0
- package/esm/form-dialog/dialog-content.d.ts +60 -0
- package/esm/form-dialog/index.d.ts +4 -0
- package/esm/form-dialog/index.mjs +209 -0
- package/esm/form-dialog/index.mjs.map +1 -0
- package/esm/form-dialog/types.d.ts +32 -0
- package/esm/form-dialog/types.mjs +2 -0
- package/esm/form-dialog/types.mjs.map +1 -0
- package/esm/form-drawer/drawer-content.d.ts +60 -0
- package/esm/form-drawer/index.d.ts +4 -0
- package/esm/form-drawer/index.mjs +203 -0
- package/esm/form-drawer/index.mjs.map +1 -0
- package/esm/form-drawer/types.d.ts +32 -0
- package/esm/form-drawer/types.mjs +2 -0
- package/esm/form-drawer/types.mjs.map +1 -0
- package/esm/form-grid/form-grid-column.d.ts +29 -0
- package/esm/form-grid/form-grid.d.ts +101 -0
- package/esm/form-grid/hooks.d.ts +4 -0
- package/esm/form-grid/hooks.mjs +7 -0
- package/esm/form-grid/hooks.mjs.map +1 -0
- package/esm/form-grid/index.d.ts +182 -0
- package/esm/form-grid/index.mjs +106 -0
- package/esm/form-grid/index.mjs.map +1 -0
- package/esm/form-item/form-item.d.ts +18 -0
- package/esm/form-item/index.d.ts +70 -0
- package/esm/form-item/index.mjs +346 -0
- package/esm/form-item/index.mjs.map +1 -0
- package/esm/form-item/types.d.ts +25 -0
- package/esm/form-item/types.mjs +2 -0
- package/esm/form-item/types.mjs.map +1 -0
- package/esm/form-item/utils.d.ts +3 -0
- package/esm/form-item/utils.mjs +18 -0
- package/esm/form-item/utils.mjs.map +1 -0
- package/esm/form-layout/form-layout.d.ts +32 -0
- package/esm/form-layout/form-layout.mjs +86 -0
- package/esm/form-layout/form-layout.mjs.map +1 -0
- package/esm/form-layout/index.d.ts +1 -0
- package/esm/form-layout/index.mjs +6 -0
- package/esm/form-layout/index.mjs.map +1 -0
- package/esm/form-layout/types.d.ts +43 -0
- package/esm/form-layout/types.mjs +2 -0
- package/esm/form-layout/types.mjs.map +1 -0
- package/esm/form-layout/utils.d.ts +57 -0
- package/esm/form-layout/utils.mjs +109 -0
- package/esm/form-layout/utils.mjs.map +1 -0
- package/esm/form-step/form-step-pane.d.ts +2 -0
- package/esm/form-step/form-step.d.ts +5 -0
- package/esm/form-step/index.d.ts +24 -0
- package/esm/form-step/index.mjs +96 -0
- package/esm/form-step/index.mjs.map +1 -0
- package/esm/form-step/types.d.ts +21 -0
- package/esm/form-step/types.mjs +2 -0
- package/esm/form-step/types.mjs.map +1 -0
- package/esm/form-step/utils.d.ts +11 -0
- package/esm/form-step/utils.mjs +66 -0
- package/esm/form-step/utils.mjs.map +1 -0
- package/esm/form-tab/form-tab.d.ts +7 -0
- package/esm/form-tab/hooks.d.ts +7 -0
- package/esm/form-tab/hooks.mjs +32 -0
- package/esm/form-tab/hooks.mjs.map +1 -0
- package/esm/form-tab/index.d.ts +28 -0
- package/esm/form-tab/index.mjs +80 -0
- package/esm/form-tab/index.mjs.map +1 -0
- package/esm/form-tab/types.d.ts +12 -0
- package/esm/form-tab/types.mjs +2 -0
- package/esm/form-tab/types.mjs.map +1 -0
- package/esm/form-tab/utils.d.ts +4 -0
- package/esm/form-tab/utils.mjs +14 -0
- package/esm/form-tab/utils.mjs.map +1 -0
- package/esm/index.d.ts +37 -0
- package/esm/index.mjs +81 -0
- package/esm/index.mjs.map +1 -0
- package/esm/input/index.d.ts +84 -0
- package/esm/input/index.mjs +77 -0
- package/esm/input/index.mjs.map +1 -0
- package/esm/input/input.d.ts +32 -0
- package/esm/input-number/index.d.ts +4 -0
- package/esm/input-number/index.mjs +30 -0
- package/esm/input-number/index.mjs.map +1 -0
- package/esm/pagination/components/jumper.d.ts +16 -0
- package/esm/pagination/components/jumper.mjs +12 -0
- package/esm/pagination/components/jumper.mjs.map +1 -0
- package/esm/pagination/components/next.d.ts +42 -0
- package/esm/pagination/components/next.mjs +23 -0
- package/esm/pagination/components/next.mjs.map +1 -0
- package/esm/pagination/components/pager.d.ts +42 -0
- package/esm/pagination/components/pager.mjs +23 -0
- package/esm/pagination/components/pager.mjs.map +1 -0
- package/esm/pagination/components/prev.d.ts +39 -0
- package/esm/pagination/components/prev.mjs +22 -0
- package/esm/pagination/components/prev.mjs.map +1 -0
- package/esm/pagination/components/sizes.d.ts +56 -0
- package/esm/pagination/components/sizes.mjs +7 -0
- package/esm/pagination/components/sizes.mjs.map +1 -0
- package/esm/pagination/components/total.d.ts +8 -0
- package/esm/pagination/components/total.mjs +11 -0
- package/esm/pagination/components/total.mjs.map +1 -0
- package/esm/pagination/pagination.d.ts +128 -0
- package/esm/pagination/pagination.mjs +631 -0
- package/esm/pagination/pagination.mjs.map +1 -0
- package/esm/password/index.d.ts +86 -0
- package/esm/password/index.mjs +14 -0
- package/esm/password/index.mjs.map +1 -0
- package/esm/preview-text/cascader.d.ts +5 -0
- package/esm/preview-text/date-picker.d.ts +5 -0
- package/esm/preview-text/index.d.ts +102 -0
- package/esm/preview-text/index.mjs +321 -0
- package/esm/preview-text/index.mjs.map +1 -0
- package/esm/preview-text/input.d.ts +28 -0
- package/esm/preview-text/preview.d.ts +18 -0
- package/esm/preview-text/select.d.ts +5 -0
- package/esm/preview-text/time-picker.d.ts +5 -0
- package/esm/preview-text/tree.d.ts +22 -0
- package/esm/preview-text/utils.d.ts +14 -0
- package/esm/preview-text/utils.mjs +16 -0
- package/esm/preview-text/utils.mjs.map +1 -0
- package/esm/radio/index.d.ts +634 -0
- package/esm/radio/index.mjs +80 -0
- package/esm/radio/index.mjs.map +1 -0
- package/esm/radio/radio-group.d.ts +44 -0
- package/esm/reset/index.d.ts +63 -0
- package/esm/reset/index.mjs +48 -0
- package/esm/reset/index.mjs.map +1 -0
- package/esm/reset/reset.d.ts +45 -0
- package/esm/select/index.d.ts +142 -0
- package/esm/select/index.mjs +132 -0
- package/esm/select/index.mjs.map +1 -0
- package/esm/select/select.d.ts +50 -0
- package/esm/select-table/index.mjs +204 -0
- package/esm/select-table/index.mjs.map +1 -0
- package/esm/select-table/types.d.ts +14 -0
- package/esm/select-table/types.mjs +2 -0
- package/esm/select-table/types.mjs.map +1 -0
- package/esm/space/index.d.ts +1 -0
- package/esm/space/index.mjs +6 -0
- package/esm/space/index.mjs.map +1 -0
- package/esm/styles/array-base/index.css +1 -0
- package/esm/styles/array-cards/index.css +1 -0
- package/esm/styles/array-collapse/index.css +1 -0
- package/esm/styles/array-items/index.css +1 -0
- package/esm/styles/array-list-tabs/index.css +1 -0
- package/esm/styles/array-table/index.css +1 -0
- package/esm/styles/array-tabs/index.css +1 -0
- package/esm/styles/editable/index.css +1 -0
- package/esm/styles/form-button-group/index.css +1 -0
- package/esm/styles/form-collapse/index.css +1 -0
- package/esm/styles/form-grid/index.css +1 -0
- package/esm/styles/form-item/index.css +1 -0
- package/esm/styles/form-tab/index.css +1 -0
- package/esm/styles/preview-text/index.css +1 -0
- package/esm/styles/radio/index.css +1 -0
- package/esm/styles/select-table/index.css +1 -0
- package/esm/submit/index.d.ts +48 -0
- package/esm/submit/index.mjs +47 -0
- package/esm/submit/index.mjs.map +1 -0
- package/esm/submit/submit.d.ts +36 -0
- package/esm/switch/index.d.ts +4 -0
- package/esm/switch/index.mjs +19 -0
- package/esm/switch/index.mjs.map +1 -0
- package/esm/time-picker/index.d.ts +4 -0
- package/esm/time-picker/index.mjs +21 -0
- package/esm/time-picker/index.mjs.map +1 -0
- package/esm/time-select/index.d.ts +2 -0
- package/esm/time-select/index.mjs +21 -0
- package/esm/time-select/index.mjs.map +1 -0
- package/esm/transfer/index.d.ts +1509 -0
- package/esm/transfer/index.mjs +11 -0
- package/esm/transfer/index.mjs.map +1 -0
- package/esm/tree/index.d.ts +42 -0
- package/esm/tree/index.mjs +105 -0
- package/esm/tree/index.mjs.map +1 -0
- package/esm/tree/tree.d.ts +20 -0
- package/esm/tree/types.d.ts +13 -0
- package/esm/tree/types.mjs +2 -0
- package/esm/tree/types.mjs.map +1 -0
- package/esm/tree/utils.d.ts +45 -0
- package/esm/tree/utils.mjs +161 -0
- package/esm/tree/utils.mjs.map +1 -0
- package/esm/tree-select/index.d.ts +32 -0
- package/esm/tree-select/index.mjs +51 -0
- package/esm/tree-select/index.mjs.map +1 -0
- package/esm/tree-select/tree-select.d.ts +17 -0
- package/esm/upload/index.d.ts +889 -0
- package/esm/upload/index.mjs +185 -0
- package/esm/upload/index.mjs.map +1 -0
- package/esm/upload/upload.d.ts +1613 -0
- package/esm/vendor/icon.mjs +11 -0
- package/esm/vendor/icon.mjs.map +1 -0
- package/esm/vendor/lodash.mjs +1400 -0
- package/esm/vendor/lodash.mjs.map +1 -0
- package/esm/vendor/runtime.mjs +29 -0
- package/esm/vendor/runtime.mjs.map +1 -0
- package/esm/vendor/shared.esm-bundler.mjs +14 -0
- package/esm/vendor/shared.esm-bundler.mjs.map +1 -0
- package/esm/vendor/sizes.mjs +27 -0
- package/esm/vendor/sizes.mjs.map +1 -0
- package/esm/vendor/types.mjs +19 -0
- package/esm/vendor/types.mjs.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { stylePrefix as o } from "../__builtins__/configs/index.mjs";
|
|
2
|
+
import "vue";
|
|
3
|
+
import "element-plus";
|
|
4
|
+
import "@formily/reactive";
|
|
5
|
+
import "@formily/core";
|
|
6
|
+
import "@formily/reactive-vue";
|
|
7
|
+
import "@formily/vue";
|
|
8
|
+
const s = `${o}-form-button-group`;
|
|
9
|
+
export {
|
|
10
|
+
s as prefixCls
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/form-button-group/utils.ts"],"sourcesContent":["import { stylePrefix } from '../__builtins__'\n\nexport const prefixCls = `${stylePrefix}-form-button-group`\n"],"names":["prefixCls","stylePrefix"],"mappings":";;;;;;;AAEO,MAAMA,IAAY,GAAGC,CAAW;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IFormCollapse } from './utils';
|
|
3
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
|
+
formCollapse: {
|
|
5
|
+
type: PropType<IFormCollapse>;
|
|
6
|
+
};
|
|
7
|
+
activeKey: {
|
|
8
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
9
|
+
};
|
|
10
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
11
|
+
formCollapse: {
|
|
12
|
+
type: PropType<IFormCollapse>;
|
|
13
|
+
};
|
|
14
|
+
activeKey: {
|
|
15
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
16
|
+
};
|
|
17
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createFormCollapse } from './utils';
|
|
2
|
+
export declare const FormCollapseItem: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
5
|
+
declare const composeFormCollapse: {
|
|
6
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
|
|
7
|
+
formCollapse: {
|
|
8
|
+
type: import('vue').PropType<import('./utils').IFormCollapse>;
|
|
9
|
+
};
|
|
10
|
+
activeKey: {
|
|
11
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
12
|
+
};
|
|
13
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
14
|
+
P: {};
|
|
15
|
+
B: {};
|
|
16
|
+
D: {};
|
|
17
|
+
C: {};
|
|
18
|
+
M: {};
|
|
19
|
+
Defaults: {};
|
|
20
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
21
|
+
formCollapse: {
|
|
22
|
+
type: import('vue').PropType<import('./utils').IFormCollapse>;
|
|
23
|
+
};
|
|
24
|
+
activeKey: {
|
|
25
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
26
|
+
};
|
|
27
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
28
|
+
__isFragment?: never;
|
|
29
|
+
__isTeleport?: never;
|
|
30
|
+
__isSuspense?: never;
|
|
31
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
32
|
+
formCollapse: {
|
|
33
|
+
type: import('vue').PropType<import('./utils').IFormCollapse>;
|
|
34
|
+
};
|
|
35
|
+
activeKey: {
|
|
36
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
37
|
+
};
|
|
38
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
|
|
39
|
+
Item: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
42
|
+
createFormCollapse: typeof createFormCollapse;
|
|
43
|
+
};
|
|
44
|
+
export { composeFormCollapse as FormCollapse };
|
|
45
|
+
export default composeFormCollapse;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { observer as h } from "@formily/reactive-vue";
|
|
2
|
+
import { defineComponent as P, computed as j, createBlock as m, openBlock as o, unref as t, mergeProps as A, withCtx as v, createElementBlock as d, Fragment as y, renderList as q, normalizeClass as w, resolveDynamicComponent as B, toDisplayString as I, createTextVNode as z, createVNode as L, h as O } from "vue";
|
|
3
|
+
import { ElCollapse as T, ElCollapseItem as G, ElBadge as H } from "element-plus";
|
|
4
|
+
import { observable as $ } from "@formily/reactive";
|
|
5
|
+
import "@formily/core";
|
|
6
|
+
import { useField as J, useFieldSchema as M, RecursionField as Q } from "@formily/vue";
|
|
7
|
+
import { composeExport as U } from "../__builtins__/shared/utils.mjs";
|
|
8
|
+
import { isFn as N } from "@formily/shared";
|
|
9
|
+
import { stylePrefix as W } from "../__builtins__/configs/index.mjs";
|
|
10
|
+
import { usePanels as X, createFormCollapse as D } from "./utils.mjs";
|
|
11
|
+
import '../styles/form-collapse/index.css';const Y = { key: 1 }, Z = /* @__PURE__ */ P({
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
__name: "form-collapse",
|
|
14
|
+
props: {
|
|
15
|
+
formCollapse: { type: Object },
|
|
16
|
+
activeKey: {
|
|
17
|
+
type: [String, Number]
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
setup(_) {
|
|
21
|
+
const r = _, n = `${W}-form-collapse`, C = J(), R = M(), x = $.computed(() => X(C.value, R.value)), F = j(
|
|
22
|
+
() => r.formCollapse ?? D()
|
|
23
|
+
);
|
|
24
|
+
function V(a) {
|
|
25
|
+
var l, s;
|
|
26
|
+
return r.activeKey ? r.activeKey : (l = F.value) != null && l.activeKeys ? (s = F.value) == null ? void 0 : s.activeKeys : a.map((e) => e.name);
|
|
27
|
+
}
|
|
28
|
+
const i = $.computed(() => x.value.map((a) => C.value.form.queryFeedbacks({
|
|
29
|
+
type: "error",
|
|
30
|
+
address: `${C.value.address.concat(a.name)}.*`
|
|
31
|
+
}).length));
|
|
32
|
+
return (a, l) => (o(), m(t(T), A({
|
|
33
|
+
class: n,
|
|
34
|
+
"model-value": V(t(x).value)
|
|
35
|
+
}, a.$attrs, {
|
|
36
|
+
onChange: l[0] || (l[0] = (s) => {
|
|
37
|
+
F.value.setActiveKeys(s);
|
|
38
|
+
})
|
|
39
|
+
}), {
|
|
40
|
+
default: v(() => [
|
|
41
|
+
(o(!0), d(y, null, q(t(x).value, ({ props: s, schema: e, name: k }, f) => (o(), m(t(G), A({
|
|
42
|
+
key: k,
|
|
43
|
+
ref_for: !0
|
|
44
|
+
}, s, { name: k }), {
|
|
45
|
+
default: v(() => [
|
|
46
|
+
L(t(Q), {
|
|
47
|
+
schema: e,
|
|
48
|
+
name: k
|
|
49
|
+
}, null, 8, ["schema", "name"])
|
|
50
|
+
]),
|
|
51
|
+
title: v(() => {
|
|
52
|
+
var g, E;
|
|
53
|
+
return [
|
|
54
|
+
t(i).value[f] !== 0 ? (o(), m(t(H), {
|
|
55
|
+
key: 0,
|
|
56
|
+
class: w(`${n}-errors-badge`),
|
|
57
|
+
value: t(i).value[f]
|
|
58
|
+
}, {
|
|
59
|
+
default: v(() => {
|
|
60
|
+
var p, u;
|
|
61
|
+
return [
|
|
62
|
+
(p = e["x-content"]) != null && p.title ? (o(), m(B(() => {
|
|
63
|
+
var c, b, K;
|
|
64
|
+
return t(N)((c = e["x-content"]) == null ? void 0 : c.title) ? (b = e["x-content"]) == null ? void 0 : b.title(t(i).value[f]) : (K = e["x-content"]) == null ? void 0 : K.title;
|
|
65
|
+
}), { key: 0 })) : (o(), d("span", Y, I((u = e["x-component-props"]) == null ? void 0 : u.title), 1))
|
|
66
|
+
];
|
|
67
|
+
}),
|
|
68
|
+
_: 2
|
|
69
|
+
}, 1032, ["class", "value"])) : (o(), d(y, { key: 1 }, [
|
|
70
|
+
(g = e["x-content"]) != null && g.title ? (o(), m(B(() => {
|
|
71
|
+
var p, u, c;
|
|
72
|
+
return t(N)((p = e["x-content"]) == null ? void 0 : p.title) ? (u = e["x-content"]) == null ? void 0 : u.title(t(i).value[f]) : (c = e["x-content"]) == null ? void 0 : c.title;
|
|
73
|
+
}), { key: 0 })) : (o(), d(y, { key: 1 }, [
|
|
74
|
+
z(I((E = e["x-component-props"]) == null ? void 0 : E.title), 1)
|
|
75
|
+
], 64))
|
|
76
|
+
], 64))
|
|
77
|
+
];
|
|
78
|
+
}),
|
|
79
|
+
_: 2
|
|
80
|
+
}, 1040, ["name"]))), 128))
|
|
81
|
+
]),
|
|
82
|
+
_: 1
|
|
83
|
+
}, 16, ["model-value"]));
|
|
84
|
+
}
|
|
85
|
+
}), S = h(Z), ee = P({
|
|
86
|
+
name: "FFormCollapseItem",
|
|
87
|
+
inheritAttrs: !1,
|
|
88
|
+
setup(_, { slots: r }) {
|
|
89
|
+
return () => {
|
|
90
|
+
var n;
|
|
91
|
+
return O(y, (n = r.default) == null ? void 0 : n.call(r));
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}), me = U(S, {
|
|
95
|
+
Item: ee,
|
|
96
|
+
createFormCollapse: D
|
|
97
|
+
});
|
|
98
|
+
export {
|
|
99
|
+
me as FormCollapse,
|
|
100
|
+
ee as FormCollapseItem,
|
|
101
|
+
me as default
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-collapse/form-collapse.vue","../../src/form-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PropType } from 'vue'\nimport type { IFormCollapse } from './utils'\nimport { observable } from '@formily/reactive'\nimport { isFn } from '@formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@formily/vue'\nimport { ElBadge, ElCollapse, ElCollapseItem } from 'element-plus'\nimport { computed } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { createFormCollapse, usePanels } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n formCollapse: { type: Object as PropType<IFormCollapse> },\n activeKey: {\n type: [String, Number],\n },\n})\nconst prefixCls = `${stylePrefix}-form-collapse`\n\nconst field = useField()\nconst schema = useFieldSchema()\nconst panels = observable.computed(() => usePanels(field.value, schema.value))\nconst formCollapseRef = computed(\n () => props.formCollapse ?? createFormCollapse(),\n)\n\nfunction takeActiveKeys(panelList) {\n if (props.activeKey)\n return props.activeKey\n if (formCollapseRef.value?.activeKeys)\n return formCollapseRef.value?.activeKeys\n return panelList.map(item => item.name)\n}\n\nconst panelErrorCounts = observable.computed(() => {\n return panels.value.map((item) => {\n const panelErrors = field.value.form.queryFeedbacks({\n type: 'error',\n address: `${field.value.address.concat(item.name)}.*`,\n })\n return panelErrors.length\n })\n})\n</script>\n\n<template>\n <ElCollapse\n :class=\"prefixCls\"\n :model-value=\"takeActiveKeys(panels.value)\"\n v-bind=\"$attrs\"\n @change=\"(key) => {\n formCollapseRef.setActiveKeys(key)\n }\"\n >\n <template v-for=\"({ props: itemProps, schema: itemSchema, name }, index) of panels.value\" :key=\"name\">\n <ElCollapseItem v-bind=\"itemProps\" :name=\"name\">\n <template #default>\n <RecursionField :schema=\"itemSchema\" :name=\"name\" />\n </template>\n <template #title>\n <ElBadge\n v-if=\"panelErrorCounts.value[index] !== 0\"\n :class=\"`${prefixCls}-errors-badge`\"\n :value=\"panelErrorCounts.value[index]\"\n >\n <component\n :is=\"() => isFn(itemSchema['x-content']?.title)\n ? itemSchema['x-content']?.title(panelErrorCounts.value[index])\n : itemSchema['x-content']?.title\"\n v-if=\"itemSchema['x-content']?.title\"\n />\n <span v-else>{{ itemSchema['x-component-props']?.title }}</span>\n </ElBadge>\n <template v-else>\n <component\n :is=\"() => isFn(itemSchema['x-content']?.title)\n ? itemSchema['x-content']?.title(panelErrorCounts.value[index])\n : itemSchema['x-content']?.title\"\n v-if=\"itemSchema['x-content']?.title\"\n />\n <template v-else>\n {{ itemSchema['x-component-props']?.title }}\n </template>\n </template>\n </template>\n </ElCollapseItem>\n </template>\n </ElCollapse>\n</template>\n","import { observer } from '@formily/reactive-vue'\nimport { defineComponent, Fragment, h } from 'vue'\nimport { composeExport } from '../__builtins__'\nimport FFormCollapse from './form-collapse.vue'\nimport { createFormCollapse } from './utils'\nimport './style.scss'\n\nconst FormCollapse = observer(FFormCollapse)\n\nexport const FormCollapseItem = defineComponent({\n name: 'FFormCollapseItem',\n inheritAttrs: false,\n setup(_props, { slots }) {\n return () => h(Fragment, slots.default?.())\n },\n})\n\nconst composeFormCollapse = composeExport(FormCollapse, {\n Item: FormCollapseItem,\n createFormCollapse,\n})\n\nexport { composeFormCollapse as FormCollapse }\nexport default composeFormCollapse\n"],"names":["props","__props","prefixCls","stylePrefix","field","useField","schema","useFieldSchema","panels","observable","usePanels","formCollapseRef","computed","createFormCollapse","takeActiveKeys","panelList","_a","_b","item","panelErrorCounts","_openBlock","_createBlock","_unref","_mergeProps","$attrs","key","_createElementBlock","_Fragment","_renderList","itemProps","itemSchema","name","index","_createVNode","RecursionField","ElBadge","_resolveDynamicComponent","isFn","_c","_hoisted_1","_toDisplayString","_createTextVNode","FormCollapse","observer","FFormCollapse","FormCollapseItem","defineComponent","_props","slots","h","Fragment","composeFormCollapse","composeExport"],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { GeneralField } from '@formily/core';
|
|
2
|
+
import { Schema, SchemaKey } from '@formily/json-schema';
|
|
3
|
+
type ActiveKeys = string | number | Array<string | number>;
|
|
4
|
+
type ActiveKey = string | number;
|
|
5
|
+
type Panels = {
|
|
6
|
+
name: SchemaKey;
|
|
7
|
+
props: any;
|
|
8
|
+
schema: Schema;
|
|
9
|
+
}[];
|
|
10
|
+
export interface IFormCollapse {
|
|
11
|
+
activeKeys: ActiveKeys;
|
|
12
|
+
hasActiveKey: (key: ActiveKey) => boolean;
|
|
13
|
+
setActiveKeys: (key: ActiveKeys) => void;
|
|
14
|
+
addActiveKey: (key: ActiveKey) => void;
|
|
15
|
+
removeActiveKey: (key: ActiveKey) => void;
|
|
16
|
+
toggleActiveKey: (key: ActiveKey) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface IFormCollapseProps {
|
|
19
|
+
formCollapse?: IFormCollapse;
|
|
20
|
+
activeKey?: ActiveKey;
|
|
21
|
+
}
|
|
22
|
+
export declare function usePanels(collapseField: GeneralField, schema: Schema): Panels;
|
|
23
|
+
export declare function createFormCollapse(defaultActiveKeys?: ActiveKeys): {
|
|
24
|
+
activeKeys: ActiveKeys;
|
|
25
|
+
setActiveKeys(keys: ActiveKeys): void;
|
|
26
|
+
hasActiveKey(key: ActiveKey): boolean;
|
|
27
|
+
addActiveKey(key: ActiveKey): void;
|
|
28
|
+
removeActiveKey(key: ActiveKey): void;
|
|
29
|
+
toggleActiveKey(key: ActiveKey): void;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { model as y } from "@formily/reactive";
|
|
2
|
+
import { toArr as v } from "@formily/shared";
|
|
3
|
+
function u(i, e) {
|
|
4
|
+
return e.mapProperties((r, s) => {
|
|
5
|
+
var n;
|
|
6
|
+
return {
|
|
7
|
+
name: s,
|
|
8
|
+
props: {
|
|
9
|
+
...r == null ? void 0 : r["x-component-props"],
|
|
10
|
+
key: ((n = r == null ? void 0 : r["x-component-props"]) == null ? void 0 : n.key) || s
|
|
11
|
+
},
|
|
12
|
+
schema: r
|
|
13
|
+
};
|
|
14
|
+
}).filter((r) => {
|
|
15
|
+
var a, c;
|
|
16
|
+
const s = i.query(i.address.concat(r.name)).take();
|
|
17
|
+
return (s == null ? void 0 : s.display) === "none" || (s == null ? void 0 : s.display) === "hidden" ? !1 : ((c = (a = r == null ? void 0 : r.schema) == null ? void 0 : a["x-component"]) == null ? void 0 : c.includes("FormCollapse.Item")) ?? !1;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function l(i) {
|
|
21
|
+
const e = y({
|
|
22
|
+
activeKeys: i,
|
|
23
|
+
setActiveKeys(t) {
|
|
24
|
+
/* istanbul ignore if -- @preserve */
|
|
25
|
+
t !== e.activeKeys && (e.activeKeys = t);
|
|
26
|
+
},
|
|
27
|
+
hasActiveKey(t) {
|
|
28
|
+
if (Array.isArray(e.activeKeys)) {
|
|
29
|
+
if (e.activeKeys.includes(t))
|
|
30
|
+
return !0;
|
|
31
|
+
} else if (e.activeKeys === t)
|
|
32
|
+
return !0;
|
|
33
|
+
return !1;
|
|
34
|
+
},
|
|
35
|
+
addActiveKey(t) {
|
|
36
|
+
/* istanbul ignore if -- @preserve */
|
|
37
|
+
e.hasActiveKey(t) || (e.activeKeys = v(e.activeKeys).concat(t));
|
|
38
|
+
},
|
|
39
|
+
removeActiveKey(t) {
|
|
40
|
+
e.activeKeys = Array.isArray(e.activeKeys) ? e.activeKeys.filter(
|
|
41
|
+
(o) => o !== t
|
|
42
|
+
) : "";
|
|
43
|
+
},
|
|
44
|
+
toggleActiveKey(t) {
|
|
45
|
+
e.hasActiveKey(t) ? e.removeActiveKey(t) : e.addActiveKey(t);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return e;
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
l as createFormCollapse,
|
|
52
|
+
u as usePanels
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/form-collapse/utils.ts"],"sourcesContent":["import type { GeneralField } from '@formily/core'\nimport type { Schema, SchemaKey } from '@formily/json-schema'\nimport { model } from '@formily/reactive'\nimport { toArr } from '@formily/shared'\n\ntype ActiveKeys = string | number | Array<string | number>\n\ntype ActiveKey = string | number\n\ntype Panels = { name: SchemaKey, props: any, schema: Schema }[]\n\nexport interface IFormCollapse {\n activeKeys: ActiveKeys\n hasActiveKey: (key: ActiveKey) => boolean\n setActiveKeys: (key: ActiveKeys) => void\n addActiveKey: (key: ActiveKey) => void\n removeActiveKey: (key: ActiveKey) => void\n toggleActiveKey: (key: ActiveKey) => void\n}\n\nexport interface IFormCollapseProps {\n formCollapse?: IFormCollapse\n activeKey?: ActiveKey\n}\n\nexport function usePanels(collapseField: GeneralField, schema: Schema) {\n const schemaList = schema.mapProperties((schema, name) => ({\n name,\n props: {\n ...schema?.['x-component-props'],\n key: schema?.['x-component-props']?.key || name,\n },\n schema,\n }))\n\n const panels: Panels = schemaList.filter((item) => {\n const field = collapseField.query(collapseField.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('FormCollapse.Item') ?? false\n })\n\n return panels\n}\n\nexport function createFormCollapse(defaultActiveKeys?: ActiveKeys) {\n const formCollapse = model({\n activeKeys: defaultActiveKeys,\n setActiveKeys(keys: ActiveKeys) {\n /* istanbul ignore if -- @preserve */\n if (keys === formCollapse.activeKeys)\n return\n formCollapse.activeKeys = keys\n },\n hasActiveKey(key: ActiveKey) {\n if (Array.isArray(formCollapse.activeKeys)) {\n if (formCollapse.activeKeys.includes(key)) {\n return true\n }\n }\n else if (formCollapse.activeKeys === key) {\n return true\n }\n return false\n },\n addActiveKey(key: ActiveKey) {\n /* istanbul ignore if -- @preserve */\n if (formCollapse.hasActiveKey(key))\n return\n formCollapse.activeKeys = toArr(formCollapse.activeKeys).concat(key)\n },\n removeActiveKey(key: ActiveKey) {\n formCollapse.activeKeys = Array.isArray(formCollapse.activeKeys)\n ? formCollapse.activeKeys.filter(\n item => item !== key,\n )\n : ''\n },\n toggleActiveKey(key: ActiveKey) {\n if (formCollapse.hasActiveKey(key)) {\n formCollapse.removeActiveKey(key)\n }\n else {\n formCollapse.addActiveKey(key)\n }\n },\n })\n return formCollapse\n}\n"],"names":["usePanels","collapseField","schema","name","item","field","_b","_a","createFormCollapse","defaultActiveKeys","formCollapse","model","keys","key","toArr"],"mappings":";;AAyBO,SAASA,EAAUC,GAA6BC,GAAgB;AAkBrE,SAjBmBA,EAAO,cAAc,CAACA,GAAQC,MAAA;;AAAU;AAAA,MACzD,MAAAA;AAAA,MACA,OAAO;AAAA,QACL,GAAGD,KAAAA,gBAAAA,EAAS;AAAA,QACZ,OAAKA,IAAAA,KAAAA,gBAAAA,EAAS,yBAATA,gBAAAA,EAA+B,QAAOC;AAAA,MAAA;AAAA,MAE7C,QAAAD;AAAAA,IAAA;AAAA,GACA,EAEgC,OAAO,CAACE,MAAS;;AACjD,UAAMC,IAAQJ,EAAc,MAAMA,EAAc,QAAQ,OAAOG,EAAK,IAAI,CAAC,EAAE,KAAA;AAE3E,YADiBC,KAAA,gBAAAA,EAAO,aAAY,WAAUA,KAAA,gBAAAA,EAAO,aAAY,WAExD,OACFC,KAAAC,IAAAH,KAAA,gBAAAA,EAAM,WAAN,gBAAAG,EAAe,mBAAf,gBAAAD,EAA+B,SAAS,yBAAwB;AAAA,EACzE,CAAC;AAGH;AAEO,SAASE,EAAmBC,GAAgC;AACjE,QAAMC,IAAeC,EAAM;AAAA,IACzB,YAAYF;AAAA,IACZ,cAAcG,GAAkB;AAAA,MAAA;AAE9B,MAAIA,MAASF,EAAa,eAE1BA,EAAa,aAAaE;AAAA,IAC5B;AAAA,IACA,aAAaC,GAAgB;AAC3B,UAAI,MAAM,QAAQH,EAAa,UAAU;AACvC,YAAIA,EAAa,WAAW,SAASG,CAAG;AACtC,iBAAO;AAAA,iBAGFH,EAAa,eAAeG;AACnC,eAAO;AAET,aAAO;AAAA,IACT;AAAA,IACA,aAAaA,GAAgB;AAAA,MAAA;AAE3B,MAAIH,EAAa,aAAaG,CAAG,MAEjCH,EAAa,aAAaI,EAAMJ,EAAa,UAAU,EAAE,OAAOG,CAAG;AAAA,IACrE;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAAH,EAAa,aAAa,MAAM,QAAQA,EAAa,UAAU,IAC3DA,EAAa,WAAW;AAAA,QACtB,OAAQN,MAASS;AAAA,MAAA,IAEnB;AAAA,IACN;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAIH,EAAa,aAAaG,CAAG,IAC/BH,EAAa,gBAAgBG,CAAG,IAGhCH,EAAa,aAAaG,CAAG;AAAA,IAEjC;AAAA,EAAA,CACD;AACD,SAAOH;AACT;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Form } from '@formily/core';
|
|
2
|
+
import { PropType } from 'vue';
|
|
3
|
+
import { FormDialogSlots, IFormDialogProps } from './types';
|
|
4
|
+
declare function __VLS_template(): {
|
|
5
|
+
attrs: Partial<{}>;
|
|
6
|
+
slots: Readonly<FormDialogSlots> & FormDialogSlots;
|
|
7
|
+
refs: {};
|
|
8
|
+
rootEl: any;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
12
|
+
dialogProps: {
|
|
13
|
+
type: PropType<IFormDialogProps>;
|
|
14
|
+
required: true;
|
|
15
|
+
};
|
|
16
|
+
visible: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
form: {
|
|
21
|
+
type: PropType<Form>;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
resolve: {
|
|
25
|
+
type: PropType<() => void>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
reject: {
|
|
29
|
+
type: PropType<() => void>;
|
|
30
|
+
required: true;
|
|
31
|
+
};
|
|
32
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
33
|
+
dialogProps: {
|
|
34
|
+
type: PropType<IFormDialogProps>;
|
|
35
|
+
required: true;
|
|
36
|
+
};
|
|
37
|
+
visible: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
required: true;
|
|
40
|
+
};
|
|
41
|
+
form: {
|
|
42
|
+
type: PropType<Form>;
|
|
43
|
+
required: true;
|
|
44
|
+
};
|
|
45
|
+
resolve: {
|
|
46
|
+
type: PropType<() => void>;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
49
|
+
reject: {
|
|
50
|
+
type: PropType<() => void>;
|
|
51
|
+
required: true;
|
|
52
|
+
};
|
|
53
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
54
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
55
|
+
export default _default;
|
|
56
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
57
|
+
new (): {
|
|
58
|
+
$slots: S;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
import { FormDialogSlotContent, IFormDialog, IFormDialogProps } from './types';
|
|
3
|
+
export declare function FormDialog(title: IFormDialogProps | string, content?: Component | FormDialogSlotContent, dynamicMiddlewareNames?: string[]): IFormDialog;
|
|
4
|
+
export default FormDialog;
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { createForm as T } from "@formily/core";
|
|
2
|
+
import { toJS as V } from "@formily/reactive";
|
|
3
|
+
import { observer as q } from "@formily/reactive-vue";
|
|
4
|
+
import { isFn as u, isArr as $, isStr as h, pascalCase as j, applyMiddleware as g, isValid as z } from "@formily/shared";
|
|
5
|
+
import { defineComponent as N, useSlots as O, createBlock as A, openBlock as k, unref as n, mergeProps as C, createSlots as I, withCtx as c, createElementVNode as J, normalizeClass as R, renderSlot as w, createElementBlock as U, Fragment as G, createVNode as b, createTextVNode as x, toDisplayString as M, normalizeProps as H, guardReactiveProps as K, ref as L, h as D, createApp as Q } from "vue";
|
|
6
|
+
import { ElDialog as W, ElButton as E, ElConfigProvider as X } from "element-plus";
|
|
7
|
+
import { useDebonceSubmitting as Y, loading as F, getTransitionDuration as Z } from "../__builtins__/shared/loading.mjs";
|
|
8
|
+
import { FormProvider as _ } from "@formily/vue";
|
|
9
|
+
import { isVueOptions as ee } from "../__builtins__/shared/utils.mjs";
|
|
10
|
+
import { stylePrefix as oe } from "../__builtins__/configs/index.mjs";
|
|
11
|
+
import { loadElConfigProvider as re } from "../__builtins__/shared/load-config-provider.mjs";
|
|
12
|
+
import { o as te, c as S } from "../vendor/lodash.mjs";
|
|
13
|
+
const ne = /* @__PURE__ */ N({
|
|
14
|
+
name: "FormDialogContent",
|
|
15
|
+
__name: "dialog-content",
|
|
16
|
+
props: {
|
|
17
|
+
dialogProps: {
|
|
18
|
+
type: Object,
|
|
19
|
+
required: !0
|
|
20
|
+
},
|
|
21
|
+
visible: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: !0
|
|
24
|
+
},
|
|
25
|
+
form: {
|
|
26
|
+
type: Object,
|
|
27
|
+
required: !0
|
|
28
|
+
},
|
|
29
|
+
resolve: {
|
|
30
|
+
type: Function,
|
|
31
|
+
required: !0
|
|
32
|
+
},
|
|
33
|
+
reject: {
|
|
34
|
+
type: Function,
|
|
35
|
+
required: !0
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
setup(t) {
|
|
39
|
+
const l = t, f = O(), e = `${oe}-form-dialog`, d = re(), a = te(l.dialogProps, [
|
|
40
|
+
"modelValue",
|
|
41
|
+
"onUpdate:modelValue",
|
|
42
|
+
"beforeClose"
|
|
43
|
+
]), { internalSubmitting: p } = Y(l.form);
|
|
44
|
+
return (i, o) => (k(), A(n(W), C({
|
|
45
|
+
class: e,
|
|
46
|
+
"z-index": n(d).zIndex
|
|
47
|
+
}, n(a), {
|
|
48
|
+
"model-value": t.visible,
|
|
49
|
+
"before-close": (r) => {
|
|
50
|
+
t.reject(), n(u)(l.dialogProps.beforeClose) ? l.dialogProps.beforeClose(r) : r();
|
|
51
|
+
}
|
|
52
|
+
}), I({
|
|
53
|
+
default: c(() => [
|
|
54
|
+
b(n(_), {
|
|
55
|
+
form: l.form
|
|
56
|
+
}, {
|
|
57
|
+
default: c(() => [
|
|
58
|
+
b(n(X), H(K(n(d))), {
|
|
59
|
+
default: c(() => [
|
|
60
|
+
w(i.$slots, "default", {
|
|
61
|
+
resolve: t.resolve,
|
|
62
|
+
reject: t.reject,
|
|
63
|
+
form: t.form
|
|
64
|
+
})
|
|
65
|
+
]),
|
|
66
|
+
_: 3
|
|
67
|
+
}, 16)
|
|
68
|
+
]),
|
|
69
|
+
_: 3
|
|
70
|
+
}, 8, ["form"])
|
|
71
|
+
]),
|
|
72
|
+
footer: c(() => [
|
|
73
|
+
J("div", {
|
|
74
|
+
class: R(`${e}-footer`)
|
|
75
|
+
}, [
|
|
76
|
+
f.footer ? w(i.$slots, "footer", {
|
|
77
|
+
key: 0,
|
|
78
|
+
resolve: t.resolve,
|
|
79
|
+
reject: t.reject,
|
|
80
|
+
form: t.form
|
|
81
|
+
}) : (k(), U(G, { key: 1 }, [
|
|
82
|
+
b(n(E), C(n(a).cancelButtonProps, {
|
|
83
|
+
onClick: o[0] || (o[0] = (r) => l.reject())
|
|
84
|
+
}), {
|
|
85
|
+
default: c(() => [
|
|
86
|
+
x(M(n(a).cancelText || "取消"), 1)
|
|
87
|
+
]),
|
|
88
|
+
_: 1
|
|
89
|
+
}, 16),
|
|
90
|
+
b(n(E), C({ type: "primary" }, n(a).okButtonProps, {
|
|
91
|
+
loading: n(p),
|
|
92
|
+
onClick: o[1] || (o[1] = (r) => l.resolve())
|
|
93
|
+
}), {
|
|
94
|
+
default: c(() => [
|
|
95
|
+
x(M(n(a).okText || "确定"), 1)
|
|
96
|
+
]),
|
|
97
|
+
_: 1
|
|
98
|
+
}, 16, ["loading"])
|
|
99
|
+
], 64))
|
|
100
|
+
], 2)
|
|
101
|
+
]),
|
|
102
|
+
_: 2
|
|
103
|
+
}, [
|
|
104
|
+
f.header ? {
|
|
105
|
+
name: "header",
|
|
106
|
+
fn: c(() => [
|
|
107
|
+
w(i.$slots, "header", {
|
|
108
|
+
resolve: t.resolve,
|
|
109
|
+
reject: t.reject,
|
|
110
|
+
form: t.form
|
|
111
|
+
})
|
|
112
|
+
]),
|
|
113
|
+
key: "0"
|
|
114
|
+
} : void 0
|
|
115
|
+
]), 1040, ["z-index", "model-value", "before-close"]));
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
function be(t, l, f) {
|
|
119
|
+
const e = {
|
|
120
|
+
root: document.createElement("div"),
|
|
121
|
+
form: null,
|
|
122
|
+
promise: null,
|
|
123
|
+
app: null,
|
|
124
|
+
instance: null,
|
|
125
|
+
openMiddlewares: [],
|
|
126
|
+
confirmMiddlewares: [],
|
|
127
|
+
cancelMiddlewares: []
|
|
128
|
+
};
|
|
129
|
+
if ($(f))
|
|
130
|
+
for (const o of f) {
|
|
131
|
+
/* istanbul ignore if -- @preserve */
|
|
132
|
+
if (!h(o))
|
|
133
|
+
return;
|
|
134
|
+
const r = S(o);
|
|
135
|
+
/* istanbul ignore if -- @preserve */
|
|
136
|
+
if (["open", "cancel", "confirm"].includes(r))
|
|
137
|
+
throw new Error(`for${j(r)} is presved`);
|
|
138
|
+
e[`${r}Middlewares`] = [];
|
|
139
|
+
}
|
|
140
|
+
document.body.append(e.root);
|
|
141
|
+
const d = h(t) ? { title: t } : t;
|
|
142
|
+
function a(o, r, s) {
|
|
143
|
+
const m = ee(l) ? { default: () => D(l) } : l;
|
|
144
|
+
if (!e.instance) {
|
|
145
|
+
const v = q({
|
|
146
|
+
setup(P, { expose: B }) {
|
|
147
|
+
const y = L(!1);
|
|
148
|
+
return B({
|
|
149
|
+
visible: y
|
|
150
|
+
}), () => D(ne, {
|
|
151
|
+
dialogProps: d,
|
|
152
|
+
form: e.form,
|
|
153
|
+
resolve: r,
|
|
154
|
+
reject: s,
|
|
155
|
+
visible: y.value
|
|
156
|
+
}, m);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
e.app = Q(v), e.instance = e.app.mount(e.root);
|
|
160
|
+
}
|
|
161
|
+
e.instance.visible = o;
|
|
162
|
+
}
|
|
163
|
+
function p() {
|
|
164
|
+
const o = Z();
|
|
165
|
+
setTimeout(() => {
|
|
166
|
+
var r, s, m;
|
|
167
|
+
(s = (r = e.app) == null ? void 0 : r.unmount) == null || s.call(r), e.app = null, e.instance = null, (m = e.root) == null || m.remove(), e.root = void 0;
|
|
168
|
+
}, o);
|
|
169
|
+
}
|
|
170
|
+
const i = {
|
|
171
|
+
forOpen: (o) => (u(o) && e.openMiddlewares.push(o), i),
|
|
172
|
+
forConfirm: (o) => (u(o) && e.confirmMiddlewares.push(o), i),
|
|
173
|
+
forCancel: (o) => (u(o) && e.cancelMiddlewares.push(o), i),
|
|
174
|
+
open: (o) => {
|
|
175
|
+
/* istanbul ignore if -- @preserve */
|
|
176
|
+
return e.promise || (e.promise = new Promise((r, s) => {
|
|
177
|
+
F(d.loadingText, () => g(o, e.openMiddlewares)).then((m) => {
|
|
178
|
+
e.form = e.form || T(m), a(!0, (v) => {
|
|
179
|
+
e.form.submit(async () => {
|
|
180
|
+
await (z(v) ? g(e.form, e[`${v}Middlewares`]) : g(e.form, e.confirmMiddlewares)), r(V(e.form.values)), i.close(), p();
|
|
181
|
+
}).catch((P) => {
|
|
182
|
+
console.warn(P);
|
|
183
|
+
});
|
|
184
|
+
}, async () => {
|
|
185
|
+
await F(d.loadingText, () => g(e.form, e.cancelMiddlewares)), i.close(), p(), s(new Error("cancel"));
|
|
186
|
+
});
|
|
187
|
+
}).catch(
|
|
188
|
+
/* istanbul ignore next -- @preserve */
|
|
189
|
+
(m) => s(m)
|
|
190
|
+
);
|
|
191
|
+
})), e.promise;
|
|
192
|
+
},
|
|
193
|
+
close: () => {
|
|
194
|
+
/* istanbul ignore if -- @preserve */
|
|
195
|
+
e.root && a(!1);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
if ($(f))
|
|
199
|
+
for (const o of f) {
|
|
200
|
+
const r = S(o);
|
|
201
|
+
i[`for${j(r)}`] = (s) => (u(s) && e[`${r}Middlewares`].push(s), i);
|
|
202
|
+
}
|
|
203
|
+
return i;
|
|
204
|
+
}
|
|
205
|
+
export {
|
|
206
|
+
be as FormDialog,
|
|
207
|
+
be as default
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-dialog/dialog-content.vue","../../src/form-dialog/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { PropType } from 'vue'\nimport type { FormDialogSlots, IFormDialogProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@formily/vue'\nimport { ElButton, ElConfigProvider, ElDialog } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\n\ndefineOptions({\n name: 'FormDialogContent',\n})\nconst props = defineProps({\n dialogProps: {\n type: Object as PropType<IFormDialogProps>,\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<() => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\n\nconst slots = defineSlots<FormDialogSlots>()\nconst prefixCls = `${stylePrefix}-form-dialog`\nconst elConfig = loadElConfigProvider()\nconst _dialogProps = omit(props.dialogProps, [\n 'modelValue',\n 'onUpdate:modelValue',\n 'beforeClose',\n])\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\n</script>\n\n<template>\n <ElDialog\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_dialogProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.dialogProps.beforeClose)) {\n props.dialogProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"props.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=\"_dialogProps.cancelButtonProps\"\n @click=\"props.reject()\"\n >\n {{ _dialogProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_dialogProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"props.resolve()\"\n >\n {{ _dialogProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDialog>\n</template>\n","import type { Form, IFormProps } from '@formily/core'\r\nimport type { IMiddleware } from '@formily/shared'\r\nimport type { App, Component } from 'vue'\r\nimport type { FormDialogSlotContent, IFormDialog, IFormDialogProps } from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { toJS } from '@formily/reactive'\r\nimport { observer } from '@formily/reactive-vue'\r\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\r\nimport { camelCase } from 'lodash-es'\r\nimport { createApp, h, ref } from 'vue'\r\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\r\nimport DialogContent from './dialog-content.vue'\r\n\r\nexport function FormDialog(\r\n title: IFormDialogProps | string,\r\n content?: Component | FormDialogSlotContent,\r\n dynamicMiddlewareNames?: string[],\r\n): IFormDialog {\r\n const env: {\r\n root?: HTMLElement\r\n form?: Form\r\n promise?: Promise<any>\r\n instance?: any\r\n app?: App<Element>\r\n openMiddlewares: IMiddleware<IFormProps>[]\r\n confirmMiddlewares: IMiddleware<Form>[]\r\n cancelMiddlewares: IMiddleware<Form>[]\r\n [key: `${string}Middlewares`]: IMiddleware<Form>[] | IMiddleware<IFormProps>[] | undefined\r\n } = {\r\n root: document.createElement('div'),\r\n form: null,\r\n promise: null,\r\n app: null,\r\n instance: null,\r\n openMiddlewares: [],\r\n confirmMiddlewares: [],\r\n cancelMiddlewares: [],\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isStr(middlewareName))\r\n return\r\n const _middlewareName = camelCase(middlewareName)\r\n /* istanbul ignore if -- @preserve */\r\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\r\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\r\n }\r\n (env[`${_middlewareName}Middlewares`] = [])\r\n }\r\n }\r\n\r\n document.body.append(env.root)\r\n\r\n const props = (isStr(title) ? ({ title }) : title) as IFormDialogProps\r\n\r\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\r\n const _content = isVueOptions(content)\r\n ? { default: () => h(content) }\r\n : content\r\n if (!env.instance) {\r\n const ComponentConstructor = observer({\r\n setup(_, { expose }) {\r\n const visible = ref(false)\r\n expose({\r\n visible,\r\n })\r\n return () => h(DialogContent, {\r\n dialogProps: props,\r\n form: env.form,\r\n resolve,\r\n reject,\r\n visible: visible.value,\r\n }, _content)\r\n },\r\n })\r\n env.app = createApp(ComponentConstructor)\r\n env.instance = env.app.mount(env.root)\r\n }\r\n env.instance.visible = visible\r\n }\r\n\r\n function disposeDialog() {\r\n const animationDuration = getTransitionDuration()\r\n setTimeout(() => {\r\n env.app?.unmount?.()\r\n env.app = null\r\n env.instance = null\r\n env.root?.remove()\r\n env.root = undefined\r\n }, animationDuration)\r\n }\r\n\r\n const formDialog = {\r\n forOpen: (middleware: IMiddleware<IFormProps>) => {\r\n isFn(middleware) && env.openMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\n forConfirm: (middleware: IMiddleware<Form>) => {\r\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\n forCancel: (middleware: IMiddleware<Form>) => {\r\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\n open: (payload: IFormProps) => {\r\n /* istanbul ignore if -- @preserve */\r\n if (env.promise)\r\n return env.promise\r\n\r\n env.promise = new Promise((res, rej) => {\r\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\r\n .then((resPayload) => {\r\n env.form = env.form || createForm(resPayload)\r\n render(true, (type: string) => {\r\n env.form.submit(async () => {\r\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\r\n res(toJS(env.form.values))\r\n formDialog.close()\r\n disposeDialog()\r\n }).catch((error) => {\r\n console.warn(error)\r\n })\r\n }, async () => {\r\n await loading(props.loadingText, () =>\r\n applyMiddleware(env.form, env.cancelMiddlewares))\r\n formDialog.close()\r\n disposeDialog()\r\n rej(new Error('cancel'))\r\n })\r\n })\r\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\r\n })\r\n return env.promise\r\n },\r\n close: () => {\r\n /* istanbul ignore if -- @preserve */\r\n if (!env.root)\r\n return\r\n render(false)\r\n },\r\n }\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n const _middlewareName = camelCase(middlewareName)\r\n formDialog[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form>) => {\r\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\r\n return formDialog\r\n }\r\n }\r\n }\r\n\r\n return formDialog as never\r\n}\r\n\r\nexport default FormDialog\r\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","_dialogProps","omit","internalSubmitting","useDebonceSubmitting","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_cache","$event","_createTextVNode","_toDisplayString","FormDialog","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","ref","DialogContent","createApp","disposeDialog","animationDuration","getTransitionDuration","_b","_a","_c","formDialog","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Form, IFormProps } from '@formily/core';
|
|
2
|
+
import { IMiddleware } from '@formily/shared';
|
|
3
|
+
import { ButtonProps, DialogProps } from 'element-plus';
|
|
4
|
+
import { SlotsType, VNode } from 'vue';
|
|
5
|
+
export type IFormDialogProps = Partial<DialogProps> & {
|
|
6
|
+
cancelText?: string;
|
|
7
|
+
cancelButtonProps?: ButtonProps;
|
|
8
|
+
okText?: string;
|
|
9
|
+
okButtonProps?: ButtonProps;
|
|
10
|
+
loadingText?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface FormDialogSlotProps {
|
|
13
|
+
resolve: (type?: string) => void;
|
|
14
|
+
reject: () => void;
|
|
15
|
+
form: Form;
|
|
16
|
+
}
|
|
17
|
+
export interface FormDialogSlots {
|
|
18
|
+
header?: (props: FormDialogSlotProps) => VNode;
|
|
19
|
+
default?: () => VNode;
|
|
20
|
+
footer?: (props: FormDialogSlotProps) => VNode;
|
|
21
|
+
}
|
|
22
|
+
export type FormDialogSlotContent = SlotsType<FormDialogSlots> | {
|
|
23
|
+
[key in keyof FormDialogSlots]?: FormDialogSlots[key];
|
|
24
|
+
};
|
|
25
|
+
export interface IFormDialog {
|
|
26
|
+
forOpen: (middleware: IMiddleware<IFormProps>) => IFormDialog;
|
|
27
|
+
forConfirm: (middleware: IMiddleware<IFormProps>) => IFormDialog;
|
|
28
|
+
forCancel: (middleware: IMiddleware<IFormProps>) => IFormDialog;
|
|
29
|
+
[key: `for${string}`]: (middleware: IMiddleware<IFormProps>) => IFormDialog;
|
|
30
|
+
open: (props?: IFormProps) => Promise<any>;
|
|
31
|
+
close: () => void;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|