fast-element-plus 2.0.19 → 2.0.20

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 (128) hide show
  1. package/CHANGELOG.md +40 -20
  2. package/CONTRIBUTING.md +3 -4
  3. package/README.md +80 -27
  4. package/README.zh.md +66 -27
  5. package/dist/component.d.ts +110 -110
  6. package/dist/components/avatar/src/avatar.d.ts +26 -26
  7. package/dist/components/avatar/src/avatar.mjs +10 -10
  8. package/dist/components/avatar/src/avatar.mjs.map +1 -1
  9. package/dist/components/button/src/button.d.ts +32 -27
  10. package/dist/components/button/src/button.mjs +57 -36
  11. package/dist/components/button/src/button.mjs.map +1 -1
  12. package/dist/components/carNumber/src/carNumber.d.ts +8 -8
  13. package/dist/components/carNumber/src/carNumber.mjs +5 -5
  14. package/dist/components/carNumber/src/carNumber.mjs.map +1 -1
  15. package/dist/components/contextMenu/src/contextMenu.d.ts +6 -6
  16. package/dist/components/contextMenu/src/contextMenu.mjs +5 -5
  17. package/dist/components/contextMenu/src/contextMenu.mjs.map +1 -1
  18. package/dist/components/contextMenu/src/contextMenu.type.d.ts +7 -7
  19. package/dist/components/dialog/src/dialog.d.ts +74 -74
  20. package/dist/components/dialog/src/dialog.mjs +31 -31
  21. package/dist/components/dialog/src/dialog.mjs.map +1 -1
  22. package/dist/components/drawer/src/drawer.d.ts +57 -57
  23. package/dist/components/drawer/src/drawer.mjs +24 -24
  24. package/dist/components/drawer/src/drawer.mjs.map +1 -1
  25. package/dist/components/form/src/form.d.ts +30 -30
  26. package/dist/components/form/src/form.mjs +16 -16
  27. package/dist/components/form/src/form.mjs.map +1 -1
  28. package/dist/components/form/src/formItem.d.ts +30 -30
  29. package/dist/components/form/src/formItem.mjs +13 -13
  30. package/dist/components/form/src/formItem.mjs.map +1 -1
  31. package/dist/components/formItemTip/src/formItemTip.d.ts +9 -9
  32. package/dist/components/formItemTip/src/formItemTip.mjs +3 -3
  33. package/dist/components/formItemTip/src/formItemTip.mjs.map +1 -1
  34. package/dist/components/icon/src/icon.d.ts +10 -10
  35. package/dist/components/icon/src/icon.mjs +4 -4
  36. package/dist/components/icon/src/icon.mjs.map +1 -1
  37. package/dist/components/iconSelector/src/iconSelector.d.ts +6 -6
  38. package/dist/components/iconSelector/src/iconSelector.mjs +4 -4
  39. package/dist/components/iconSelector/src/iconSelector.mjs.map +1 -1
  40. package/dist/components/image/src/image.d.ts +36 -36
  41. package/dist/components/image/src/image.mjs +11 -11
  42. package/dist/components/image/src/image.mjs.map +1 -1
  43. package/dist/components/inputDialogPage/src/inputDialogPage.d.ts +37 -37
  44. package/dist/components/inputDialogPage/src/inputDialogPage.mjs +16 -16
  45. package/dist/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
  46. package/dist/components/layoutGrid/src/layoutGrid.d.ts +12 -12
  47. package/dist/components/layoutGrid/src/layoutGrid.mjs +6 -6
  48. package/dist/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  49. package/dist/components/layoutGrid/src/layoutGridItem.d.ts +18 -18
  50. package/dist/components/layoutGrid/src/layoutGridItem.mjs +8 -8
  51. package/dist/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  52. package/dist/components/select/src/select.d.ts +88 -88
  53. package/dist/components/select/src/select.mjs +28 -28
  54. package/dist/components/select/src/select.mjs.map +1 -1
  55. package/dist/components/select/src/selectOption.d.ts +13 -13
  56. package/dist/components/select/src/selectOption.mjs +6 -6
  57. package/dist/components/select/src/selectOption.mjs.map +1 -1
  58. package/dist/components/selectPage/src/selectPage.d.ts +78 -84
  59. package/dist/components/selectPage/src/selectPage.mjs +49 -35
  60. package/dist/components/selectPage/src/selectPage.mjs.map +1 -1
  61. package/dist/components/selectV2/index.mjs +2 -1
  62. package/dist/components/selectV2/index.mjs.map +1 -1
  63. package/dist/components/selectV2/src/selectV2.d.ts +160 -851
  64. package/dist/components/selectV2/src/selectV2.mjs +30 -338
  65. package/dist/components/selectV2/src/selectV2.mjs.map +1 -1
  66. package/dist/components/table/index.mjs +3 -2
  67. package/dist/components/table/index.mjs.map +1 -1
  68. package/dist/components/table/src/page.type.d.ts +1 -1
  69. package/dist/components/table/src/table.d.ts +211 -744
  70. package/dist/components/table/src/table.mjs +111 -307
  71. package/dist/components/table/src/table.mjs.map +1 -1
  72. package/dist/components/table/src/table.state.d.ts +3 -3
  73. package/dist/components/table/src/table.type.d.ts +1 -9
  74. package/dist/components/table/src/table.type.mjs.map +1 -1
  75. package/dist/components/table/src/tableColumn.d.ts +102 -399
  76. package/dist/components/table/src/tableColumn.mjs +28 -185
  77. package/dist/components/table/src/tableColumn.mjs.map +1 -1
  78. package/dist/components/table/src/tableColumnSettingDialog.d.ts +4 -4
  79. package/dist/components/table/src/tableColumnSettingDialog.mjs +3 -3
  80. package/dist/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  81. package/dist/components/table/src/tablePagination.d.ts +4 -4
  82. package/dist/components/table/src/tablePagination.mjs +3 -3
  83. package/dist/components/table/src/tablePagination.mjs.map +1 -1
  84. package/dist/components/table/src/tableSearchForm.d.ts +12 -12
  85. package/dist/components/table/src/tableSearchForm.mjs +6 -6
  86. package/dist/components/table/src/tableSearchForm.mjs.map +1 -1
  87. package/dist/components/table/src/tableSearchFormItem.d.ts +4 -4
  88. package/dist/components/table/src/tableSearchFormItem.mjs +2 -2
  89. package/dist/components/table/src/tableSearchFormItem.mjs.map +1 -1
  90. package/dist/components/table/src/useTable.d.ts +1 -0
  91. package/dist/components/table/src/useTable.mjs +109 -65
  92. package/dist/components/table/src/useTable.mjs.map +1 -1
  93. package/dist/components/table/utils/table.d.ts +4 -4
  94. package/dist/components/table/utils/table.mjs +4 -4
  95. package/dist/components/table/utils/table.mjs.map +1 -1
  96. package/dist/components/tree/src/tree.d.ts +86 -86
  97. package/dist/components/tree/src/tree.mjs +46 -46
  98. package/dist/components/tree/src/tree.mjs.map +1 -1
  99. package/dist/components/treeSelect/src/treeSelect.d.ts +144 -150
  100. package/dist/components/treeSelect/src/treeSelect.mjs +55 -55
  101. package/dist/components/treeSelect/src/treeSelect.mjs.map +1 -1
  102. package/dist/components/upload/src/upload.d.ts +36 -36
  103. package/dist/components/upload/src/upload.mjs +17 -17
  104. package/dist/components/upload/src/upload.mjs.map +1 -1
  105. package/dist/components/uploadImage/src/uploadImage.d.ts +47 -47
  106. package/dist/components/uploadImage/src/uploadImage.mjs +23 -23
  107. package/dist/components/uploadImage/src/uploadImage.mjs.map +1 -1
  108. package/dist/components/uploadImages/src/uploadImages.d.ts +41 -41
  109. package/dist/components/uploadImages/src/uploadImages.mjs +21 -21
  110. package/dist/components/uploadImages/src/uploadImages.mjs.map +1 -1
  111. package/dist/directives/click-debounce/index.mjs +19 -11
  112. package/dist/directives/click-debounce/index.mjs.map +1 -1
  113. package/dist/directives/click-throttle/index.d.ts +4 -2
  114. package/dist/directives/click-throttle/index.mjs +21 -11
  115. package/dist/directives/click-throttle/index.mjs.map +1 -1
  116. package/dist/index.global.min.js +3 -3
  117. package/dist/index.global.min.js.map +1 -1
  118. package/dist/index.mjs +3 -3
  119. package/dist/internal/props.d.ts +685 -0
  120. package/dist/internal/props.mjs +683 -0
  121. package/dist/internal/props.mjs.map +1 -0
  122. package/dist/utils/loading-tasks.d.ts +5 -0
  123. package/dist/utils/loading-tasks.mjs +32 -0
  124. package/dist/utils/loading-tasks.mjs.map +1 -0
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.mjs +1 -1
  127. package/dist/version.mjs.map +1 -1
  128. package/package.json +5 -10
