fast-element-plus 1.0.2 → 1.0.4
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/dist/index.full.js +159 -104
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +159 -104
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +1 -1
- package/es/components/avatar/src/avatar.d.ts +10 -9
- package/es/components/avatar/src/avatar.mjs +1 -1
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +4 -4
- package/es/components/carNumber/src/carNumber.d.ts +3 -3
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/drawer/src/drawer.mjs +1 -1
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/form/src/formItem.d.ts +18 -4
- package/es/components/image/src/image.d.ts +7 -0
- package/es/components/image/src/image.mjs +1 -1
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/table/index.d.ts +2 -2
- package/es/components/table/index.mjs +1 -1
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +45 -11
- package/es/components/table/src/table.mjs +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.d.ts +0 -4
- package/es/components/table/src/table.type.d.ts +3 -62
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +9 -0
- package/es/components/table/src/tableColumn.mjs +1 -1
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableColumnSettingDialog.d.ts +3 -3
- package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
- package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +1 -1
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/table/utils/table.mjs +1 -1
- package/es/components/table/utils/table.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +4 -4
- package/es/components/uploadImage/src/uploadImage.d.ts +4 -4
- package/es/components/uploadImages/src/uploadImages.d.ts +4 -4
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +10 -9
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/src/button.d.ts +4 -4
- package/lib/components/carNumber/src/carNumber.d.ts +3 -3
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/drawer/src/drawer.js +1 -1
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/form/src/formItem.d.ts +18 -4
- package/lib/components/image/src/image.d.ts +7 -0
- package/lib/components/image/src/image.js +1 -1
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/table/index.d.ts +2 -2
- package/lib/components/table/index.js +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/table.d.ts +45 -11
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.d.ts +0 -4
- package/lib/components/table/src/table.type.d.ts +3 -62
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +9 -0
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.d.ts +3 -3
- package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/table/utils/table.js +1 -1
- package/lib/components/table/utils/table.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +4 -4
- package/lib/components/uploadImage/src/uploadImage.d.ts +4 -4
- package/lib/components/uploadImages/src/uploadImages.d.ts +4 -4
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +5 -5
- package/styles/components/table.scss +1 -1
package/dist/styles/index.css
CHANGED
|
@@ -5,9 +5,9 @@ export declare const faAvatarProps: {
|
|
|
5
5
|
type: import('vue').PropType<string | Component>;
|
|
6
6
|
default: () => string | Component;
|
|
7
7
|
};
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/** @description Base64图片 */
|
|
9
|
+
base64: BooleanConstructor;
|
|
10
|
+
/** @description 原图 */
|
|
11
11
|
original: BooleanConstructor;
|
|
12
12
|
/** @description 标准 */
|
|
13
13
|
normal: BooleanConstructor;
|
|
@@ -37,9 +37,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
37
37
|
type: import('vue').PropType<string | Component>;
|
|
38
38
|
default: () => string | Component;
|
|
39
39
|
};
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
/** @description Base64图片 */
|
|
41
|
+
base64: BooleanConstructor;
|
|
42
|
+
/** @description 原图 */
|
|
43
43
|
original: BooleanConstructor;
|
|
44
44
|
/** @description 标准 */
|
|
45
45
|
normal: BooleanConstructor;
|
|
@@ -64,9 +64,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
64
64
|
type: import('vue').PropType<string | Component>;
|
|
65
65
|
default: () => string | Component;
|
|
66
66
|
};
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
/** @description Base64图片 */
|
|
68
|
+
base64: BooleanConstructor;
|
|
69
|
+
/** @description 原图 */
|
|
70
70
|
original: BooleanConstructor;
|
|
71
71
|
/** @description 标准 */
|
|
72
72
|
normal: BooleanConstructor;
|
|
@@ -86,6 +86,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
86
86
|
small: boolean;
|
|
87
87
|
size: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "small" | "default" | "large", number>;
|
|
88
88
|
icon: string | Component;
|
|
89
|
+
base64: boolean;
|
|
89
90
|
original: boolean;
|
|
90
91
|
normal: boolean;
|
|
91
92
|
thumb: boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as r,reactive as s,computed as
|
|
1
|
+
import{defineComponent as r,reactive as s,computed as a,createVNode as o,mergeProps as e}from"vue";import{avatarProps as t,avatarEmits as l,ElAvatar as n}from"element-plus";import{Picture as m}from"@element-plus/icons-vue";import{definePropType as c,useProps as i,useRender as u,useExpose as p,makeSlots as f}from"@fast-china/utils";const b={...t,icon:{type:c([String,Object,Function]),default:()=>m},base64:Boolean,original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean},d={...l},g=/* @__PURE__ */r({name:"FaAvatar",props:b,emits:d,slots:f(),setup(r,{attrs:l,slots:m,emit:c,expose:f}){const b=s({src:a(()=>{if(r.src)return r.base64?`data:image/png;base64,${r.src}`:r.original?r.src:r.normal?`${r.src}@!normal`:r.small?`${r.src}@!small`:(r.thumb,`${r.src}@!thumb`)})}),d=i(r,t,["src"]);return u(()=>o(n,e(d.value,{class:"fa-avatar",src:b.src,onError:r=>c("error",r)}),{default:()=>[m.default&&m.default({src:b.src})]})),p(f,{src:b.src})}});export{g as default,d as faAvatarEmits,b as faAvatarProps};
|
|
2
2
|
//# sourceMappingURL=avatar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.mjs","sources":["../../../../../packages/components/avatar/src/avatar.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElAvatar, avatarEmits, avatarProps } from \"element-plus\";\nimport { Picture } from \"@element-plus/icons-vue\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport type { Component } from \"vue\";\n\nexport const faAvatarProps = {\n\t...avatarProps,\n\t/** @description representation type to icon, more info on icon component. */\n\ticon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: (): string | Component => Picture,\n\t},\n\t
|
|
1
|
+
{"version":3,"file":"avatar.mjs","sources":["../../../../../packages/components/avatar/src/avatar.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElAvatar, avatarEmits, avatarProps } from \"element-plus\";\nimport { Picture } from \"@element-plus/icons-vue\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport type { Component } from \"vue\";\n\nexport const faAvatarProps = {\n\t...avatarProps,\n\t/** @description representation type to icon, more info on icon component. */\n\ticon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: (): string | Component => Picture,\n\t},\n\t/** @description Base64图片 */\n\tbase64: Boolean,\n\t/** @description 原图 */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n};\n\nexport const faAvatarEmits = {\n\t...avatarEmits,\n};\n\ntype FaAvatarSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaAvatar\",\n\tprops: faAvatarProps,\n\temits: faAvatarEmits,\n\tslots: makeSlots<FaAvatarSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (!props.src) return undefined;\n\t\t\t\tif (props.base64) {\n\t\t\t\t\treturn `data:image/png;base64,${props.src}`;\n\t\t\t\t} else if (props.original) {\n\t\t\t\t\treturn props.src;\n\t\t\t\t} else if (props.normal) {\n\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t} else if (props.small) {\n\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t} else {\n\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t}\n\t\t\t}),\n\t\t});\n\n\t\tconst elAvatarProps = useProps(props, avatarProps, [\"src\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElAvatar {...elAvatarProps.value} class=\"fa-avatar\" src={state.src} onError={(evt: Event) => emit(\"error\", evt)}>\n\t\t\t\t{slots.default && slots.default({ src: state.src })}\n\t\t\t</ElAvatar>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 图片路径 */\n\t\t\tsrc: state.src,\n\t\t});\n\t},\n});\n"],"names":["faAvatarProps","avatarProps","icon","type","definePropType","String","Object","Function","default","Picture","base64","Boolean","original","normal","small","thumb","faAvatarEmits","avatarEmits","Avatar","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","state","reactive","src","computed","elAvatarProps","useProps","useRender","_createVNode","ElAvatar","_mergeProps","value","class","onError","evt","useExpose"],"mappings":"6UAMO,MAAMA,EAAgB,IACzBC,EAEHC,KAAM,CACLC,KAAMC,EAAmC,CAACC,OAAQC,OAAQC,WAC1DC,QAASA,IAA0BC,GAGpCC,OAAQC,QAERC,SAAUD,QAEVE,OAAQF,QAERG,MAAOH,QAEPI,MAAOJ,SAGKK,EAAgB,IACzBC,GAQJC,mBAA+B,CAC9BC,KAAM,WACNC,MAAOpB,EACPqB,MAAOL,EACPM,MAAOC,IACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBC,IAAKC,EAAS,KACb,GAAKX,EAAMU,IACX,OAAIV,EAAMV,OACF,yBAAyBU,EAAMU,MAC5BV,EAAMR,SACTQ,EAAMU,IACHV,EAAMP,OACT,GAAGO,EAAMU,cACNV,EAAMN,MACT,GAAGM,EAAMU,cACNV,EAAML,MACT,GAAGK,EAAMU,kBAQbE,EAAgBC,EAASb,EAAOnB,EAAa,CAAC,QAQpD,OANAiC,EAAU,IAAAC,EAAAC,EAAAC,EACKL,EAAcM,MAAK,CAAAC,MAAA,YAAAT,IAAyBF,EAAME,IAAGU,QAAYC,GAAef,EAAK,QAASe,KAAI,CAAAjC,QAAAA,IAAA,CAC9Gc,EAAMd,SAAWc,EAAMd,QAAQ,CAAEsB,IAAKF,EAAME,UAIxCY,EAAUf,EAAQ,CAExBG,IAAKF,EAAME,KAEb"}
|
|
@@ -16,7 +16,7 @@ export declare const faButtonProps: {
|
|
|
16
16
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
17
17
|
__epPropKey: true;
|
|
18
18
|
};
|
|
19
|
-
disabled: BooleanConstructor
|
|
19
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
20
20
|
type: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "text" | "default" | "primary" | "success" | "warning" | "info" | "danger", unknown, "", boolean>;
|
|
21
21
|
icon: {
|
|
22
22
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | ((new (...args: any[]) => (string | Component) & {}) | (() => string | Component))[], unknown, unknown>>;
|
|
@@ -70,7 +70,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
70
70
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
71
71
|
__epPropKey: true;
|
|
72
72
|
};
|
|
73
|
-
disabled: BooleanConstructor
|
|
73
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
74
74
|
type: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "text" | "default" | "primary" | "success" | "warning" | "info" | "danger", unknown, "", boolean>;
|
|
75
75
|
icon: {
|
|
76
76
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | ((new (...args: any[]) => (string | Component) & {}) | (() => string | Component))[], unknown, unknown>>;
|
|
@@ -129,7 +129,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
129
129
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
130
130
|
__epPropKey: true;
|
|
131
131
|
};
|
|
132
|
-
disabled: BooleanConstructor
|
|
132
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
133
133
|
type: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "text" | "default" | "primary" | "success" | "warning" | "info" | "danger", unknown, "", boolean>;
|
|
134
134
|
icon: {
|
|
135
135
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | ((new (...args: any[]) => (string | Component) & {}) | (() => string | Component))[], unknown, unknown>>;
|
|
@@ -161,7 +161,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
161
161
|
loading: boolean;
|
|
162
162
|
loadingIcon: string | Component;
|
|
163
163
|
disabledLoading: boolean;
|
|
164
|
-
disabled:
|
|
164
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
165
165
|
nativeType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "button" | "reset" | "submit", unknown>;
|
|
166
166
|
bg: boolean;
|
|
167
167
|
autofocus: boolean;
|
|
@@ -14,7 +14,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
14
14
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
15
15
|
__epPropKey: true;
|
|
16
16
|
};
|
|
17
|
-
disabled: BooleanConstructor
|
|
17
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
18
18
|
modelValue: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number | null | undefined) | ((new (...args: any[]) => string | number) | (() => string | number | null | undefined))[], unknown, unknown, "", boolean>;
|
|
19
19
|
modelModifiers: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').InputModelModifiers) | (() => import('element-plus').InputModelModifiers) | ((new (...args: any[]) => import('element-plus').InputModelModifiers) | (() => import('element-plus').InputModelModifiers))[], unknown, unknown, () => {}, boolean>;
|
|
20
20
|
maxlength: {
|
|
@@ -112,7 +112,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
112
112
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
113
113
|
__epPropKey: true;
|
|
114
114
|
};
|
|
115
|
-
disabled: BooleanConstructor
|
|
115
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
116
116
|
modelValue: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number | null | undefined) | ((new (...args: any[]) => string | number) | (() => string | number | null | undefined))[], unknown, unknown, "", boolean>;
|
|
117
117
|
modelModifiers: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').InputModelModifiers) | (() => import('element-plus').InputModelModifiers) | ((new (...args: any[]) => import('element-plus').InputModelModifiers) | (() => import('element-plus').InputModelModifiers))[], unknown, unknown, () => {}, boolean>;
|
|
118
118
|
maxlength: {
|
|
@@ -195,7 +195,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
195
195
|
}>, {
|
|
196
196
|
type: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string) | (() => import('element-plus').InputType) | ((new (...args: any[]) => string) | (() => import('element-plus').InputType))[], unknown, unknown>;
|
|
197
197
|
id: string;
|
|
198
|
-
disabled:
|
|
198
|
+
disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
199
199
|
autofocus: boolean;
|
|
200
200
|
placeholder: string;
|
|
201
201
|
inputmode: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as i,mergeProps as t,Fragment as s,withDirectives as d,resolveDirective as r,computed as u}from"vue";import{dialogProps as f,dialogEmits as c,useGlobalSize as g,ElMessage as _,ElMessageBox as h,ElDialog as p,ElButton as m,ElScrollbar as C,ElIcon as v}from"element-plus";import{Eleme as B,Refresh as b,
|
|
1
|
+
import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as i,mergeProps as t,Fragment as s,withDirectives as d,resolveDirective as r,computed as u}from"vue";import{dialogProps as f,dialogEmits as c,useGlobalSize as g,ElMessage as _,ElMessageBox as h,ElDialog as p,ElButton as m,ElScrollbar as C,ElIcon as v}from"element-plus";import{Eleme as B,Refresh as b,Close as y}from"@element-plus/icons-vue";import{FullScreenExit as w,FullScreen as k}from"@fast-element-plus/icons-vue";import{definePropType as F,execFunction as x,consoleError as T,useProps as D,useRender as O,useExpose as S,makeSlots as V}from"@fast-china/utils";import{isBoolean as A}from"lodash-unified";const R={...f,alignCenter:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!0},overflow:{type:Boolean,default:!0},top:{type:String,default:"5vh"},width:{type:[String,Number],default:"90%"},showRefresh:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showConfirmButton:{type:Boolean,default:!0},disabledConfirmButton:Boolean,closeButtonText:{type:String,default:"取消"},confirmButtonText:{type:String,default:"确认"},hideFooter:Boolean,fillHeight:Boolean,showBeforeClose:Boolean,afterOpen:{type:F(Function)}},H={...c,"update:modelValue":e=>A(e),confirmClick:()=>!0},P=/* @__PURE__ */e({name:"FaDialog",props:R,emits:H,slots:V(),setup(e,{attrs:c,slots:F,emit:V,expose:A}){const R=g(),H=l({loading:!1,visible:!1,fullscreen:!1,refreshing:!1}),P=o();let q;const I=l=>{H.visible=!0,q=l,a(()=>{H.loading=!0,x(e.afterOpen??l).then(()=>{V("open")}).catch(e=>{T("FaDialog",e),H.visible=!1}).finally(()=>{H.loading=!1})})},L=e=>{H.loading=!0,x(e).then(()=>{V("close"),H.visible=!1}).catch(e=>{T("FaDialog",e)}).finally(()=>{H.loading=!1})},N=()=>{H.loading||(H.refreshing=!0,H.loading=!0,setTimeout(()=>{H.refreshing=!1,I(q),_.success("刷新成功")},500))},U=l=>{if(H.loading)return;if(document.querySelector(".el-image-viewer__wrapper"))return;const o=()=>{x(e.beforeClose).then(()=>{V("close"),l()}).catch(e=>{T("FaDialog",e)})};e.showBeforeClose?h.confirm("确定关闭?",{type:"warning"}).then(()=>{o()}):o()},$=()=>{H.loading||(H.fullscreen=!H.fullscreen)},j=()=>{H.loading||V("confirmClick")},z=()=>{H.loading||L()};n(()=>H.visible,e=>{V("update:modelValue",e)});const E=D(e,f,["modelValue","fullscreen","showClose","beforeClose"]);return O(()=>i(p,t(E.value,{ref:P,class:["fa-dialog",`fa-dialog-${R.value}`,{"fa-dialog__fill-height":e.fillHeight,"fa-dialog__fullscreen":H.fullscreen}],modelValue:H.visible,"onUpdate:modelValue":e=>H.visible=e,fullscreen:H.fullscreen,showClose:!1,beforeClose:U,onOpened:()=>V("opened"),onClosed:()=>V("closed"),onOpenAutoFocus:()=>V("openAutoFocus"),onCloseAutoFocus:()=>V("closeAutoFocus")}),{header:()=>i(s,null,[i("div",{class:"fa-dialog__header-title"},[e.title,F.header&&F.header({loading:H.loading,close:z})]),e.showRefresh&&i("div",{title:"刷新",class:["fa-dialog__header-icon",H.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:N},[i(v,null,{default:()=>[i(b,null,null)]})]),e.showFullscreen&&i("div",{title:H.fullscreen?"关闭全屏显示":"全屏显示",class:["fa-dialog__header-icon",H.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:$},[i(v,null,{default:()=>[H.fullscreen?i(w,null,null):i(k,null,null)]})]),e.showClose&&i("div",{title:"关闭",class:["fa-dialog__header-icon",H.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:z},[i(v,null,{default:()=>[i(y,null,null)]})])]),default:()=>d(i(C,{"element-loading-text":"加载中..."},{default:()=>[!H.refreshing&&F.default&&F.default(H)]}),[[r("loading"),H.loading]]),...!e.hideFooter&&{footer:()=>i(s,null,[F.footer&&F.footer({loading:H.loading,close:z}),e.showCloseButton&&i(m,{disabled:H.loading,onClick:z},{default:()=>[e.closeButtonText]}),e.showConfirmButton&&i(m,{loading:H.loading,loadingIcon:B,disabled:e.disabledConfirmButton,type:"primary",onClick:j},{default:()=>[H.loading?"加载中...":e.confirmButtonText]})])}})),S(A,{dialogContentRef:u(()=>P.value?.dialogContentRef),resetPosition:u(()=>P.value?.resetPosition),loading:u(()=>H.loading),visible:u(()=>H.visible),open:I,close:L,refresh:N,doLoading:e=>{H.loading=!0,x(e).then().catch(e=>{T("FaDialog",e)}).finally(()=>{H.loading=!1})}})}});export{P as default,H as faDialogEmits,R as faDialogProps};
|
|
2
2
|
//# sourceMappingURL=dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.mjs","sources":["../../../../../packages/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, FullScreen, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { DialogInstance } from \"element-plus\";\nimport type { VNode } from \"vue\";\n\nexport const faDialogProps = {\n\t...dialogProps,\n\t/** @description whether to align the dialog both horizontally and vertically*/\n\talignCenter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description draggable Dialog can overflow the viewport */\n\toverflow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description value for `margin-top` of Dialog CSS, default is 15vh */\n\ttop: {\n\t\ttype: String,\n\t\tdefault: \"5vh\",\n\t},\n\t/** @description width of Dialog, default is 50% */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"90%\",\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 撑满高度 */\n\tfillHeight: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDialogSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDialog\",\n\tprops: faDialogProps,\n\temits: faDialogEmits,\n\tslots: makeSlots<FaDialogSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst dialogRef = ref<DialogInstance>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\tref={dialogRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-dialog\",\n\t\t\t\t\t`fa-dialog-${_globalSize.value}`,\n\t\t\t\t\t{ \"fa-dialog__fill-height\": props.fillHeight, \"fa-dialog__fullscreen\": state.fullscreen },\n\t\t\t\t]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tfullscreen={state.fullscreen}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-dialog__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 弹窗内容引用 */\n\t\t\tdialogContentRef: computed(() => dialogRef.value?.dialogContentRef),\n\t\t\t/** @description 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDialogProps","dialogProps","alignCenter","type","Boolean","default","appendToBody","draggable","destroyOnClose","overflow","top","String","width","Number","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","confirmButtonText","hideFooter","fillHeight","showBeforeClose","afterOpen","definePropType","Function","faDialogEmits","dialogEmits","value","isBoolean","confirmClick","Dialog","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","refreshing","dialogRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","elDialogProps","useProps","useRender","_createVNode","ElDialog","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","dialogContentRef","computed","resetPosition","open","refresh","doLoading","loadingFunction"],"mappings":"yrBASO,MAAMA,EAAgB,IACzBC,EAEHC,YAAa,CACZC,KAAMC,QACNC,SAAS,GAGVC,aAAc,CACbH,KAAMC,QACNC,SAAS,GAGVE,UAAW,CACVJ,KAAMC,QACNC,SAAS,GAGVG,eAAgB,CACfL,KAAMC,QACNC,SAAS,GAGVI,SAAU,CACTN,KAAMC,QACNC,SAAS,GAGVK,IAAK,CACJP,KAAMQ,OACNN,QAAS,OAGVO,MAAO,CACNT,KAAM,CAACQ,OAAQE,QACfR,QAAS,OAGVS,YAAa,CACZX,KAAMC,QACNC,SAAS,GAGVU,eAAgB,CACfZ,KAAMC,QACNC,SAAS,GAGVW,gBAAiB,CAChBb,KAAMC,QACNC,SAAS,GAGVY,kBAAmB,CAClBd,KAAMC,QACNC,SAAS,GAGVa,sBAAuBd,QAEvBe,gBAAiB,CAChBhB,KAAMQ,OACNN,QAAS,MAGVe,kBAAmB,CAClBjB,KAAMQ,OACNN,QAAS,MAGVgB,WAAYjB,QAEZkB,WAAYlB,QAEZmB,gBAAiBnB,QAEjBoB,UAAW,CACVrB,KAAMsB,EAA2BC,YAItBC,EAAgB,IACzBC,EAEH,oBAAsBC,GAA4BC,EAAUD,GAE5DE,aAAcA,KAAe,GAY9BC,mBAA+B,CAC9BC,KAAM,WACNC,MAAOlC,EACPmC,MAAOR,EACPS,MAAOC,IACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAcC,IAEdC,EAAQC,EAAS,CACtBC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,YAAY,IAGPC,EAAYC,IAElB,IAAIC,EAEJ,MAAMC,EAAcC,IACnBV,EAAMG,SAAU,EAChBK,EAAoBE,EACpBC,EAAS,KACRX,EAAME,SAAU,EAChBU,EAAatB,EAAMV,WAAa8B,GAC9BG,KAAK,KACLjB,EAAK,UAELkB,MAAOC,IACPC,EAAa,WAAYD,GAEzBf,EAAMG,SAAU,IAEhBc,QAAQ,KACRjB,EAAME,SAAU,OAKdgB,EAAeC,IACpBnB,EAAME,SAAU,EAChBU,EAAaO,GACXN,KAAK,KACLjB,EAAK,SACLI,EAAMG,SAAU,IAEhBW,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,KAgBbkB,EAAgBA,KACjBpB,EAAME,UACVF,EAAMK,YAAa,EACnBL,EAAME,SAAU,EAChBmB,WAAW,KACVrB,EAAMK,YAAa,EACnBI,EAAWD,GACXc,EAAUC,QAAQ,SAChB,OAGEC,EAAqBC,IAC1B,GAAIzB,EAAME,QAAS,OAEnB,GAAIwB,SAASC,cAAc,6BAA8B,OAEzD,MAAMC,EAAUA,KACfhB,EAAatB,EAAMuC,aACjBhB,KAAK,KACLjB,EAAK,SACL6B,MAEAX,MAAOC,IACPC,EAAa,WAAYD,MAIxBzB,EAAMX,gBACTmD,EAAaC,QAAQ,QAAS,CAAExE,KAAM,YAAasD,KAAK,KACvDe,MAGDA,KAIII,EAAmBA,KACpBhC,EAAME,UACVF,EAAMI,YAAcJ,EAAMI,aAGrB6B,EAAqBA,KACtBjC,EAAME,SACVN,EAAK,iBAGAsC,EAAmBA,KACpBlC,EAAME,SACVgB,KAGDiB,EACC,IAAMnC,EAAMG,QACXiC,IACAxC,EAAK,oBAAqBwC,KAI5B,MAAMC,EAAgBC,EAAShD,EAAOjC,EAAa,CAAC,aAAc,aAAc,YAAa,gBAqG7F,OAnGAkF,EAAU,IAAAC,EAAAC,EAAAC,EAEJL,EAAcpD,MAAK,CAAAsB,IAClBD,EAASqC,MACP,CACN,YACA,aAAa7C,EAAYb,QACzB,CAAE,yBAA0BK,EAAMZ,WAAY,wBAAyBsB,EAAMI,aAC7EwC,WACO5C,EAAMG,QAAO,sBAAA0C,GAAb7C,EAAMG,QAAO0C,EAAAzC,WACTJ,EAAMI,WAAU0C,WACjB,EAAKjB,YACHL,EAAiBuB,SACpBA,IAAMnD,EAAK,UAASoD,SACpBA,IAAMpD,EAAK,UAASqD,gBACbA,IAAMrD,EAAK,iBAAgBsD,iBAC1BA,IAAMtD,EAAK,oBAAiB,CAG7CuD,OAAQA,IAAAX,EAAAY,QAAAZ,EAAA,MAAA,CAAAG,MAAA,2BAAA,CAGJrD,EAAM+D,MACN7D,EAAM2D,QAAU3D,EAAM2D,OAAO,CAAEjD,QAASF,EAAME,QAASoD,MAAOpB,MAE/D5C,EAAMpB,aAAWsE,EAAA,MAAA,CAAAa,MAAA,KAAAV,MAGT,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQnC,GAAa,CAAAoB,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAAA+E,EAAAiB,EAAA,KAAA,WAOvBnE,EAAMnB,gBAAcqE,EAAA,MAAA,CAAAa,MAEZrD,EAAMI,WAAa,SAAW,OAAMuC,MACpC,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQvB,GAAgB,CAAAQ,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAEhBuC,EAAMI,WAAUoC,EAAAkB,EAAA,KAAA,MAAAlB,EAAAmB,EAAA,KAAA,WAG1BrE,EAAMwD,WAASN,EAAA,MAAA,CAAAa,MAAA,KAAAV,MAGP,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQrB,GAAgB,CAAAM,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAAA+E,EAAAoB,EAAA,KAAA,aAS7BnG,QAASA,IAAAoG,EAAArB,EAAAsB,EAAA,CAAA,uBAAA,UAAA,CAAArG,QAAAA,IAAA,EAELuC,EAAMK,YAAcb,EAAM/B,SAAW+B,EAAM/B,QAAQuC,MAAM,CAAA,CAAA+D,EAAA,WADrC/D,EAAME,eAIzBZ,EAAMb,YAAc,CACxBuF,OAAQA,IAAAxB,EAAAY,EAAA,KAAA,CAEL5D,EAAMwE,QAAUxE,EAAMwE,OAAO,CAAE9D,QAASF,EAAME,QAASoD,MAAOpB,IAC9D5C,EAAMlB,iBAAeoE,EAAAyB,EAAA,CAAAC,SACDlE,EAAME,QAAOqD,QAAWrB,GAAgB,CAAAzE,QAAAA,IAAA,CAC1D6B,EAAMf,mBAGRe,EAAMjB,mBAAiBmE,EAAAyB,EAAA,CAAA/D,QAEbF,EAAME,QAAOiE,YACTC,EAAKF,SACR5E,EAAMhB,sBAAqBf,KAAA,UAAAgG,QAE5BtB,GAAkB,CAAAxE,QAAAA,IAAA,CAE1BuC,EAAME,QAAU,SAAWZ,EAAMd,2BAUnC6F,EAAUxE,EAAQ,CAExByE,iBAAkBC,EAAS,IAAMjE,EAAUrB,OAAOqF,kBAElDE,cAAeD,EAAS,IAAMjE,EAAUrB,OAAOuF,eAE/CtE,QAASqE,EAAS,IAAMvE,EAAME,SAE9BC,QAASoE,EAAS,IAAMvE,EAAMG,SAE9BsE,KAAMhE,EAEN6C,MAAOpC,EAEPwD,QAAStD,EAETuD,UA3LsBC,IACtB5E,EAAME,SAAU,EAChBU,EAAagE,GACX/D,OACAC,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,MAqLpB"}
|
|
1
|
+
{"version":3,"file":"dialog.mjs","sources":["../../../../../packages/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { DialogInstance } from \"element-plus\";\nimport type { VNode } from \"vue\";\n\nexport const faDialogProps = {\n\t...dialogProps,\n\t/** @description whether to align the dialog both horizontally and vertically*/\n\talignCenter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description draggable Dialog can overflow the viewport */\n\toverflow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description value for `margin-top` of Dialog CSS, default is 15vh */\n\ttop: {\n\t\ttype: String,\n\t\tdefault: \"5vh\",\n\t},\n\t/** @description width of Dialog, default is 50% */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"90%\",\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 撑满高度 */\n\tfillHeight: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDialogSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDialog\",\n\tprops: faDialogProps,\n\temits: faDialogEmits,\n\tslots: makeSlots<FaDialogSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst dialogRef = ref<DialogInstance>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\tref={dialogRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-dialog\",\n\t\t\t\t\t`fa-dialog-${_globalSize.value}`,\n\t\t\t\t\t{ \"fa-dialog__fill-height\": props.fillHeight, \"fa-dialog__fullscreen\": state.fullscreen },\n\t\t\t\t]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tfullscreen={state.fullscreen}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-dialog__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 弹窗内容引用 */\n\t\t\tdialogContentRef: computed(() => dialogRef.value?.dialogContentRef),\n\t\t\t/** @description 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDialogProps","dialogProps","alignCenter","type","Boolean","default","appendToBody","draggable","destroyOnClose","overflow","top","String","width","Number","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","confirmButtonText","hideFooter","fillHeight","showBeforeClose","afterOpen","definePropType","Function","faDialogEmits","dialogEmits","value","isBoolean","confirmClick","Dialog","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","refreshing","dialogRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","elDialogProps","useProps","useRender","_createVNode","ElDialog","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","dialogContentRef","computed","resetPosition","open","refresh","doLoading","loadingFunction"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as t,mergeProps as i,Fragment as s,withDirectives as d,resolveDirective as r,computed as u}from"vue";import{drawerProps as c,drawerEmits as f,useGlobalSize as _,ElMessage as m,ElMessageBox as g,ElDrawer as h,ElButton as p,ElScrollbar as w,ElIcon as v}from"element-plus";import{Eleme as b,Refresh as C,
|
|
1
|
+
import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as t,mergeProps as i,Fragment as s,withDirectives as d,resolveDirective as r,computed as u}from"vue";import{drawerProps as c,drawerEmits as f,useGlobalSize as _,ElMessage as m,ElMessageBox as g,ElDrawer as h,ElButton as p,ElScrollbar as w,ElIcon as v}from"element-plus";import{Eleme as b,Refresh as C,Close as B}from"@element-plus/icons-vue";import{FullScreenExit as y,FullScreen as k}from"@fast-element-plus/icons-vue";import{definePropType as F,execFunction as x,consoleError as z,useProps as T,useRender as D,useExpose as O,makeSlots as V}from"@fast-china/utils";import{isBoolean as A}from"lodash-unified";const L={...c,appendToBody:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showConfirmButton:{type:Boolean,default:!0},disabledConfirmButton:Boolean,closeButtonText:{type:String,default:"取消"},confirmButtonText:{type:String,default:"确认"},hideFooter:Boolean,showBeforeClose:Boolean,afterOpen:{type:F(Function)}},S={...f,"update:modelValue":e=>A(e),confirmClick:()=>!0},W=/* @__PURE__ */e({name:"FaDrawer",props:L,emits:S,slots:V(),setup(e,{attrs:f,slots:F,emit:V,expose:A}){const L=_(),S=l({loading:!1,visible:!1,fullscreen:!1,size:e.size??"30%",dragging:!1,refreshing:!1}),W=o();let E;const R=l=>{S.visible=!0,E=l,a(()=>{S.loading=!0,x(e.afterOpen??l).then(()=>{V("open")}).catch(e=>{z("FaDrawer",e),S.visible=!1}).finally(()=>{S.loading=!1})})},$=e=>{S.loading=!0,x(e).then(()=>{V("close"),S.visible=!1}).catch(e=>{z("FaDrawer",e)}).finally(()=>{S.loading=!1})},q=()=>{S.refreshing=!0,S.loading=!0,setTimeout(()=>{S.refreshing=!1,R(E),m.success("刷新成功")},500)},I=l=>{if(S.loading)return;if(document.querySelector(".el-image-viewer__wrapper"))return;const o=()=>{x(e.beforeClose).then(()=>{V("close"),l()}).catch(e=>{z("FaDialog",e)})};e.showBeforeClose?g.confirm("确定关闭?",{type:"warning"}).then(()=>{o()}):o()},U=()=>{S.loading||(S.fullscreen=!S.fullscreen)},X=()=>{S.loading||V("confirmClick")},j=()=>{S.loading||$()};n(()=>S.visible,e=>{V("update:modelValue",e)});const G=()=>{document.onmousemove=e=>{let l=document.body.clientWidth-e.pageX;const o=.2*document.body.clientWidth,a=.95*document.body.clientWidth;l=l>a?a:l<o?o:l,S.size=`${l}px`},document.onmouseup=()=>{document.onmousemove=document.onmouseup=null}},H=T(e,c,["modelValue","size","showClose","beforeClose"]);return D(()=>t(h,i(H.value,{ref:W,class:["fa-drawer",`fa-drawer-${L.value}`,{"fa-drawer__fullscreen":S.fullscreen}],modelValue:S.visible,"onUpdate:modelValue":e=>S.visible=e,size:S.size,showClose:!1,beforeClose:I,onOpened:()=>V("opened"),onClosed:()=>V("closed"),onOpenAutoFocus:()=>V("openAutoFocus"),onCloseAutoFocus:()=>V("closeAutoFocus")}),{header:()=>t(s,null,[t("div",{class:"fa-drawer__header-title"},[e.title,F.header&&F.header({loading:S.loading,close:j})]),e.showRefresh&&t("div",{title:"刷新",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:q},[t(v,{class:"icon"},{default:()=>[t(C,null,null)]})]),e.showFullscreen&&t("div",{title:S.fullscreen?"关闭全屏显示":"全屏显示",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:U},[t(v,null,{default:()=>[S.fullscreen?t(y,null,null):t(k,null,null)]})]),e.showClose&&t("div",{title:"关闭",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:j},[t(v,{class:"icon"},{default:()=>[t(B,null,null)]})])]),default:()=>t(s,null,[e.draggable&&t("div",{class:"fa-drawer__draggable",onmousedown:G},null),d(t(w,{"element-loading-text":"加载中..."},{default:()=>[!S.refreshing&&F.default&&F.default(S)]}),[[r("loading"),S.loading]])]),...!e.hideFooter&&{footer:()=>t(s,null,[F.footer&&F.footer({loading:S.loading,close:j}),e.showCloseButton&&t(p,{disabled:S.loading,onClick:j},{default:()=>[e.closeButtonText]}),e.showConfirmButton&&t(p,{loading:S.loading,loadingIcon:b,disabled:e.disabledConfirmButton,type:"primary",onClick:X},{default:()=>[S.loading?"加载中...":e.confirmButtonText]})])}})),O(A,{handleClose:u(()=>W.value?.handleClose),afterEnter:u(()=>W.value?.afterEnter),afterLeave:u(()=>W.value?.afterLeave),loading:u(()=>S.loading),visible:u(()=>S.visible),open:R,close:$,refresh:q,doLoading:e=>{S.loading=!0,x(e).then().catch(e=>{z("FaDrawer",e)}).finally(()=>{S.loading=!1})}})}});export{W as default,S as faDrawerEmits,L as faDrawerProps};
|
|
2
2
|
//# sourceMappingURL=drawer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.mjs","sources":["../../../../../packages/components/drawer/src/drawer.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDrawer, ElIcon, ElMessage, ElMessageBox, ElScrollbar, drawerEmits, drawerProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, FullScreen, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { VNode } from \"vue\";\n\nexport const faDrawerProps = {\n\t...drawerProps,\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDrawerEmits = {\n\t...drawerEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDrawerSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDrawer\",\n\tprops: faDrawerProps,\n\temits: faDrawerEmits,\n\tslots: makeSlots<FaDrawerSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\tsize: props.size ?? \"30%\",\n\t\t\tdragging: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst drawerRef = ref<InstanceType<typeof ElDrawer>>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\t/**\n\t\t * 处理拖拽\n\t\t */\n\t\tconst handleDraggableMousedown = (): void => {\n\t\t\tdocument.onmousemove = (moveEvent: MouseEvent): void => {\n\t\t\t\t// 获取鼠标距离浏览器右边缘的距离\n\t\t\t\tlet realWidth = document.body.clientWidth - moveEvent.pageX;\n\t\t\t\tconst width20 = document.body.clientWidth * 0.2;\n\t\t\t\tconst width95 = document.body.clientWidth * 0.95;\n\t\t\t\t// 宽度不能大于浏览器宽度 95%,不能小于宽度的 20%\n\t\t\t\trealWidth = realWidth > width95 ? width95 : realWidth < width20 ? width20 : realWidth;\n\t\t\t\tstate.size = `${realWidth}px`;\n\t\t\t};\n\t\t\tdocument.onmouseup = (): void => {\n\t\t\t\tdocument.onmousemove = document.onmouseup = null;\n\t\t\t};\n\t\t};\n\n\t\tconst elDrawerProps = useProps(props, drawerProps, [\"modelValue\", \"size\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDrawer\n\t\t\t\t{...elDrawerProps.value}\n\t\t\t\tref={drawerRef}\n\t\t\t\tclass={[\"fa-drawer\", `fa-drawer-${_globalSize.value}`, { \"fa-drawer__fullscreen\": state.fullscreen }]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tsize={state.size}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-drawer__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{props.draggable && <div class=\"fa-drawer__draggable\" onmousedown={handleDraggableMousedown} />}\n\t\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDrawer>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于关闭 Drawer, 该方法会调用传入的 before-close 方法 */\n\t\t\thandleClose: computed(() => drawerRef.value?.handleClose),\n\t\t\t/** @description 进入动画后的回调 */\n\t\t\tafterEnter: computed(() => drawerRef.value?.afterEnter),\n\t\t\t/** @description 离开动画后的回调 */\n\t\t\tafterLeave: computed(() => drawerRef.value?.afterLeave),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDrawerProps","drawerProps","appendToBody","type","Boolean","default","draggable","destroyOnClose","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","String","confirmButtonText","hideFooter","showBeforeClose","afterOpen","definePropType","Function","faDrawerEmits","drawerEmits","value","isBoolean","confirmClick","Drawer","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","size","dragging","refreshing","drawerRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","handleDraggableMousedown","onmousemove","moveEvent","realWidth","body","clientWidth","pageX","width20","width95","onmouseup","elDrawerProps","useProps","useRender","_createVNode","ElDrawer","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","onmousedown","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","computed","afterEnter","afterLeave","open","refresh","doLoading","loadingFunction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drawer.mjs","sources":["../../../../../packages/components/drawer/src/drawer.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDrawer, ElIcon, ElMessage, ElMessageBox, ElScrollbar, drawerEmits, drawerProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { VNode } from \"vue\";\n\nexport const faDrawerProps = {\n\t...drawerProps,\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDrawerEmits = {\n\t...drawerEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDrawerSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDrawer\",\n\tprops: faDrawerProps,\n\temits: faDrawerEmits,\n\tslots: makeSlots<FaDrawerSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\tsize: props.size ?? \"30%\",\n\t\t\tdragging: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst drawerRef = ref<InstanceType<typeof ElDrawer>>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\t/**\n\t\t * 处理拖拽\n\t\t */\n\t\tconst handleDraggableMousedown = (): void => {\n\t\t\tdocument.onmousemove = (moveEvent: MouseEvent): void => {\n\t\t\t\t// 获取鼠标距离浏览器右边缘的距离\n\t\t\t\tlet realWidth = document.body.clientWidth - moveEvent.pageX;\n\t\t\t\tconst width20 = document.body.clientWidth * 0.2;\n\t\t\t\tconst width95 = document.body.clientWidth * 0.95;\n\t\t\t\t// 宽度不能大于浏览器宽度 95%,不能小于宽度的 20%\n\t\t\t\trealWidth = realWidth > width95 ? width95 : realWidth < width20 ? width20 : realWidth;\n\t\t\t\tstate.size = `${realWidth}px`;\n\t\t\t};\n\t\t\tdocument.onmouseup = (): void => {\n\t\t\t\tdocument.onmousemove = document.onmouseup = null;\n\t\t\t};\n\t\t};\n\n\t\tconst elDrawerProps = useProps(props, drawerProps, [\"modelValue\", \"size\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDrawer\n\t\t\t\t{...elDrawerProps.value}\n\t\t\t\tref={drawerRef}\n\t\t\t\tclass={[\"fa-drawer\", `fa-drawer-${_globalSize.value}`, { \"fa-drawer__fullscreen\": state.fullscreen }]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tsize={state.size}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-drawer__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{props.draggable && <div class=\"fa-drawer__draggable\" onmousedown={handleDraggableMousedown} />}\n\t\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDrawer>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于关闭 Drawer, 该方法会调用传入的 before-close 方法 */\n\t\t\thandleClose: computed(() => drawerRef.value?.handleClose),\n\t\t\t/** @description 进入动画后的回调 */\n\t\t\tafterEnter: computed(() => drawerRef.value?.afterEnter),\n\t\t\t/** @description 离开动画后的回调 */\n\t\t\tafterLeave: computed(() => drawerRef.value?.afterLeave),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDrawerProps","drawerProps","appendToBody","type","Boolean","default","draggable","destroyOnClose","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","String","confirmButtonText","hideFooter","showBeforeClose","afterOpen","definePropType","Function","faDrawerEmits","drawerEmits","value","isBoolean","confirmClick","Drawer","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","size","dragging","refreshing","drawerRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","handleDraggableMousedown","onmousemove","moveEvent","realWidth","body","clientWidth","pageX","width20","width95","onmouseup","elDrawerProps","useProps","useRender","_createVNode","ElDrawer","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","onmousedown","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","computed","afterEnter","afterLeave","open","refresh","doLoading","loadingFunction"],"mappings":"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"}
|
|
@@ -18,7 +18,12 @@ export declare const faFormItemProps: {
|
|
|
18
18
|
/** @description 独占一行。如果设置 span 则无效 */
|
|
19
19
|
row: BooleanConstructor;
|
|
20
20
|
label: StringConstructor;
|
|
21
|
-
labelWidth:
|
|
21
|
+
labelWidth: {
|
|
22
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
23
|
+
readonly required: false;
|
|
24
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
25
|
+
__epPropKey: true;
|
|
26
|
+
};
|
|
22
27
|
labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "left" | "right" | "top", unknown, "", boolean>;
|
|
23
28
|
prop: {
|
|
24
29
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp))[], unknown, unknown>>;
|
|
@@ -82,7 +87,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
82
87
|
/** @description 独占一行。如果设置 span 则无效 */
|
|
83
88
|
row: BooleanConstructor;
|
|
84
89
|
label: StringConstructor;
|
|
85
|
-
labelWidth:
|
|
90
|
+
labelWidth: {
|
|
91
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
92
|
+
readonly required: false;
|
|
93
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
94
|
+
__epPropKey: true;
|
|
95
|
+
};
|
|
86
96
|
labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "left" | "right" | "top", unknown, "", boolean>;
|
|
87
97
|
prop: {
|
|
88
98
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp))[], unknown, unknown>>;
|
|
@@ -146,7 +156,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
146
156
|
/** @description 独占一行。如果设置 span 则无效 */
|
|
147
157
|
row: BooleanConstructor;
|
|
148
158
|
label: StringConstructor;
|
|
149
|
-
labelWidth:
|
|
159
|
+
labelWidth: {
|
|
160
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
161
|
+
readonly required: false;
|
|
162
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
163
|
+
__epPropKey: true;
|
|
164
|
+
};
|
|
150
165
|
labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "left" | "right" | "top", unknown, "", boolean>;
|
|
151
166
|
prop: {
|
|
152
167
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import('element-plus').FormItemProp))[], unknown, unknown>>;
|
|
@@ -181,7 +196,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
181
196
|
required: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
182
197
|
offset: string | number;
|
|
183
198
|
labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "top" | "left" | "right", unknown>;
|
|
184
|
-
labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
185
199
|
inlineMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
186
200
|
showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
187
201
|
grid: boolean;
|
|
@@ -14,6 +14,8 @@ export declare const faImageProps: {
|
|
|
14
14
|
type: BooleanConstructor;
|
|
15
15
|
default: boolean;
|
|
16
16
|
};
|
|
17
|
+
/** @description Base64图片 */
|
|
18
|
+
base64: BooleanConstructor;
|
|
17
19
|
/** @description 原图 */
|
|
18
20
|
original: BooleanConstructor;
|
|
19
21
|
/** @description 标准 */
|
|
@@ -89,6 +91,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
89
91
|
type: BooleanConstructor;
|
|
90
92
|
default: boolean;
|
|
91
93
|
};
|
|
94
|
+
/** @description Base64图片 */
|
|
95
|
+
base64: BooleanConstructor;
|
|
92
96
|
/** @description 原图 */
|
|
93
97
|
original: BooleanConstructor;
|
|
94
98
|
/** @description 标准 */
|
|
@@ -153,6 +157,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
153
157
|
type: BooleanConstructor;
|
|
154
158
|
default: boolean;
|
|
155
159
|
};
|
|
160
|
+
/** @description Base64图片 */
|
|
161
|
+
base64: BooleanConstructor;
|
|
156
162
|
/** @description 原图 */
|
|
157
163
|
original: BooleanConstructor;
|
|
158
164
|
/** @description 标准 */
|
|
@@ -203,6 +209,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
203
209
|
};
|
|
204
210
|
}>> & Readonly<{}>, {
|
|
205
211
|
small: boolean;
|
|
212
|
+
base64: boolean;
|
|
206
213
|
original: boolean;
|
|
207
214
|
normal: boolean;
|
|
208
215
|
thumb: boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as e,reactive as r,computed as
|
|
1
|
+
import{defineComponent as e,reactive as r,computed as a,createVNode as l,mergeProps as o}from"vue";import{imageProps as s,ElImage as t,ElIcon as i}from"element-plus";import{Picture as c}from"@element-plus/icons-vue";import{useProps as n,useRender as p,makeSlots as m}from"@fast-china/utils";const u={...s,hideOnClickModal:{type:Boolean,default:!0},previewTeleported:{type:Boolean,default:!0},lazy:{type:Boolean,default:!0},base64:Boolean,original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean,preview:{type:Boolean,default:!0}},d=/* @__PURE__ */e({name:"FaImage",props:u,slots:m(),setup(e,{attrs:m,slots:u,expose:d}){const f=r({src:a(()=>{if(e.src)return e.base64?`data:image/png;base64,${e.src}`:e.original?e.src:e.normal?`${e.src}@!normal`:e.small?`${e.src}@!small`:(e.thumb,`${e.src}@!thumb`)}),previewList:a(()=>e.preview?[e.base64?`data:image/png;base64,${e.src}`:e.src]:[])}),v=n(e,s,["src","previewSrcList"]);p(()=>l(t,o(v.value,{class:"fa-image",src:f.src,previewSrcList:f.previewList}),{error:()=>u.error?u.error():l("div",{class:"fa-image__error-image"},[l(i,{class:"icon"},{default:()=>[l(c,null,null)]})]),...u.placeholder&&{placeholder:()=>u.placeholder()},...u.viewer&&{viewer:()=>u.viewer({src:f.src})}}))}});export{d as default,u as faImageProps};
|
|
2
2
|
//# sourceMappingURL=image.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.mjs","sources":["../../../../../packages/components/image/src/image.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElImage, imageProps } from \"element-plus\";\nimport { Picture as ElIconPicture } from \"@element-plus/icons-vue\";\nimport { makeSlots, useProps, useRender } from \"@fast-china/utils\";\nimport type { VNode } from \"vue\";\n\nexport const faImageProps = {\n\t...imageProps,\n\t/** @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode. */\n\thideOnClickModal: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`. */\n\tpreviewTeleported: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to use lazy load. */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 原图 */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n\t/** @description 是否可以预览图片 */\n\tpreview: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\ntype FaImageSlots = {\n\t/** @description 当图像尚未加载时,自定义的占位符内容 */\n\tplaceholder: never;\n\t/** @description 自定义图像加载失败的内容 */\n\terror: never;\n\t/** @description 当图像预览时自定义内容 */\n\tviewer: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaImage\",\n\tprops: faImageProps,\n\tslots: makeSlots<FaImageSlots>(),\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (!props.src) return undefined;\n\t\t\t\tif (props.original) {\n\t\t\t\t\treturn props.src;\n\t\t\t\t} else if (props.normal) {\n\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t} else if (props.small) {\n\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t} else {\n\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tpreviewList: computed(() => (props.preview ? [props.src] : [])),\n\t\t});\n\n\t\tconst bindProps = useProps(props, imageProps, [\"src\", \"previewSrcList\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElImage {...bindProps.value} class=\"fa-image\" src={state.src} previewSrcList={state.previewList}>\n\t\t\t\t{{\n\t\t\t\t\terror: () =>\n\t\t\t\t\t\tslots.error ? (\n\t\t\t\t\t\t\tslots.error()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div class=\"fa-image__error-image\">\n\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t<ElIconPicture />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t...(slots.placeholder && { placeholder: (): VNode[] => slots.placeholder() }),\n\t\t\t\t\t...(slots.viewer && { viewer: (): VNode[] => slots.viewer({ src: state.src }) }),\n\t\t\t\t}}\n\t\t\t</ElImage>\n\t\t));\n\t},\n});\n"],"names":["faImageProps","imageProps","hideOnClickModal","type","Boolean","default","previewTeleported","lazy","original","normal","small","thumb","preview","Image","name","props","slots","makeSlots","setup","attrs","expose","state","reactive","src","computed","previewList","bindProps","useProps","useRender","_createVNode","ElImage","_mergeProps","value","class","previewSrcList","error","ElIcon","ElIconPicture","placeholder","viewer"],"mappings":"mSAMO,MAAMA,EAAe,IACxBC,EAEHC,iBAAkB,CACjBC,KAAMC,QACNC,SAAS,GAGVC,kBAAmB,CAClBH,KAAMC,QACNC,SAAS,GAGVE,KAAM,CACLJ,KAAMC,QACNC,SAAS,GAGVG,
|
|
1
|
+
{"version":3,"file":"image.mjs","sources":["../../../../../packages/components/image/src/image.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElImage, imageProps } from \"element-plus\";\nimport { Picture as ElIconPicture } from \"@element-plus/icons-vue\";\nimport { makeSlots, useProps, useRender } from \"@fast-china/utils\";\nimport type { VNode } from \"vue\";\n\nexport const faImageProps = {\n\t...imageProps,\n\t/** @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode. */\n\thideOnClickModal: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`. */\n\tpreviewTeleported: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to use lazy load. */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description Base64图片 */\n\tbase64: Boolean,\n\t/** @description 原图 */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n\t/** @description 是否可以预览图片 */\n\tpreview: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\ntype FaImageSlots = {\n\t/** @description 当图像尚未加载时,自定义的占位符内容 */\n\tplaceholder: never;\n\t/** @description 自定义图像加载失败的内容 */\n\terror: never;\n\t/** @description 当图像预览时自定义内容 */\n\tviewer: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaImage\",\n\tprops: faImageProps,\n\tslots: makeSlots<FaImageSlots>(),\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (!props.src) return undefined;\n\t\t\t\tif (props.base64) {\n\t\t\t\t\treturn `data:image/png;base64,${props.src}`;\n\t\t\t\t} else if (props.original) {\n\t\t\t\t\treturn props.src;\n\t\t\t\t} else if (props.normal) {\n\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t} else if (props.small) {\n\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t} else {\n\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tpreviewList: computed(() => (props.preview ? [props.base64 ? `data:image/png;base64,${props.src}` : props.src] : [])),\n\t\t});\n\n\t\tconst bindProps = useProps(props, imageProps, [\"src\", \"previewSrcList\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElImage {...bindProps.value} class=\"fa-image\" src={state.src} previewSrcList={state.previewList}>\n\t\t\t\t{{\n\t\t\t\t\terror: () =>\n\t\t\t\t\t\tslots.error ? (\n\t\t\t\t\t\t\tslots.error()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div class=\"fa-image__error-image\">\n\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t<ElIconPicture />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t...(slots.placeholder && { placeholder: (): VNode[] => slots.placeholder() }),\n\t\t\t\t\t...(slots.viewer && { viewer: (): VNode[] => slots.viewer({ src: state.src }) }),\n\t\t\t\t}}\n\t\t\t</ElImage>\n\t\t));\n\t},\n});\n"],"names":["faImageProps","imageProps","hideOnClickModal","type","Boolean","default","previewTeleported","lazy","base64","original","normal","small","thumb","preview","Image","name","props","slots","makeSlots","setup","attrs","expose","state","reactive","src","computed","previewList","bindProps","useProps","useRender","_createVNode","ElImage","_mergeProps","value","class","previewSrcList","error","ElIcon","ElIconPicture","placeholder","viewer"],"mappings":"mSAMO,MAAMA,EAAe,IACxBC,EAEHC,iBAAkB,CACjBC,KAAMC,QACNC,SAAS,GAGVC,kBAAmB,CAClBH,KAAMC,QACNC,SAAS,GAGVE,KAAM,CACLJ,KAAMC,QACNC,SAAS,GAGVG,OAAQJ,QAERK,SAAUL,QAEVM,OAAQN,QAERO,MAAOP,QAEPQ,MAAOR,QAEPS,QAAS,CACRV,KAAMC,QACNC,SAAS,IAaXS,mBAA+B,CAC9BC,KAAM,UACNC,MAAOhB,EACPiB,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,OAAOI,IAC5B,MAAMC,EAAQC,EAAS,CACtBC,IAAKC,EAAS,KACb,GAAKT,EAAMQ,IACX,OAAIR,EAAMR,OACF,yBAAyBQ,EAAMQ,MAC5BR,EAAMP,SACTO,EAAMQ,IACHR,EAAMN,OACT,GAAGM,EAAMQ,cACNR,EAAML,MACT,GAAGK,EAAMQ,cACNR,EAAMJ,MACT,GAAGI,EAAMQ,gBAMlBE,YAAaD,EAAS,IAAOT,EAAMH,QAAU,CAACG,EAAMR,OAAS,yBAAyBQ,EAAMQ,MAAQR,EAAMQ,KAAO,MAG5GG,EAAYC,EAASZ,EAAOf,EAAY,CAAC,MAAO,mBAEtD4B,EAAU,IAAAC,EAAAC,EAAAC,EACIL,EAAUM,MAAK,CAAAC,MAAA,WAAAV,IAAwBF,EAAME,IAAGW,eAAkBb,EAAMI,cAAW,CAE9FU,MAAOA,IACNnB,EAAMmB,MACLnB,EAAMmB,QAAON,EAAA,MAAA,CAAAI,MAAA,yBAAA,CAAAJ,EAAAO,EAAA,CAAAH,MAAA,QAAA,CAAA7B,QAAAA,IAAA,CAAAyB,EAAAQ,EAAA,KAAA,cAQXrB,EAAMsB,aAAe,CAAEA,YAAaA,IAAetB,EAAMsB,kBACzDtB,EAAMuB,QAAU,CAAEA,OAAQA,IAAevB,EAAMuB,OAAO,CAAEhB,IAAKF,EAAME,SAI3E"}
|
package/es/components/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{FaAvatar as m}from"./avatar/index.mjs";import{FaButton as r}from"./button/index.mjs";import{FaCarNumber as o}from"./carNumber/index.mjs";import{FaContextMenu as e}from"./contextMenu/index.mjs";import{FaDialog as t}from"./dialog/index.mjs";import{FaDrawer as i}from"./drawer/index.mjs";import{FaForm as s,FaFormItem as p}from"./form/index.mjs";import{FaFormItemTip as f}from"./formItemTip/index.mjs";import{FaIcon as j}from"./icon/index.mjs";import{FaIconSelector as a}from"./iconSelector/index.mjs";import{FaImage as c}from"./image/index.mjs";import{FaLayoutGrid as l,FaLayoutGridItem as d}from"./layoutGrid/index.mjs";import{FaSelect as n,FaSelectOption as x}from"./select/index.mjs";import{FaSelectPage as u}from"./selectPage/index.mjs";import{FaSelectV2 as b}from"./selectV2/index.mjs";import{FaTable as g,FaTableColumn as I}from"./table/index.mjs";import{FaTree as S}from"./tree/index.mjs";import{FaTreeSelect as y}from"./treeSelect/index.mjs";import{FaUpload as P}from"./upload/index.mjs";import{FaUploadImage as T}from"./uploadImage/index.mjs";import{FaUploadImages as V}from"./uploadImages/index.mjs";import{faButtonEmits as N,faButtonProps as v}from"./button/src/button.mjs";import{CarNumberArea as w,CarNumberDigit as C,CarNumberLetter as G}from"./carNumber/src/common.mjs";import{faDialogEmits as M,faDialogProps as h}from"./dialog/src/dialog.mjs";import{formUtil as k}from"./form/utils/form.mjs";import{faFormProps as q}from"./form/src/form.mjs";import{faFormItemProps as z}from"./form/src/formItem.mjs";import{faFormItemTipProps as A}from"./formItemTip/src/formItemTip.mjs";import{faImageProps as B}from"./image/src/image.mjs";import{SelectProps as D,faSelectProps as E}from"./select/src/select.mjs";import{faSelectPageEmits as F,faSelectPageProps as H}from"./selectPage/src/selectPage.mjs";import{SelectV2Props as J,faSelectV2Props as K}from"./selectV2/src/selectV2.mjs";import{PagedSearchTypeEnum as L}from"./table/src/page.type.mjs";import{getTableDefaultSlots as O}from"./table/src/table.type.mjs";import{tableUtil as Q}from"./table/utils/table.mjs";import{tableProps as
|
|
1
|
+
import{FaAvatar as m}from"./avatar/index.mjs";import{FaButton as r}from"./button/index.mjs";import{FaCarNumber as o}from"./carNumber/index.mjs";import{FaContextMenu as e}from"./contextMenu/index.mjs";import{FaDialog as t}from"./dialog/index.mjs";import{FaDrawer as i}from"./drawer/index.mjs";import{FaForm as s,FaFormItem as p}from"./form/index.mjs";import{FaFormItemTip as f}from"./formItemTip/index.mjs";import{FaIcon as j}from"./icon/index.mjs";import{FaIconSelector as a}from"./iconSelector/index.mjs";import{FaImage as c}from"./image/index.mjs";import{FaLayoutGrid as l,FaLayoutGridItem as d}from"./layoutGrid/index.mjs";import{FaSelect as n,FaSelectOption as x}from"./select/index.mjs";import{FaSelectPage as u}from"./selectPage/index.mjs";import{FaSelectV2 as b}from"./selectV2/index.mjs";import{FaTable as g,FaTableColumn as I}from"./table/index.mjs";import{FaTree as S}from"./tree/index.mjs";import{FaTreeSelect as y}from"./treeSelect/index.mjs";import{FaUpload as P}from"./upload/index.mjs";import{FaUploadImage as T}from"./uploadImage/index.mjs";import{FaUploadImages as V}from"./uploadImages/index.mjs";import{faButtonEmits as N,faButtonProps as v}from"./button/src/button.mjs";import{CarNumberArea as w,CarNumberDigit as C,CarNumberLetter as G}from"./carNumber/src/common.mjs";import{faDialogEmits as M,faDialogProps as h}from"./dialog/src/dialog.mjs";import{formUtil as k}from"./form/utils/form.mjs";import{faFormProps as q}from"./form/src/form.mjs";import{faFormItemProps as z}from"./form/src/formItem.mjs";import{faFormItemTipProps as A}from"./formItemTip/src/formItemTip.mjs";import{faImageProps as B}from"./image/src/image.mjs";import{SelectProps as D,faSelectProps as E}from"./select/src/select.mjs";import{faSelectPageEmits as F,faSelectPageProps as H}from"./selectPage/src/selectPage.mjs";import{SelectV2Props as J,faSelectV2Props as K}from"./selectV2/src/selectV2.mjs";import{PagedSearchTypeEnum as L}from"./table/src/page.type.mjs";import{getTableDefaultSlots as O}from"./table/src/table.type.mjs";import{tableUtil as Q}from"./table/utils/table.mjs";import{faTableEmits as R,faTableProps as U,tableProps as W}from"./table/src/table.mjs";import{tableColumnProps as X}from"./table/src/tableColumn.mjs";import{faTreeEmits as Y,faTreeProps as Z}from"./tree/src/tree.mjs";import{faTreeSelectEmits as $,faTreeSelectProps as _}from"./treeSelect/src/treeSelect.mjs";import{faUploadEmits as mm,faUploadProps as rm}from"./upload/src/upload.mjs";import{faUploadImageEmits as om,faUploadImageProps as em}from"./uploadImage/src/uploadImage.mjs";export{w as CarNumberArea,C as CarNumberDigit,G as CarNumberLetter,m as FaAvatar,r as FaButton,o as FaCarNumber,e as FaContextMenu,t as FaDialog,i as FaDrawer,s as FaForm,p as FaFormItem,f as FaFormItemTip,j as FaIcon,a as FaIconSelector,c as FaImage,l as FaLayoutGrid,d as FaLayoutGridItem,n as FaSelect,x as FaSelectOption,u as FaSelectPage,b as FaSelectV2,g as FaTable,I as FaTableColumn,S as FaTree,y as FaTreeSelect,P as FaUpload,T as FaUploadImage,V as FaUploadImages,L as PagedSearchTypeEnum,D as SelectProps,J as SelectV2Props,N as faButtonEmits,v as faButtonProps,M as faDialogEmits,h as faDialogProps,z as faFormItemProps,A as faFormItemTipProps,q as faFormProps,B as faImageProps,F as faSelectPageEmits,H as faSelectPageProps,E as faSelectProps,K as faSelectV2Props,R as faTableEmits,U as faTableProps,Y as faTreeEmits,Z as faTreeProps,$ as faTreeSelectEmits,_ as faTreeSelectProps,mm as faUploadEmits,om as faUploadImageEmits,em as faUploadImageProps,rm as faUploadProps,k as formUtil,O as getTableDefaultSlots,X as tableColumnProps,W as tableProps,Q as tableUtil};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExtractPropTypes } from "vue";
|
|
2
2
|
import { TSXWithInstall } from "@fast-china/utils";
|
|
3
|
-
import { default as Table, faTableEmits, faTableProps, tableProps } from "./src/table";
|
|
3
|
+
import { FaTableSlots, default as Table, faTableEmits, faTableProps, tableProps } from "./src/table";
|
|
4
4
|
import { default as TableColumn, tableColumnProps } from "./src/tableColumn";
|
|
5
5
|
import { default as TableColumnsSettingDialog } from "./src/tableColumnSettingDialog";
|
|
6
6
|
import { default as TablePagination } from "./src/tablePagination";
|
|
@@ -22,7 +22,7 @@ export * from "./src/page.type";
|
|
|
22
22
|
export * from "./src/table.state";
|
|
23
23
|
export * from "./src/table.type";
|
|
24
24
|
|
|
25
|
-
export { tableProps, tableColumnProps, faTableProps, faTableEmits };
|
|
25
|
+
export { tableProps, tableColumnProps, faTableProps, faTableEmits, FaTableSlots };
|
|
26
26
|
|
|
27
27
|
export declare type FaTableInstance = InstanceType<typeof Table>;
|
|
28
28
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withInstall as m,withNoopInstall as r}from"@fast-china/utils";import t from"./src/table.mjs";import{tableProps as
|
|
1
|
+
import{withInstall as m,withNoopInstall as r}from"@fast-china/utils";import t from"./src/table.mjs";import{faTableEmits as o,faTableProps as a,tableProps as e}from"./src/table.mjs";import s from"./src/tableColumn.mjs";import{tableColumnProps as l}from"./src/tableColumn.mjs";import i from"./src/tableColumnSettingDialog.mjs";import c from"./src/tablePagination.mjs";import p from"./src/tableSearchForm.mjs";import b from"./src/tableSearchFormItem.mjs";import{PagedSearchTypeEnum as f}from"./src/page.type.mjs";import"./src/table.state.mjs";import{getTableDefaultSlots as n}from"./src/table.type.mjs";import{tableUtil as j}from"./utils/table.mjs";const u=m(t,{TableColumn:s,TableColumnsSettingDialog:i,TablePagination:c,TableSearchForm:p,TableSearchFormItem:b}),g=r(s);export{u as FaTable,g as FaTableColumn,f as PagedSearchTypeEnum,u as default,o as faTableEmits,a as faTableProps,n as getTableDefaultSlots,l as tableColumnProps,e as tableProps,j as tableUtil};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|