vft 0.0.509 → 0.0.513

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 (329) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/affix/affix.vue2.js +2 -2
  3. package/es/components/alert/alert.vue2.js +1 -1
  4. package/es/components/autocomplete/autocomplete.vue.d.ts +2 -2
  5. package/es/components/autocomplete/autocomplete.vue2.js +1 -1
  6. package/es/components/autocomplete/index.d.ts +6 -6
  7. package/es/components/avatar/avatar.vue2.js +2 -2
  8. package/es/components/avatar-stack/avatar-stack.vue2.js +7 -7
  9. package/es/components/backtop/backtop.vue2.js +1 -1
  10. package/es/components/breadcrumb/breadcrumb-item.vue2.js +3 -3
  11. package/es/components/breadcrumb/breadcrumb.vue2.js +2 -2
  12. package/es/components/button/button-group.vue2.js +2 -2
  13. package/es/components/button/button.vue2.js +7 -7
  14. package/es/components/button/index.d.ts +9 -9
  15. package/es/components/button/use-button.js +3 -3
  16. package/es/components/card/card.vue2.js +6 -6
  17. package/es/components/carousel/carousel-item.vue2.js +3 -3
  18. package/es/components/carousel/carousel.vue2.js +1 -1
  19. package/es/components/cascader/cascader.vue2.js +202 -203
  20. package/es/components/cascader-panel/index.vue2.js +1 -1
  21. package/es/components/cascader-panel/menu.vue2.js +49 -50
  22. package/es/components/cascader-panel/node.vue2.js +8 -8
  23. package/es/components/check-tag/check-tag.vue2.js +2 -2
  24. package/es/components/checkbox/checkbox-button.vue2.js +13 -13
  25. package/es/components/checkbox/checkbox-group.vue2.js +3 -3
  26. package/es/components/checkbox/checkbox.vue2.js +1 -1
  27. package/es/components/clamp/clamp.vue2.js +2 -2
  28. package/es/components/clamp-toggle/clamp-toggle.vue2.js +18 -19
  29. package/es/components/clamp-tooltip/clamp-tooltip.vue2.js +6 -6
  30. package/es/components/col/col.vue2.js +2 -2
  31. package/es/components/collapse/collapse-item.vue2.js +2 -2
  32. package/es/components/collapse/collapse.vue2.js +2 -2
  33. package/es/components/collapse-transition/collapse-transition.vue2.js +2 -2
  34. package/es/components/color-picker/color-picker.vue2.js +133 -134
  35. package/es/components/color-picker/components/alpha-slider.vue2.js +2 -2
  36. package/es/components/color-picker/components/hue-slider.vue.js +2 -2
  37. package/es/components/color-picker/components/predefine.vue.js +3 -3
  38. package/es/components/color-picker/components/sv-panel.vue.js +2 -2
  39. package/es/components/config-provider/config-provider.vue.d.ts +0 -2
  40. package/es/components/config-provider/config-provider.vue2.js +4 -5
  41. package/es/components/config-provider/constants.d.ts +0 -1
  42. package/es/components/config-provider/constants.js +2 -3
  43. package/es/components/config-provider/hooks/use-global-config.js +30 -33
  44. package/es/components/config-provider/index.d.ts +0 -9
  45. package/es/components/config-provider/index.js +5 -6
  46. package/es/components/container/aside.vue2.js +2 -2
  47. package/es/components/container/container.vue2.js +2 -2
  48. package/es/components/container/footer.vue2.js +2 -2
  49. package/es/components/container/header.vue2.js +2 -2
  50. package/es/components/container/main.vue2.js +2 -2
  51. package/es/components/context-menu/context-menu.vue2.js +1 -1
  52. package/es/components/countdown/countdown.vue2.js +2 -2
  53. package/es/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  54. package/es/components/date-picker/composables/use-basic-date-table.js +123 -124
  55. package/es/components/date-picker/composables/use-month-range-header.js +14 -15
  56. package/es/components/date-picker/composables/use-panel-date-range.js +23 -24
  57. package/es/components/date-picker/date-picker-com/basic-date-table.vue2.js +6 -6
  58. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +39 -40
  59. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +40 -41
  60. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +178 -179
  61. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +224 -225
  62. package/es/components/date-picker/date-picker-com/panel-month-range.vue2.js +12 -12
  63. package/es/components/date-picker/date-picker-com/panel-year-range.vue2.js +12 -12
  64. package/es/components/date-picker/props/basic-date-table.js +3 -3
  65. package/es/components/date-picker/props/basic-month-table.js +3 -3
  66. package/es/components/date-picker/props/basic-year-table.js +3 -3
  67. package/es/components/date-time-select/date-time-select.vue2.js +36 -39
  68. package/es/components/descriptions/description.vue2.js +1 -1
  69. package/es/components/descriptions/descriptions-row.vue2.js +10 -10
  70. package/es/components/dialog/dialog-content.vue2.js +3 -3
  71. package/es/components/dialog/dialog.vue2.js +5 -5
  72. package/es/components/divider/divider.vue2.js +5 -5
  73. package/es/components/drawer/drawer.vue2.js +4 -4
  74. package/es/components/dropdown/dropdown-item-impl.vue2.js +3 -3
  75. package/es/components/dropdown/dropdown-item.vue2.js +2 -2
  76. package/es/components/dropdown/dropdown-menu.vue2.js +2 -2
  77. package/es/components/dropdown/dropdown.vue2.js +66 -67
  78. package/es/components/empty/empty.vue2.js +36 -37
  79. package/es/components/footer-layout/footer-layout.vue2.js +2 -2
  80. package/es/components/form/form-item.vue2.js +16 -16
  81. package/es/components/form/form.vue2.js +2 -2
  82. package/es/components/full-screen/full-screen.vue2.js +17 -18
  83. package/es/components/header-layout/header-layout.vue2.js +1 -1
  84. package/es/components/horizontal-menu/horizontal-menu.vue2.js +3 -3
  85. package/es/components/icon/icon.vue2.js +3 -3
  86. package/es/components/icon-text/icon-text.vue2.js +1 -1
  87. package/es/components/iframe-layout/iframe-layout.vue2.js +4 -4
  88. package/es/components/iframe-layout/iframe-page.vue2.js +2 -2
  89. package/es/components/image/image.vue2.js +59 -60
  90. package/es/components/image-viewer/image-viewer.vue2.js +44 -45
  91. package/es/components/index.d.ts +1 -0
  92. package/es/components/index.js +213 -211
  93. package/es/components/input/input.vue2.js +6 -6
  94. package/es/components/input-number/input-number.vue2.js +4 -4
  95. package/es/components/input-tag/input-tag.vue2.js +7 -7
  96. package/es/components/link/link.vue2.js +1 -1
  97. package/es/components/list-cell/list-cell.vue2.js +1 -1
  98. package/es/components/logo/logo.vue2.js +10 -10
  99. package/es/components/md-comment/md-comment.vue2.js +2 -2
  100. package/es/components/md-container/md-container.vue2.js +74 -75
  101. package/es/components/md-container/toc.js +36 -37
  102. package/es/components/menu/menu-collapse-transition.vue.js +2 -2
  103. package/es/components/menu/menu-item-group.vue2.js +7 -7
  104. package/es/components/menu/menu-item.vue2.js +1 -1
  105. package/es/components/message/message.vue2.js +3 -3
  106. package/es/components/message-box/index.d.ts +4 -0
  107. package/es/components/message-box/index.js +14 -0
  108. package/es/components/message-box/message-box.vue.d.ts +103 -0
  109. package/es/components/message-box/message-box.vue.js +4 -0
  110. package/es/components/message-box/message-box.vue2.js +358 -0
  111. package/es/components/message-box/method.d.ts +3 -0
  112. package/es/components/message-box/method.js +100 -0
  113. package/es/components/message-box/style/css.d.ts +2 -0
  114. package/es/components/message-box/style/css.js +3 -0
  115. package/es/components/message-box/style/index.d.ts +2 -0
  116. package/es/components/message-box/style/index.js +3 -0
  117. package/es/components/message-box/types.d.ts +202 -0
  118. package/es/components/modal/index.d.ts +1 -0
  119. package/es/components/modal/modal-footer-action.vue2.js +24 -25
  120. package/es/components/modal/modal.vue.d.ts +1 -0
  121. package/es/components/modal/modal.vue2.js +30 -28
  122. package/es/components/multiple-tabs/multiple-tabs.vue2.js +16 -17
  123. package/es/components/multiple-tabs/tab-content.vue2.js +2 -2
  124. package/es/components/multiple-tabs/use/use-tab-dropdown.js +53 -54
  125. package/es/components/notification/notification.vue2.js +1 -1
  126. package/es/components/overlay/overlay.vue2.js +1 -1
  127. package/es/components/page-wrapper/page-wrapper.vue2.js +2 -2
  128. package/es/components/pagination/components/jumper.vue2.js +28 -29
  129. package/es/components/pagination/components/next.vue2.js +4 -4
  130. package/es/components/pagination/components/pager.vue2.js +1 -1
  131. package/es/components/pagination/components/prev.vue2.js +4 -4
  132. package/es/components/pagination/components/sizes.vue2.js +20 -21
  133. package/es/components/pagination/components/total.vue2.js +10 -11
  134. package/es/components/popconfirm/index.d.ts +15 -15
  135. package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
  136. package/es/components/popconfirm/popconfirm.vue2.js +39 -40
  137. package/es/components/popover/popover.vue2.js +1 -1
  138. package/es/components/popper/arrow.vue2.js +2 -2
  139. package/es/components/popper/content.vue2.js +2 -2
  140. package/es/components/popper/trigger.vue2.js +4 -4
  141. package/es/components/progress/progress.vue2.js +1 -1
  142. package/es/components/progress-i/progress-i.vue2.js +2 -2
  143. package/es/components/qrcode/qrcode.vue2.js +1 -1
  144. package/es/components/radio/radio-button.vue2.js +2 -2
  145. package/es/components/radio/radio-group.vue2.js +3 -3
  146. package/es/components/radio/radio.vue2.js +2 -2
  147. package/es/components/rate/rate.vue2.js +6 -6
  148. package/es/components/router-view-content/router-view-content.vue2.js +7 -7
  149. package/es/components/roving-focus-group/roving-focus-group.vue2.js +2 -2
  150. package/es/components/roving-focus-group/roving-focus-item.vue2.js +2 -2
  151. package/es/components/row/row.vue2.js +2 -2
  152. package/es/components/scrollbar/bar.vue2.js +2 -2
  153. package/es/components/scrollbar/scrollbar.vue2.js +7 -7
  154. package/es/components/scrollbar/thumb.vue2.js +2 -2
  155. package/es/components/search/search.vue2.js +50 -51
  156. package/es/components/segmented/segmented.vue2.js +7 -7
  157. package/es/components/select/group-item.vue.js +2 -2
  158. package/es/components/select/index.d.ts +4 -4
  159. package/es/components/select/option-item.vue.js +2 -2
  160. package/es/components/select/select.vue.d.ts +4 -4
  161. package/es/components/select/select.vue.js +1 -1
  162. package/es/components/select/useSelect.d.ts +4 -4
  163. package/es/components/select/useSelect.js +231 -232
  164. package/es/components/skeleton/skeleton-item.vue2.js +2 -2
  165. package/es/components/skeleton/skeleton.vue2.js +8 -8
  166. package/es/components/slider/button.vue2.js +2 -2
  167. package/es/components/slider/slider.vue2.js +1 -1
  168. package/es/components/space/space.js +1 -1
  169. package/es/components/statistic/statistic.vue2.js +17 -17
  170. package/es/components/steps/item.vue2.js +11 -11
  171. package/es/components/steps/steps.vue2.js +2 -2
  172. package/es/components/super-form/super-form-action.vue2.js +47 -48
  173. package/es/components/super-form/super-form-item.vue2.js +204 -206
  174. package/es/components/super-form/super-form.vue2.js +7 -7
  175. package/es/components/super-form/use/helper.d.ts +1 -1
  176. package/es/components/super-form/use/helper.js +63 -63
  177. package/es/components/super-form/use/use-form.js +8 -8
  178. package/es/components/switch/switch.vue2.js +1 -1
  179. package/es/components/table/field.js +111 -130
  180. package/es/components/table/table.vue2.js +128 -133
  181. package/es/components/table/use/use-columns.js +26 -29
  182. package/es/components/table/use/use-data-source.js +59 -60
  183. package/es/components/tabs/tab-bar.vue2.js +2 -2
  184. package/es/components/tabs/tab-pane.vue2.js +6 -6
  185. package/es/components/teleport/teleport.vue2.js +2 -2
  186. package/es/components/time-picker/common/picker-range-trigger.vue2.js +2 -2
  187. package/es/components/time-picker/common/picker.vue2.js +8 -8
  188. package/es/components/time-picker/time-picker-com/basic-time-spinner.vue2.js +1 -1
  189. package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +65 -66
  190. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +133 -134
  191. package/es/components/time-select/time-select.vue2.js +3 -3
  192. package/es/components/timeline/timeline-item.vue2.js +1 -1
  193. package/es/components/tooltip/content.vue2.js +6 -6
  194. package/es/components/tooltip/tooltip.vue2.js +1 -1
  195. package/es/components/tooltip/trigger.vue2.js +2 -2
  196. package/es/components/transfer/transfer-panel.vue2.js +58 -59
  197. package/es/components/transfer/transfer.vue2.js +69 -70
  198. package/es/components/tree/tree-node.vue.js +1 -1
  199. package/es/components/tree/tree.vue2.js +59 -60
  200. package/es/components/upload/upload-content.vue2.js +47 -48
  201. package/es/components/upload/upload-dragger.vue2.js +2 -2
  202. package/es/components/upload/upload-list.vue2.js +45 -46
  203. package/es/components/upload/upload.vue2.js +98 -99
  204. package/es/components/verify-code/verify-code.vue2.js +2 -2
  205. package/es/components/watermark/watermark.vue2.js +2 -2
  206. package/es/hooks/use-id/index.js +2 -2
  207. package/es/hooks/use-z-index/index.js +3 -3
  208. package/es/index.d.ts +0 -1
  209. package/es/index.js +39 -42
  210. package/es/package.json.d.ts +1 -1
  211. package/es/package.json.js +1 -1
  212. package/es/plugin.js +5 -3
  213. package/es/utils/helper.js +2 -2
  214. package/es/utils/ns-cover.js +1 -1
  215. package/es/utils/vue/vnode.js +3 -3
  216. package/lib/components/autocomplete/autocomplete.vue.d.ts +2 -2
  217. package/lib/components/autocomplete/index.d.ts +6 -6
  218. package/lib/components/button/index.d.ts +9 -9
  219. package/lib/components/button/use-button.cjs +1 -1
  220. package/lib/components/cascader/cascader.vue2.cjs +1 -1
  221. package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
  222. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  223. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  224. package/lib/components/config-provider/config-provider.vue.d.ts +0 -2
  225. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  226. package/lib/components/config-provider/constants.cjs +1 -1
  227. package/lib/components/config-provider/constants.d.ts +0 -1
  228. package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
  229. package/lib/components/config-provider/index.cjs +1 -1
  230. package/lib/components/config-provider/index.d.ts +0 -9
  231. package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
  232. package/lib/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  233. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  234. package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
  235. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  236. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  237. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  238. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  239. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  240. package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
  241. package/lib/components/empty/empty.vue2.cjs +1 -1
  242. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  243. package/lib/components/image/image.vue2.cjs +1 -1
  244. package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
  245. package/lib/components/index.cjs +1 -1
  246. package/lib/components/index.d.ts +1 -0
  247. package/lib/components/input/input.vue2.cjs +1 -1
  248. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  249. package/lib/components/md-container/toc.cjs +1 -1
  250. package/lib/components/message-box/index.cjs +1 -0
  251. package/lib/components/message-box/index.d.ts +4 -0
  252. package/lib/components/message-box/message-box.vue.cjs +1 -0
  253. package/lib/components/message-box/message-box.vue.d.ts +103 -0
  254. package/lib/components/message-box/message-box.vue2.cjs +1 -0
  255. package/lib/components/message-box/method.cjs +1 -0
  256. package/lib/components/message-box/method.d.ts +3 -0
  257. package/lib/components/message-box/style/css.cjs +1 -0
  258. package/lib/components/message-box/style/css.d.ts +2 -0
  259. package/lib/components/message-box/style/index.cjs +1 -0
  260. package/lib/components/message-box/style/index.d.ts +2 -0
  261. package/lib/components/message-box/types.d.ts +202 -0
  262. package/lib/components/modal/index.d.ts +1 -0
  263. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  264. package/lib/components/modal/modal.vue.d.ts +1 -0
  265. package/lib/components/modal/modal.vue2.cjs +1 -1
  266. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  267. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  268. package/lib/components/pagination/components/jumper.vue2.cjs +1 -1
  269. package/lib/components/pagination/components/sizes.vue2.cjs +1 -1
  270. package/lib/components/pagination/components/total.vue2.cjs +1 -1
  271. package/lib/components/popconfirm/index.d.ts +15 -15
  272. package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
  273. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
  274. package/lib/components/search/search.vue2.cjs +1 -1
  275. package/lib/components/select/index.d.ts +4 -4
  276. package/lib/components/select/select.vue.d.ts +4 -4
  277. package/lib/components/select/useSelect.cjs +1 -1
  278. package/lib/components/select/useSelect.d.ts +4 -4
  279. package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
  280. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  281. package/lib/components/super-form/use/helper.cjs +1 -1
  282. package/lib/components/super-form/use/helper.d.ts +1 -1
  283. package/lib/components/super-form/use/use-form.cjs +1 -1
  284. package/lib/components/table/field.cjs +1 -1
  285. package/lib/components/table/table.vue2.cjs +1 -1
  286. package/lib/components/table/use/use-columns.cjs +1 -1
  287. package/lib/components/table/use/use-data-source.cjs +1 -1
  288. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
  289. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  290. package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
  291. package/lib/components/transfer/transfer.vue2.cjs +1 -1
  292. package/lib/components/tree/tree.vue2.cjs +1 -1
  293. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  294. package/lib/components/upload/upload-list.vue2.cjs +1 -1
  295. package/lib/components/upload/upload.vue2.cjs +1 -1
  296. package/lib/index.cjs +1 -1
  297. package/lib/index.d.ts +0 -1
  298. package/lib/package.json.cjs +1 -1
  299. package/lib/package.json.d.ts +1 -1
  300. package/lib/plugin.cjs +1 -1
  301. package/package.json +3 -3
  302. package/theme-style/index.css +1 -1
  303. package/theme-style/src/message-box.scss +2 -2
  304. package/theme-style/src/table.scss +6 -0
  305. package/theme-style/vft-message-box.css +1 -1
  306. package/theme-style/vft-table.css +1 -1
  307. package/web-types.json +1 -1
  308. package/es/locale/index.d.ts +0 -26
  309. package/es/locale/index.js +0 -10
  310. package/es/locale/lang/en.d.ts +0 -183
  311. package/es/locale/lang/en.js +0 -241
  312. package/es/locale/lang/zh-cn.d.ts +0 -183
  313. package/es/locale/lang/zh-cn.js +0 -241
  314. package/es/locale/lang/zh-tw.d.ts +0 -183
  315. package/es/locale/lang/zh-tw.js +0 -241
  316. package/es/locale/use-locale.d.ts +0 -17
  317. package/es/locale/use-locale.js +0 -56
  318. package/lib/locale/index.cjs +0 -1
  319. package/lib/locale/index.d.ts +0 -26
  320. package/lib/locale/lang/en.cjs +0 -1
  321. package/lib/locale/lang/en.d.ts +0 -183
  322. package/lib/locale/lang/zh-cn.cjs +0 -1
  323. package/lib/locale/lang/zh-cn.d.ts +0 -183
  324. package/lib/locale/lang/zh-tw.cjs +0 -1
  325. package/lib/locale/lang/zh-tw.d.ts +0 -183
  326. package/lib/locale/use-locale.cjs +0 -1
  327. package/lib/locale/use-locale.d.ts +0 -17
  328. /package/es/{locale/index.d.js → components/message-box/types.js} +0 -0
  329. /package/lib/{locale/index.d.cjs → components/message-box/types.cjs} +0 -0
