fast-element-plus 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +4 -4
  2. package/README.zh.md +4 -4
  3. package/dist/index.full.js +9 -41
  4. package/dist/index.full.js.map +1 -1
  5. package/dist/index.full.min.js +1 -35
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +1 -35
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +9 -41
  10. package/dist/index.full.mjs.map +1 -1
  11. package/es/component.mjs +1 -51
  12. package/es/component.mjs.map +1 -1
  13. package/es/components/avatar/index.mjs +1 -7
  14. package/es/components/avatar/index.mjs.map +1 -1
  15. package/es/components/avatar/src/avatar.mjs +1 -75
  16. package/es/components/avatar/src/avatar.mjs.map +1 -1
  17. package/es/components/button/index.mjs +1 -10
  18. package/es/components/button/index.mjs.map +1 -1
  19. package/es/components/button/src/button.mjs +1 -117
  20. package/es/components/button/src/button.mjs.map +1 -1
  21. package/es/components/carNumber/index.mjs +1 -11
  22. package/es/components/carNumber/index.mjs.map +1 -1
  23. package/es/components/carNumber/src/carNumber.d.ts +5 -5
  24. package/es/components/carNumber/src/carNumber.mjs +1 -163
  25. package/es/components/carNumber/src/carNumber.mjs.map +1 -1
  26. package/es/components/carNumber/src/common.mjs +1 -74
  27. package/es/components/carNumber/src/common.mjs.map +1 -1
  28. package/es/components/contextMenu/index.mjs +1 -8
  29. package/es/components/contextMenu/index.mjs.map +1 -1
  30. package/es/components/contextMenu/src/contextMenu.mjs +1 -84
  31. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  32. package/es/components/dialog/index.mjs +1 -10
  33. package/es/components/dialog/index.mjs.map +1 -1
  34. package/es/components/dialog/src/dialog.mjs +1 -284
  35. package/es/components/dialog/src/dialog.mjs.map +1 -1
  36. package/es/components/drawer/index.mjs +1 -7
  37. package/es/components/drawer/index.mjs.map +1 -1
  38. package/es/components/drawer/src/drawer.d.ts +9 -0
  39. package/es/components/drawer/src/drawer.mjs +1 -283
  40. package/es/components/drawer/src/drawer.mjs.map +1 -1
  41. package/es/components/form/index.mjs +1 -18
  42. package/es/components/form/index.mjs.map +1 -1
  43. package/es/components/form/src/form.mjs +1 -108
  44. package/es/components/form/src/form.mjs.map +1 -1
  45. package/es/components/form/src/formItem.mjs +1 -116
  46. package/es/components/form/src/formItem.mjs.map +1 -1
  47. package/es/components/form/utils/form.mjs +1 -216
  48. package/es/components/form/utils/form.mjs.map +1 -1
  49. package/es/components/formItemTip/index.mjs +1 -9
  50. package/es/components/formItemTip/index.mjs.map +1 -1
  51. package/es/components/formItemTip/src/formItemTip.mjs +1 -37
  52. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
  53. package/es/components/icon/index.mjs +1 -7
  54. package/es/components/icon/index.mjs.map +1 -1
  55. package/es/components/icon/src/icon.mjs +1 -68
  56. package/es/components/icon/src/icon.mjs.map +1 -1
  57. package/es/components/iconSelector/index.mjs +1 -7
  58. package/es/components/iconSelector/index.mjs.map +1 -1
  59. package/es/components/iconSelector/src/iconSelector.mjs +1 -142
  60. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  61. package/es/components/image/index.mjs +1 -9
  62. package/es/components/image/index.mjs.map +1 -1
  63. package/es/components/image/src/image.mjs +1 -89
  64. package/es/components/image/src/image.mjs.map +1 -1
  65. package/es/components/index.mjs +1 -99
  66. package/es/components/index.mjs.map +1 -1
  67. package/es/components/layoutGrid/index.mjs +1 -13
  68. package/es/components/layoutGrid/index.mjs.map +1 -1
  69. package/es/components/layoutGrid/src/layoutGrid.mjs +1 -177
  70. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  71. package/es/components/layoutGrid/src/layoutGridItem.mjs +1 -96
  72. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  73. package/es/components/select/index.mjs +1 -16
  74. package/es/components/select/index.mjs.map +1 -1
  75. package/es/components/select/src/select.mjs +1 -558
  76. package/es/components/select/src/select.mjs.map +1 -1
  77. package/es/components/select/src/selectOption.mjs +1 -70
  78. package/es/components/select/src/selectOption.mjs.map +1 -1
  79. package/es/components/selectPage/index.mjs +1 -10
  80. package/es/components/selectPage/index.mjs.map +1 -1
  81. package/es/components/selectPage/src/selectPage.mjs +1 -380
  82. package/es/components/selectPage/src/selectPage.mjs.map +1 -1
  83. package/es/components/selectV2/index.mjs +1 -10
  84. package/es/components/selectV2/index.mjs.map +1 -1
  85. package/es/components/selectV2/src/selectV2.mjs +1 -605
  86. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  87. package/es/components/table/images/artwork.png.mjs +1 -4
  88. package/es/components/table/images/artwork.png.mjs.map +1 -1
  89. package/es/components/table/images/notImage.png.mjs +1 -4
  90. package/es/components/table/images/notImage.png.mjs.map +1 -1
  91. package/es/components/table/index.mjs +1 -31
  92. package/es/components/table/index.mjs.map +1 -1
  93. package/es/components/table/src/page.type.mjs +1 -15
  94. package/es/components/table/src/page.type.mjs.map +1 -1
  95. package/es/components/table/src/table.mjs +1 -1045
  96. package/es/components/table/src/table.mjs.map +1 -1
  97. package/es/components/table/src/table.type.mjs +1 -13
  98. package/es/components/table/src/table.type.mjs.map +1 -1
  99. package/es/components/table/src/tableColumn.mjs +1 -603
  100. package/es/components/table/src/tableColumn.mjs.map +1 -1
  101. package/es/components/table/src/tableColumnSettingDialog.mjs +1 -429
  102. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  103. package/es/components/table/src/tablePagination.mjs +1 -55
  104. package/es/components/table/src/tablePagination.mjs.map +1 -1
  105. package/es/components/table/src/tableSearchForm.mjs +1 -268
  106. package/es/components/table/src/tableSearchForm.mjs.map +1 -1
  107. package/es/components/table/src/tableSearchFormItem.mjs +1 -120
  108. package/es/components/table/src/tableSearchFormItem.mjs.map +1 -1
  109. package/es/components/table/src/useTable.mjs +1 -373
  110. package/es/components/table/src/useTable.mjs.map +1 -1
  111. package/es/components/table/utils/table.mjs +1 -121
  112. package/es/components/table/utils/table.mjs.map +1 -1
  113. package/es/components/tree/index.mjs +1 -11
  114. package/es/components/tree/index.mjs.map +1 -1
  115. package/es/components/tree/src/tree.mjs +1 -363
  116. package/es/components/tree/src/tree.mjs.map +1 -1
  117. package/es/components/tree/src/tree.props.mjs +1 -70
  118. package/es/components/tree/src/tree.props.mjs.map +1 -1
  119. package/es/components/treeSelect/index.mjs +1 -10
  120. package/es/components/treeSelect/index.mjs.map +1 -1
  121. package/es/components/treeSelect/src/treeSelect.mjs +1 -491
  122. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  123. package/es/components/upload/index.mjs +1 -10
  124. package/es/components/upload/index.mjs.map +1 -1
  125. package/es/components/upload/src/upload.mjs +1 -139
  126. package/es/components/upload/src/upload.mjs.map +1 -1
  127. package/es/components/upload/src/useUpload.mjs +1 -149
  128. package/es/components/upload/src/useUpload.mjs.map +1 -1
  129. package/es/components/upload/utils/upload.mjs +1 -118
  130. package/es/components/upload/utils/upload.mjs.map +1 -1
  131. package/es/components/uploadImage/index.mjs +1 -10
  132. package/es/components/uploadImage/index.mjs.map +1 -1
  133. package/es/components/uploadImage/src/uploadImage.mjs +1 -206
  134. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
  135. package/es/components/uploadImages/index.mjs +1 -7
  136. package/es/components/uploadImages/index.mjs.map +1 -1
  137. package/es/components/uploadImages/src/uploadImages.mjs +1 -193
  138. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
  139. package/es/constants/index.mjs +1 -6
  140. package/es/constants/index.mjs.map +1 -1
  141. package/es/constants/mime.mjs +1 -61
  142. package/es/constants/mime.mjs.map +1 -1
  143. package/es/constants/regex.mjs +1 -78
  144. package/es/constants/regex.mjs.map +1 -1
  145. package/es/directive.mjs +1 -10
  146. package/es/directive.mjs.map +1 -1
  147. package/es/directives/click-copy/index.mjs +1 -35
  148. package/es/directives/click-copy/index.mjs.map +1 -1
  149. package/es/directives/click-debounce/index.mjs +1 -19
  150. package/es/directives/click-debounce/index.mjs.map +1 -1
  151. package/es/directives/click-draggable/index.mjs +1 -37
  152. package/es/directives/click-draggable/index.mjs.map +1 -1
  153. package/es/directives/click-icon-copy/index.mjs +1 -53
  154. package/es/directives/click-icon-copy/index.mjs.map +1 -1
  155. package/es/directives/click-longpress/index.mjs +1 -41
  156. package/es/directives/click-longpress/index.mjs.map +1 -1
  157. package/es/directives/click-throttle/index.mjs +1 -30
  158. package/es/directives/click-throttle/index.mjs.map +1 -1
  159. package/es/directives/index.mjs +1 -14
  160. package/es/directives/index.mjs.map +1 -1
  161. package/es/element-plus.mjs +1 -303
  162. package/es/element-plus.mjs.map +1 -1
  163. package/es/hooks/index.mjs +1 -8
  164. package/es/hooks/index.mjs.map +1 -1
  165. package/es/hooks/use-loading/index.mjs +1 -33
  166. package/es/hooks/use-loading/index.mjs.map +1 -1
  167. package/es/hooks/use-overlay/index.mjs +1 -25
  168. package/es/hooks/use-overlay/index.mjs.map +1 -1
  169. package/es/hooks/use-screenFull/index.mjs +1 -44
  170. package/es/hooks/use-screenFull/index.mjs.map +1 -1
  171. package/es/index.mjs +1 -137
  172. package/es/index.mjs.map +1 -1
  173. package/es/make-installer.mjs +1 -26
  174. package/es/make-installer.mjs.map +1 -1
  175. package/es/version.d.ts +1 -1
  176. package/es/version.mjs +1 -4
  177. package/es/version.mjs.map +1 -1
  178. package/lib/components/carNumber/src/carNumber.d.ts +5 -5
  179. package/lib/components/drawer/src/drawer.d.ts +9 -0
  180. package/lib/components/table/src/table.js +1 -1
  181. package/lib/components/table/src/table.js.map +1 -1
  182. package/lib/components/table/src/tablePagination.js +1 -1
  183. package/lib/components/table/src/tablePagination.js.map +1 -1
  184. package/lib/version.d.ts +1 -1
  185. package/lib/version.js +1 -1
  186. package/lib/version.js.map +1 -1
  187. package/package.json +3 -3