@@ -1,31 +1,31 @@
1
1
  /** FaContextMenu 菜单项配置。 */
2
2
  export interface FaContextMenuData<Data = any> {
3
3
  /**
4
- * @description 名称
4
+ * 名称
5
5
  */
6
6
  name: string;
7
7
  /**
8
- * @description 标签
8
+ * 标签
9
9
  */
10
10
  label: string;
11
11
  /**
12
- * @description 图标
12
+ * 图标
13
13
  */
14
14
  icon?: string;
15
15
  /**
16
- * @description 隐藏
16
+ * 隐藏
17
17
  */
18
18
  hide?: boolean;
19
19
  /**
20
- * @description 禁用
20
+ * 禁用
21
21
  */
22
22
  disabled?: boolean;
23
23
  /**
24
- * @description 点击事件
24
+ * 点击事件
25
25
  */
26
26
  click?: (event: MouseEvent, data: FaContextMenuData<Data>) => Promise<void> | void;
27
27
  /**
28
- * @description 携带数据
28
+ * 携带数据
29
29
  */
30
30
  data?: Data;
31
31
  }
@@ -1,79 +1,79 @@
1
- /** FaDialog 的运行时 Props 定义。 */
1
+ /** FaDialog 的运行时 Props 定义 */
2
2
  export declare const faDialogProps: {
3
- /** @description whether to align the dialog both horizontally and vertically*/
3
+ /** whether to align the dialog both horizontally and vertically */
4
4
  alignCenter: {
5
5
  type: BooleanConstructor;
6
6
  default: boolean;
7
7
  };
8
- /** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
8
+ /** whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
9
9
  appendToBody: {
10
10
  type: BooleanConstructor;
11
11
  default: boolean;
12
12
  };
13
- /** @description enable dragging feature for Dialog */
13
+ /** enable dragging feature for Dialog */
14
14
  draggable: {
15
15
  type: BooleanConstructor;
16
16
  default: boolean;
17
17
  };
18
- /** @description destroy elements in Dialog when closed */
18
+ /** destroy elements in Dialog when closed */
19
19
  destroyOnClose: {
20
20
  type: BooleanConstructor;
21
21
  default: boolean;
22
22
  };
23
- /** @description draggable Dialog can overflow the viewport */
23
+ /** draggable Dialog can overflow the viewport */
24
24
  overflow: {
25
25
  type: BooleanConstructor;
26
26
  default: boolean;
27
27
  };
28
- /** @description value for `margin-top` of Dialog CSS, default is 15vh */
28
+ /** value for `margin-top` of Dialog CSS, default is 15vh */
29
29
  top: {
30
30
  type: StringConstructor;
31
31
  default: string;
32
32
  };
33
- /** @description width of Dialog, default is 50% */
33
+ /** width of Dialog, default is 50% */
34
34
  width: {
35
35
  type: (NumberConstructor | StringConstructor)[];
36
36
  default: string;
37
37
  };
38
- /** @description 显示刷新按钮 */
38
+ /** 显示刷新按钮 */
39
39
  showRefresh: {
40
40
  type: BooleanConstructor;
41
41
  default: boolean;
42
42
  };
43
- /** @description 显示全屏图标 */
43
+ /** 显示全屏图标 */
44
44
  showFullscreen: {
45
45
  type: BooleanConstructor;
46
46
  default: boolean;
47
47
  };
48
- /** @description 显示关闭按钮 */
48
+ /** 显示关闭按钮 */
49
49
  showCloseButton: {
50
50
  type: BooleanConstructor;
51
51
  default: boolean;
52
52
  };
53
- /** @description 显示确认按钮 */
53
+ /** 显示确认按钮 */
54
54
  showConfirmButton: {
55
55
  type: BooleanConstructor;
56
56
  default: boolean;
57
57
  };
58
- /** @description 禁用确认按钮 */
58
+ /** 禁用确认按钮 */
59
59
  disabledConfirmButton: BooleanConstructor;
60
- /** @description 关闭按钮文字,默认取消 */
60
+ /** 关闭按钮文字,默认取消 */
61
61
  closeButtonText: {
62
62
  type: StringConstructor;
63
63
  default: string;
64
64
  };
65
- /** @description 确认按钮文字,默认确认 */
65
+ /** 确认按钮文字,默认确认 */
66
66
  confirmButtonText: {
67
67
  type: StringConstructor;
68
68
  default: string;
69
69
  };
70
- /** @description 隐藏底部操作 */
70
+ /** 隐藏底部操作 */
71
71
  hideFooter: BooleanConstructor;
72
- /** @description 撑满高度 */
72
+ /** 撑满高度 */
73
73
  fullHeight: BooleanConstructor;
74
- /** @description 显示关闭回调 */
74
+ /** 显示关闭回调 */
75
75
  showBeforeClose: BooleanConstructor;
76
- /** @description 打开之后 */
76
+ /** 打开之后 */
77
77
  afterOpen: {
78
78
  type: import("vue").PropType<() => void | Promise<void>>;
79
79
  };
@@ -117,11 +117,11 @@ export declare const faDialogProps: {
117
117
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
118
118
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
119
119
  };
120
- /** FaDialog 的运行时 Emits 定义。 */
120
+ /** FaDialog 的运行时 Emits 定义 */
121
121
  export declare const faDialogEmits: {
122
- /** @description v-model 回调 */
122
+ /** v-model 回调 */
123
123
  "update:modelValue": (value: boolean) => boolean;
124
- /** @description 确认按钮点击事件 */
124
+ /** 确认按钮点击事件 */
125
125
  confirmClick: () => boolean;
126
126
  open: () => boolean;
127
127
  opened: () => boolean;
@@ -130,107 +130,107 @@ export declare const faDialogEmits: {
130
130
  openAutoFocus: () => boolean;
131
131
  closeAutoFocus: () => boolean;
132
132
  };
133
- /** FaDialog 的插槽参数。 */
133
+ /** FaDialog 的插槽参数 */
134
134
  export interface FaDialogSlots extends Record<string, unknown> {
135
- /** @description 默认内容插槽 */
135
+ /** 默认内容插槽 */
136
136
  default: {
137
137
  loading: boolean;
138
138
  };
139
- /** @description 头部插槽 */
139
+ /** 头部插槽 */
140
140
  header: {
141
141
  loading: boolean;
142
142
  close: () => void;
143
143
  titleId: string;
144
144
  titleClass: string;
145
145
  };
146
- /** @description 标题插槽 */
146
+ /** 标题插槽 */
147
147
  title: {
148
148
  loading: boolean;
149
149
  close: () => void;
150
150
  titleId: string;
151
151
  titleClass: string;
152
152
  };
153
- /** @description 底部插槽 */
153
+ /** 底部插槽 */
154
154
  footer: {
155
155
  loading: boolean;
156
156
  close: () => void;
157
157
  };
158
158
  }
159
159
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
160
- /** @description whether to align the dialog both horizontally and vertically*/
160
+ /** whether to align the dialog both horizontally and vertically */
161
161
  alignCenter: {
162
162
  type: BooleanConstructor;
163
163
  default: boolean;
164
164
  };
165
- /** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
165
+ /** whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
166
166
  appendToBody: {
167
167
  type: BooleanConstructor;
168
168
  default: boolean;
169
169
  };
170
- /** @description enable dragging feature for Dialog */
170
+ /** enable dragging feature for Dialog */
171
171
  draggable: {
172
172
  type: BooleanConstructor;
173
173
  default: boolean;
174
174
  };
175
- /** @description destroy elements in Dialog when closed */
175
+ /** destroy elements in Dialog when closed */
176
176
  destroyOnClose: {
177
177
  type: BooleanConstructor;
178
178
  default: boolean;
179
179
  };
180
- /** @description draggable Dialog can overflow the viewport */
180
+ /** draggable Dialog can overflow the viewport */
181
181
  overflow: {
182
182
  type: BooleanConstructor;
183
183
  default: boolean;
184
184
  };
185
- /** @description value for `margin-top` of Dialog CSS, default is 15vh */
185
+ /** value for `margin-top` of Dialog CSS, default is 15vh */
186
186
  top: {
187
187
  type: StringConstructor;
188
188
  default: string;
189
189
  };
190
- /** @description width of Dialog, default is 50% */
190
+ /** width of Dialog, default is 50% */
191
191
  width: {
192
192
  type: (NumberConstructor | StringConstructor)[];
193
193
  default: string;
194
194
  };
195
- /** @description 显示刷新按钮 */
195
+ /** 显示刷新按钮 */
196
196
  showRefresh: {
197
197
  type: BooleanConstructor;
198
198
  default: boolean;
199
199
  };
200
- /** @description 显示全屏图标 */
200
+ /** 显示全屏图标 */
201
201
  showFullscreen: {
202
202
  type: BooleanConstructor;
203
203
  default: boolean;
204
204
  };
205
- /** @description 显示关闭按钮 */
205
+ /** 显示关闭按钮 */
206
206
  showCloseButton: {
207
207
  type: BooleanConstructor;
208
208
  default: boolean;
209
209
  };
210
- /** @description 显示确认按钮 */
210
+ /** 显示确认按钮 */
211
211
  showConfirmButton: {
212
212
  type: BooleanConstructor;
213
213
  default: boolean;
214
214
  };
215
- /** @description 禁用确认按钮 */
215
+ /** 禁用确认按钮 */
216
216
  disabledConfirmButton: BooleanConstructor;
217
- /** @description 关闭按钮文字,默认取消 */
217
+ /** 关闭按钮文字,默认取消 */
218
218
  closeButtonText: {
219
219
  type: StringConstructor;
220
220
  default: string;
221
221
  };
222
- /** @description 确认按钮文字,默认确认 */
222
+ /** 确认按钮文字,默认确认 */
223
223
  confirmButtonText: {
224
224
  type: StringConstructor;
225
225
  default: string;
226
226
  };
227
- /** @description 隐藏底部操作 */
227
+ /** 隐藏底部操作 */
228
228
  hideFooter: BooleanConstructor;
229
- /** @description 撑满高度 */
229
+ /** 撑满高度 */
230
230
  fullHeight: BooleanConstructor;
231
- /** @description 显示关闭回调 */
231
+ /** 显示关闭回调 */
232
232
  showBeforeClose: BooleanConstructor;
233
- /** @description 打开之后 */
233
+ /** 打开之后 */
234
234
  afterOpen: {
235
235
  type: import("vue").PropType<() => void | Promise<void>>;
236
236
  };
@@ -274,31 +274,31 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
274
274
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
275
275
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
276
276
  }>, {
277
- /** @description 调用原生关闭流程,并执行 beforeClose。 */
277
+ /** 调用原生关闭流程,并执行 beforeClose。 */
278
278
  handleClose: import("vue").ComputedRef<(() => void) | undefined>;
279
- /** @description 弹窗内容引用 */
279
+ /** 弹窗内容引用 */
280
280
  dialogContentRef: import("vue").ComputedRef<{
281
281
  resetPosition: () => void;
282
282
  updatePosition: () => void;
283
283
  } | undefined>;
284
- /** @description 重置位置 */
284
+ /** 重置位置 */
285
285
  resetPosition: import("vue").ComputedRef<(() => void) | undefined>;
286
- /** @description 加载状态 */
286
+ /** 加载状态 */
287
287
  loading: import("vue").Ref<boolean, boolean>;
288
- /** @description 是否显示 */
288
+ /** 是否显示 */
289
289
  visible: import("vue").Ref<boolean, boolean>;
290
- /** @description 打开弹窗 */
290
+ /** 打开弹窗 */
291
291
  open: (openFunction?: () => void | Promise<void>) => Promise<void>;
292
- /** @description 关闭弹窗 */
292
+ /** 关闭弹窗 */
293
293
  close: (closeFunction?: () => void | Promise<void>) => Promise<void>;
294
- /** @description 刷新弹窗 */
294
+ /** 刷新弹窗 */
295
295
  refresh: () => Promise<void>;
296
- /** @description 弹窗加载 */
296
+ /** 弹窗加载 */
297
297
  doLoading: (loadingFunction: () => void | Promise<void>) => Promise<void>;
298
298
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
299
- /** @description v-model 回调 */
299
+ /** v-model 回调 */
300
300
  "update:modelValue": (value: boolean) => boolean;
301
- /** @description 确认按钮点击事件 */
301
+ /** 确认按钮点击事件 */
302
302
  confirmClick: () => boolean;
303
303
  open: () => boolean;
304
304
  opened: () => boolean;
@@ -307,80 +307,80 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
307
307
  openAutoFocus: () => boolean;
308
308
  closeAutoFocus: () => boolean;
309
309
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
310
- /** @description whether to align the dialog both horizontally and vertically*/
310
+ /** whether to align the dialog both horizontally and vertically */
311
311
  alignCenter: {
312
312
  type: BooleanConstructor;
313
313
  default: boolean;
314
314
  };
315
- /** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
315
+ /** whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
316
316
  appendToBody: {
317
317
  type: BooleanConstructor;
318
318
  default: boolean;
319
319
  };
320
- /** @description enable dragging feature for Dialog */
320
+ /** enable dragging feature for Dialog */
321
321
  draggable: {
322
322
  type: BooleanConstructor;
323
323
  default: boolean;
324
324
  };
325
- /** @description destroy elements in Dialog when closed */
325
+ /** destroy elements in Dialog when closed */
326
326
  destroyOnClose: {
327
327
  type: BooleanConstructor;
328
328
  default: boolean;
329
329
  };
330
- /** @description draggable Dialog can overflow the viewport */
330
+ /** draggable Dialog can overflow the viewport */
331
331
  overflow: {
332
332
  type: BooleanConstructor;
333
333
  default: boolean;
334
334
  };
335
- /** @description value for `margin-top` of Dialog CSS, default is 15vh */
335
+ /** value for `margin-top` of Dialog CSS, default is 15vh */
336
336
  top: {
337
337
  type: StringConstructor;
338
338
  default: string;
339
339
  };
340
- /** @description width of Dialog, default is 50% */
340
+ /** width of Dialog, default is 50% */
341
341
  width: {
342
342
  type: (NumberConstructor | StringConstructor)[];
343
343
  default: string;
344
344
  };
345
- /** @description 显示刷新按钮 */
345
+ /** 显示刷新按钮 */
346
346
  showRefresh: {
347
347
  type: BooleanConstructor;
348
348
  default: boolean;
349
349
  };
350
- /** @description 显示全屏图标 */
350
+ /** 显示全屏图标 */
351
351
  showFullscreen: {
352
352
  type: BooleanConstructor;
353
353
  default: boolean;
354
354
  };
355
- /** @description 显示关闭按钮 */
355
+ /** 显示关闭按钮 */
356
356
  showCloseButton: {
357
357
  type: BooleanConstructor;
358
358
  default: boolean;
359
359
  };
360
- /** @description 显示确认按钮 */
360
+ /** 显示确认按钮 */
361
361
  showConfirmButton: {
362
362
  type: BooleanConstructor;
363
363
  default: boolean;
364
364
  };
365
- /** @description 禁用确认按钮 */
365
+ /** 禁用确认按钮 */
366
366
  disabledConfirmButton: BooleanConstructor;
367
- /** @description 关闭按钮文字,默认取消 */
367
+ /** 关闭按钮文字,默认取消 */
368
368
  closeButtonText: {
369
369
  type: StringConstructor;
370
370
  default: string;
371
371
  };
372
- /** @description 确认按钮文字,默认确认 */
372
+ /** 确认按钮文字,默认确认 */
373
373
  confirmButtonText: {
374
374
  type: StringConstructor;
375
375
  default: string;
376
376
  };
377
- /** @description 隐藏底部操作 */
377
+ /** 隐藏底部操作 */
378
378
  hideFooter: BooleanConstructor;
379
- /** @description 撑满高度 */
379
+ /** 撑满高度 */
380
380
  fullHeight: BooleanConstructor;
381
- /** @description 显示关闭回调 */
381
+ /** 显示关闭回调 */
382
382
  showBeforeClose: BooleanConstructor;
383
- /** @description 打开之后 */
383
+ /** 打开之后 */
384
384
  afterOpen: {
385
385
  type: import("vue").PropType<() => void | Promise<void>>;
386
386
  };
@@ -9,91 +9,91 @@ import { Fragment, computed, createVNode, defineComponent, mergeProps, nextTick,
9
9
  import { Close, Eleme, Refresh } from "@element-plus/icons-vue";
10
10
  import { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from "element-plus";
11
11
  //#region src/components/dialog/src/dialog.tsx
12
- /** FaDialog 的运行时 Props 定义。 */
12
+ /** FaDialog 的运行时 Props 定义 */
13
13
  const faDialogProps = {
14
14
  ...dialogProps,
15
- /** @description whether to align the dialog both horizontally and vertically*/
15
+ /** whether to align the dialog both horizontally and vertically */
16
16
  alignCenter: {
17
17
  type: Boolean,
18
18
  default: true
19
19
  },
20
- /** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
20
+ /** whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */
21
21
  appendToBody: {
22
22
  type: Boolean,
23
23
  default: true
24
24
  },
25
- /** @description enable dragging feature for Dialog */
25
+ /** enable dragging feature for Dialog */
26
26
  draggable: {
27
27
  type: Boolean,
28
28
  default: true
29
29
  },
30
- /** @description destroy elements in Dialog when closed */
30
+ /** destroy elements in Dialog when closed */
31
31
  destroyOnClose: {
32
32
  type: Boolean,
33
33
  default: true
34
34
  },
35
- /** @description draggable Dialog can overflow the viewport */
35
+ /** draggable Dialog can overflow the viewport */
36
36
  overflow: {
37
37
  type: Boolean,
38
38
  default: true
39
39
  },
40
- /** @description value for `margin-top` of Dialog CSS, default is 15vh */
40
+ /** value for `margin-top` of Dialog CSS, default is 15vh */
41
41
  top: {
42
42
  type: String,
43
43
  default: "5vh"
44
44
  },
45
- /** @description width of Dialog, default is 50% */
45
+ /** width of Dialog, default is 50% */
46
46
  width: {
47
47
  type: [String, Number],
48
48
  default: "90%"
49
49
  },
50
- /** @description 显示刷新按钮 */
50
+ /** 显示刷新按钮 */
51
51
  showRefresh: {
52
52
  type: Boolean,
53
53
  default: true
54
54
  },
55
- /** @description 显示全屏图标 */
55
+ /** 显示全屏图标 */
56
56
  showFullscreen: {
57
57
  type: Boolean,
58
58
  default: true
59
59
  },
60
- /** @description 显示关闭按钮 */
60
+ /** 显示关闭按钮 */
61
61
  showCloseButton: {
62
62
  type: Boolean,
63
63
  default: true
64
64
  },
65
- /** @description 显示确认按钮 */
65
+ /** 显示确认按钮 */
66
66
  showConfirmButton: {
67
67
  type: Boolean,
68
68
  default: true
69
69
  },
70
- /** @description 禁用确认按钮 */
70
+ /** 禁用确认按钮 */
71
71
  disabledConfirmButton: Boolean,
72
- /** @description 关闭按钮文字,默认取消 */
72
+ /** 关闭按钮文字,默认取消 */
73
73
  closeButtonText: {
74
74
  type: String,
75
75
  default: "取消"
76
76
  },
77
- /** @description 确认按钮文字,默认确认 */
77
+ /** 确认按钮文字,默认确认 */
78
78
  confirmButtonText: {
79
79
  type: String,
80
80
  default: "确认"
81
81
  },
82
- /** @description 隐藏底部操作 */
82
+ /** 隐藏底部操作 */
83
83
  hideFooter: Boolean,
84
- /** @description 撑满高度 */
84
+ /** 撑满高度 */
85
85
  fullHeight: Boolean,
86
- /** @description 显示关闭回调 */
86
+ /** 显示关闭回调 */
87
87
  showBeforeClose: Boolean,
88
- /** @description 打开之后 */
88
+ /** 打开之后 */
89
89
  afterOpen: { type: definePropType(Function) }
90
90
  };
91
- /** FaDialog 的运行时 Emits 定义。 */
91
+ /** FaDialog 的运行时 Emits 定义 */
92
92
  const faDialogEmits = {
93
93
  ...dialogEmits,
94
- /** @description v-model 回调 */
94
+ /** v-model 回调 */
95
95
  "update:modelValue": (value) => typeof value === "boolean",
96
- /** @description 确认按钮点击事件 */
96
+ /** 确认按钮点击事件 */
97
97
  confirmClick: () => true
98
98
  };
99
99
  var dialog_default = defineComponent({
@@ -265,23 +265,23 @@ var dialog_default = defineComponent({
265
265
  ])] }
266
266
  }));
267
267
  return useExpose(expose, {
268
- /** @description 调用原生关闭流程,并执行 beforeClose。 */
268
+ /** 调用原生关闭流程,并执行 beforeClose。 */
269
269
  handleClose: computed(() => dialogRef.value?.handleClose),
270
- /** @description 弹窗内容引用 */
270
+ /** 弹窗内容引用 */
271
271
  dialogContentRef: computed(() => dialogRef.value?.dialogContentRef),
272
- /** @description 重置位置 */
272
+ /** 重置位置 */
273
273
  resetPosition: computed(() => dialogRef.value?.resetPosition),
274
- /** @description 加载状态 */
274
+ /** 加载状态 */
275
275
  loading: toRef(state, "loading"),
276
- /** @description 是否显示 */
276
+ /** 是否显示 */
277
277
  visible: toRef(state, "visible"),
278
- /** @description 打开弹窗 */
278
+ /** 打开弹窗 */
279
279
  open: handleOpen,
280
- /** @description 关闭弹窗 */
280
+ /** 关闭弹窗 */
281
281
  close: handleClose,
282
- /** @description 刷新弹窗 */
282
+ /** 刷新弹窗 */
283
283
  refresh: handleRefresh,
284
- /** @description 弹窗加载 */
284
+ /** 弹窗加载 */
285
285
  doLoading: handleLoading
286
286
  });
287
287
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.mjs","names":["update:modelValue"],"sources":["../../../../src/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, shallowRef, toRef, watch } from \"vue\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { callOptionalFunction, definePropType, makeSlots, useEmits, useExpose, useProps, useRender } from \"../../../utils\";\nimport type { DialogInstance } from \"element-plus\";\n\n/** FaDialog 的运行时 Props 定义。 */\nexport const faDialogProps = {\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- Element Plus 2.x 尚未提供可替代的公开运行时 props 定义。\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\tfullHeight: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void | Promise<void>>(Function),\n\t},\n};\n\n/** FaDialog 的运行时 Emits 定义。 */\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean) => typeof value === \"boolean\",\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: () => true,\n};\n\n/** FaDialog 的插槽参数。 */\nexport interface FaDialogSlots extends Record<string, unknown> {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void; titleId: string; titleClass: string };\n\t/** @description 标题插槽 */\n\ttitle: { loading: boolean; close: () => void; titleId: string; titleClass: string };\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, { slots, emit, expose }) {\n\t\tconst globalSize = useGlobalSize();\n\t\tconst dialogRef = shallowRef<DialogInstance | null>(null);\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\tlet cacheOpenFunction: (() => void | Promise<void>) | undefined;\n\n\t\tconst handleOpen = async (openFunction?: () => void | Promise<void>) => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tawait nextTick();\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(props.afterOpen ?? openFunction);\n\t\t\t\temit(\"open\");\n\t\t\t} catch (error) {\n\t\t\t\tstate.visible = false;\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleClose = async (closeFunction?: () => void | Promise<void>) => {\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(closeFunction);\n\t\t\t\temit(\"close\");\n\t\t\t\tstate.visible = false;\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleLoading = async (loadingFunction: () => void | Promise<void>) => {\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(loadingFunction);\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleRefresh = async () => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, 500);\n\t\t\t\t});\n\t\t\t\tstate.refreshing = false;\n\t\t\t\tawait handleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t} finally {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => 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 = () => {\n\t\t\t\t// 组件对外约定为无参数完成钩子,不采用 Element Plus 的 done 回调签名。\n\t\t\t\treturn callOptionalFunction(props.beforeClose, done).then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tdone();\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\t// 用户取消关闭属于正常分支,无需继续执行 beforeClose。\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => newDone());\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = () => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = () => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = () => {\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// eslint-disable-next-line @typescript-eslint/no-deprecated -- 透传范围必须与继承的 Element Plus 2.x 运行时 props 保持一致。\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\t\t// open、close 是 Fast 异步业务流程完成事件,不直接透传 Element Plus 的同名生命周期事件。\n\t\tconst elDialogEmits = useEmits(dialogEmits, emit, [\"open\", \"close\", \"update:modelValue\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\t{...elDialogEmits.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__full-height\": props.fullHeight, \"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>\n\t\t\t\t{{\n\t\t\t\t\theader: ({ titleId, titleClass }: { close: () => void; titleId: string; titleClass: string }) => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div id={titleId} class={[\"fa-dialog__header-title\", titleClass]}>\n\t\t\t\t\t\t\t\t{slots.title?.({ loading: state.loading, close: handleCloseClick, titleId, titleClass }) ?? props.title}\n\t\t\t\t\t\t\t\t{slots.header?.({ loading: state.loading, close: handleCloseClick, titleId, titleClass })}\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?.(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: () => [\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{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 调用原生关闭流程,并执行 beforeClose。 */\n\t\t\thandleClose: computed(() => dialogRef.value?.handleClose),\n\t\t\t/** @description 弹窗内容引用 */\n\t\t\tdialogContentRef: computed<{ resetPosition: () => void; updatePosition: () => void } | undefined>(\n\t\t\t\t() => dialogRef.value?.dialogContentRef as { resetPosition: () => void; updatePosition: () => void } | undefined\n\t\t\t),\n\t\t\t/** @description 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: toRef(state, \"loading\"),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: toRef(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"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.mjs","names":["update:modelValue"],"sources":["../../../../src/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, shallowRef, toRef, watch } from \"vue\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { callOptionalFunction, definePropType, makeSlots, useEmits, useExpose, useProps, useRender } from \"../../../utils\";\nimport type { DialogInstance } from \"element-plus\";\n\n/** FaDialog 的运行时 Props 定义 */\nexport const faDialogProps = {\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- Element Plus 2.x 尚未提供可替代的公开运行时 props 定义。\n\t...dialogProps,\n\t/** whether to align the dialog both horizontally and vertically */\n\talignCenter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 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/** enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** draggable Dialog can overflow the viewport */\n\toverflow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** value for `margin-top` of Dialog CSS, default is 15vh */\n\ttop: {\n\t\ttype: String,\n\t\tdefault: \"5vh\",\n\t},\n\t/** width of Dialog, default is 50% */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"90%\",\n\t},\n\t/** 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** 撑满高度 */\n\tfullHeight: Boolean,\n\t/** 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void | Promise<void>>(Function),\n\t},\n};\n\n/** FaDialog 的运行时 Emits 定义 */\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** v-model 回调 */\n\t\"update:modelValue\": (value: boolean) => typeof value === \"boolean\",\n\t/** 确认按钮点击事件 */\n\tconfirmClick: () => true,\n};\n\n/** FaDialog 的插槽参数 */\nexport interface FaDialogSlots extends Record<string, unknown> {\n\t/** 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** 头部插槽 */\n\theader: { loading: boolean; close: () => void; titleId: string; titleClass: string };\n\t/** 标题插槽 */\n\ttitle: { loading: boolean; close: () => void; titleId: string; titleClass: string };\n\t/** 底部插槽 */\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, { slots, emit, expose }) {\n\t\tconst globalSize = useGlobalSize();\n\t\tconst dialogRef = shallowRef<DialogInstance | null>(null);\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\tlet cacheOpenFunction: (() => void | Promise<void>) | undefined;\n\n\t\tconst handleOpen = async (openFunction?: () => void | Promise<void>) => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tawait nextTick();\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(props.afterOpen ?? openFunction);\n\t\t\t\temit(\"open\");\n\t\t\t} catch (error) {\n\t\t\t\tstate.visible = false;\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleClose = async (closeFunction?: () => void | Promise<void>) => {\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(closeFunction);\n\t\t\t\temit(\"close\");\n\t\t\t\tstate.visible = false;\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleLoading = async (loadingFunction: () => void | Promise<void>) => {\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait callOptionalFunction(loadingFunction);\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleRefresh = async () => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\ttry {\n\t\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, 500);\n\t\t\t\t});\n\t\t\t\tstate.refreshing = false;\n\t\t\t\tawait handleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t} finally {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => 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 = () => {\n\t\t\t\t// 组件对外约定为无参数完成钩子,不采用 Element Plus 的 done 回调签名。\n\t\t\t\treturn callOptionalFunction(props.beforeClose, done).then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tdone();\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\t// 用户取消关闭属于正常分支,无需继续执行 beforeClose。\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => newDone());\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = () => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = () => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = () => {\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// eslint-disable-next-line @typescript-eslint/no-deprecated -- 透传范围必须与继承的 Element Plus 2.x 运行时 props 保持一致。\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\t\t// open、close 是 Fast 异步业务流程完成事件,不直接透传 Element Plus 的同名生命周期事件。\n\t\tconst elDialogEmits = useEmits(dialogEmits, emit, [\"open\", \"close\", \"update:modelValue\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\t{...elDialogEmits.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__full-height\": props.fullHeight, \"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>\n\t\t\t\t{{\n\t\t\t\t\theader: ({ titleId, titleClass }: { close: () => void; titleId: string; titleClass: string }) => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div id={titleId} class={[\"fa-dialog__header-title\", titleClass]}>\n\t\t\t\t\t\t\t\t{slots.title?.({ loading: state.loading, close: handleCloseClick, titleId, titleClass }) ?? props.title}\n\t\t\t\t\t\t\t\t{slots.header?.({ loading: state.loading, close: handleCloseClick, titleId, titleClass })}\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?.(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: () => [\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{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/** 调用原生关闭流程,并执行 beforeClose。 */\n\t\t\thandleClose: computed(() => dialogRef.value?.handleClose),\n\t\t\t/** 弹窗内容引用 */\n\t\t\tdialogContentRef: computed<{ resetPosition: () => void; updatePosition: () => void } | undefined>(\n\t\t\t\t() => dialogRef.value?.dialogContentRef as { resetPosition: () => void; updatePosition: () => void } | undefined\n\t\t\t),\n\t\t\t/** 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** 加载状态 */\n\t\t\tloading: toRef(state, \"loading\"),\n\t\t\t/** 是否显示 */\n\t\t\tvisible: toRef(state, \"visible\"),\n\t\t\t/** 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"mappings":"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"}