@@ -0,0 +1,103 @@
1
+ import type { Action, MessageBoxState, MessageBoxType } from './types';
2
+ interface Props {
3
+ /** 按钮尺寸 */
4
+ buttonSize?: 'large' | 'default' | 'small';
5
+ /** 是否显示遮罩 */
6
+ modal?: boolean;
7
+ /** 是否锁定 body 滚动 */
8
+ lockScroll?: boolean;
9
+ /** 是否显示关闭按钮 */
10
+ showClose?: boolean;
11
+ /** 点击遮罩是否关闭 */
12
+ closeOnClickModal?: boolean;
13
+ /** 按 ESC 是否关闭 */
14
+ closeOnPressEscape?: boolean;
15
+ /** hash 改变时是否关闭 */
16
+ closeOnHashChange?: boolean;
17
+ /** 内容是否居中 */
18
+ center?: boolean;
19
+ /** 是否可拖拽 */
20
+ draggable?: boolean;
21
+ /** 拖拽时是否允许溢出视口 */
22
+ overflow?: boolean;
23
+ /** 按钮是否使用圆角 */
24
+ roundButton?: boolean;
25
+ /** 自定义挂载节点 */
26
+ container?: string;
27
+ /** boxType,由 alert / confirm / prompt 内部传入 */
28
+ boxType?: MessageBoxType;
29
+ }
30
+ declare function doClose(): void;
31
+ declare function handleAction(action: Action): void;
32
+ declare function handleClose(): void;
33
+ declare function __VLS_template(): {
34
+ default?(_: {}): any;
35
+ };
36
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {
37
+ visible: import("vue").Ref<boolean, boolean>;
38
+ state: {
39
+ autofocus: boolean;
40
+ title: string | undefined;
41
+ message: string | import("vue").VNode;
42
+ type: import("./types").MessageBoxMessageType;
43
+ icon: string;
44
+ closeIcon: string;
45
+ customClass: string;
46
+ customStyle: Record<string, string | number>;
47
+ showInput: boolean;
48
+ inputValue: string;
49
+ inputPlaceholder: string;
50
+ inputType: string;
51
+ inputPattern: RegExp | null;
52
+ inputValidator: import("./types").MessageBoxInputValidator;
53
+ inputErrorMessage: string;
54
+ showConfirmButton: boolean;
55
+ showCancelButton: boolean;
56
+ action: Action;
57
+ dangerouslyUseHTMLString: boolean;
58
+ confirmButtonText: string;
59
+ cancelButtonText: string;
60
+ confirmButtonType: import("./types").MessageBoxButtonType;
61
+ cancelButtonType: import("./types").MessageBoxButtonType;
62
+ confirmButtonLoading: boolean;
63
+ cancelButtonLoading: boolean;
64
+ confirmButtonLoadingIcon: string;
65
+ cancelButtonLoadingIcon: string;
66
+ confirmButtonClass: string;
67
+ confirmButtonDisabled: boolean;
68
+ cancelButtonClass: string;
69
+ editorErrorMessage: string;
70
+ beforeClose: null | ((action: Action, instance: MessageBoxState, done: () => void) => void);
71
+ callback: null | import("./types").Callback;
72
+ distinguishCancelAndClose: boolean;
73
+ modalFade: boolean;
74
+ modalClass: string;
75
+ validateError: boolean;
76
+ zIndex: number;
77
+ };
78
+ doClose: typeof doClose;
79
+ handleClose: typeof handleClose;
80
+ handleAction: typeof handleAction;
81
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
82
+ vanish: () => void;
83
+ action: (action: Action) => void;
84
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
85
+ onAction?: ((action: Action) => any) | undefined;
86
+ onVanish?: (() => any) | undefined;
87
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
88
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
89
+ export default _default;
90
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
91
+ type __VLS_TypePropsToRuntimeProps<T> = {
92
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
93
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
94
+ } : {
95
+ type: import('vue').PropType<T[K]>;
96
+ required: true;
97
+ };
98
+ };
99
+ type __VLS_WithTemplateSlots<T, S> = T & {
100
+ new (): {
101
+ $slots: S;
102
+ };
103
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),T=require("../button/index.cjs"),P=require("../focus-trap/focus-trap.vue.cjs");require("../focus-trap/utils.cjs");const y=require("../icon/index.cjs"),A=require("../input/index.cjs"),H=require("../overlay/index.cjs");require("@vueuse/core");const M=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const U=require("../../hooks/use-draggable/index.cjs"),z=require("../../hooks/use-id/index.cjs"),F=require("../../hooks/use-lockscreen/index.cjs");require("../../hooks/use-model-toggle/index.cjs");const Z=require("../../hooks/use-namespace/index.cjs");require("@popperjs/core");const j=require("../../hooks/use-same-target/index.cjs"),W=require("../../hooks/use-z-index/index.cjs"),G=["aria-label","aria-describedby"],J=["id"],Q=e.defineComponent({name:"VftMessageBox",inheritAttrs:!1}),X=e.defineComponent({...Q,props:{buttonSize:{default:"default"},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},overflow:{type:Boolean,default:!1},roundButton:{type:Boolean,default:!1},container:{default:"body"},boxType:{default:""}},emits:["vanish","action"],setup(l,{expose:I,emit:S}){const N=S,g={primary:"icon-info-filled",success:"icon-success-filled",warning:"icon-warning-filled",info:"icon-info-filled",error:"icon-circle-close-filled"},a=Z.useNamespace("message-box"),{nextZIndex:C}=W.useZIndex(),i=e.ref(!1),t=e.reactive({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"default",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:"icon-loading",cancelButtonLoadingIcon:"icon-loading",confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:C()}),B=z.useId(),v=z.useId(),x=e.computed(()=>{const o=t.type;return{[a.bm("icon",o)]:o&&g[o]}}),p=e.computed(()=>{const o=t.type;return t.icon||o&&g[o]||""}),w=e.computed(()=>!!t.message),u=e.ref(),k=e.ref(),d=e.ref(),f=e.ref(),h=e.ref(),b=e.computed(()=>l.buttonSize),q=e.computed(()=>l.draggable),$=e.computed(()=>l.overflow),{isDragging:R}=U.useDraggable(u,k,q,$);e.watch(()=>t.inputValue,async o=>{await e.nextTick(),l.boxType==="prompt"&&o&&V()},{immediate:!0}),e.watch(()=>i.value,o=>{console.log(333),o&&(l.boxType!=="prompt"&&(t.autofocus?d.value=h.value?.$el??u.value:d.value=u.value),t.zIndex=C()),l.boxType==="prompt"&&(o?e.nextTick().then(()=>{f.value&&f.value.$el&&(t.autofocus?d.value=O()??u.value:d.value=u.value)}):(t.editorErrorMessage="",t.validateError=!1))}),e.onMounted(async()=>{await e.nextTick(),console.log(444),l.closeOnHashChange&&window.addEventListener("hashchange",m)}),e.onBeforeUnmount(()=>{l.closeOnHashChange&&window.removeEventListener("hashchange",m)});function m(){i.value&&(i.value=!1,e.nextTick(()=>{t.action&&N("action",t.action)}))}function D(){l.closeOnClickModal&&s(t.distinguishCancelAndClose?"close":"cancel")}const c=j.useSameTarget(D);function L(o){if(t.inputType!=="textarea"&&!f.value?.isComposing)return o.preventDefault(),s("confirm")}function s(o){l.boxType==="prompt"&&o==="confirm"&&!V()||(t.action=o,t.beforeClose?t.beforeClose?.(o,t,m):m())}function V(){if(l.boxType==="prompt"){const o=t.inputPattern;if(o&&!o.test(t.inputValue||""))return t.editorErrorMessage=t.inputErrorMessage||"输入的数据不合法!",t.validateError=!0,!1;const n=t.inputValidator;if(M.isFunction(n)){const r=n(t.inputValue);if(r===!1)return t.editorErrorMessage=t.inputErrorMessage||"输入的数据不合法!",t.validateError=!0,!1;if(M.isString(r))return t.editorErrorMessage=r,t.validateError=!0,!1}}return t.editorErrorMessage="",t.validateError=!1,!0}function O(){const o=f.value?.$refs;return o?.input??o?.textarea}function E(){s("close")}function K(){l.closeOnPressEscape&&E()}return l.lockScroll&&F.useLockscreen(i,{ns:a}),I({visible:i,state:t,doClose:m,handleClose:E,handleAction:s}),(o,n)=>(e.openBlock(),e.createBlock(e.Transition,{name:"vft-fade-in-linear",onAfterLeave:n[11]||(n[11]=r=>o.$emit("vanish"))},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(H.VftOverlay),{"z-index":t.zIndex,"overlay-class":[e.unref(a).is("message-box"),t.modalClass],mask:l.modal},{default:e.withCtx(()=>[e.createElementVNode("div",{role:"dialog","aria-label":t.title,"aria-modal":"true","aria-describedby":t.showInput?void 0:e.unref(B),class:e.normalizeClass(`${e.unref(a).namespace.value}-overlay-message-box`),onClick:n[8]||(n[8]=(...r)=>e.unref(c).onClick&&e.unref(c).onClick(...r)),onMousedown:n[9]||(n[9]=(...r)=>e.unref(c).onMousedown&&e.unref(c).onMousedown(...r)),onMouseup:n[10]||(n[10]=(...r)=>e.unref(c).onMouseup&&e.unref(c).onMouseup(...r))},[e.createVNode(e.unref(P.default),{loop:"",trapped:i.value,"focus-trap-el":u.value,"focus-start-el":d.value,onReleaseRequested:K},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"rootRef",ref:u,class:e.normalizeClass([e.unref(a).b(),t.customClass,e.unref(a).is("draggable",l.draggable),e.unref(a).is("dragging",e.unref(R)),{[e.unref(a).m("center")]:l.center}]),style:e.normalizeStyle(t.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=e.withModifiers(()=>{},["stop"]))},[t.title!==null&&t.title!==void 0?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"headerRef",ref:k,class:e.normalizeClass([e.unref(a).e("header"),{"show-close":l.showClose}])},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("title"))},[p.value&&l.center?(e.openBlock(),e.createBlock(e.unref(y.VftIcon),{key:0,icon:p.value,class:e.normalizeClass([e.unref(a).e("status"),x.value])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(t.title),1)],2),l.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(a).e("headerbtn")),"aria-label":"close",onClick:n[0]||(n[0]=r=>s(t.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=e.withKeys(e.withModifiers(r=>s(t.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[e.createVNode(e.unref(y.VftIcon),{icon:t.closeIcon||"icon-close",class:e.normalizeClass(e.unref(a).e("close"))},null,8,["icon","class"])],34)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{id:e.unref(B),class:e.normalizeClass(e.unref(a).e("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("container"))},[p.value&&!l.center&&w.value?(e.openBlock(),e.createBlock(e.unref(y.VftIcon),{key:0,icon:p.value,class:e.normalizeClass([e.unref(a).e("status"),x.value])},null,8,["icon","class"])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(a).e("message"))},[e.renderSlot(o.$slots,"default",{},()=>[t.dangerouslyUseHTMLString?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.showInput?"label":"p"),{key:1,for:t.showInput?e.unref(v):void 0,innerHTML:t.message},null,8,["for","innerHTML"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.showInput?"label":"p"),{key:0,for:t.showInput?e.unref(v):void 0,textContent:e.toDisplayString(t.message)},null,8,["for","textContent"]))])],2)):e.createCommentVNode("",!0)],2),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createVNode(e.unref(A.VftInput),{id:e.unref(v),ref_key:"inputRef",ref:f,modelValue:t.inputValue,"onUpdate:modelValue":n[2]||(n[2]=r=>t.inputValue=r),type:t.inputType,placeholder:t.inputPlaceholder,"aria-invalid":t.validateError,class:e.normalizeClass({invalid:t.validateError}),onKeydown:e.withKeys(L,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class"]),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("errormsg")),style:e.normalizeStyle({visibility:t.editorErrorMessage?"visible":"hidden"})},e.toDisplayString(t.editorErrorMessage),7)],2),[[e.vShow,t.showInput]])],10,J),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("btns"))},[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(T.VftButton),{key:0,type:t.cancelButtonType==="text"?"default":t.cancelButtonType,text:t.cancelButtonType==="text",loading:t.cancelButtonLoading,class:e.normalizeClass([t.cancelButtonClass]),round:l.roundButton,size:b.value,onClick:n[3]||(n[3]=r=>s("cancel")),onKeydown:n[4]||(n[4]=e.withKeys(e.withModifiers(r=>s("cancel"),["prevent"]),["enter"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelButtonText||"取消"),1)]),_:1},8,["type","text","loading","class","round","size"])):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(T.VftButton),{ref_key:"confirmRef",ref:h,type:t.confirmButtonType==="text"?"default":t.confirmButtonType,text:t.confirmButtonType==="text",loading:t.confirmButtonLoading,class:e.normalizeClass([t.confirmButtonClass]),round:l.roundButton,disabled:t.confirmButtonDisabled,size:b.value,onClick:n[5]||(n[5]=r=>s("confirm")),onKeydown:n[6]||(n[6]=e.withKeys(e.withModifiers(r=>s("confirm"),["prevent"]),["enter"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmButtonText||"确定"),1)]),_:1},8,["type","text","loading","class","round","disabled","size"]),[[e.vShow,t.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el"])],42,G)]),_:3},8,["z-index","overlay-class","mask"]),[[e.vShow,i.value]])]),_:3}))}});exports.default=X;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@vft/utils"),m=require("@vueuse/core"),g=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const o=require("vue");require("lodash-es");require("../form/index.cjs");const _=require("./message-box.vue2.cjs"),u=new Map,h=e=>{let n=document.body;return e.appendTo&&(r.isString(e.appendTo)&&(n=document.querySelector(e.appendTo)),r.isElement(e.appendTo)&&(n=e.appendTo),r.isElement(n)||(g.debugWarn("VftMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),n=document.body)),n},f=(e,n)=>()=>{e.component?.exposed?.handleAction(n)},E=(e,n,c=null)=>{const s=o.createVNode(_.default,e,r.isFunction(e.message)||o.isVNode(e.message)?{default:r.isFunction(e.message)?()=>e.message({confirm:f(s,"confirm"),cancel:f(s,"cancel"),close:f(s,"close")}):()=>e.message}:null);return s.appContext=c,o.render(s,n),h(e).appendChild(n.firstElementChild),s.component},b=()=>document.createElement("div"),v=(e,n)=>{const c=b();e.onVanish=()=>{o.render(null,c),u.delete(l)},e.onAction=t=>{const d=u.get(l);let i;e.showInput?i={value:l.state.inputValue,action:t}:i=t,e.callback?e.callback(i,s.proxy):t==="cancel"||t==="close"?e.distinguishCancelAndClose&&t!=="cancel"?d.reject("close"):d.reject("cancel"):d.resolve(i)};const s=E(e,c,n),l=s.exposed;for(const t in e)r.hasOwn(e,t)&&!r.hasOwn(s.props,t)&&(l.state[t]=e[t]);return l.visible.value=!0,l};function a(e,n=null){if(!m.isClient)return Promise.reject();let c;return r.isString(e)||o.isVNode(e)?e={message:e}:c=e.callback,new Promise((s,l)=>{const t=v(e,n??a._context);u.set(t,{options:e,callback:c,resolve:s,reject:l})})}const x=["alert","confirm","prompt"],O={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};x.forEach(e=>{a[e]=p(e)});function p(e){return(n,c,s,l)=>{let t="";return r.isObject(c)?(s=c,t=""):r.isUndefined(c)?t="":t=c,a(Object.assign({title:t,message:n,type:"",...O[e]},s,{boxType:e}),l)}}a.close=()=>{u.forEach((e,n)=>{n.doClose()}),u.clear()};a._context=null;exports.default=a;
@@ -0,0 +1,3 @@
1
+ import type { IMessageBox } from './types';
2
+ declare const _default: IMessageBox;
3
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-message-box.css");require("vft/theme-style/vft-overlay.css");
@@ -0,0 +1,2 @@
1
+ import 'vft/theme-style/vft-message-box.css';
2
+ import 'vft/es/components/overlay/style/css';
@@ -0,0 +1 @@
1
+ "use strict";require("vft/theme-style/src/base.scss");require("vft/theme-style/src/message-box.scss");require("vft/theme-style/src/overlay.scss");
@@ -0,0 +1,2 @@
1
+ import 'vft/theme-style/src/message-box.scss';
2
+ import 'vft/es/components/overlay/style';
@@ -0,0 +1,202 @@
1
+ import type { AppContext, VNode } from 'vue';
2
+ import type { CSSProperties } from 'vue';
3
+ export type Action = 'confirm' | 'close' | 'cancel';
4
+ export type MessageBoxType = '' | 'prompt' | 'alert' | 'confirm';
5
+ export type MessageBoxMessageType = '' | 'primary' | 'success' | 'warning' | 'info' | 'error';
6
+ export type MessageBoxButtonType = 'default' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'text';
7
+ export type CloseFn = () => void;
8
+ export interface MessageBoxInputData {
9
+ /** 输入框内的值 */
10
+ value: string;
11
+ /** 触发的动作类型 */
12
+ action: Action;
13
+ }
14
+ export type MessageBoxData = MessageBoxInputData & Action;
15
+ export interface MessageBoxActionHandlers {
16
+ confirm: CloseFn;
17
+ cancel: CloseFn;
18
+ close: CloseFn;
19
+ }
20
+ export type MessageBoxInputValidator = ((value: string) => boolean | string) | undefined;
21
+ export type Callback = ((value: string, action: Action) => any) | ((action: Action) => any);
22
+ export interface MessageBoxState {
23
+ /** 自动聚焦 */
24
+ autofocus: boolean;
25
+ /** 标题 */
26
+ title: string | undefined;
27
+ /** 消息内容 */
28
+ message: string | VNode;
29
+ /** 消息类型,控制图标 */
30
+ type: MessageBoxMessageType;
31
+ /** 自定义图标 */
32
+ icon: string;
33
+ /** 自定义关闭图标 */
34
+ closeIcon: string;
35
+ /** 自定义类名 */
36
+ customClass: string;
37
+ /** 自定义内联样式 */
38
+ customStyle: Record<string, string | number>;
39
+ /** 是否显示输入框,prompt 模式下默认 true */
40
+ showInput: boolean;
41
+ /** 输入框默认值 */
42
+ inputValue: string;
43
+ /** 输入框占位符 */
44
+ inputPlaceholder: string;
45
+ /** 输入框类型 */
46
+ inputType: string;
47
+ /** 输入框校验正则 */
48
+ inputPattern: RegExp | null;
49
+ /** 输入框自定义校验函数 */
50
+ inputValidator: MessageBoxInputValidator;
51
+ /** 输入框校验失败提示 */
52
+ inputErrorMessage: string;
53
+ /** 是否显示确认按钮 */
54
+ showConfirmButton: boolean;
55
+ /** 是否显示取消按钮 */
56
+ showCancelButton: boolean;
57
+ /** 当前触发的动作 */
58
+ action: Action;
59
+ /** 是否将 message 作为 HTML 字符串渲染 */
60
+ dangerouslyUseHTMLString: boolean;
61
+ /** 确认按钮文案 */
62
+ confirmButtonText: string;
63
+ /** 取消按钮文案 */
64
+ cancelButtonText: string;
65
+ /** 确认按钮类型 */
66
+ confirmButtonType: MessageBoxButtonType;
67
+ /** 取消按钮类型 */
68
+ cancelButtonType: MessageBoxButtonType;
69
+ /** 确认按钮加载中 */
70
+ confirmButtonLoading: boolean;
71
+ /** 取消按钮加载中 */
72
+ cancelButtonLoading: boolean;
73
+ /** 确认按钮加载图标 */
74
+ confirmButtonLoadingIcon: string;
75
+ /** 取消按钮加载图标 */
76
+ cancelButtonLoadingIcon: string;
77
+ /** 确认按钮自定义类名 */
78
+ confirmButtonClass: string;
79
+ /** 确认按钮是否禁用 */
80
+ confirmButtonDisabled: boolean;
81
+ /** 取消按钮自定义类名 */
82
+ cancelButtonClass: string;
83
+ /** 输入框校验失败信息 */
84
+ editorErrorMessage: string;
85
+ /** 关闭前回调 */
86
+ beforeClose: null | ((action: Action, instance: MessageBoxState, done: () => void) => void);
87
+ /** 关闭后回调(不使用 Promise 时) */
88
+ callback: null | Callback;
89
+ /** 是否区分取消和关闭 */
90
+ distinguishCancelAndClose: boolean;
91
+ /** 遮罩淡入淡出 */
92
+ modalFade: boolean;
93
+ /** 自定义遮罩类名 */
94
+ modalClass: string;
95
+ /** 校验是否失败 */
96
+ validateError: boolean;
97
+ /** 弹窗层级 */
98
+ zIndex: number;
99
+ }
100
+ /** MessageBox 选项 */
101
+ export interface MessageBoxOptions {
102
+ /** 打开时是否自动聚焦 */
103
+ autofocus?: boolean;
104
+ /** 关闭前回调,会阻止默认关闭 */
105
+ beforeClose?: (action: Action, instance: MessageBoxState, done: () => void) => void;
106
+ /** 自定义类名 */
107
+ customClass?: string;
108
+ /** 自定义内联样式 */
109
+ customStyle?: CSSProperties;
110
+ /** 是否显示遮罩 */
111
+ modal?: boolean;
112
+ /** 遮罩自定义类名 */
113
+ modalClass?: string;
114
+ /** 关闭回调 */
115
+ callback?: Callback;
116
+ /** 取消按钮文案 */
117
+ cancelButtonText?: string;
118
+ /** 确认按钮文案 */
119
+ confirmButtonText?: string;
120
+ /** 取消按钮类型 */
121
+ cancelButtonType?: MessageBoxButtonType;
122
+ /** 确认按钮类型 */
123
+ confirmButtonType?: MessageBoxButtonType;
124
+ /** 取消按钮加载图标 */
125
+ cancelButtonLoadingIcon?: string;
126
+ /** 确认按钮加载图标 */
127
+ confirmButtonLoadingIcon?: string;
128
+ /** 取消按钮自定义类名 */
129
+ cancelButtonClass?: string;
130
+ /** 确认按钮自定义类名 */
131
+ confirmButtonClass?: string;
132
+ /** 内容是否居中 */
133
+ center?: boolean;
134
+ /** 是否可拖拽 */
135
+ draggable?: boolean;
136
+ /** 拖拽时是否允许溢出视口 */
137
+ overflow?: boolean;
138
+ /** 消息内容,可为字符串、VNode 或返回 VNode 的函数 */
139
+ message?: string | VNode | ((params: MessageBoxActionHandlers) => VNode);
140
+ /** 标题 */
141
+ title?: string | MessageBoxOptions;
142
+ /** 消息类型,决定图标 */
143
+ type?: MessageBoxMessageType;
144
+ /** boxType,由 alert / confirm / prompt 内部传入 */
145
+ boxType?: MessageBoxType;
146
+ /** 自定义图标 */
147
+ icon?: string;
148
+ /** 自定义关闭图标 */
149
+ closeIcon?: string;
150
+ /** 是否将 message 作为 HTML 字符串处理 */
151
+ dangerouslyUseHTMLString?: boolean;
152
+ /** 是否区分取消和关闭 */
153
+ distinguishCancelAndClose?: boolean;
154
+ /** 是否锁定 body 滚动 */
155
+ lockScroll?: boolean;
156
+ /** 是否显示取消按钮 */
157
+ showCancelButton?: boolean;
158
+ /** 是否显示确认按钮 */
159
+ showConfirmButton?: boolean;
160
+ /** 是否显示关闭按钮 */
161
+ showClose?: boolean;
162
+ /** 按钮是否使用圆角 */
163
+ roundButton?: boolean;
164
+ /** 点击遮罩是否关闭 */
165
+ closeOnClickModal?: boolean;
166
+ /** 按 ESC 是否关闭 */
167
+ closeOnPressEscape?: boolean;
168
+ /** hash 改变时是否关闭 */
169
+ closeOnHashChange?: boolean;
170
+ /** prompt 时是否显示输入框 */
171
+ showInput?: boolean;
172
+ /** 输入框占位符 */
173
+ inputPlaceholder?: string;
174
+ /** 输入框默认值 */
175
+ inputValue?: string;
176
+ /** 输入框校验正则 */
177
+ inputPattern?: RegExp;
178
+ /** 输入框类型 */
179
+ inputType?: string;
180
+ /** 输入框自定义校验函数 */
181
+ inputValidator?: MessageBoxInputValidator;
182
+ /** 校验失败时提示文案 */
183
+ inputErrorMessage?: string;
184
+ /** 按钮尺寸 */
185
+ buttonSize?: 'large' | 'default' | 'small';
186
+ /** 自定义挂载节点 */
187
+ appendTo?: HTMLElement | string;
188
+ }
189
+ export type MessageBoxShortcutMethod = ((message: MessageBoxOptions['message'], options?: MessageBoxOptions, appContext?: AppContext | null) => Promise<MessageBoxData>) & ((message: MessageBoxOptions['message'], title: MessageBoxOptions['title'], options?: MessageBoxOptions, appContext?: AppContext | null) => Promise<MessageBoxData>);
190
+ export interface IMessageBox {
191
+ _context: AppContext | null;
192
+ /** 显示一个消息提示框 */
193
+ (options: MessageBoxOptions, appContext?: AppContext | null): Promise<MessageBoxData>;
194
+ /** 显示警告对话框 */
195
+ alert: MessageBoxShortcutMethod;
196
+ /** 显示确认对话框 */
197
+ confirm: MessageBoxShortcutMethod;
198
+ /** 显示提示输入框 */
199
+ prompt: MessageBoxShortcutMethod;
200
+ /** 关闭当前所有 message-box */
201
+ close: CloseFn;
202
+ }
@@ -566,6 +566,7 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
566
566
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
567
567
  $slots: {
568
568
  default?(_: {}): any;
569
+ footer?(_: {}): any;
569
570
  };
570
571
  })> & Record<string, any>;
571
572
  export * from './types';
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),a=require("../row/index.cjs"),c=require("../button/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const l=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const m=require("../../locale/use-locale.cjs"),d=e.defineComponent({__name:"modal-footer-action",props:{showSubmitButton:{type:Boolean},showCancelButton:{type:Boolean},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},setup(t){const o=l.useNamespace("form-action"),{t:n}=m.useLocale(),i=e.computed(()=>({justify:"end",...t.actionRowOptions})),r=e.computed(()=>Object.assign({btnText:n("vft.modal.confirm")},t.submitButtonOptions)),u=e.computed(()=>Object.assign({btnText:n("vft.modal.cancel")},t.cancelButtonOptions));return(s,f)=>(e.openBlock(),e.createBlock(e.unref(a.VftRow),e.normalizeProps(e.guardReactiveProps(i.value)),{default:e.withCtx(()=>[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:0},u.value,{class:e.unref(o).e("cancel")}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"submitBefore"),t.showSubmitButton?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:1,type:"primary",class:e.unref(o).e("submit")},r.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"submitAfter")]),_:3},16))}});exports.default=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../row/index.cjs"),i=require("../button/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const a=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const l=e.defineComponent({__name:"modal-footer-action",props:{showSubmitButton:{type:Boolean},showCancelButton:{type:Boolean},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},setup(t){const o=a.useNamespace("form-action"),s=e.computed(()=>({justify:"end",...t.actionRowOptions})),n=e.computed(()=>Object.assign({btnText:"确认"},t.submitButtonOptions)),r=e.computed(()=>Object.assign({btnText:"取消"},t.cancelButtonOptions));return(u,m)=>(e.openBlock(),e.createBlock(e.unref(c.VftRow),e.normalizeProps(e.guardReactiveProps(s.value)),{default:e.withCtx(()=>[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:0},r.value,{class:e.unref(o).e("cancel")}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"submitBefore"),t.showSubmitButton?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:1,type:"primary",class:e.unref(o).e("submit")},n.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"submitAfter")]),_:3},16))}});exports.default=l;
@@ -1,6 +1,7 @@
1
1
  import type { ModalActionProps, ModalMethods, ModalProps } from './types';
2
2
  declare function __VLS_template(): {
3
3
  default?(_: {}): any;
4
+ footer?(_: {}): any;
4
5
  };
5
6
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ModalProps & ModalActionProps>, {
6
7
  center: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../dialog/index.cjs"),m=require("@vft/utils"),h=require("./modal-footer-action.vue2.cjs"),V=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},scrollTop:{type:Boolean},appendToBody:{type:Boolean,default:!1},appendTo:{},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean,default:!0},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:["visible-change","close","ok","register","update:modelValue","submit","open","opened","closed","openAutoFocus","closeAutoFocus"],setup(u,{emit:B}){const l=u,n=B,b=e.useAttrs(),c=e.ref(null),s=e.ref(!1),a=e.ref(null),d={setModalProps:f,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(a)&&e.unref(a).setModalHeight()})}},i=e.getCurrentInstance();i&&n("register",d,i.uid);const y=e.computed(()=>({...l,...e.unref(c)})),C=e.computed(()=>({...b,...e.unref(y),modelValue:e.unref(s)}));e.watchEffect(()=>{s.value=!!l.modelValue}),e.watch(()=>e.unref(s),o=>{n("visible-change",o),n("update:modelValue",o),i&&d.emitVisible&&e.nextTick(()=>{d.emitVisible(o,i.uid)}),e.nextTick(()=>{l.scrollTop&&o&&e.unref(a)&&e.unref(a).scrollTop()})},{immediate:!1});async function p(o){if(o?.stopPropagation(),l.closeFunc&&m.isFunction(l.closeFunc)){await l.closeFunc()||f({modelValue:!1});return}f({modelValue:!1}),n("close",o)}function f(o){c.value=m.deepMerge(e.unref(c)||{},o),Reflect.has(o,"modelValue")&&(s.value=!!o.modelValue)}const g=e.computed(()=>({onClick:o=>p(o),...l.cancelButtonOptions})),w=e.computed(()=>({onClick:()=>n("submit"),...l.submitButtonOptions}));return(o,t)=>(e.openBlock(),e.createBlock(e.unref(v.VftDialog),e.mergeProps(C.value,{onClose:p,onOpen:t[0]||(t[0]=r=>n("open")),onOpened:t[1]||(t[1]=r=>n("opened")),onClosed:t[2]||(t[2]=r=>n("closed")),onOpenAutoFocus:t[3]||(t[3]=r=>n("openAutoFocus")),onCloseAutoFocus:t[4]||(t[4]=r=>n("closeAutoFocus"))}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[o.$slots.footer||u.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[u.showActionButtonGroup?(e.openBlock(),e.createBlock(h.default,{key:0,"show-cancel-button":u.showCancelButton,"show-submit-button":u.showSubmitButton,"cancel-button-options":g.value,"submit-button-options":w.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040))}});exports.default=V;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../dialog/index.cjs"),m=require("@vft/utils"),h=require("./modal-footer-action.vue2.cjs"),V=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},scrollTop:{type:Boolean},appendToBody:{type:Boolean,default:!1},appendTo:{},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean,default:!0},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:["visible-change","close","ok","register","update:modelValue","submit","open","opened","closed","openAutoFocus","closeAutoFocus"],setup(u,{emit:B}){const l=u,n=B,b=e.useAttrs(),c=e.ref(null),s=e.ref(!1),a=e.ref(null),d={setModalProps:f,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(a)&&e.unref(a).setModalHeight()})}},i=e.getCurrentInstance();i&&n("register",d,i.uid);const y=e.computed(()=>({...l,...e.unref(c)})),C=e.computed(()=>({...b,...e.unref(y),modelValue:e.unref(s)}));e.watchEffect(()=>{s.value=!!l.modelValue}),e.watch(()=>e.unref(s),o=>{n("visible-change",o),n("update:modelValue",o),i&&d.emitVisible&&e.nextTick(()=>{d.emitVisible(o,i.uid)}),e.nextTick(()=>{l.scrollTop&&o&&e.unref(a)&&e.unref(a).scrollTop()})},{immediate:!1});async function p(o){if(o?.stopPropagation(),l.closeFunc&&m.isFunction(l.closeFunc)){await l.closeFunc()||f({modelValue:!1});return}f({modelValue:!1}),n("close",o)}function f(o){c.value=m.deepMerge(e.unref(c)||{},o),Reflect.has(o,"modelValue")&&(s.value=!!o.modelValue)}const g=e.computed(()=>({onClick:o=>p(o),...l.cancelButtonOptions})),w=e.computed(()=>({onClick:()=>n("submit"),...l.submitButtonOptions}));return(o,t)=>(e.openBlock(),e.createBlock(e.unref(v.VftDialog),e.mergeProps(C.value,{onClose:p,onOpen:t[0]||(t[0]=r=>n("open")),onOpened:t[1]||(t[1]=r=>n("opened")),onClosed:t[2]||(t[2]=r=>n("closed")),onOpenAutoFocus:t[3]||(t[3]=r=>n("openAutoFocus")),onCloseAutoFocus:t[4]||(t[4]=r=>n("closeAutoFocus"))}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[o.$slots.footer||u.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"footer",{},()=>[u.showActionButtonGroup?(e.openBlock(),e.createBlock(h.default,{key:0,"show-cancel-button":u.showCancelButton,"show-submit-button":u.showSubmitButton,"cancel-button-options":g.value,"submit-button-options":w.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)])]),key:"0"}:void 0]),1040))}});exports.default=V;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("../tabs/index.cjs"),y=require("../icon/index.cjs"),K=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),q=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),h=require("@vft/store"),A=require("@vft/use"),D=require("hotkeys-js"),H=require("vue-router"),W=require("./tab-content.vue2.cjs"),S=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");require("../../locale/use-locale.cjs");const j=e.defineComponent({name:"vft-multiple-tabs"}),O=e.defineComponent({...j,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{default:0},fixExtraScrollWidth:{}},setup(s){const g=z.useNamespace("multiple-tabs"),l=e.getCurrentInstance().appContext.config.globalProperties.$router,P=S.initAffixTabs(l),o=h.useMultipleTabStore(),f=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab&&h.isTabPinned(t)).length),k=e.computed(()=>Math.max(s.fixTabCount,f.value)),u=e.ref(""),i=e.ref(0),b=e.ref(),{go:x}=d.useRouterHelper(l),v=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(u.value){const t=v.value.findIndex(a=>d.getRouterKeyPath(a)===u.value);t===-1?i.value=v.value?.length-1:i.value=t,i.value=i.value<f.value?f.value-1:i.value}}),K.isClient&&H.onBeforeRouteLeave(()=>{b.value=e.unref(l.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:c}=a,E=c?n:null,T=d.getRouterKeyPath(t);if(u.value!==T&&(u.value=T),E){const C=l.getRoutes().find(F=>F.path===n);C&&o.addTab(C,e.unref(b),i.value,t)}else c||o.addTab(e.unref(t),e.unref(b),i.value)});function V(t){if(u.value===t.paneName)return;const a=v.value[t.attrs.index];u.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;x(n||a.fullPath||a.path)}function _(t){o.closeTabByKey(t,l)}const{refs:U,setRefs:w}=A.useRefs();function M(t){const a=t.pane.attrs.index,n=t.event;U.value[a].handleContext(n)}const B=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...q.generateCssVars(t,"tabs"),...s.tabsStyle}}),{closeCurrent:N}=h.useTabs(),$={...q.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...s.contextMenuStyle},I=()=>{o.toggleFullScreen(o.getTabList[i.value],l)},m=e.ref(!1);let p;const L=()=>{clearInterval(p),m.value=!0,o.refreshPage(0,l,o.getTabList[i.value]),p=setTimeout(()=>{m.value=!1},500)};return e.onMounted(()=>{s.canDrag&&S.useTabsDrag(P),D("command+e, ctrl+e",()=>(N(),!1))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(g).b()),style:e.normalizeStyle(B.value)},[e.createVNode(e.unref(R.VftTabs),{"show-bar":!1,"fix-tab-count":k.value,"fix-extra-scroll-width":s.fixExtraScrollWidth,modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=n=>u.value=n),onTabClick:V,onTabRemove:_,onTabContextMenu:M},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(n,c)=>(e.openBlock(),e.createBlock(e.unref(R.VftTabPane),{key:e.unref(d.getRouterKeyPath)(n)+c,closable:!e.unref(h.isTabPinned)(n),index:c,name:e.unref(d.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(W.default,{"context-menu-style":$,"affix-num":f.value,ref_for:!0,ref:e.unref(w)(c),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:2},[s.showNavRight?{name:"navRight",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"nav-right",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g).e("nav-right"))},[e.createVNode(e.unref(y.VftIcon),{rotate:m.value,"rotate-speed":1,onClick:L,icon:"icon-refresh-right",pointer:""},null,8,["rotate"]),e.createVNode(e.unref(y.VftIcon),{onClick:I,icon:e.unref(o).isFullScreen?"icon-collapse":"icon-expand",pointer:""},null,8,["icon"])],2)])]),key:"0"}:void 0]),1032,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6))}});exports.default=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("../tabs/index.cjs"),y=require("../icon/index.cjs"),K=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),q=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),h=require("@vft/store"),A=require("@vft/use"),D=require("hotkeys-js"),H=require("vue-router"),W=require("./tab-content.vue2.cjs"),S=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");const j=e.defineComponent({name:"vft-multiple-tabs"}),O=e.defineComponent({...j,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{default:0},fixExtraScrollWidth:{}},setup(s){const g=z.useNamespace("multiple-tabs"),l=e.getCurrentInstance().appContext.config.globalProperties.$router,P=S.initAffixTabs(l),o=h.useMultipleTabStore(),f=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab&&h.isTabPinned(t)).length),k=e.computed(()=>Math.max(s.fixTabCount,f.value)),u=e.ref(""),i=e.ref(0),b=e.ref(),{go:x}=d.useRouterHelper(l),v=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(u.value){const t=v.value.findIndex(a=>d.getRouterKeyPath(a)===u.value);t===-1?i.value=v.value?.length-1:i.value=t,i.value=i.value<f.value?f.value-1:i.value}}),K.isClient&&H.onBeforeRouteLeave(()=>{b.value=e.unref(l.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:c}=a,E=c?n:null,T=d.getRouterKeyPath(t);if(u.value!==T&&(u.value=T),E){const C=l.getRoutes().find(F=>F.path===n);C&&o.addTab(C,e.unref(b),i.value,t)}else c||o.addTab(e.unref(t),e.unref(b),i.value)});function V(t){if(u.value===t.paneName)return;const a=v.value[t.attrs.index];u.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;x(n||a.fullPath||a.path)}function _(t){o.closeTabByKey(t,l)}const{refs:U,setRefs:w}=A.useRefs();function M(t){const a=t.pane.attrs.index,n=t.event;U.value[a].handleContext(n)}const B=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...q.generateCssVars(t,"tabs"),...s.tabsStyle}}),{closeCurrent:N}=h.useTabs(),$={...q.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...s.contextMenuStyle},I=()=>{o.toggleFullScreen(o.getTabList[i.value],l)},m=e.ref(!1);let p;const L=()=>{clearInterval(p),m.value=!0,o.refreshPage(0,l,o.getTabList[i.value]),p=setTimeout(()=>{m.value=!1},500)};return e.onMounted(()=>{s.canDrag&&S.useTabsDrag(P),D("command+e, ctrl+e",()=>(N(),!1))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(g).b()),style:e.normalizeStyle(B.value)},[e.createVNode(e.unref(R.VftTabs),{"show-bar":!1,"fix-tab-count":k.value,"fix-extra-scroll-width":s.fixExtraScrollWidth,modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=n=>u.value=n),onTabClick:V,onTabRemove:_,onTabContextMenu:M},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(n,c)=>(e.openBlock(),e.createBlock(e.unref(R.VftTabPane),{key:e.unref(d.getRouterKeyPath)(n)+c,closable:!e.unref(h.isTabPinned)(n),index:c,name:e.unref(d.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(W.default,{"context-menu-style":$,"affix-num":f.value,ref_for:!0,ref:e.unref(w)(c),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:2},[s.showNavRight?{name:"navRight",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"nav-right",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g).e("nav-right"))},[e.createVNode(e.unref(y.VftIcon),{rotate:m.value,"rotate-speed":1,onClick:L,icon:"icon-refresh-right",pointer:""},null,8,["rotate"]),e.createVNode(e.unref(y.VftIcon),{onClick:I,icon:e.unref(o).isFullScreen?"icon-collapse":"icon-expand",pointer:""},null,8,["icon"])],2)])]),key:"0"}:void 0]),1032,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6))}});exports.default=O;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@vft/router"),u=require("@vft/store");require("@vft/utils");const p=require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");const O=require("../../../locale/use-locale.cjs");require("vue-router");function A(e,i){const{t:n}=O.useLocale(),s=p.reactive({current:null,currentIndex:0}),t=u.useMultipleTabStore(),{refreshPage:h,closeAll:b,close:f,closeLeft:T,closeOther:v,closeRight:x,newWinTab:L,fullScreen:C,alonePage:q,pinTab:D,unpinTab:P}=u.useTabs(),w=p.computed(()=>{if(!e)return;const{meta:r}=e,o=s.currentIndex,l=u.isTabPinned(e),c=!l,a=!!r?.userPinned,S=o===0||o<=i,R=t.getTabList.length<=i||o===t.getTabList.length-1&&t.getLastDragEndIndex>=0,y=t.getTabList.length===i||t.getTabList.length===i+1&&o===i,d=t.getTabList.length===i;return[{iconCfg:{icon:"icon-refresh-right"},text:n("vft.multipleTabs.refresh"),handler:()=>h(e)},{iconCfg:{icon:"icon-new-tab"},text:n("vft.multipleTabs.openInNewTab"),handler:()=>L(e),divider:!0},{iconCfg:{icon:"icon-close-tab"},text:n("vft.multipleTabs.closeTab"),disabled:l||d,handler:()=>f(e)},{iconCfg:{icon:"icon-arrow-close-left"},text:n("vft.multipleTabs.closeLeft"),disabled:S,handler:()=>T(e)},{iconCfg:{icon:"icon-arrow-close-right"},text:n("vft.multipleTabs.closeRight"),disabled:R,divider:!0,handler:()=>x(e)},{iconCfg:{icon:"icon-close-box-multiple-outline"},text:n("vft.multipleTabs.closeOther"),disabled:y,handler:()=>v(e)},{iconCfg:{icon:"icon-vector-square-delete"},text:n("vft.multipleTabs.closeAll"),disabled:d,divider:!0,handler:()=>b()},{iconCfg:{icon:"icon-full-screen"},text:n("vft.multipleTabs.fullScreen"),handler:()=>C(e)},{iconCfg:{icon:"icon-separate"},text:n("vft.multipleTabs.standalone"),handler:()=>q(e),divider:c||a},...c?[{iconCfg:{icon:"icon-tab-pin"},text:n("vft.multipleTabs.pin"),handler:()=>D(e)}]:a?[{iconCfg:{icon:"icon-tab-unpin"},text:n("vft.multipleTabs.unpin"),handler:()=>P(e)}]:[]]});function M(r){return o=>{if(!r)return;o?.preventDefault();const l=t.getTabList.findIndex(c=>g.getRouterKeyPath(c)===g.getRouterKeyPath(r));s.current=r,s.currentIndex=l}}return{getDropMenuList:w,handleContextMenu:M}}exports.useTabDropdown=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@vft/router"),l=require("@vft/store");require("@vft/utils");const g=require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");require("vue-router");function R(e,t){const s=g.reactive({current:null,currentIndex:0}),n=l.useMultipleTabStore(),{refreshPage:h,closeAll:p,close:b,closeLeft:f,closeOther:x,closeRight:T,newWinTab:C,fullScreen:L,alonePage:v,pinTab:q,unpinTab:D}=l.useTabs(),P=g.computed(()=>{if(!e)return;const{meta:r}=e,o=s.currentIndex,i=l.isTabPinned(e),c=!i,d=!!r?.userPinned,M=o===0||o<=t,S=n.getTabList.length<=t||o===n.getTabList.length-1&&n.getLastDragEndIndex>=0,y=n.getTabList.length===t||n.getTabList.length===t+1&&o===t,u=n.getTabList.length===t;return[{iconCfg:{icon:"icon-refresh-right"},text:"刷新",handler:()=>h(e)},{iconCfg:{icon:"icon-new-tab"},text:"新页面打开",handler:()=>C(e),divider:!0},{iconCfg:{icon:"icon-close-tab"},text:"关闭标签页",disabled:i||u,handler:()=>b(e)},{iconCfg:{icon:"icon-arrow-close-left"},text:"关闭左侧标签页",disabled:M,handler:()=>f(e)},{iconCfg:{icon:"icon-arrow-close-right"},text:"关闭右侧标签页",disabled:S,divider:!0,handler:()=>T(e)},{iconCfg:{icon:"icon-close-box-multiple-outline"},text:"关闭其它标签页",disabled:y,handler:()=>x(e)},{iconCfg:{icon:"icon-vector-square-delete"},text:"关闭所有标签页",disabled:u,divider:!0,handler:()=>p()},{iconCfg:{icon:"icon-full-screen"},text:"全屏",handler:()=>L(e)},{iconCfg:{icon:"icon-separate"},text:"独立页面",handler:()=>v(e),divider:c||d},...c?[{iconCfg:{icon:"icon-tab-pin"},text:"固定",handler:()=>q(e)}]:d?[{iconCfg:{icon:"icon-tab-unpin"},text:"取消固定",handler:()=>D(e)}]:[]]});function w(r){return o=>{if(!r)return;o?.preventDefault();const i=n.getTabList.findIndex(c=>a.getRouterKeyPath(c)===a.getRouterKeyPath(r));s.current=r,s.currentIndex=i}}return{getDropMenuList:P,handleContextMenu:w}}exports.useTabDropdown=R;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const f=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const m=require("../../../locale/use-locale.cjs"),g=require("../../input/index.cjs"),v=require("../usePagination.cjs"),q=["disabled"],_=e.defineComponent({__name:"jumper",props:{size:{}},setup(i){const a=f.useNamespace("pagination"),{t:s}=m.useLocale(),{pageCount:u,disabled:t,currentPage:o,changeEvent:l}=v.usePagination(),r=e.ref(),c=e.computed(()=>r.value??o?.value);function d(n){r.value=+n}function p(n){n=Math.trunc(+n),l?.(+n),r.value=void 0}return(n,C)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a).e("jump")),disabled:e.unref(t)},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("goto")])},e.toDisplayString(e.unref(s)("vft.pagination.goto")),3),e.createVNode(e.unref(g.VftInput),{size:i.size,class:e.normalizeClass([e.unref(a).e("editor"),e.unref(a).is("in-pagination")]),min:1,max:e.unref(u),disabled:e.unref(t),"model-value":c.value,"validate-event":!1,type:"number","onUpdate:modelValue":d,onChange:p},null,8,["size","class","max","disabled","model-value"]),e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("classifier")])},e.toDisplayString(e.unref(s)("vft.pagination.pageClassifier")),3)],10,q))}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const m=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const p=require("../../input/index.cjs"),f=require("../usePagination.cjs"),g=["disabled"],q=e.defineComponent({__name:"jumper",props:{size:{}},setup(u){const a=m.useNamespace("pagination"),{pageCount:i,disabled:s,currentPage:t,changeEvent:l}=f.usePagination(),r=e.ref(),o=e.computed(()=>r.value??t?.value);function c(n){r.value=+n}function d(n){n=Math.trunc(+n),l?.(+n),r.value=void 0}return(n,v)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a).e("jump")),disabled:e.unref(s)},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("goto")])},"前往",2),e.createVNode(e.unref(p.VftInput),{size:u.size,class:e.normalizeClass([e.unref(a).e("editor"),e.unref(a).is("in-pagination")]),min:1,max:e.unref(i),disabled:e.unref(s),"model-value":o.value,"validate-event":!1,type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value"]),e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("classifier")])},"",2)],10,g))}});exports.default=q;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),p=require("lodash-es");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("../../form/index.cjs");const z=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const S=require("../../../locale/use-locale.cjs"),f=require("../usePagination.cjs"),m=require("../../select/index.cjs"),q=a.defineComponent({__name:"sizes",props:{pageSize:{},pageSizes:{default:()=>[10,20,30,40,50,100]},popperClass:{},disabled:{type:Boolean},size:{}},emits:["page-size-change"],setup(i,{emit:t}){const r=t,u=z.useNamespace("pagination"),{t:l}=S.useLocale(),o=f.usePagination(),n=a.ref(i.pageSize);a.watch(()=>i.pageSizes,(e,s)=>{if(!p.isEqual(e,s)&&Array.isArray(e)){const d=e.includes(i.pageSize)?i.pageSize:i.pageSizes[0];r("page-size-change",d)}}),a.watch(()=>i.pageSize,e=>{n.value=e});const c=a.computed(()=>i.pageSizes.map(e=>({label:e+l("vft.pagination.itemsPerPage"),value:e})));function g(e){e!==n.value&&(n.value=e,o.handleSizeChange?.(Number(e)))}return(e,s)=>(a.openBlock(),a.createElementBlock("span",{class:a.normalizeClass(a.unref(u).e("sizes"))},[a.createVNode(a.unref(m.VftSelect),{"model-value":n.value,disabled:i.disabled,"popper-class":i.popperClass,size:i.size,"validate-event":!1,onChange:g,options:c.value},null,8,["model-value","disabled","popper-class","size","options"])],2))}});exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),g=require("lodash-es");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("../../form/index.cjs");const z=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const p=require("../usePagination.cjs"),S=require("../../select/index.cjs"),f=a.defineComponent({__name:"sizes",props:{pageSize:{},pageSizes:{default:()=>[10,20,30,40,50,100]},popperClass:{},disabled:{type:Boolean},size:{}},emits:["page-size-change"],setup(i,{emit:t}){const r=t,u=z.useNamespace("pagination"),l=p.usePagination(),n=a.ref(i.pageSize);a.watch(()=>i.pageSizes,(e,s)=>{if(!g.isEqual(e,s)&&Array.isArray(e)){const d=e.includes(i.pageSize)?i.pageSize:i.pageSizes[0];r("page-size-change",d)}}),a.watch(()=>i.pageSize,e=>{n.value=e});const o=a.computed(()=>i.pageSizes.map(e=>({label:e+"条/页",value:e})));function c(e){e!==n.value&&(n.value=e,l.handleSizeChange?.(Number(e)))}return(e,s)=>(a.openBlock(),a.createElementBlock("span",{class:a.normalizeClass(a.unref(u).e("sizes"))},[a.createVNode(a.unref(S.VftSelect),{"model-value":n.value,disabled:i.disabled,"popper-class":i.popperClass,size:i.size,"validate-event":!1,onChange:c,options:o.value},null,8,["model-value","disabled","popper-class","size","options"])],2))}});exports.default=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const o=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const i=require("../../../locale/use-locale.cjs"),s=require("../usePagination.cjs"),u=["disabled"],l=e.defineComponent({__name:"total",props:{total:{default:0}},setup(t){const r=o.useNamespace("pagination"),{t:n}=i.useLocale(),{disabled:a}=s.usePagination();return(c,d)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(r).e("total")),disabled:e.unref(a)},e.toDisplayString(e.unref(n)("vft.pagination.total",{total:t.total})),11,u))}});exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const n=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const a=require("../usePagination.cjs"),s=["disabled"],o=e.defineComponent({__name:"total",props:{total:{default:0}},setup(r){const t=n.useNamespace("pagination"),{disabled:i}=a.usePagination();return(u,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(t).e("total")),disabled:e.unref(i)},"共 "+e.toDisplayString(r.total)+"",11,s))}});exports.default=o;
@@ -7,14 +7,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
7
7
  type: import("vue").PropType<string | number>;
8
8
  default: number;
9
9
  };
10
- icon: {
11
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
12
- default: string;
13
- };
14
10
  teleported: {
15
11
  type: import("vue").PropType<boolean>;
16
12
  default: boolean;
17
13
  };
14
+ icon: {
15
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
16
+ default: string;
17
+ };
18
18
  hideAfter: {
19
19
  type: import("vue").PropType<number>;
20
20
  default: number;
@@ -52,8 +52,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
52
52
  cancel: (val: MouseEvent) => void;
53
53
  }, import("vue").PublicProps, {
54
54
  width: string | number;
55
- icon: string | import("vft/es/vft").IconProps;
56
55
  teleported: boolean;
56
+ icon: string | import("vft/es/vft").IconProps;
57
57
  hideAfter: number;
58
58
  persistent: boolean;
59
59
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -74,14 +74,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
74
74
  type: import("vue").PropType<string | number>;
75
75
  default: number;
76
76
  };
77
- icon: {
78
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
79
- default: string;
80
- };
81
77
  teleported: {
82
78
  type: import("vue").PropType<boolean>;
83
79
  default: boolean;
84
80
  };
81
+ icon: {
82
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
83
+ default: string;
84
+ };
85
85
  hideAfter: {
86
86
  type: import("vue").PropType<number>;
87
87
  default: number;
@@ -116,8 +116,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
116
116
  onConfirm?: ((val: MouseEvent) => any) | undefined;
117
117
  }>, {}, {}, {}, {}, {
118
118
  width: string | number;
119
- icon: string | import("vft/es/vft").IconProps;
120
119
  teleported: boolean;
120
+ icon: string | import("vft/es/vft").IconProps;
121
121
  hideAfter: number;
122
122
  persistent: boolean;
123
123
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -135,14 +135,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
135
135
  type: import("vue").PropType<string | number>;
136
136
  default: number;
137
137
  };
138
- icon: {
139
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
140
- default: string;
141
- };
142
138
  teleported: {
143
139
  type: import("vue").PropType<boolean>;
144
140
  default: boolean;
145
141
  };
142
+ icon: {
143
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
144
+ default: string;
145
+ };
146
146
  hideAfter: {
147
147
  type: import("vue").PropType<number>;
148
148
  default: number;
@@ -180,8 +180,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
180
180
  cancel: (val: MouseEvent) => void;
181
181
  }, string, {
182
182
  width: string | number;
183
- icon: string | import("vft/es/vft").IconProps;
184
183
  teleported: boolean;
184
+ icon: string | import("vft/es/vft").IconProps;
185
185
  hideAfter: number;
186
186
  persistent: boolean;
187
187
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -43,8 +43,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
43
43
  onConfirm?: ((val: MouseEvent) => any) | undefined;
44
44
  }>, {
45
45
  width: string | number;
46
- icon: string | IconProps;
47
46
  teleported: boolean;
47
+ icon: string | IconProps;
48
48
  hideAfter: number;
49
49
  persistent: boolean;
50
50
  confirmButtonType: ButtonType;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const x=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const u=require("../button/index.cjs"),B=require("../icon/index.cjs"),C=require("../tooltip/index.cjs"),T=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const h=require("../../locale/use-locale.cjs"),q=e.defineComponent({name:"VftPopconfirm"}),V=e.defineComponent({...q,props:{title:{},confirmButtonText:{},cancelButtonText:{},confirmButtonType:{default:"primary"},cancelButtonType:{},icon:{default:"icon-question-filled"},iconColor:{default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{default:200},teleported:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},width:{default:150}},emits:["confirm","cancel"],setup(t,{emit:s}){const r=t,c=s,o=T.useNamespace("popconfirm"),l=e.ref(),{t:i}=h.useLocale(),a=()=>{l.value?.onClose?.()},f=e.computed(()=>({width:x.addUnit(r.width)})),d=n=>{c("confirm",n),a()},m=n=>{c("cancel",n),a()},p=e.computed(()=>r.confirmButtonText||i("vft.popconfirm.confirm")),y=e.computed(()=>r.cancelButtonText||i("vft.popconfirm.cancel"));return(n,v)=>(e.openBlock(),e.createBlock(e.unref(C.VftTooltip),e.mergeProps({ref_key:"tooltipRef",ref:l,trigger:"click",effect:"light"},n.$attrs,{"popper-class":`${e.unref(o).namespace.value}-popover`,"popper-style":f.value,teleported:t.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":t.hideAfter,persistent:t.persistent}),{content:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("main"))},[!t.hideIcon&&t.icon?(e.openBlock(),e.createBlock(e.unref(B.VftIcon),{key:0,icon:t.icon,size:20,class:e.normalizeClass(e.unref(o).e("icon")),style:e.normalizeStyle({color:t.iconColor})},null,8,["icon","class","style"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.title),1)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("action"))},[e.createVNode(e.unref(u.VftButton),{size:"small",type:t.cancelButtonType==="text"?"":t.cancelButtonType,text:t.cancelButtonType==="text",onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value),1)]),_:1},8,["type","text"]),e.createVNode(e.unref(u.VftButton),{size:"small",type:t.confirmButtonType==="text"?"":t.confirmButtonType,text:t.confirmButtonType==="text",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:1},8,["type","text"])],2)],2)]),default:e.withCtx(()=>[n.$slots.reference?e.renderSlot(n.$slots,"reference",{key:0}):e.createCommentVNode("",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});exports.default=V;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const y=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const a=require("../button/index.cjs"),x=require("../icon/index.cjs"),B=require("../tooltip/index.cjs"),C=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const T=e.defineComponent({name:"VftPopconfirm"}),h=e.defineComponent({...T,props:{title:{},confirmButtonText:{},cancelButtonText:{},confirmButtonType:{default:"primary"},cancelButtonType:{},icon:{default:"icon-question-filled"},iconColor:{default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{default:200},teleported:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},width:{default:150}},emits:["confirm","cancel"],setup(t,{emit:u}){const r=t,l=u,o=C.useNamespace("popconfirm"),c=e.ref(),i=()=>{c.value?.onClose?.()},s=e.computed(()=>({width:y.addUnit(r.width)})),f=n=>{l("confirm",n),i()},d=n=>{l("cancel",n),i()},m=e.computed(()=>r.confirmButtonText||"确认"),p=e.computed(()=>r.cancelButtonText||"取消");return(n,V)=>(e.openBlock(),e.createBlock(e.unref(B.VftTooltip),e.mergeProps({ref_key:"tooltipRef",ref:c,trigger:"click",effect:"light"},n.$attrs,{"popper-class":`${e.unref(o).namespace.value}-popover`,"popper-style":s.value,teleported:t.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":t.hideAfter,persistent:t.persistent}),{content:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("main"))},[!t.hideIcon&&t.icon?(e.openBlock(),e.createBlock(e.unref(x.VftIcon),{key:0,icon:t.icon,size:20,class:e.normalizeClass(e.unref(o).e("icon")),style:e.normalizeStyle({color:t.iconColor})},null,8,["icon","class","style"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.title),1)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("action"))},[e.createVNode(e.unref(a.VftButton),{size:"small",type:t.cancelButtonType==="text"?"":t.cancelButtonType,text:t.cancelButtonType==="text",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:1},8,["type","text"]),e.createVNode(e.unref(a.VftButton),{size:"small",type:t.confirmButtonType==="text"?"":t.confirmButtonType,text:t.confirmButtonType==="text",onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value),1)]),_:1},8,["type","text"])],2)],2)]),default:e.withCtx(()=>[n.$slots.reference?e.renderSlot(n.$slots,"reference",{key:0}):e.createCommentVNode("",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});exports.default=h;