vft 0.0.507 → 0.0.511

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 (326) 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.vue2.js +1 -1
  5. package/es/components/avatar/avatar.vue2.js +2 -2
  6. package/es/components/avatar-stack/avatar-stack.vue2.js +7 -7
  7. package/es/components/backtop/backtop.vue2.js +1 -1
  8. package/es/components/breadcrumb/breadcrumb-item.vue2.js +3 -3
  9. package/es/components/breadcrumb/breadcrumb.vue2.js +2 -2
  10. package/es/components/button/button-group.vue2.js +2 -2
  11. package/es/components/button/button.vue2.js +7 -7
  12. package/es/components/button/use-button.js +3 -3
  13. package/es/components/card/card.vue2.js +6 -6
  14. package/es/components/carousel/carousel-item.vue2.js +3 -3
  15. package/es/components/carousel/carousel.vue2.js +1 -1
  16. package/es/components/carousel/use-carousel.js +1 -1
  17. package/es/components/cascader/cascader.vue2.js +203 -202
  18. package/es/components/cascader-panel/index.vue2.js +1 -1
  19. package/es/components/cascader-panel/menu.vue2.js +50 -49
  20. package/es/components/cascader-panel/node.vue2.js +8 -8
  21. package/es/components/check-tag/check-tag.vue2.js +2 -2
  22. package/es/components/checkbox/checkbox-button.vue2.js +13 -13
  23. package/es/components/checkbox/checkbox-group.vue2.js +3 -3
  24. package/es/components/checkbox/checkbox.vue2.js +1 -1
  25. package/es/components/clamp/clamp.vue2.js +2 -2
  26. package/es/components/clamp-toggle/clamp-toggle.vue2.js +21 -17
  27. package/es/components/clamp-tooltip/clamp-tooltip.vue2.js +6 -6
  28. package/es/components/col/col.vue2.js +2 -2
  29. package/es/components/collapse/collapse-item.vue2.js +2 -2
  30. package/es/components/collapse/collapse.vue2.js +2 -2
  31. package/es/components/collapse-transition/collapse-transition.vue2.js +2 -2
  32. package/es/components/color-picker/color-picker.vue2.js +134 -133
  33. package/es/components/color-picker/components/alpha-slider.vue2.js +2 -2
  34. package/es/components/color-picker/components/hue-slider.vue.js +2 -2
  35. package/es/components/color-picker/components/predefine.vue.js +3 -3
  36. package/es/components/color-picker/components/sv-panel.vue.js +2 -2
  37. package/es/components/config-provider/config-provider.vue.d.ts +2 -0
  38. package/es/components/config-provider/config-provider.vue2.js +5 -4
  39. package/es/components/config-provider/constants.d.ts +1 -0
  40. package/es/components/config-provider/constants.js +3 -2
  41. package/es/components/config-provider/hooks/use-global-config.js +33 -30
  42. package/es/components/config-provider/index.d.ts +9 -0
  43. package/es/components/config-provider/index.js +6 -5
  44. package/es/components/container/aside.vue2.js +2 -2
  45. package/es/components/container/container.vue2.js +2 -2
  46. package/es/components/container/footer.vue2.js +2 -2
  47. package/es/components/container/header.vue2.js +2 -2
  48. package/es/components/container/main.vue2.js +2 -2
  49. package/es/components/context-menu/context-menu.vue2.js +1 -1
  50. package/es/components/countdown/countdown.vue2.js +2 -2
  51. package/es/components/date-picker/composables/use-basic-date-table.js +83 -82
  52. package/es/components/date-picker/composables/use-month-range-header.js +15 -14
  53. package/es/components/date-picker/composables/use-panel-date-range.js +24 -23
  54. package/es/components/date-picker/date-picker-com/basic-date-table.vue2.js +6 -6
  55. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +40 -39
  56. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +41 -40
  57. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +184 -183
  58. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +225 -224
  59. package/es/components/date-picker/date-picker-com/panel-month-range.vue2.js +12 -12
  60. package/es/components/date-picker/date-picker-com/panel-year-range.vue2.js +12 -12
  61. package/es/components/date-picker/props/basic-date-table.js +3 -3
  62. package/es/components/date-picker/props/basic-month-table.js +3 -3
  63. package/es/components/date-picker/props/basic-year-table.js +3 -3
  64. package/es/components/date-time-select/date-time-select.vue2.js +39 -36
  65. package/es/components/descriptions/description.vue2.js +1 -1
  66. package/es/components/descriptions/descriptions-row.vue2.js +10 -10
  67. package/es/components/dialog/dialog-content.vue2.js +3 -3
  68. package/es/components/dialog/dialog.vue2.js +5 -5
  69. package/es/components/divider/divider.vue2.js +5 -5
  70. package/es/components/drawer/drawer.vue2.js +4 -4
  71. package/es/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  72. package/es/components/dropdown/dropdown-item-impl.vue2.js +3 -3
  73. package/es/components/dropdown/dropdown-item.vue.d.ts +1 -1
  74. package/es/components/dropdown/dropdown-item.vue2.js +2 -2
  75. package/es/components/dropdown/dropdown-menu.vue2.js +2 -2
  76. package/es/components/dropdown/dropdown.vue.d.ts +1 -1
  77. package/es/components/dropdown/dropdown.vue2.js +68 -67
  78. package/es/components/dropdown/index.d.ts +33 -33
  79. package/es/components/empty/empty.vue2.js +39 -38
  80. package/es/components/footer-layout/footer-layout.vue2.js +2 -2
  81. package/es/components/form/form-item.vue2.js +16 -16
  82. package/es/components/form/form.vue2.js +2 -2
  83. package/es/components/full-screen/full-screen.vue2.js +18 -17
  84. package/es/components/header-layout/header-layout.vue2.js +1 -1
  85. package/es/components/horizontal-menu/horizontal-menu.vue2.js +3 -3
  86. package/es/components/icon/icon.vue2.js +3 -3
  87. package/es/components/icon-text/icon-text.vue2.js +1 -1
  88. package/es/components/iframe-layout/iframe-layout.vue2.js +4 -4
  89. package/es/components/iframe-layout/iframe-page.vue2.js +2 -2
  90. package/es/components/image/image.vue2.js +60 -59
  91. package/es/components/image-viewer/image-viewer.vue2.js +43 -42
  92. package/es/components/index.d.ts +1 -0
  93. package/es/components/index.js +214 -210
  94. package/es/components/input/input.vue2.js +2 -2
  95. package/es/components/input-number/input-number.vue2.js +4 -4
  96. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  97. package/es/components/input-tag/input-tag.vue2.js +7 -7
  98. package/es/components/link/link.vue2.js +1 -1
  99. package/es/components/list-cell/list-cell.vue2.js +1 -1
  100. package/es/components/logo/logo.vue2.js +10 -10
  101. package/es/components/md-comment/md-comment.vue2.js +2 -2
  102. package/es/components/md-container/md-container.vue2.js +75 -74
  103. package/es/components/md-container/toc.js +37 -36
  104. package/es/components/menu/menu-collapse-transition.vue.js +2 -2
  105. package/es/components/menu/menu-item-group.vue2.js +7 -7
  106. package/es/components/menu/menu-item.vue2.js +1 -1
  107. package/es/components/message/message.vue2.js +3 -3
  108. package/es/components/message-box/index.d.ts +4 -0
  109. package/es/components/message-box/index.js +14 -0
  110. package/es/components/message-box/message-box.vue.d.ts +103 -0
  111. package/es/components/message-box/message-box.vue.js +4 -0
  112. package/es/components/message-box/message-box.vue2.js +358 -0
  113. package/es/components/message-box/method.d.ts +3 -0
  114. package/es/components/message-box/method.js +101 -0
  115. package/es/components/message-box/style/css.d.ts +2 -0
  116. package/es/components/message-box/style/css.js +3 -0
  117. package/es/components/message-box/style/index.d.ts +2 -0
  118. package/es/components/message-box/style/index.js +3 -0
  119. package/es/components/message-box/types.d.ts +202 -0
  120. package/es/components/message-box/types.js +1 -0
  121. package/es/components/modal/index.d.ts +1 -0
  122. package/es/components/modal/modal-footer-action.vue2.js +25 -24
  123. package/es/components/modal/modal.vue.d.ts +1 -0
  124. package/es/components/modal/modal.vue2.js +30 -28
  125. package/es/components/multiple-tabs/multiple-tabs.vue2.js +17 -16
  126. package/es/components/multiple-tabs/tab-content.vue2.js +2 -2
  127. package/es/components/multiple-tabs/use/use-tab-dropdown.js +54 -53
  128. package/es/components/notification/notification.vue2.js +1 -1
  129. package/es/components/overlay/overlay.vue2.js +1 -1
  130. package/es/components/page-wrapper/page-wrapper.vue2.js +2 -2
  131. package/es/components/pagination/components/jumper.vue2.js +2 -2
  132. package/es/components/pagination/components/next.vue2.js +4 -4
  133. package/es/components/pagination/components/pager.vue2.js +1 -1
  134. package/es/components/pagination/components/prev.vue2.js +4 -4
  135. package/es/components/pagination/components/sizes.vue2.js +2 -2
  136. package/es/components/pagination/components/total.vue2.js +2 -2
  137. package/es/components/popconfirm/popconfirm.vue2.js +40 -39
  138. package/es/components/popover/popover.vue2.js +1 -1
  139. package/es/components/popper/arrow.vue2.js +2 -2
  140. package/es/components/popper/content.vue2.js +2 -2
  141. package/es/components/popper/trigger.vue2.js +4 -4
  142. package/es/components/progress/progress.vue2.js +1 -1
  143. package/es/components/progress-i/progress-i.vue2.js +2 -2
  144. package/es/components/qrcode/qrcode.vue2.js +1 -1
  145. package/es/components/radio/radio-button.vue2.js +2 -2
  146. package/es/components/radio/radio-group.vue2.js +3 -3
  147. package/es/components/radio/radio.vue2.js +2 -2
  148. package/es/components/rate/rate.vue2.js +6 -6
  149. package/es/components/router-view-content/router-view-content.vue2.js +7 -7
  150. package/es/components/roving-focus-group/roving-focus-group.vue2.js +2 -2
  151. package/es/components/roving-focus-group/roving-focus-item.vue2.js +2 -2
  152. package/es/components/row/row.vue2.js +2 -2
  153. package/es/components/scrollbar/bar.vue2.js +2 -2
  154. package/es/components/scrollbar/scrollbar.vue2.js +7 -7
  155. package/es/components/scrollbar/thumb.vue2.js +2 -2
  156. package/es/components/search/search.vue2.js +78 -76
  157. package/es/components/segmented/segmented.vue2.js +7 -7
  158. package/es/components/select/group-item.vue.js +2 -2
  159. package/es/components/select/option-item.vue.js +2 -2
  160. package/es/components/select/select.vue.js +1 -1
  161. package/es/components/select/useSelect.js +232 -231
  162. package/es/components/skeleton/skeleton-item.vue2.js +2 -2
  163. package/es/components/skeleton/skeleton.vue2.js +8 -8
  164. package/es/components/slider/button.vue2.js +2 -2
  165. package/es/components/slider/slider.vue2.js +1 -1
  166. package/es/components/space/space.js +1 -1
  167. package/es/components/statistic/statistic.vue2.js +17 -17
  168. package/es/components/steps/item.vue2.js +11 -11
  169. package/es/components/steps/steps.vue2.js +2 -2
  170. package/es/components/super-form/super-form-action.vue2.js +11 -11
  171. package/es/components/super-form/super-form-item.vue2.js +5 -4
  172. package/es/components/super-form/super-form.vue2.js +7 -7
  173. package/es/components/super-form/use/helper.js +12 -12
  174. package/es/components/super-form/use/use-form.js +8 -8
  175. package/es/components/switch/switch.vue2.js +1 -1
  176. package/es/components/table/field.js +34 -33
  177. package/es/components/table/table.vue2.js +154 -157
  178. package/es/components/table/use/use-data-source.js +90 -90
  179. package/es/components/tabs/tab-bar.vue2.js +2 -2
  180. package/es/components/tabs/tab-pane.vue2.js +6 -6
  181. package/es/components/teleport/teleport.vue2.js +2 -2
  182. package/es/components/time-picker/common/picker-range-trigger.vue2.js +2 -2
  183. package/es/components/time-picker/common/picker.vue2.js +8 -8
  184. package/es/components/time-picker/time-picker-com/basic-time-spinner.vue2.js +1 -1
  185. package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +66 -65
  186. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +134 -133
  187. package/es/components/time-select/time-select.vue2.js +3 -3
  188. package/es/components/timeline/timeline-item.vue2.js +1 -1
  189. package/es/components/tooltip/content.vue2.js +6 -6
  190. package/es/components/tooltip/tooltip.vue2.js +1 -1
  191. package/es/components/tooltip/trigger.vue2.js +2 -2
  192. package/es/components/transfer/transfer-panel.vue2.js +59 -58
  193. package/es/components/transfer/transfer.vue2.js +70 -69
  194. package/es/components/tree/tree-node.vue.js +1 -1
  195. package/es/components/tree/tree.vue2.js +60 -59
  196. package/es/components/upload/index.d.ts +3 -3
  197. package/es/components/upload/upload-content.vue.d.ts +2 -2
  198. package/es/components/upload/upload-content.vue2.js +76 -73
  199. package/es/components/upload/upload-dragger.vue2.js +2 -2
  200. package/es/components/upload/upload-list.vue2.js +46 -45
  201. package/es/components/upload/upload.vue.d.ts +2 -2
  202. package/es/components/upload/upload.vue2.js +87 -85
  203. package/es/components/upload/utils.js +29 -29
  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/constants/date.d.ts +1 -1
  207. package/es/constants/date.js +9 -1
  208. package/es/hooks/use-id/index.js +2 -2
  209. package/es/hooks/use-z-index/index.js +3 -3
  210. package/es/index.d.ts +1 -0
  211. package/es/index.js +43 -38
  212. package/es/locale/index.d.js +1 -0
  213. package/es/locale/index.d.ts +26 -0
  214. package/es/locale/index.js +10 -0
  215. package/es/locale/lang/en.d.ts +183 -0
  216. package/es/locale/lang/en.js +241 -0
  217. package/es/locale/lang/zh-cn.d.ts +183 -0
  218. package/es/locale/lang/zh-cn.js +241 -0
  219. package/es/locale/lang/zh-tw.d.ts +183 -0
  220. package/es/locale/lang/zh-tw.js +241 -0
  221. package/es/locale/use-locale.d.ts +17 -0
  222. package/es/locale/use-locale.js +56 -0
  223. package/es/package.json.d.ts +1 -1
  224. package/es/package.json.js +1 -1
  225. package/es/plugin.js +5 -3
  226. package/es/utils/helper.js +2 -2
  227. package/es/utils/ns-cover.js +1 -1
  228. package/es/utils/vue/vnode.js +4 -4
  229. package/lib/components/button/use-button.cjs +1 -1
  230. package/lib/components/cascader/cascader.vue2.cjs +1 -1
  231. package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
  232. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  233. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  234. package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
  235. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  236. package/lib/components/config-provider/constants.cjs +1 -1
  237. package/lib/components/config-provider/constants.d.ts +1 -0
  238. package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
  239. package/lib/components/config-provider/index.cjs +1 -1
  240. package/lib/components/config-provider/index.d.ts +9 -0
  241. package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
  242. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  243. package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
  244. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  245. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  246. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  247. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  248. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  249. package/lib/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  250. package/lib/components/dropdown/dropdown-item.vue.d.ts +1 -1
  251. package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
  252. package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
  253. package/lib/components/dropdown/index.d.ts +33 -33
  254. package/lib/components/empty/empty.vue2.cjs +1 -1
  255. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  256. package/lib/components/image/image.vue2.cjs +1 -1
  257. package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
  258. package/lib/components/index.cjs +1 -1
  259. package/lib/components/index.d.ts +1 -0
  260. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  261. package/lib/components/md-container/toc.cjs +1 -1
  262. package/lib/components/message-box/index.cjs +1 -0
  263. package/lib/components/message-box/index.d.ts +4 -0
  264. package/lib/components/message-box/message-box.vue.cjs +1 -0
  265. package/lib/components/message-box/message-box.vue.d.ts +103 -0
  266. package/lib/components/message-box/message-box.vue2.cjs +1 -0
  267. package/lib/components/message-box/method.cjs +1 -0
  268. package/lib/components/message-box/method.d.ts +3 -0
  269. package/lib/components/message-box/style/css.cjs +1 -0
  270. package/lib/components/message-box/style/css.d.ts +2 -0
  271. package/lib/components/message-box/style/index.cjs +1 -0
  272. package/lib/components/message-box/style/index.d.ts +2 -0
  273. package/lib/components/message-box/types.cjs +1 -0
  274. package/lib/components/message-box/types.d.ts +202 -0
  275. package/lib/components/modal/index.d.ts +1 -0
  276. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  277. package/lib/components/modal/modal.vue.d.ts +1 -0
  278. package/lib/components/modal/modal.vue2.cjs +1 -1
  279. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  280. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  281. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
  282. package/lib/components/search/search.vue2.cjs +1 -1
  283. package/lib/components/select/useSelect.cjs +1 -1
  284. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  285. package/lib/components/super-form/use/helper.cjs +1 -1
  286. package/lib/components/super-form/use/use-form.cjs +1 -1
  287. package/lib/components/table/field.cjs +1 -1
  288. package/lib/components/table/table.vue2.cjs +1 -1
  289. package/lib/components/table/use/use-data-source.cjs +1 -1
  290. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
  291. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  292. package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
  293. package/lib/components/transfer/transfer.vue2.cjs +1 -1
  294. package/lib/components/tree/tree.vue2.cjs +1 -1
  295. package/lib/components/upload/index.d.ts +3 -3
  296. package/lib/components/upload/upload-content.vue.d.ts +2 -2
  297. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  298. package/lib/components/upload/upload-list.vue2.cjs +1 -1
  299. package/lib/components/upload/upload.vue.d.ts +2 -2
  300. package/lib/components/upload/upload.vue2.cjs +1 -1
  301. package/lib/components/upload/utils.cjs +1 -1
  302. package/lib/constants/date.cjs +1 -1
  303. package/lib/constants/date.d.ts +1 -1
  304. package/lib/index.cjs +1 -1
  305. package/lib/index.d.ts +1 -0
  306. package/lib/locale/index.cjs +1 -0
  307. package/lib/locale/index.d.cjs +1 -0
  308. package/lib/locale/index.d.ts +26 -0
  309. package/lib/locale/lang/en.cjs +1 -0
  310. package/lib/locale/lang/en.d.ts +183 -0
  311. package/lib/locale/lang/zh-cn.cjs +1 -0
  312. package/lib/locale/lang/zh-cn.d.ts +183 -0
  313. package/lib/locale/lang/zh-tw.cjs +1 -0
  314. package/lib/locale/lang/zh-tw.d.ts +183 -0
  315. package/lib/locale/use-locale.cjs +1 -0
  316. package/lib/locale/use-locale.d.ts +17 -0
  317. package/lib/package.json.cjs +1 -1
  318. package/lib/package.json.d.ts +1 -1
  319. package/lib/plugin.cjs +1 -1
  320. package/package.json +2 -2
  321. package/theme-style/index.css +1 -1
  322. package/theme-style/src/super-form.scss +0 -1
  323. package/theme-style/src/table.scss +4 -0
  324. package/theme-style/vft-super-form.css +1 -1
  325. package/theme-style/vft-table.css +1 -1
  326. package/web-types.json +1 -1