@@ -1,285 +1,2 @@
1
- import { defineComponent, reactive, ref, nextTick, watch, createVNode, mergeProps, Fragment, withDirectives, resolveDirective, computed } from "vue";
2
- import { dialogProps, dialogEmits, useGlobalSize, ElMessage, ElMessageBox, ElDialog, ElButton, ElScrollbar, ElIcon } from "element-plus";
3
- import { Eleme, Refresh, FullScreen, Close } from "@element-plus/icons-vue";
4
- import { FullScreenExit } from "@fast-element-plus/icons-vue";
5
- import { definePropType, execFunction, consoleError, useProps, useRender, useExpose, makeSlots } from "@fast-china/utils";
6
- import { isBoolean } from "lodash-unified";
7
- const faDialogProps = {
8
- ...dialogProps,
9
- /** @description whether to align the dialog both horizontally and vertically*/
10
- alignCenter: {
11
- type: Boolean,
12
- default: true
13
- },
14
- /** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
15
- appendToBody: {
16
- type: Boolean,
17
- default: true
18
- },
19
- /** @description enable dragging feature for Dialog */
20
- draggable: {
21
- type: Boolean,
22
- default: true
23
- },
24
- /** @description destroy elements in Dialog when closed */
25
- destroyOnClose: {
26
- type: Boolean,
27
- default: true
28
- },
29
- /** @description draggable Dialog can overflow the viewport */
30
- overflow: {
31
- type: Boolean,
32
- default: true
33
- },
34
- /** @description value for `margin-top` of Dialog CSS, default is 15vh */
35
- top: {
36
- type: String,
37
- default: "5vh"
38
- },
39
- /** @description width of Dialog, default is 50% */
40
- width: {
41
- type: [String, Number],
42
- default: "90%"
43
- },
44
- /** @description 显示刷新按钮 */
45
- showRefresh: {
46
- type: Boolean,
47
- default: true
48
- },
49
- /** @description 显示全屏图标 */
50
- showFullscreen: {
51
- type: Boolean,
52
- default: true
53
- },
54
- /** @description 显示关闭按钮 */
55
- showCloseButton: {
56
- type: Boolean,
57
- default: true
58
- },
59
- /** @description 显示确认按钮 */
60
- showConfirmButton: {
61
- type: Boolean,
62
- default: true
63
- },
64
- /** @description 禁用确认按钮 */
65
- disabledConfirmButton: Boolean,
66
- /** @description 关闭按钮文字,默认取消 */
67
- closeButtonText: {
68
- type: String,
69
- default: "取消"
70
- },
71
- /** @description 确认按钮文字,默认确认 */
72
- confirmButtonText: {
73
- type: String,
74
- default: "确认"
75
- },
76
- /** @description 隐藏底部操作 */
77
- hideFooter: Boolean,
78
- /** @description 撑满高度 */
79
- fillHeight: Boolean,
80
- /** @description 显示关闭回调 */
81
- showBeforeClose: Boolean,
82
- /** @description 打开之后 */
83
- afterOpen: {
84
- type: definePropType(Function)
85
- }
86
- };
87
- const faDialogEmits = {
88
- ...dialogEmits,
89
- /** @description v-model 回调 */
90
- "update:modelValue": (value) => isBoolean(value),
91
- /** @description 确认按钮点击事件 */
92
- confirmClick: () => true
93
- };
94
- const Dialog = /* @__PURE__ */ defineComponent({
95
- name: "FaDialog",
96
- props: faDialogProps,
97
- emits: faDialogEmits,
98
- slots: makeSlots(),
99
- setup(props, {
100
- attrs,
101
- slots,
102
- emit,
103
- expose
104
- }) {
105
- const _globalSize = useGlobalSize();
106
- const state = reactive({
107
- loading: false,
108
- visible: false,
109
- fullscreen: false,
110
- refreshing: false
111
- });
112
- const dialogRef = ref();
113
- let cacheOpenFunction = void 0;
114
- const handleOpen = (openFunction) => {
115
- state.visible = true;
116
- cacheOpenFunction = openFunction;
117
- nextTick(() => {
118
- state.loading = true;
119
- execFunction(props.afterOpen ?? openFunction).then(() => {
120
- emit("open");
121
- }).catch((error) => {
122
- consoleError("FaDialog", error);
123
- state.visible = false;
124
- }).finally(() => {
125
- state.loading = false;
126
- });
127
- });
128
- };
129
- const handleClose = (closeFunction) => {
130
- state.loading = true;
131
- execFunction(closeFunction).then(() => {
132
- emit("close");
133
- state.visible = false;
134
- }).catch((error) => {
135
- consoleError("FaDialog", error);
136
- }).finally(() => {
137
- state.loading = false;
138
- });
139
- };
140
- const handleLoading = (loadingFunction) => {
141
- state.loading = true;
142
- execFunction(loadingFunction).then().catch((error) => {
143
- consoleError("FaDialog", error);
144
- }).finally(() => {
145
- state.loading = false;
146
- });
147
- };
148
- const handleRefresh = () => {
149
- if (state.loading) return;
150
- state.refreshing = true;
151
- state.loading = true;
152
- setTimeout(() => {
153
- state.refreshing = false;
154
- handleOpen(cacheOpenFunction);
155
- ElMessage.success("刷新成功");
156
- }, 500);
157
- };
158
- const handleBeforeClose = (done) => {
159
- if (state.loading) return;
160
- if (document.querySelector(".el-image-viewer__wrapper")) return;
161
- const newDone = () => {
162
- execFunction(props.beforeClose).then(() => {
163
- emit("close");
164
- done();
165
- }).catch((error) => {
166
- consoleError("FaDialog", error);
167
- });
168
- };
169
- if (props.showBeforeClose) {
170
- ElMessageBox.confirm("确定关闭?", {
171
- type: "warning"
172
- }).then(() => {
173
- newDone();
174
- });
175
- } else {
176
- newDone();
177
- }
178
- };
179
- const handleFullscreen = () => {
180
- if (state.loading) return;
181
- state.fullscreen = !state.fullscreen;
182
- };
183
- const handleConfirmClick = () => {
184
- if (state.loading) return;
185
- emit("confirmClick");
186
- };
187
- const handleCloseClick = () => {
188
- if (state.loading) return;
189
- handleClose();
190
- };
191
- watch(() => state.visible, (newValue) => {
192
- emit("update:modelValue", newValue);
193
- });
194
- const elDialogProps = useProps(props, dialogProps, ["modelValue", "fullscreen", "showClose", "beforeClose"]);
195
- useRender(() => createVNode(ElDialog, mergeProps(elDialogProps.value, {
196
- "ref": dialogRef,
197
- "class": ["fa-dialog", `fa-dialog-${_globalSize.value}`, {
198
- "fa-dialog__fill-height": props.fillHeight,
199
- "fa-dialog__fullscreen": state.fullscreen
200
- }],
201
- "modelValue": state.visible,
202
- "onUpdate:modelValue": ($event) => state.visible = $event,
203
- "fullscreen": state.fullscreen,
204
- "showClose": false,
205
- "beforeClose": handleBeforeClose,
206
- "onOpened": () => emit("opened"),
207
- "onClosed": () => emit("closed"),
208
- "onOpenAutoFocus": () => emit("openAutoFocus"),
209
- "onCloseAutoFocus": () => emit("closeAutoFocus")
210
- }), {
211
- header: () => createVNode(Fragment, null, [createVNode("div", {
212
- "class": "fa-dialog__header-title"
213
- }, [props.title, slots.header && slots.header({
214
- loading: state.loading,
215
- close: handleCloseClick
216
- })]), props.showRefresh && createVNode("div", {
217
- "title": "刷新",
218
- "class": ["fa-dialog__header-icon", state.loading ? "fa__click__disabled fa__click__disabled__cursor " : "fa__hover__twinkle"],
219
- "onClick": handleRefresh
220
- }, [createVNode(ElIcon, null, {
221
- default: () => [createVNode(Refresh, null, null)]
222
- })]), props.showFullscreen && createVNode("div", {
223
- "title": state.fullscreen ? "关闭全屏显示" : "全屏显示",
224
- "class": ["fa-dialog__header-icon", state.loading ? "fa__click__disabled fa__click__disabled__cursor " : "fa__hover__twinkle"],
225
- "onClick": handleFullscreen
226
- }, [createVNode(ElIcon, null, {
227
- default: () => [state.fullscreen ? createVNode(FullScreenExit, null, null) : createVNode(FullScreen, null, null)]
228
- })]), props.showClose && createVNode("div", {
229
- "title": "关闭",
230
- "class": ["fa-dialog__header-icon", state.loading ? "fa__click__disabled fa__click__disabled__cursor " : "fa__hover__twinkle"],
231
- "onClick": handleCloseClick
232
- }, [createVNode(ElIcon, null, {
233
- default: () => [createVNode(Close, null, null)]
234
- })])]),
235
- default: () => withDirectives(createVNode(ElScrollbar, {
236
- "element-loading-text": "加载中..."
237
- }, {
238
- default: () => [!state.refreshing && slots.default && slots.default(state)]
239
- }), [[resolveDirective("loading"), state.loading]]),
240
- ...!props.hideFooter && {
241
- footer: () => createVNode(Fragment, null, [slots.footer && slots.footer({
242
- loading: state.loading,
243
- close: handleCloseClick
244
- }), props.showCloseButton && createVNode(ElButton, {
245
- "disabled": state.loading,
246
- "onClick": handleCloseClick
247
- }, {
248
- default: () => [props.closeButtonText]
249
- }), props.showConfirmButton && createVNode(ElButton, {
250
- "loading": state.loading,
251
- "loadingIcon": Eleme,
252
- "disabled": props.disabledConfirmButton,
253
- "type": "primary",
254
- "onClick": handleConfirmClick
255
- }, {
256
- default: () => [state.loading ? "加载中..." : props.confirmButtonText]
257
- })])
258
- }
259
- }));
260
- return useExpose(expose, {
261
- /** @description 弹窗内容引用 */
262
- dialogContentRef: computed(() => dialogRef.value?.dialogContentRef),
263
- /** @description 重置位置 */
264
- resetPosition: computed(() => dialogRef.value?.resetPosition),
265
- /** @description 加载状态 */
266
- loading: computed(() => state.loading),
267
- /** @description 是否显示 */
268
- visible: computed(() => state.visible),
269
- /** @description 打开弹窗 */
270
- open: handleOpen,
271
- /** @description 关闭弹窗 */
272
- close: handleClose,
273
- /** @description 刷新弹窗 */
274
- refresh: handleRefresh,
275
- /** @description 弹窗加载 */
276
- doLoading: handleLoading
277
- });
278
- }
279
- });
280
- export {
281
- Dialog as default,
282
- faDialogEmits,
283
- faDialogProps
284
- };
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,FullScreen as y,Close as w}from"@element-plus/icons-vue";import{FullScreenExit 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(k,null,null):i(y,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(w,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};
285
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","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","refreshing","dialogRef","ref","cacheOpenFunction","undefined","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleLoading","loadingFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","elDialogProps","useProps","useRender","_createVNode","ElDialog","_mergeProps","$event","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","ElIcon","Refresh","FullScreenExit","FullScreen","showClose","Close","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","Eleme","useExpose","dialogContentRef","computed","resetPosition","open","refresh","doLoading"],"mappings":"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"}
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":"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"}
@@ -1,8 +1,2 @@
1
- import { withInstall } from "@fast-china/utils";
2
- import Drawer from "./src/drawer.mjs";
3
- const FaDrawer = withInstall(Drawer);
4
- export {
5
- FaDrawer,
6
- FaDrawer as default
7
- };
1
+ import{withInstall as r}from"@fast-china/utils";import t from"./src/drawer.mjs";const o=r(t);export{o as FaDrawer,o as default};
8
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/components/drawer/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Drawer from \"./src/drawer\";\nimport type { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaDrawer = withInstall(Drawer);\nexport default FaDrawer;\n\nexport { faDrawerProps, faDrawerEmits };\n\nexport type FaDrawerInstance = InstanceType<typeof Drawer>;\n\nexport type FaDrawerProps = ExtractPropTypes<typeof faDrawerProps>;\n\nexport type FaDrawerEmits = typeof faDrawerEmits;\n"],"names":[],"mappings":";;AAKO,MAAM,WAAW,YAAY,MAAM;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../packages/components/drawer/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Drawer from \"./src/drawer\";\nimport type { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaDrawer = withInstall(Drawer);\nexport default FaDrawer;\n\nexport { faDrawerProps, faDrawerEmits };\n\nexport type FaDrawerInstance = InstanceType<typeof Drawer>;\n\nexport type FaDrawerProps = ExtractPropTypes<typeof faDrawerProps>;\n\nexport type FaDrawerEmits = typeof faDrawerEmits;\n"],"names":["FaDrawer","withInstall","Drawer"],"mappings":"gFAKO,MAAMA,EAAWC,EAAYC"}
@@ -118,6 +118,9 @@ export declare const faDrawerEmits: {
118
118
  "update:modelValue": (value: boolean) => boolean;
119
119
  /** @description 确认按钮点击事件 */
120
120
  confirmClick: () => boolean;
121
+ 'resize-start': (evt: MouseEvent, size: number) => boolean;
122
+ resize: (evt: MouseEvent, size: number) => boolean;
123
+ 'resize-end': (evt: MouseEvent, size: number) => boolean;
121
124
  open: () => boolean;
122
125
  opened: () => boolean;
123
126
  close: () => boolean;
@@ -279,6 +282,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
279
282
  "update:modelValue": (value: boolean) => boolean;
280
283
  /** @description 确认按钮点击事件 */
281
284
  confirmClick: () => boolean;
285
+ 'resize-start': (evt: MouseEvent, size: number) => boolean;
286
+ resize: (evt: MouseEvent, size: number) => boolean;
287
+ 'resize-end': (evt: MouseEvent, size: number) => boolean;
282
288
  open: () => boolean;
283
289
  opened: () => boolean;
284
290
  close: () => boolean;
@@ -401,6 +407,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
401
407
  ariaLevel: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
402
408
  }>> & Readonly<{
403
409
  "onUpdate:modelValue"?: (value: boolean) => any;
410
+ onResize?: (evt: MouseEvent, size: number) => any;
404
411
  onOpen?: () => any;
405
412
  onClose?: () => any;
406
413
  onConfirmClick?: () => any;
@@ -408,6 +415,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
408
415
  onClosed?: () => any;
409
416
  onOpenAutoFocus?: () => any;
410
417
  onCloseAutoFocus?: () => any;
418
+ "onResize-start"?: (evt: MouseEvent, size: number) => any;
419
+ "onResize-end"?: (evt: MouseEvent, size: number) => any;
411
420
  }>, {
412
421
  size: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
413
422
  title: string;