@@ -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,4 @@
1
+ import f from "./message-box.vue2.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,358 @@
1
+ import { defineComponent as J, ref as p, reactive as se, computed as v, watch as F, nextTick as T, onMounted as ie, onBeforeUnmount as re, openBlock as u, createBlock as y, Transition as ue, withCtx as x, withDirectives as V, createVNode as w, unref as t, createElementVNode as c, normalizeClass as i, withModifiers as E, normalizeStyle as q, createElementBlock as R, createCommentVNode as g, toDisplayString as h, withKeys as M, renderSlot as ce, resolveDynamicComponent as Z, vShow as S, createTextVNode as W } from "vue";
2
+ import { VftButton as j } from "../button/index.js";
3
+ import de from "../focus-trap/focus-trap.vue.js";
4
+ import "../focus-trap/utils.js";
5
+ import { VftIcon as z } from "../icon/index.js";
6
+ import { VftInput as fe } from "../input/index.js";
7
+ import { VftOverlay as me } from "../overlay/index.js";
8
+ import "@vueuse/core";
9
+ import { isFunction as pe, isString as ve } from "@vft/utils";
10
+ import "../config-provider/hooks/use-global-config.js";
11
+ import "lodash-es";
12
+ import "../form/index.js";
13
+ import { useDraggable as ye } from "../../hooks/use-draggable/index.js";
14
+ import { useId as G } from "../../hooks/use-id/index.js";
15
+ import { useLockscreen as ge } from "../../hooks/use-lockscreen/index.js";
16
+ import "../../hooks/use-model-toggle/index.js";
17
+ import { useNamespace as Ce } from "../../hooks/use-namespace/index.js";
18
+ import "@popperjs/core";
19
+ import { useSameTarget as Be } from "../../hooks/use-same-target/index.js";
20
+ import { useZIndex as be } from "../../hooks/use-z-index/index.js";
21
+ const xe = ["aria-label", "aria-describedby"], we = ["id"], he = J({
22
+ name: "VftMessageBox",
23
+ inheritAttrs: !1
24
+ }), qe = /* @__PURE__ */ J({
25
+ ...he,
26
+ props: {
27
+ buttonSize: { default: "default" },
28
+ modal: { type: Boolean, default: !0 },
29
+ lockScroll: { type: Boolean, default: !0 },
30
+ showClose: { type: Boolean, default: !0 },
31
+ closeOnClickModal: { type: Boolean, default: !0 },
32
+ closeOnPressEscape: { type: Boolean, default: !0 },
33
+ closeOnHashChange: { type: Boolean, default: !0 },
34
+ center: { type: Boolean, default: !1 },
35
+ draggable: { type: Boolean, default: !1 },
36
+ overflow: { type: Boolean, default: !1 },
37
+ roundButton: { type: Boolean, default: !1 },
38
+ container: { default: "body" },
39
+ boxType: { default: "" }
40
+ },
41
+ emits: ["vanish", "action"],
42
+ setup(l, { expose: Q, emit: X }) {
43
+ const Y = X, L = {
44
+ primary: "icon-info-filled",
45
+ success: "icon-success-filled",
46
+ warning: "icon-warning-filled",
47
+ info: "icon-info-filled",
48
+ error: "icon-circle-close-filled"
49
+ }, a = Ce("message-box"), { nextZIndex: $ } = be(), d = p(!1), e = se({
50
+ autofocus: !0,
51
+ beforeClose: null,
52
+ callback: null,
53
+ cancelButtonText: "",
54
+ cancelButtonClass: "",
55
+ confirmButtonText: "",
56
+ confirmButtonClass: "",
57
+ cancelButtonType: "default",
58
+ confirmButtonType: "primary",
59
+ customClass: "",
60
+ customStyle: {},
61
+ dangerouslyUseHTMLString: !1,
62
+ distinguishCancelAndClose: !1,
63
+ icon: "",
64
+ closeIcon: "",
65
+ inputPattern: null,
66
+ inputPlaceholder: "",
67
+ inputType: "text",
68
+ inputValue: "",
69
+ inputValidator: void 0,
70
+ inputErrorMessage: "",
71
+ message: "",
72
+ modalFade: !0,
73
+ modalClass: "",
74
+ showCancelButton: !1,
75
+ showConfirmButton: !0,
76
+ type: "",
77
+ title: void 0,
78
+ showInput: !1,
79
+ action: "",
80
+ confirmButtonLoading: !1,
81
+ cancelButtonLoading: !1,
82
+ confirmButtonLoadingIcon: "icon-loading",
83
+ cancelButtonLoadingIcon: "icon-loading",
84
+ confirmButtonDisabled: !1,
85
+ editorErrorMessage: "",
86
+ validateError: !1,
87
+ zIndex: $()
88
+ }), D = G(), I = G(), O = v(() => {
89
+ const n = e.type;
90
+ return { [a.bm("icon", n)]: n && L[n] };
91
+ }), k = v(() => {
92
+ const n = e.type;
93
+ return e.icon || n && L[n] || "";
94
+ }), A = v(() => !!e.message), f = p(), H = p(), C = p(), B = p(), P = p(), K = v(() => l.buttonSize), _ = v(() => l.draggable), ee = v(() => l.overflow), { isDragging: te } = ye(
95
+ f,
96
+ H,
97
+ _,
98
+ ee
99
+ );
100
+ F(
101
+ () => e.inputValue,
102
+ async (n) => {
103
+ await T(), l.boxType === "prompt" && n && N();
104
+ },
105
+ { immediate: !0 }
106
+ ), F(
107
+ () => d.value,
108
+ (n) => {
109
+ n && (l.boxType !== "prompt" && (e.autofocus ? C.value = P.value?.$el ?? f.value : C.value = f.value), e.zIndex = $()), l.boxType === "prompt" && (n ? T().then(() => {
110
+ B.value && B.value.$el && (e.autofocus ? C.value = le() ?? f.value : C.value = f.value);
111
+ }) : (e.editorErrorMessage = "", e.validateError = !1));
112
+ }
113
+ ), ie(async () => {
114
+ await T(), l.closeOnHashChange && window.addEventListener("hashchange", b);
115
+ }), re(() => {
116
+ l.closeOnHashChange && window.removeEventListener("hashchange", b);
117
+ });
118
+ function b() {
119
+ d.value && (d.value = !1, T(() => {
120
+ e.action && Y("action", e.action);
121
+ }));
122
+ }
123
+ function oe() {
124
+ l.closeOnClickModal && r(e.distinguishCancelAndClose ? "close" : "cancel");
125
+ }
126
+ const m = Be(oe);
127
+ function ne(n) {
128
+ if (e.inputType !== "textarea" && !B.value?.isComposing)
129
+ return n.preventDefault(), r("confirm");
130
+ }
131
+ function r(n) {
132
+ l.boxType === "prompt" && n === "confirm" && !N() || (e.action = n, e.beforeClose ? e.beforeClose?.(n, e, b) : b());
133
+ }
134
+ function N() {
135
+ if (l.boxType === "prompt") {
136
+ const n = e.inputPattern;
137
+ if (n && !n.test(e.inputValue || ""))
138
+ return e.editorErrorMessage = e.inputErrorMessage || "输入的数据不合法!", e.validateError = !0, !1;
139
+ const o = e.inputValidator;
140
+ if (pe(o)) {
141
+ const s = o(e.inputValue);
142
+ if (s === !1)
143
+ return e.editorErrorMessage = e.inputErrorMessage || "输入的数据不合法!", e.validateError = !0, !1;
144
+ if (ve(s))
145
+ return e.editorErrorMessage = s, e.validateError = !0, !1;
146
+ }
147
+ }
148
+ return e.editorErrorMessage = "", e.validateError = !1, !0;
149
+ }
150
+ function le() {
151
+ const n = B.value?.$refs;
152
+ return n?.input ?? n?.textarea;
153
+ }
154
+ function U() {
155
+ r("close");
156
+ }
157
+ function ae() {
158
+ l.closeOnPressEscape && U();
159
+ }
160
+ return l.lockScroll && ge(d, { ns: a }), Q({
161
+ visible: d,
162
+ state: e,
163
+ doClose: b,
164
+ handleClose: U,
165
+ handleAction: r
166
+ }), (n, o) => (u(), y(ue, {
167
+ name: "fade-in-linear",
168
+ onAfterLeave: o[11] || (o[11] = (s) => n.$emit("vanish"))
169
+ }, {
170
+ default: x(() => [
171
+ V(w(t(me), {
172
+ "z-index": e.zIndex,
173
+ "overlay-class": [t(a).is("message-box"), e.modalClass],
174
+ mask: l.modal
175
+ }, {
176
+ default: x(() => [
177
+ c("div", {
178
+ role: "dialog",
179
+ "aria-label": e.title,
180
+ "aria-modal": "true",
181
+ "aria-describedby": e.showInput ? void 0 : t(D),
182
+ class: i(`${t(a).namespace.value}-overlay-message-box`),
183
+ onClick: o[8] || (o[8] = //@ts-ignore
184
+ (...s) => t(m).onClick && t(m).onClick(...s)),
185
+ onMousedown: o[9] || (o[9] = //@ts-ignore
186
+ (...s) => t(m).onMousedown && t(m).onMousedown(...s)),
187
+ onMouseup: o[10] || (o[10] = //@ts-ignore
188
+ (...s) => t(m).onMouseup && t(m).onMouseup(...s))
189
+ }, [
190
+ w(t(de), {
191
+ loop: "",
192
+ trapped: d.value,
193
+ "focus-trap-el": f.value,
194
+ "focus-start-el": C.value,
195
+ onReleaseRequested: ae
196
+ }, {
197
+ default: x(() => [
198
+ c("div", {
199
+ ref_key: "rootRef",
200
+ ref: f,
201
+ class: i([
202
+ t(a).b(),
203
+ e.customClass,
204
+ t(a).is("draggable", l.draggable),
205
+ t(a).is("dragging", t(te)),
206
+ { [t(a).m("center")]: l.center }
207
+ ]),
208
+ style: q(e.customStyle),
209
+ tabindex: "-1",
210
+ onClick: o[7] || (o[7] = E(() => {
211
+ }, ["stop"]))
212
+ }, [
213
+ e.title !== null && e.title !== void 0 ? (u(), R("div", {
214
+ key: 0,
215
+ ref_key: "headerRef",
216
+ ref: H,
217
+ class: i([t(a).e("header"), { "show-close": l.showClose }])
218
+ }, [
219
+ c("div", {
220
+ class: i(t(a).e("title"))
221
+ }, [
222
+ k.value && l.center ? (u(), y(t(z), {
223
+ key: 0,
224
+ icon: k.value,
225
+ class: i([t(a).e("status"), O.value])
226
+ }, null, 8, ["icon", "class"])) : g("", !0),
227
+ c("span", null, h(e.title), 1)
228
+ ], 2),
229
+ l.showClose ? (u(), R("button", {
230
+ key: 0,
231
+ type: "button",
232
+ class: i(t(a).e("headerbtn")),
233
+ "aria-label": "close",
234
+ onClick: o[0] || (o[0] = (s) => r(
235
+ e.distinguishCancelAndClose ? "close" : "cancel"
236
+ )),
237
+ onKeydown: o[1] || (o[1] = M(E((s) => r(
238
+ e.distinguishCancelAndClose ? "close" : "cancel"
239
+ ), ["prevent"]), ["enter"]))
240
+ }, [
241
+ w(t(z), {
242
+ icon: e.closeIcon || "icon-close",
243
+ class: i(t(a).e("close"))
244
+ }, null, 8, ["icon", "class"])
245
+ ], 34)) : g("", !0)
246
+ ], 2)) : g("", !0),
247
+ c("div", {
248
+ id: t(D),
249
+ class: i(t(a).e("content"))
250
+ }, [
251
+ c("div", {
252
+ class: i(t(a).e("container"))
253
+ }, [
254
+ k.value && !l.center && A.value ? (u(), y(t(z), {
255
+ key: 0,
256
+ icon: k.value,
257
+ class: i([t(a).e("status"), O.value])
258
+ }, null, 8, ["icon", "class"])) : g("", !0),
259
+ A.value ? (u(), R("div", {
260
+ key: 1,
261
+ class: i(t(a).e("message"))
262
+ }, [
263
+ ce(n.$slots, "default", {}, () => [
264
+ e.dangerouslyUseHTMLString ? (u(), y(Z(e.showInput ? "label" : "p"), {
265
+ key: 1,
266
+ for: e.showInput ? t(I) : void 0,
267
+ innerHTML: e.message
268
+ }, null, 8, ["for", "innerHTML"])) : (u(), y(Z(e.showInput ? "label" : "p"), {
269
+ key: 0,
270
+ for: e.showInput ? t(I) : void 0,
271
+ textContent: h(e.message)
272
+ }, null, 8, ["for", "textContent"]))
273
+ ])
274
+ ], 2)) : g("", !0)
275
+ ], 2),
276
+ V(c("div", {
277
+ class: i(t(a).e("input"))
278
+ }, [
279
+ w(t(fe), {
280
+ id: t(I),
281
+ ref_key: "inputRef",
282
+ ref: B,
283
+ modelValue: e.inputValue,
284
+ "onUpdate:modelValue": o[2] || (o[2] = (s) => e.inputValue = s),
285
+ type: e.inputType,
286
+ placeholder: e.inputPlaceholder,
287
+ "aria-invalid": e.validateError,
288
+ class: i({ invalid: e.validateError }),
289
+ onKeydown: M(ne, ["enter"])
290
+ }, null, 8, ["id", "modelValue", "type", "placeholder", "aria-invalid", "class"]),
291
+ c("div", {
292
+ class: i(t(a).e("errormsg")),
293
+ style: q({
294
+ visibility: e.editorErrorMessage ? "visible" : "hidden"
295
+ })
296
+ }, h(e.editorErrorMessage), 7)
297
+ ], 2), [
298
+ [S, e.showInput]
299
+ ])
300
+ ], 10, we),
301
+ c("div", {
302
+ class: i(t(a).e("btns"))
303
+ }, [
304
+ e.showCancelButton ? (u(), y(t(j), {
305
+ key: 0,
306
+ type: e.cancelButtonType === "text" ? "default" : e.cancelButtonType,
307
+ text: e.cancelButtonType === "text",
308
+ loading: e.cancelButtonLoading,
309
+ class: i([e.cancelButtonClass]),
310
+ round: l.roundButton,
311
+ size: K.value,
312
+ onClick: o[3] || (o[3] = (s) => r("cancel")),
313
+ onKeydown: o[4] || (o[4] = M(E((s) => r("cancel"), ["prevent"]), ["enter"]))
314
+ }, {
315
+ default: x(() => [
316
+ W(h(e.cancelButtonText || "取消"), 1)
317
+ ]),
318
+ _: 1
319
+ }, 8, ["type", "text", "loading", "class", "round", "size"])) : g("", !0),
320
+ V(w(t(j), {
321
+ ref_key: "confirmRef",
322
+ ref: P,
323
+ type: e.confirmButtonType === "text" ? "default" : e.confirmButtonType,
324
+ text: e.confirmButtonType === "text",
325
+ loading: e.confirmButtonLoading,
326
+ class: i([e.confirmButtonClass]),
327
+ round: l.roundButton,
328
+ disabled: e.confirmButtonDisabled,
329
+ size: K.value,
330
+ onClick: o[5] || (o[5] = (s) => r("confirm")),
331
+ onKeydown: o[6] || (o[6] = M(E((s) => r("confirm"), ["prevent"]), ["enter"]))
332
+ }, {
333
+ default: x(() => [
334
+ W(h(e.confirmButtonText || "确定"), 1)
335
+ ]),
336
+ _: 1
337
+ }, 8, ["type", "text", "loading", "class", "round", "disabled", "size"]), [
338
+ [S, e.showConfirmButton]
339
+ ])
340
+ ], 2)
341
+ ], 6)
342
+ ]),
343
+ _: 3
344
+ }, 8, ["trapped", "focus-trap-el", "focus-start-el"])
345
+ ], 42, xe)
346
+ ]),
347
+ _: 3
348
+ }, 8, ["z-index", "overlay-class", "mask"]), [
349
+ [S, d.value]
350
+ ])
351
+ ]),
352
+ _: 3
353
+ }));
354
+ }
355
+ });
356
+ export {
357
+ qe as default
358
+ };
@@ -0,0 +1,3 @@
1
+ import type { IMessageBox } from './types';
2
+ declare const _default: IMessageBox;
3
+ export default _default;
@@ -0,0 +1,101 @@
1
+ import { isString as g, hasOwn as u, isFunction as d, isElement as f, isObject as p, isUndefined as C } from "@vft/utils";
2
+ import { isClient as b } from "@vueuse/core";
3
+ import { debugWarn as A } from "../../utils/error.js";
4
+ import "../config-provider/hooks/use-global-config.js";
5
+ import { isVNode as h, render as E, createVNode as O } from "vue";
6
+ import "lodash-es";
7
+ import "../form/index.js";
8
+ import T from "./message-box.vue2.js";
9
+ const a = /* @__PURE__ */ new Map(), _ = (e) => {
10
+ let n = document.body;
11
+ return e.appendTo && (g(e.appendTo) && (n = document.querySelector(e.appendTo)), f(e.appendTo) && (n = e.appendTo), f(n) || (A(
12
+ "VftMessageBox",
13
+ "the appendTo option is not an HTMLElement. Falling back to document.body."
14
+ ), n = document.body)), n;
15
+ }, i = (e, n) => {
16
+ const c = e.component?.proxy;
17
+ return () => c.handleAction(n);
18
+ }, v = (e, n, c = null) => {
19
+ const l = O(
20
+ T,
21
+ e,
22
+ d(e.message) || h(e.message) ? {
23
+ default: d(e.message) ? () => e.message({
24
+ confirm: i(l, "confirm"),
25
+ cancel: i(l, "cancel"),
26
+ close: i(l, "close")
27
+ }) : () => e.message
28
+ } : null
29
+ );
30
+ return l.appContext = c, E(l, n), _(e).appendChild(n.firstElementChild), l.component;
31
+ }, M = () => document.createElement("div"), w = (e, n) => {
32
+ const c = M();
33
+ e.onVanish = () => {
34
+ E(null, c), a.delete(s);
35
+ }, e.onAction = (t) => {
36
+ const m = a.get(s);
37
+ let o;
38
+ e.showInput ? o = { value: s.state.inputValue, action: t } : o = t, e.callback ? e.callback(o, l.proxy) : t === "cancel" || t === "close" ? e.distinguishCancelAndClose && t !== "cancel" ? m.reject("close") : m.reject("cancel") : m.resolve(o);
39
+ };
40
+ const l = v(e, c, n), s = l.proxy;
41
+ for (const t in e)
42
+ u(e, t) && !u(s.$props, t) && (s.state[t] = e[t]);
43
+ return s.visible = !0, s;
44
+ };
45
+ function r(e, n = null) {
46
+ if (!b) return Promise.reject();
47
+ let c;
48
+ return g(e) || h(e) ? e = {
49
+ message: e
50
+ } : c = e.callback, new Promise((l, s) => {
51
+ const t = w(
52
+ e,
53
+ n ?? r._context
54
+ );
55
+ a.set(t, {
56
+ options: e,
57
+ callback: c,
58
+ resolve: l,
59
+ reject: s
60
+ });
61
+ });
62
+ }
63
+ const x = ["alert", "confirm", "prompt"], S = {
64
+ alert: { closeOnPressEscape: !1, closeOnClickModal: !1 },
65
+ confirm: { showCancelButton: !0 },
66
+ prompt: { showCancelButton: !0, showInput: !0 }
67
+ };
68
+ x.forEach((e) => {
69
+ r[e] = y(
70
+ e
71
+ );
72
+ });
73
+ function y(e) {
74
+ return (n, c, l, s) => {
75
+ let t = "";
76
+ return p(c) ? (l = c, t = "") : C(c) ? t = "" : t = c, r(
77
+ Object.assign(
78
+ {
79
+ title: t,
80
+ message: n,
81
+ type: "",
82
+ ...S[e]
83
+ },
84
+ l,
85
+ {
86
+ boxType: e
87
+ }
88
+ ),
89
+ s
90
+ );
91
+ };
92
+ }
93
+ r.close = () => {
94
+ a.forEach((e, n) => {
95
+ n.doClose();
96
+ }), a.clear();
97
+ };
98
+ r._context = null;
99
+ export {
100
+ r as default
101
+ };
@@ -0,0 +1,2 @@
1
+ import 'vft/theme-style/vft-message-box.css';
2
+ import 'vft/es/components/overlay/style/css';
@@ -0,0 +1,3 @@
1
+ import "vft/theme-style/base.css";
2
+ import "vft/theme-style/vft-message-box.css";
3
+ import "vft/theme-style/vft-overlay.css";
@@ -0,0 +1,2 @@
1
+ import 'vft/theme-style/src/message-box.scss';
2
+ import 'vft/es/components/overlay/style';
@@ -0,0 +1,3 @@
1
+ import "vft/theme-style/src/base.scss";
2
+ import "vft/theme-style/src/message-box.scss";
3
+ import "vft/theme-style/src/overlay.scss";