vft 0.0.509 → 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 (285) 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/cascader/cascader.vue2.js +2 -2
  17. package/es/components/cascader-panel/index.vue2.js +1 -1
  18. package/es/components/cascader-panel/menu.vue2.js +6 -6
  19. package/es/components/cascader-panel/node.vue2.js +8 -8
  20. package/es/components/check-tag/check-tag.vue2.js +2 -2
  21. package/es/components/checkbox/checkbox-button.vue2.js +13 -13
  22. package/es/components/checkbox/checkbox-group.vue2.js +3 -3
  23. package/es/components/checkbox/checkbox.vue2.js +1 -1
  24. package/es/components/clamp/clamp.vue2.js +2 -2
  25. package/es/components/clamp-toggle/clamp-toggle.vue2.js +4 -4
  26. package/es/components/clamp-tooltip/clamp-tooltip.vue2.js +6 -6
  27. package/es/components/col/col.vue2.js +2 -2
  28. package/es/components/collapse/collapse-item.vue2.js +2 -2
  29. package/es/components/collapse/collapse.vue2.js +2 -2
  30. package/es/components/collapse-transition/collapse-transition.vue2.js +2 -2
  31. package/es/components/color-picker/color-picker.vue2.js +2 -2
  32. package/es/components/color-picker/components/alpha-slider.vue2.js +2 -2
  33. package/es/components/color-picker/components/hue-slider.vue.js +2 -2
  34. package/es/components/color-picker/components/predefine.vue.js +3 -3
  35. package/es/components/color-picker/components/sv-panel.vue.js +2 -2
  36. package/es/components/config-provider/config-provider.vue2.js +2 -2
  37. package/es/components/config-provider/hooks/use-global-config.js +3 -3
  38. package/es/components/container/aside.vue2.js +2 -2
  39. package/es/components/container/container.vue2.js +2 -2
  40. package/es/components/container/footer.vue2.js +2 -2
  41. package/es/components/container/header.vue2.js +2 -2
  42. package/es/components/container/main.vue2.js +2 -2
  43. package/es/components/context-menu/context-menu.vue2.js +1 -1
  44. package/es/components/countdown/countdown.vue2.js +2 -2
  45. package/es/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  46. package/es/components/date-picker/composables/use-basic-date-table.js +115 -115
  47. package/es/components/date-picker/composables/use-month-range-header.js +1 -1
  48. package/es/components/date-picker/composables/use-panel-date-range.js +1 -1
  49. package/es/components/date-picker/date-picker-com/basic-date-table.vue2.js +6 -6
  50. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +5 -5
  51. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +5 -5
  52. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +12 -12
  53. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +3 -3
  54. package/es/components/date-picker/date-picker-com/panel-month-range.vue2.js +12 -12
  55. package/es/components/date-picker/date-picker-com/panel-year-range.vue2.js +12 -12
  56. package/es/components/date-picker/props/basic-date-table.js +3 -3
  57. package/es/components/date-picker/props/basic-month-table.js +3 -3
  58. package/es/components/date-picker/props/basic-year-table.js +3 -3
  59. package/es/components/date-time-select/date-time-select.vue2.js +1 -1
  60. package/es/components/descriptions/description.vue2.js +1 -1
  61. package/es/components/descriptions/descriptions-row.vue2.js +10 -10
  62. package/es/components/dialog/dialog-content.vue2.js +3 -3
  63. package/es/components/dialog/dialog.vue2.js +5 -5
  64. package/es/components/divider/divider.vue2.js +5 -5
  65. package/es/components/drawer/drawer.vue2.js +4 -4
  66. package/es/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  67. package/es/components/dropdown/dropdown-item-impl.vue2.js +3 -3
  68. package/es/components/dropdown/dropdown-item.vue.d.ts +1 -1
  69. package/es/components/dropdown/dropdown-item.vue2.js +2 -2
  70. package/es/components/dropdown/dropdown-menu.vue2.js +2 -2
  71. package/es/components/dropdown/dropdown.vue.d.ts +1 -1
  72. package/es/components/dropdown/dropdown.vue2.js +5 -5
  73. package/es/components/dropdown/index.d.ts +33 -33
  74. package/es/components/empty/empty.vue2.js +6 -6
  75. package/es/components/footer-layout/footer-layout.vue2.js +2 -2
  76. package/es/components/form/form-item.vue2.js +16 -16
  77. package/es/components/form/form.vue2.js +2 -2
  78. package/es/components/full-screen/full-screen.vue2.js +3 -3
  79. package/es/components/header-layout/header-layout.vue2.js +1 -1
  80. package/es/components/horizontal-menu/horizontal-menu.vue2.js +3 -3
  81. package/es/components/icon/icon.vue2.js +3 -3
  82. package/es/components/icon-text/icon-text.vue2.js +1 -1
  83. package/es/components/iframe-layout/iframe-layout.vue2.js +4 -4
  84. package/es/components/iframe-layout/iframe-page.vue2.js +2 -2
  85. package/es/components/image/image.vue2.js +2 -2
  86. package/es/components/image-viewer/image-viewer.vue2.js +7 -7
  87. package/es/components/index.d.ts +1 -0
  88. package/es/components/index.js +206 -203
  89. package/es/components/input/input.vue2.js +6 -6
  90. package/es/components/input-number/input-number.vue2.js +4 -4
  91. package/es/components/input-tag/input-tag.vue2.js +7 -7
  92. package/es/components/link/link.vue2.js +1 -1
  93. package/es/components/list-cell/list-cell.vue2.js +1 -1
  94. package/es/components/logo/logo.vue2.js +10 -10
  95. package/es/components/md-comment/md-comment.vue2.js +2 -2
  96. package/es/components/md-container/md-container.vue2.js +2 -2
  97. package/es/components/md-container/toc.js +1 -1
  98. package/es/components/menu/menu-collapse-transition.vue.js +2 -2
  99. package/es/components/menu/menu-item-group.vue2.js +7 -7
  100. package/es/components/menu/menu-item.vue2.js +1 -1
  101. package/es/components/message/message.vue2.js +3 -3
  102. package/es/components/message-box/index.d.ts +4 -0
  103. package/es/components/message-box/index.js +14 -0
  104. package/es/components/message-box/message-box.vue.d.ts +103 -0
  105. package/es/components/message-box/message-box.vue.js +4 -0
  106. package/es/components/message-box/message-box.vue2.js +358 -0
  107. package/es/components/message-box/method.d.ts +3 -0
  108. package/es/components/message-box/method.js +101 -0
  109. package/es/components/message-box/style/css.d.ts +2 -0
  110. package/es/components/message-box/style/css.js +3 -0
  111. package/es/components/message-box/style/index.d.ts +2 -0
  112. package/es/components/message-box/style/index.js +3 -0
  113. package/es/components/message-box/types.d.ts +202 -0
  114. package/es/components/message-box/types.js +1 -0
  115. package/es/components/modal/index.d.ts +1 -0
  116. package/es/components/modal/modal-footer-action.vue2.js +11 -11
  117. package/es/components/modal/modal.vue.d.ts +1 -0
  118. package/es/components/modal/modal.vue2.js +30 -28
  119. package/es/components/multiple-tabs/multiple-tabs.vue2.js +1 -1
  120. package/es/components/multiple-tabs/tab-content.vue2.js +2 -2
  121. package/es/components/multiple-tabs/use/use-tab-dropdown.js +1 -1
  122. package/es/components/notification/notification.vue2.js +1 -1
  123. package/es/components/overlay/overlay.vue2.js +1 -1
  124. package/es/components/page-wrapper/page-wrapper.vue2.js +2 -2
  125. package/es/components/pagination/components/jumper.vue2.js +28 -29
  126. package/es/components/pagination/components/next.vue2.js +4 -4
  127. package/es/components/pagination/components/pager.vue2.js +1 -1
  128. package/es/components/pagination/components/prev.vue2.js +4 -4
  129. package/es/components/pagination/components/sizes.vue2.js +20 -21
  130. package/es/components/pagination/components/total.vue2.js +10 -11
  131. package/es/components/popconfirm/popconfirm.vue2.js +4 -4
  132. package/es/components/popover/popover.vue2.js +1 -1
  133. package/es/components/popper/arrow.vue2.js +2 -2
  134. package/es/components/popper/content.vue2.js +2 -2
  135. package/es/components/popper/trigger.vue2.js +4 -4
  136. package/es/components/progress/progress.vue2.js +1 -1
  137. package/es/components/progress-i/progress-i.vue2.js +2 -2
  138. package/es/components/qrcode/qrcode.vue2.js +1 -1
  139. package/es/components/radio/radio-button.vue2.js +2 -2
  140. package/es/components/radio/radio-group.vue2.js +3 -3
  141. package/es/components/radio/radio.vue2.js +2 -2
  142. package/es/components/rate/rate.vue2.js +6 -6
  143. package/es/components/router-view-content/router-view-content.vue2.js +7 -7
  144. package/es/components/roving-focus-group/roving-focus-group.vue2.js +2 -2
  145. package/es/components/roving-focus-group/roving-focus-item.vue2.js +2 -2
  146. package/es/components/row/row.vue2.js +2 -2
  147. package/es/components/scrollbar/bar.vue2.js +2 -2
  148. package/es/components/scrollbar/scrollbar.vue2.js +7 -7
  149. package/es/components/scrollbar/thumb.vue2.js +2 -2
  150. package/es/components/search/search.vue2.js +8 -8
  151. package/es/components/segmented/segmented.vue2.js +7 -7
  152. package/es/components/select/group-item.vue.js +2 -2
  153. package/es/components/select/option-item.vue.js +2 -2
  154. package/es/components/select/select.vue.js +1 -1
  155. package/es/components/select/useSelect.js +1 -1
  156. package/es/components/skeleton/skeleton-item.vue2.js +2 -2
  157. package/es/components/skeleton/skeleton.vue2.js +8 -8
  158. package/es/components/slider/button.vue2.js +2 -2
  159. package/es/components/slider/slider.vue2.js +1 -1
  160. package/es/components/space/space.js +1 -1
  161. package/es/components/statistic/statistic.vue2.js +17 -17
  162. package/es/components/steps/item.vue2.js +11 -11
  163. package/es/components/steps/steps.vue2.js +2 -2
  164. package/es/components/super-form/super-form-action.vue2.js +47 -48
  165. package/es/components/super-form/super-form-item.vue2.js +204 -206
  166. package/es/components/super-form/super-form.vue2.js +7 -7
  167. package/es/components/super-form/use/helper.d.ts +1 -1
  168. package/es/components/super-form/use/helper.js +63 -63
  169. package/es/components/super-form/use/use-form.js +8 -8
  170. package/es/components/switch/switch.vue2.js +1 -1
  171. package/es/components/table/field.js +111 -130
  172. package/es/components/table/table.vue2.js +128 -133
  173. package/es/components/table/use/use-columns.js +26 -29
  174. package/es/components/table/use/use-data-source.js +59 -60
  175. package/es/components/tabs/tab-bar.vue2.js +2 -2
  176. package/es/components/tabs/tab-pane.vue2.js +6 -6
  177. package/es/components/teleport/teleport.vue2.js +2 -2
  178. package/es/components/time-picker/common/picker-range-trigger.vue2.js +2 -2
  179. package/es/components/time-picker/common/picker.vue2.js +8 -8
  180. package/es/components/time-picker/time-picker-com/basic-time-spinner.vue2.js +1 -1
  181. package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +4 -4
  182. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +4 -4
  183. package/es/components/time-select/time-select.vue2.js +3 -3
  184. package/es/components/timeline/timeline-item.vue2.js +1 -1
  185. package/es/components/tooltip/content.vue2.js +6 -6
  186. package/es/components/tooltip/tooltip.vue2.js +1 -1
  187. package/es/components/tooltip/trigger.vue2.js +2 -2
  188. package/es/components/transfer/transfer-panel.vue2.js +8 -8
  189. package/es/components/transfer/transfer.vue2.js +5 -5
  190. package/es/components/tree/tree-node.vue.js +1 -1
  191. package/es/components/tree/tree.vue2.js +7 -7
  192. package/es/components/upload/upload-content.vue2.js +8 -8
  193. package/es/components/upload/upload-dragger.vue2.js +2 -2
  194. package/es/components/upload/upload-list.vue2.js +2 -2
  195. package/es/components/upload/upload.vue2.js +20 -20
  196. package/es/components/verify-code/verify-code.vue2.js +2 -2
  197. package/es/components/watermark/watermark.vue2.js +2 -2
  198. package/es/hooks/use-id/index.js +2 -2
  199. package/es/index.js +40 -39
  200. package/es/locale/index.js +6 -6
  201. package/es/package.json.d.ts +1 -1
  202. package/es/package.json.js +1 -1
  203. package/es/plugin.js +5 -3
  204. package/es/utils/helper.js +2 -2
  205. package/es/utils/ns-cover.js +1 -1
  206. package/es/utils/vue/vnode.js +3 -3
  207. package/lib/components/button/use-button.cjs +1 -1
  208. package/lib/components/cascader/cascader.vue2.cjs +1 -1
  209. package/lib/components/cascader-panel/menu.vue2.cjs +2 -2
  210. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  211. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  212. package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
  213. package/lib/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  214. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  215. package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
  216. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  217. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  218. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  219. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  220. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  221. package/lib/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  222. package/lib/components/dropdown/dropdown-item.vue.d.ts +1 -1
  223. package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
  224. package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
  225. package/lib/components/dropdown/index.d.ts +33 -33
  226. package/lib/components/empty/empty.vue2.cjs +1 -1
  227. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  228. package/lib/components/image/image.vue2.cjs +1 -1
  229. package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
  230. package/lib/components/index.cjs +1 -1
  231. package/lib/components/index.d.ts +1 -0
  232. package/lib/components/input/input.vue2.cjs +1 -1
  233. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  234. package/lib/components/md-container/toc.cjs +1 -1
  235. package/lib/components/message-box/index.cjs +1 -0
  236. package/lib/components/message-box/index.d.ts +4 -0
  237. package/lib/components/message-box/message-box.vue.cjs +1 -0
  238. package/lib/components/message-box/message-box.vue.d.ts +103 -0
  239. package/lib/components/message-box/message-box.vue2.cjs +1 -0
  240. package/lib/components/message-box/method.cjs +1 -0
  241. package/lib/components/message-box/method.d.ts +3 -0
  242. package/lib/components/message-box/style/css.cjs +1 -0
  243. package/lib/components/message-box/style/css.d.ts +2 -0
  244. package/lib/components/message-box/style/index.cjs +1 -0
  245. package/lib/components/message-box/style/index.d.ts +2 -0
  246. package/lib/components/message-box/types.cjs +1 -0
  247. package/lib/components/message-box/types.d.ts +202 -0
  248. package/lib/components/modal/index.d.ts +1 -0
  249. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  250. package/lib/components/modal/modal.vue.d.ts +1 -0
  251. package/lib/components/modal/modal.vue2.cjs +1 -1
  252. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  253. package/lib/components/pagination/components/jumper.vue2.cjs +1 -1
  254. package/lib/components/pagination/components/sizes.vue2.cjs +1 -1
  255. package/lib/components/pagination/components/total.vue2.cjs +1 -1
  256. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
  257. package/lib/components/search/search.vue2.cjs +1 -1
  258. package/lib/components/select/useSelect.cjs +1 -1
  259. package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
  260. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  261. package/lib/components/super-form/use/helper.cjs +1 -1
  262. package/lib/components/super-form/use/helper.d.ts +1 -1
  263. package/lib/components/super-form/use/use-form.cjs +1 -1
  264. package/lib/components/table/field.cjs +1 -1
  265. package/lib/components/table/table.vue2.cjs +1 -1
  266. package/lib/components/table/use/use-columns.cjs +1 -1
  267. package/lib/components/table/use/use-data-source.cjs +1 -1
  268. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
  269. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  270. package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
  271. package/lib/components/transfer/transfer.vue2.cjs +1 -1
  272. package/lib/components/tree/tree.vue2.cjs +1 -1
  273. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  274. package/lib/components/upload/upload-list.vue2.cjs +1 -1
  275. package/lib/components/upload/upload.vue2.cjs +1 -1
  276. package/lib/index.cjs +1 -1
  277. package/lib/locale/index.cjs +1 -1
  278. package/lib/package.json.cjs +1 -1
  279. package/lib/package.json.d.ts +1 -1
  280. package/lib/plugin.cjs +1 -1
  281. package/package.json +2 -2
  282. package/theme-style/index.css +1 -1
  283. package/theme-style/src/table.scss +4 -0
  284. package/theme-style/vft-table.css +1 -1
  285. package/web-types.json +1 -1
@@ -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=>{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(),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:"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"),f=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},m=(e,n)=>{const c=e.component?.proxy;return()=>c.handleAction(n)},v=(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:m(s,"confirm"),cancel:m(s,"cancel"),close:m(s,"close")}):()=>e.message}:null);return s.appContext=c,o.render(s,n),h(e).appendChild(n.firstElementChild),s.component},E=()=>document.createElement("div"),b=(e,n)=>{const c=E();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=v(e,c,n),l=s.proxy;for(const t in e)r.hasOwn(e,t)&&!r.hasOwn(l.$props,t)&&(l.state[t]=e[t]);return l.visible=!0,l};function a(e,n=null){if(!f.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=b(e,n??a._context);u.set(t,{options:e,callback:c,resolve:s,reject:l})})}const O=["alert","confirm","prompt"],C={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};O.forEach(e=>{a[e]=M(e)});function M(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:"",...C[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 @@
1
+ "use strict";
@@ -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"),a=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 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.default(),c=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(c.value)),{default:e.withCtx(()=>[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(i.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(i.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,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.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 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.default(),s=p.reactive({current:null,currentIndex:0}),t=u.useMultipleTabStore(),{refreshPage:f,closeAll:h,close:b,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:()=>f(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:()=>b(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:()=>h()},{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 +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;
@@ -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 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.default(),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 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),A=require("../input/index.cjs"),D=require("../popover/index.cjs");require("@vueuse/core");require("@vft/utils");const i=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const K=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"),T=require("@vft/directives"),G=e.defineComponent({name:"vft-search"}),J=e.defineComponent({...G,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},id:{},size:{},disabled:{type:Boolean},modelValue:{default:""},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean,default:!0},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(t,{expose:h,emit:C}){const{t:y}=H.useLocale(),n=C,r=K.useNamespace("search"),k=e.computed(()=>t.placeholder||y("vft.search.placeholder")),f=e.ref(),p=e.ref(),u=e.ref(),s=e.ref(!1),d=e.ref(!1),l=e.ref(!1),w=e.computed(()=>m.generateCssVars({width:t.activeWidth&&(l.value||t.modelValue)?i.addUnit(t.activeWidth):i.addUnit(t.width)},"input")),V=e.computed(()=>m.generateCssVars({"active-width":t.activeWidth?i.addUnit(t.activeWidth):i.addUnit(t.width)},"search")),B=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top",placement:"bottom-start",offset:3,width:500,...t.popoverCfg})),g=o=>{n("update:modelValue",o),n("input",o)},b=()=>{c()};function x(){l.value=!0}function c(){l.value=!1}const S=()=>{n("clear"),a(!1)};function q(){d.value=!0,n("mouseenter",t.modelValue)}function P(){d.value=!1,n("mouseleave",t.modelValue)}const $=()=>{l.value=!0,s.value=!0,n("focus")};function R(){s.value=!1,n("blur")}function E(){a(),n("prefixClick",t.modelValue)}function U(){a(),n("suffixClick",t.modelValue)}function z(){a(),n("enter",t.modelValue)}function a(o=!0){t.usePopover&&c(),o&&u.value.blur()}const M=o=>{n("keydown",o)},W=e.computed(()=>f.value?.popperRef?.contentRef),I=o=>{n("update:modelValue",o)},O=o=>{n("change",o)},F=o=>{n("compositionstart",o)},L=o=>{n("compositionupdate",o)},N=o=>{n("compositionend",o)};return h({isFocus:s,isHover:d,visible:l,hidePopover:c,showPopover:x,inputRef:u}),(o,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:p,class:e.normalizeClass([e.unref(r).b(),e.unref(r).is("active",!!l.value||!!t.modelValue)]),style:e.normalizeStyle(V.value)},[e.createVNode(e.unref(A.VftInput),e.mergeProps({ref_key:"inputRef",ref:u},o.$props,{placeholder:k.value,"input-style":w.value,onInput:g,onFocus:$,onEnter:z,onBlur:R,onMouseenter:q,"onUpdate:modelValue":I,onMouseleave:P,onPrefixClick:E,onSuffixClick:U,onChange:O,onKeydown:M,onClear:S,onCompositionstart:F,onCompositionupdate:L,onCompositionend:N}),e.createSlots({_:2},[o.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"prefix")]),key:"0"}:void 0,o.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"suffix")]),key:"1"}:void 0,o.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"prepend")]),key:"2"}:void 0,o.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"append")]),key:"3"}:void 0]),1040,["placeholder","input-style"])],6)),[[e.unref(T.ClickOutside),b,W.value]]),t.usePopover?(e.openBlock(),e.createBlock(e.unref(D.VftPopover),e.mergeProps({key:0,style:{"--vft-transition-duration":"3s"},ref_key:"popoverRef",ref:f},B.value,{"virtual-ref":p.value,visible:l.value,"onUpdate:visible":v[0]||(v[0]=j=>l.value=j),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(r).e("content"))},[e.renderSlot(o.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=J;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),A=require("../input/index.cjs"),D=require("../popover/index.cjs");require("@vueuse/core");require("@vft/utils");const i=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const K=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"),T=require("@vft/directives"),G=e.defineComponent({name:"vft-search"}),J=e.defineComponent({...G,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},id:{},size:{},disabled:{type:Boolean},modelValue:{default:""},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean,default:!0},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(o,{expose:h,emit:C}){const{t:y}=H.default(),n=C,r=K.useNamespace("search"),k=e.computed(()=>o.placeholder||y("vft.search.placeholder")),f=e.ref(),p=e.ref(),u=e.ref(),s=e.ref(!1),d=e.ref(!1),l=e.ref(!1),w=e.computed(()=>m.generateCssVars({width:o.activeWidth&&(l.value||o.modelValue)?i.addUnit(o.activeWidth):i.addUnit(o.width)},"input")),V=e.computed(()=>m.generateCssVars({"active-width":o.activeWidth?i.addUnit(o.activeWidth):i.addUnit(o.width)},"search")),B=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top",placement:"bottom-start",offset:3,width:500,...o.popoverCfg})),g=t=>{n("update:modelValue",t),n("input",t)},b=()=>{c()};function x(){l.value=!0}function c(){l.value=!1}const S=()=>{n("clear"),a(!1)};function q(){d.value=!0,n("mouseenter",o.modelValue)}function P(){d.value=!1,n("mouseleave",o.modelValue)}const $=()=>{l.value=!0,s.value=!0,n("focus")};function R(){s.value=!1,n("blur")}function E(){a(),n("prefixClick",o.modelValue)}function U(){a(),n("suffixClick",o.modelValue)}function z(){a(),n("enter",o.modelValue)}function a(t=!0){o.usePopover&&c(),t&&u.value.blur()}const M=t=>{n("keydown",t)},W=e.computed(()=>f.value?.popperRef?.contentRef),I=t=>{n("update:modelValue",t)},O=t=>{n("change",t)},F=t=>{n("compositionstart",t)},N=t=>{n("compositionupdate",t)},j=t=>{n("compositionend",t)};return h({isFocus:s,isHover:d,visible:l,hidePopover:c,showPopover:x,inputRef:u}),(t,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:p,class:e.normalizeClass([e.unref(r).b(),e.unref(r).is("active",!!l.value||!!o.modelValue)]),style:e.normalizeStyle(V.value)},[e.createVNode(e.unref(A.VftInput),e.mergeProps({ref_key:"inputRef",ref:u},t.$props,{placeholder:k.value,"input-style":w.value,onInput:g,onFocus:$,onEnter:z,onBlur:R,onMouseenter:q,"onUpdate:modelValue":I,onMouseleave:P,onPrefixClick:E,onSuffixClick:U,onChange:O,onKeydown:M,onClear:S,onCompositionstart:F,onCompositionupdate:N,onCompositionend:j}),e.createSlots({_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0,t.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"suffix")]),key:"1"}:void 0,t.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prepend")]),key:"2"}:void 0,t.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"append")]),key:"3"}:void 0]),1040,["placeholder","input-style"])],6)),[[e.unref(T.ClickOutside),b,W.value]]),o.usePopover?(e.openBlock(),e.createBlock(e.unref(D.VftPopover),e.mergeProps({key:0,style:{"--vft-transition-duration":"3s"},ref_key:"popoverRef",ref:f},B.value,{"virtual-ref":p.value,visible:l.value,"onUpdate:visible":v[0]||(v[0]=L=>l.value=L),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(r).e("content"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=J;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../form/index.cjs");const ht=require("../../constants/aria.cjs"),we=require("../../constants/event.cjs"),I=require("@vueuse/core"),r=require("@vft/utils"),J=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const u=require("vue"),gt=require("../../utils/vue/data-helper.cjs"),v=require("lodash-es"),ye=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Vt=require("../../hooks/use-composition/index.cjs"),bt=require("../../hooks/use-focus-controller/index.cjs"),xt=require("../../hooks/use-empty-values/index.cjs"),Ot=require("../../locale/use-locale.cjs"),pt=require("./useAllowCreate.cjs"),It=require("./useProps.cjs"),Te=require("../form/hooks/use-form-item.cjs"),wt=require("../form/hooks/use-form-common-props.cjs"),yt=(t,h)=>{const{t:E}=Ot.useLocale(),A=ye.useNamespace("select"),Ee=ye.useNamespace("input"),{form:X,formItem:C}=Te.useFormItem(),{inputId:Ce}=Te.useFormItemInputId(t,{formItemContext:C}),{aliasProps:Y,getLabel:g,getValue:d,getDisabled:R,getOptions:Re}=It.useProps(t),{valueOnClear:Se,isEmptyValue:Z}=xt.useEmptyValues(t),l=u.reactive({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),S=u.ref(-1),P=u.ref(),w=u.ref(),F=u.ref(),B=u.ref(),V=u.ref(),Fe=u.ref(),Me=u.ref(),b=u.ref(),ee=u.ref(),M=u.ref(),{isComposing:te,handleCompositionStart:We,handleCompositionEnd:qe,handleCompositionUpdate:Le}=Vt.useComposition({afterComposition:e=>pe(e)}),x=u.computed(()=>t.disabled||!!X?.disabled),{wrapperRef:le,isFocused:ne,handleBlur:Ne}=bt.useFocusController(V,{disabled:x,afterFocus(){t.automaticDropdown&&!o.value&&(o.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(e){return F.value?.isFocusInsideContent(e)||B.value?.isFocusInsideContent(e)},afterBlur(){o.value=!1,l.menuVisibleOnFocus=!1,t.validateEvent&&C?.validate?.("blur").catch(e=>J.debugWarn(e))}}),ue=u.computed(()=>se("")),W=u.computed(()=>t.loading?!1:t.options.length>0||l.createdOptions.length>0),s=u.ref([]),o=u.ref(!1),De=u.computed(()=>X?.statusIcon??!1),ke=u.computed(()=>{const e=s.value.length*t.itemHeight;return e>t.height?t.height:e}),q=u.computed(()=>t.multiple?r.isArray(t.modelValue)&&t.modelValue.length>0:!Z(t.modelValue)),He=u.computed(()=>t.clearable&&!x.value&&l.inputHovering&&q.value),ie=u.computed(()=>t.remote&&t.filterable?"":"icon-arrow-down"),ze=u.computed(()=>ie.value&&A.is("reverse",o.value)),Ae=u.computed(()=>C?.validateState||""),Pe="validateIcon",ae=u.computed(()=>t.remote?300:0),oe=u.computed(()=>t.loading?t.loadingText||E("vft.select.loading"):t.remote&&!l.inputValue&&!W.value?!1:t.filterable&&l.inputValue&&W.value&&s.value.length===0?t.noMatchText||E("vft.select.noMatch"):W.value?null:t.noDataText||E("vft.select.noData")),se=e=>{const n=new RegExp(gt.escapeStringRegexp(e),"i"),{filterMethod:i,remoteMethod:a}=u.toRaw(t),c=t.filterable&&r.isFunction(i),m=t.filterable&&t.remote&&r.isFunction(a),k=O=>c||m?!0:e?n.test(g(O)||""):!0;return t.loading?[]:[...l.createdOptions,...t.options].reduce((O,p)=>{const H=Re(p);if(r.isArray(H)){const z=H.filter(k);z.length>0&&O.push({label:g(p),type:"Group"},...z)}else(t.remote||k(p))&&O.push(p);return O},[])},ce=()=>{s.value=se(l.inputValue)},re=u.computed(()=>{const e=new Map;return ue.value.forEach((n,i)=>{e.set(f(d(n)),{option:n,index:i})}),e}),L=u.computed(()=>{const e=new Map;return s.value.forEach((n,i)=>{e.set(f(d(n)),{option:n,index:i})}),e}),Be=u.computed(()=>s.value.every(e=>R(e))),de=wt.useFormSize(),Ke=u.computed(()=>de.value==="small"?"small":"default"),y=()=>{if(r.isNumber(t.fitInputWidth)){S.value=t.fitInputWidth;return}const e=P.value?.offsetWidth||200;!t.fitInputWidth&&W.value?u.nextTick(()=>{S.value=Math.max(e,_e())}):S.value=e},_e=()=>{const n=document.createElement("canvas").getContext("2d"),i=A.be("dropdown","item"),c=(b.value?.listRef?.innerRef||document).querySelector(`.${i}`);if(c===null||n===null)return 0;const m=getComputedStyle(c),k=Number.parseFloat(m.paddingLeft)+Number.parseFloat(m.paddingRight);return n.font=`bold ${m.font.replace(new RegExp(`\\b${m.fontWeight}\\b`),"")}`,s.value.reduce((p,H)=>{const z=n.measureText(g(H));return Math.max(z.width,p)},0)+k},$e=()=>{if(!w.value)return 0;const e=window.getComputedStyle(w.value);return Number.parseFloat(e.gap||"6px")},Ge=u.computed(()=>{const e=$e();return{maxWidth:`${M.value&&t.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-e:l.selectionWidth}px`}}),Qe=u.computed(()=>({maxWidth:`${l.selectionWidth}px`})),je=u.computed(()=>r.isArray(t.modelValue)?t.modelValue.length===0&&!l.inputValue:t.filterable?!l.inputValue:!0),Ue=u.computed(()=>{const e=t.placeholder||E("vft.select.placeholder");return t.multiple||!q.value?e:l.selectedLabel}),Je=u.computed(()=>F.value?.popperRef?.contentRef),Xe=u.computed(()=>{if(t.multiple){const e=t.modelValue.length;if(t.modelValue.length>0&&L.value.has(t.modelValue[e-1])){const{index:n}=L.value.get(t.modelValue[e-1]);return n}}else if(!Z(t.modelValue)&&L.value.has(t.modelValue)){const{index:e}=L.value.get(t.modelValue);return e}return-1}),Ye=u.computed({get(){return o.value&&oe.value!==!1},set(e){o.value=e}}),Ze=u.computed(()=>t.multiple?t.collapseTags?l.cachedOptions.slice(0,t.maxCollapseTags):l.cachedOptions:[]),et=u.computed(()=>t.multiple?t.collapseTags?l.cachedOptions.slice(t.maxCollapseTags):[]:[]),{createNewOption:fe,removeNewOption:K,selectNewOption:me,clearAllNewOption:_}=pt.useAllowCreate(t,l),$=()=>{x.value||(l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:o.value=!o.value)},ve=()=>{l.inputValue.length>0&&!o.value&&(o.value=!0),fe(l.inputValue),u.nextTick(()=>{G(l.inputValue)})},he=v.debounce(ve,ae.value),G=e=>{l.previousQuery===e||te.value||(l.previousQuery=e,t.filterable&&r.isFunction(t.filterMethod)?t.filterMethod(e):t.filterable&&t.remote&&r.isFunction(t.remoteMethod)&&t.remoteMethod(e),t.defaultFirstOption&&(t.filterable||t.remote)&&s.value.length?u.nextTick(tt):u.nextTick(ft))},tt=()=>{const e=s.value.filter(a=>!a.disabled&&a.type!=="Group"),n=e.find(a=>a.created),i=e[0];l.hoveringIndex=Q(s.value,n||i)},lt=e=>{v.isEqual(t.modelValue,e)||h(we.CHANGE_EVENT,e)},T=e=>{h(we.UPDATE_MODEL_EVENT,e),lt(e),l.previousValue=t.multiple?String(e):e,u.nextTick(()=>{if(t.multiple&&r.isArray(t.modelValue)){const n=l.cachedOptions.slice(),i=t.modelValue.map(a=>Ie(a,n));v.isEqual(l.cachedOptions,i)||(l.cachedOptions=i)}else D(!0)})},Q=(e=[],n)=>{if(!r.isObject(n))return e.indexOf(n);const i=t.valueKey;let a=-1;return e.some((c,m)=>v.get(c,i)===v.get(n,i)?(a=m,!0):!1),a},f=e=>r.isObject(e)?v.get(e,t.valueKey):e,ge=()=>{y()},Ve=()=>{l.selectionWidth=Number.parseFloat(window.getComputedStyle(w.value).width)},nt=()=>{l.collapseItemWidth=M.value.getBoundingClientRect().width},j=()=>{F.value?.updatePopper?.()},be=()=>{B.value?.updatePopper?.()},xe=e=>{if(t.multiple){let n=t.modelValue.slice();const i=Q(n,d(e));i>-1?(n=[...n.slice(0,i),...n.slice(i+1)],l.cachedOptions.splice(i,1),K(e)):(t.multipleLimit<=0||n.length<t.multipleLimit)&&(n=[...n,d(e)],l.cachedOptions.push(e),me(e)),T(n),e.created&&G(""),t.filterable&&!t.reserveKeyword&&(l.inputValue="")}else l.selectedLabel=g(e),T(d(e)),o.value=!1,me(e),e.created||_();N()},ut=(e,n)=>{let i=t.modelValue.slice();const a=Q(i,d(n));a>-1&&!x.value&&(i=[...t.modelValue.slice(0,a),...t.modelValue.slice(a+1)],l.cachedOptions.splice(a,1),T(i),h("remove-tag",d(n)),K(n)),e.stopPropagation(),N()},N=()=>{V.value?.focus()},it=()=>{if(o.value){o.value=!1,u.nextTick(()=>V.value?.blur());return}V.value?.blur()},at=()=>{l.inputValue.length>0?l.inputValue="":o.value=!1},ot=e=>v.findLastIndex(e,n=>!l.cachedOptions.some(i=>d(i)===n&&R(i))),st=e=>{if(t.multiple&&e.code!==ht.EVENT_CODE.delete&&l.inputValue.length===0){e.preventDefault();const n=t.modelValue.slice(),i=ot(n);if(i<0)return;const a=n[i];n.splice(i,1);const c=l.cachedOptions[i];l.cachedOptions.splice(i,1),K(c),T(n),h("remove-tag",a)}},ct=()=>{let e;r.isArray(t.modelValue)?e=[]:e=Se.value,l.selectedLabel="",o.value=!1,T(e),h("clear"),_(),N()},Oe=(e,n=void 0)=>{const i=s.value;if(!["forward","backward"].includes(e)||x.value||i.length<=0||Be.value||te.value)return;if(!o.value)return $();r.isUndefined(n)&&(n=l.hoveringIndex);let a=-1;e==="forward"?(a=n+1,a>=i.length&&(a=0)):e==="backward"&&(a=n-1,(a<0||a>=i.length)&&(a=i.length-1));const c=i[a];if(R(c)||c.type==="Group")return Oe(e,a);l.hoveringIndex=a,U(a)},rt=()=>{if(o.value)~l.hoveringIndex&&s.value[l.hoveringIndex]&&xe(s.value[l.hoveringIndex]);else return $()},dt=e=>{l.hoveringIndex=e??-1},ft=()=>{t.multiple?l.hoveringIndex=s.value.findIndex(e=>t.modelValue.some(n=>f(n)===f(d(e)))):l.hoveringIndex=s.value.findIndex(e=>f(d(e))===f(t.modelValue))},pe=e=>{if(l.inputValue=e.target.value,t.remote)he();else return ve()},mt=e=>{if(o.value=!1,ne.value){const n=new FocusEvent("focus",e);Ne(n)}},vt=()=>(l.isBeforeHide=!1,u.nextTick(()=>{~Xe.value&&U(l.hoveringIndex)})),U=e=>{b.value.scrollToItem(e)},Ie=(e,n)=>{const i=f(e);if(re.value.has(i)){const{option:a}=re.value.get(i);return a}if(n&&n.length){const a=n.find(c=>f(d(c))===i);if(a)return a}return{[Y.value.value]:e,[Y.value.label]:e}},D=(e=!1)=>{if(t.multiple)if(t.modelValue.length>0){const n=l.cachedOptions.slice();l.cachedOptions.length=0,l.previousValue=t.modelValue.toString();for(const i of t.modelValue){const a=Ie(i,n);l.cachedOptions.push(a)}}else l.cachedOptions=[],l.previousValue=void 0;else if(q.value){l.previousValue=t.modelValue;const n=s.value,i=n.findIndex(a=>f(d(a))===f(t.modelValue));~i?l.selectedLabel=g(n[i]):(!l.selectedLabel||e)&&(l.selectedLabel=f(t.modelValue))}else l.selectedLabel="",l.previousValue=void 0;_(),y()};return u.watch(()=>t.fitInputWidth,()=>{y()}),u.watch(o,e=>{e?(t.persistent||y(),G("")):(l.inputValue="",l.previousQuery=null,l.isBeforeHide=!0,fe("")),h("visible-change",e)}),u.watch(()=>t.modelValue,(e,n)=>{(!e||r.isArray(e)&&e.length===0||t.multiple&&!v.isEqual(e.toString(),l.previousValue)||!t.multiple&&f(e)!==f(l.previousValue))&&D(!0),!v.isEqual(e,n)&&t.validateEvent&&C?.validate?.("change").catch(a=>J.debugWarn(a))},{deep:!0}),u.watch(()=>t.options,()=>{const e=V.value;(!e||e&&document.activeElement!==e)&&D()},{deep:!0,flush:"post"}),u.watch(()=>s.value,()=>(y(),b.value&&u.nextTick(b.value.resetScrollTop))),u.watchEffect(()=>{l.isBeforeHide||ce()}),u.watchEffect(()=>{const{valueKey:e,options:n}=t,i=new Map;for(const a of n){const c=d(a);let m=c;if(r.isObject(m)&&(m=v.get(c,e)),i.get(m)){J.debugWarn("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else i.set(m,!0)}}),u.onMounted(()=>{D()}),I.useResizeObserver(P,ge),I.useResizeObserver(w,Ve),I.useResizeObserver(b,j),I.useResizeObserver(le,j),I.useResizeObserver(ee,be),I.useResizeObserver(M,nt),{inputId:Ce,collapseTagSize:Ke,currentPlaceholder:Ue,expanded:o,emptyText:oe,popupHeight:ke,debounce:ae,allOptions:ue,filteredOptions:s,iconComponent:ie,iconReverse:ze,tagStyle:Ge,collapseTagStyle:Qe,popperSize:S,dropdownMenuVisible:Ye,hasModelValue:q,shouldShowPlaceholder:je,selectDisabled:x,selectSize:de,needStatusIcon:De,showClearBtn:He,states:l,isFocused:ne,nsSelect:A,nsInput:Ee,inputRef:V,menuRef:b,tagMenuRef:ee,tooltipRef:F,tagTooltipRef:B,selectRef:P,wrapperRef:le,selectionRef:w,prefixRef:Fe,suffixRef:Me,collapseItemRef:M,popperRef:Je,validateState:Ae,validateIcon:Pe,showTagList:Ze,collapseTagList:et,debouncedOnInputChange:he,deleteTag:ut,getLabel:g,getValue:d,getDisabled:R,getValueKey:f,handleClear:ct,handleClickOutside:mt,handleDel:st,handleEsc:at,focus:N,blur:it,handleMenuEnter:vt,handleResize:ge,resetSelectionWidth:Ve,updateTooltip:j,updateTagTooltip:be,updateOptions:ce,toggleMenu:$,scrollTo:U,onInput:pe,onKeyboardNavigate:Oe,onKeyboardSelect:rt,onSelect:xe,onHover:dt,handleCompositionStart:We,handleCompositionEnd:qe,handleCompositionUpdate:Le}};exports.default=yt;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../form/index.cjs");const ht=require("../../constants/aria.cjs"),we=require("../../constants/event.cjs"),I=require("@vueuse/core"),r=require("@vft/utils"),J=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const u=require("vue"),gt=require("../../utils/vue/data-helper.cjs"),v=require("lodash-es"),ye=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Vt=require("../../hooks/use-composition/index.cjs"),bt=require("../../hooks/use-focus-controller/index.cjs"),xt=require("../../hooks/use-empty-values/index.cjs"),Ot=require("../../locale/use-locale.cjs"),pt=require("./useAllowCreate.cjs"),It=require("./useProps.cjs"),Te=require("../form/hooks/use-form-item.cjs"),wt=require("../form/hooks/use-form-common-props.cjs"),yt=(t,h)=>{const{t:E}=Ot.default(),A=ye.useNamespace("select"),Ee=ye.useNamespace("input"),{form:X,formItem:C}=Te.useFormItem(),{inputId:Ce}=Te.useFormItemInputId(t,{formItemContext:C}),{aliasProps:Y,getLabel:g,getValue:d,getDisabled:R,getOptions:Re}=It.useProps(t),{valueOnClear:Se,isEmptyValue:Z}=xt.useEmptyValues(t),l=u.reactive({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),S=u.ref(-1),P=u.ref(),w=u.ref(),F=u.ref(),B=u.ref(),V=u.ref(),Fe=u.ref(),Me=u.ref(),b=u.ref(),ee=u.ref(),M=u.ref(),{isComposing:te,handleCompositionStart:We,handleCompositionEnd:qe,handleCompositionUpdate:Le}=Vt.useComposition({afterComposition:e=>pe(e)}),x=u.computed(()=>t.disabled||!!X?.disabled),{wrapperRef:le,isFocused:ne,handleBlur:Ne}=bt.useFocusController(V,{disabled:x,afterFocus(){t.automaticDropdown&&!o.value&&(o.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(e){return F.value?.isFocusInsideContent(e)||B.value?.isFocusInsideContent(e)},afterBlur(){o.value=!1,l.menuVisibleOnFocus=!1,t.validateEvent&&C?.validate?.("blur").catch(e=>J.debugWarn(e))}}),ue=u.computed(()=>se("")),W=u.computed(()=>t.loading?!1:t.options.length>0||l.createdOptions.length>0),s=u.ref([]),o=u.ref(!1),De=u.computed(()=>X?.statusIcon??!1),ke=u.computed(()=>{const e=s.value.length*t.itemHeight;return e>t.height?t.height:e}),q=u.computed(()=>t.multiple?r.isArray(t.modelValue)&&t.modelValue.length>0:!Z(t.modelValue)),He=u.computed(()=>t.clearable&&!x.value&&l.inputHovering&&q.value),ie=u.computed(()=>t.remote&&t.filterable?"":"icon-arrow-down"),ze=u.computed(()=>ie.value&&A.is("reverse",o.value)),Ae=u.computed(()=>C?.validateState||""),Pe="validateIcon",ae=u.computed(()=>t.remote?300:0),oe=u.computed(()=>t.loading?t.loadingText||E("vft.select.loading"):t.remote&&!l.inputValue&&!W.value?!1:t.filterable&&l.inputValue&&W.value&&s.value.length===0?t.noMatchText||E("vft.select.noMatch"):W.value?null:t.noDataText||E("vft.select.noData")),se=e=>{const n=new RegExp(gt.escapeStringRegexp(e),"i"),{filterMethod:i,remoteMethod:a}=u.toRaw(t),c=t.filterable&&r.isFunction(i),m=t.filterable&&t.remote&&r.isFunction(a),k=O=>c||m?!0:e?n.test(g(O)||""):!0;return t.loading?[]:[...l.createdOptions,...t.options].reduce((O,p)=>{const H=Re(p);if(r.isArray(H)){const z=H.filter(k);z.length>0&&O.push({label:g(p),type:"Group"},...z)}else(t.remote||k(p))&&O.push(p);return O},[])},ce=()=>{s.value=se(l.inputValue)},re=u.computed(()=>{const e=new Map;return ue.value.forEach((n,i)=>{e.set(f(d(n)),{option:n,index:i})}),e}),L=u.computed(()=>{const e=new Map;return s.value.forEach((n,i)=>{e.set(f(d(n)),{option:n,index:i})}),e}),Be=u.computed(()=>s.value.every(e=>R(e))),de=wt.useFormSize(),Ke=u.computed(()=>de.value==="small"?"small":"default"),y=()=>{if(r.isNumber(t.fitInputWidth)){S.value=t.fitInputWidth;return}const e=P.value?.offsetWidth||200;!t.fitInputWidth&&W.value?u.nextTick(()=>{S.value=Math.max(e,_e())}):S.value=e},_e=()=>{const n=document.createElement("canvas").getContext("2d"),i=A.be("dropdown","item"),c=(b.value?.listRef?.innerRef||document).querySelector(`.${i}`);if(c===null||n===null)return 0;const m=getComputedStyle(c),k=Number.parseFloat(m.paddingLeft)+Number.parseFloat(m.paddingRight);return n.font=`bold ${m.font.replace(new RegExp(`\\b${m.fontWeight}\\b`),"")}`,s.value.reduce((p,H)=>{const z=n.measureText(g(H));return Math.max(z.width,p)},0)+k},$e=()=>{if(!w.value)return 0;const e=window.getComputedStyle(w.value);return Number.parseFloat(e.gap||"6px")},Ge=u.computed(()=>{const e=$e();return{maxWidth:`${M.value&&t.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-e:l.selectionWidth}px`}}),Qe=u.computed(()=>({maxWidth:`${l.selectionWidth}px`})),je=u.computed(()=>r.isArray(t.modelValue)?t.modelValue.length===0&&!l.inputValue:t.filterable?!l.inputValue:!0),Ue=u.computed(()=>{const e=t.placeholder||E("vft.select.placeholder");return t.multiple||!q.value?e:l.selectedLabel}),Je=u.computed(()=>F.value?.popperRef?.contentRef),Xe=u.computed(()=>{if(t.multiple){const e=t.modelValue.length;if(t.modelValue.length>0&&L.value.has(t.modelValue[e-1])){const{index:n}=L.value.get(t.modelValue[e-1]);return n}}else if(!Z(t.modelValue)&&L.value.has(t.modelValue)){const{index:e}=L.value.get(t.modelValue);return e}return-1}),Ye=u.computed({get(){return o.value&&oe.value!==!1},set(e){o.value=e}}),Ze=u.computed(()=>t.multiple?t.collapseTags?l.cachedOptions.slice(0,t.maxCollapseTags):l.cachedOptions:[]),et=u.computed(()=>t.multiple?t.collapseTags?l.cachedOptions.slice(t.maxCollapseTags):[]:[]),{createNewOption:fe,removeNewOption:K,selectNewOption:me,clearAllNewOption:_}=pt.useAllowCreate(t,l),$=()=>{x.value||(l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:o.value=!o.value)},ve=()=>{l.inputValue.length>0&&!o.value&&(o.value=!0),fe(l.inputValue),u.nextTick(()=>{G(l.inputValue)})},he=v.debounce(ve,ae.value),G=e=>{l.previousQuery===e||te.value||(l.previousQuery=e,t.filterable&&r.isFunction(t.filterMethod)?t.filterMethod(e):t.filterable&&t.remote&&r.isFunction(t.remoteMethod)&&t.remoteMethod(e),t.defaultFirstOption&&(t.filterable||t.remote)&&s.value.length?u.nextTick(tt):u.nextTick(ft))},tt=()=>{const e=s.value.filter(a=>!a.disabled&&a.type!=="Group"),n=e.find(a=>a.created),i=e[0];l.hoveringIndex=Q(s.value,n||i)},lt=e=>{v.isEqual(t.modelValue,e)||h(we.CHANGE_EVENT,e)},T=e=>{h(we.UPDATE_MODEL_EVENT,e),lt(e),l.previousValue=t.multiple?String(e):e,u.nextTick(()=>{if(t.multiple&&r.isArray(t.modelValue)){const n=l.cachedOptions.slice(),i=t.modelValue.map(a=>Ie(a,n));v.isEqual(l.cachedOptions,i)||(l.cachedOptions=i)}else D(!0)})},Q=(e=[],n)=>{if(!r.isObject(n))return e.indexOf(n);const i=t.valueKey;let a=-1;return e.some((c,m)=>v.get(c,i)===v.get(n,i)?(a=m,!0):!1),a},f=e=>r.isObject(e)?v.get(e,t.valueKey):e,ge=()=>{y()},Ve=()=>{l.selectionWidth=Number.parseFloat(window.getComputedStyle(w.value).width)},nt=()=>{l.collapseItemWidth=M.value.getBoundingClientRect().width},j=()=>{F.value?.updatePopper?.()},be=()=>{B.value?.updatePopper?.()},xe=e=>{if(t.multiple){let n=t.modelValue.slice();const i=Q(n,d(e));i>-1?(n=[...n.slice(0,i),...n.slice(i+1)],l.cachedOptions.splice(i,1),K(e)):(t.multipleLimit<=0||n.length<t.multipleLimit)&&(n=[...n,d(e)],l.cachedOptions.push(e),me(e)),T(n),e.created&&G(""),t.filterable&&!t.reserveKeyword&&(l.inputValue="")}else l.selectedLabel=g(e),T(d(e)),o.value=!1,me(e),e.created||_();N()},ut=(e,n)=>{let i=t.modelValue.slice();const a=Q(i,d(n));a>-1&&!x.value&&(i=[...t.modelValue.slice(0,a),...t.modelValue.slice(a+1)],l.cachedOptions.splice(a,1),T(i),h("remove-tag",d(n)),K(n)),e.stopPropagation(),N()},N=()=>{V.value?.focus()},it=()=>{if(o.value){o.value=!1,u.nextTick(()=>V.value?.blur());return}V.value?.blur()},at=()=>{l.inputValue.length>0?l.inputValue="":o.value=!1},ot=e=>v.findLastIndex(e,n=>!l.cachedOptions.some(i=>d(i)===n&&R(i))),st=e=>{if(t.multiple&&e.code!==ht.EVENT_CODE.delete&&l.inputValue.length===0){e.preventDefault();const n=t.modelValue.slice(),i=ot(n);if(i<0)return;const a=n[i];n.splice(i,1);const c=l.cachedOptions[i];l.cachedOptions.splice(i,1),K(c),T(n),h("remove-tag",a)}},ct=()=>{let e;r.isArray(t.modelValue)?e=[]:e=Se.value,l.selectedLabel="",o.value=!1,T(e),h("clear"),_(),N()},Oe=(e,n=void 0)=>{const i=s.value;if(!["forward","backward"].includes(e)||x.value||i.length<=0||Be.value||te.value)return;if(!o.value)return $();r.isUndefined(n)&&(n=l.hoveringIndex);let a=-1;e==="forward"?(a=n+1,a>=i.length&&(a=0)):e==="backward"&&(a=n-1,(a<0||a>=i.length)&&(a=i.length-1));const c=i[a];if(R(c)||c.type==="Group")return Oe(e,a);l.hoveringIndex=a,U(a)},rt=()=>{if(o.value)~l.hoveringIndex&&s.value[l.hoveringIndex]&&xe(s.value[l.hoveringIndex]);else return $()},dt=e=>{l.hoveringIndex=e??-1},ft=()=>{t.multiple?l.hoveringIndex=s.value.findIndex(e=>t.modelValue.some(n=>f(n)===f(d(e)))):l.hoveringIndex=s.value.findIndex(e=>f(d(e))===f(t.modelValue))},pe=e=>{if(l.inputValue=e.target.value,t.remote)he();else return ve()},mt=e=>{if(o.value=!1,ne.value){const n=new FocusEvent("focus",e);Ne(n)}},vt=()=>(l.isBeforeHide=!1,u.nextTick(()=>{~Xe.value&&U(l.hoveringIndex)})),U=e=>{b.value.scrollToItem(e)},Ie=(e,n)=>{const i=f(e);if(re.value.has(i)){const{option:a}=re.value.get(i);return a}if(n&&n.length){const a=n.find(c=>f(d(c))===i);if(a)return a}return{[Y.value.value]:e,[Y.value.label]:e}},D=(e=!1)=>{if(t.multiple)if(t.modelValue.length>0){const n=l.cachedOptions.slice();l.cachedOptions.length=0,l.previousValue=t.modelValue.toString();for(const i of t.modelValue){const a=Ie(i,n);l.cachedOptions.push(a)}}else l.cachedOptions=[],l.previousValue=void 0;else if(q.value){l.previousValue=t.modelValue;const n=s.value,i=n.findIndex(a=>f(d(a))===f(t.modelValue));~i?l.selectedLabel=g(n[i]):(!l.selectedLabel||e)&&(l.selectedLabel=f(t.modelValue))}else l.selectedLabel="",l.previousValue=void 0;_(),y()};return u.watch(()=>t.fitInputWidth,()=>{y()}),u.watch(o,e=>{e?(t.persistent||y(),G("")):(l.inputValue="",l.previousQuery=null,l.isBeforeHide=!0,fe("")),h("visible-change",e)}),u.watch(()=>t.modelValue,(e,n)=>{(!e||r.isArray(e)&&e.length===0||t.multiple&&!v.isEqual(e.toString(),l.previousValue)||!t.multiple&&f(e)!==f(l.previousValue))&&D(!0),!v.isEqual(e,n)&&t.validateEvent&&C?.validate?.("change").catch(a=>J.debugWarn(a))},{deep:!0}),u.watch(()=>t.options,()=>{const e=V.value;(!e||e&&document.activeElement!==e)&&D()},{deep:!0,flush:"post"}),u.watch(()=>s.value,()=>(y(),b.value&&u.nextTick(b.value.resetScrollTop))),u.watchEffect(()=>{l.isBeforeHide||ce()}),u.watchEffect(()=>{const{valueKey:e,options:n}=t,i=new Map;for(const a of n){const c=d(a);let m=c;if(r.isObject(m)&&(m=v.get(c,e)),i.get(m)){J.debugWarn("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else i.set(m,!0)}}),u.onMounted(()=>{D()}),I.useResizeObserver(P,ge),I.useResizeObserver(w,Ve),I.useResizeObserver(b,j),I.useResizeObserver(le,j),I.useResizeObserver(ee,be),I.useResizeObserver(M,nt),{inputId:Ce,collapseTagSize:Ke,currentPlaceholder:Ue,expanded:o,emptyText:oe,popupHeight:ke,debounce:ae,allOptions:ue,filteredOptions:s,iconComponent:ie,iconReverse:ze,tagStyle:Ge,collapseTagStyle:Qe,popperSize:S,dropdownMenuVisible:Ye,hasModelValue:q,shouldShowPlaceholder:je,selectDisabled:x,selectSize:de,needStatusIcon:De,showClearBtn:He,states:l,isFocused:ne,nsSelect:A,nsInput:Ee,inputRef:V,menuRef:b,tagMenuRef:ee,tooltipRef:F,tagTooltipRef:B,selectRef:P,wrapperRef:le,selectionRef:w,prefixRef:Fe,suffixRef:Me,collapseItemRef:M,popperRef:Je,validateState:Ae,validateIcon:Pe,showTagList:Ze,collapseTagList:et,debouncedOnInputChange:he,deleteTag:ut,getLabel:g,getValue:d,getDisabled:R,getValueKey:f,handleClear:ct,handleClickOutside:mt,handleDel:st,handleEsc:at,focus:N,blur:it,handleMenuEnter:vt,handleResize:ge,resetSelectionWidth:Ve,updateTooltip:j,updateTagTooltip:be,updateOptions:ce,toggleMenu:$,scrollTo:U,onInput:pe,onKeyboardNavigate:Oe,onKeyboardSelect:rt,onSelect:xe,onHover:dt,handleCompositionStart:We,handleCompositionEnd:qe,handleCompositionUpdate:Le}};exports.default=yt;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../button/index.cjs"),v=require("../form/index.cjs"),C=require("../row/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const b=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const k=require("../../locale/use-locale.cjs"),w=require("./use/use-form-context.cjs"),y=e.defineComponent({__name:"super-form-action",props:{showResetButton:{type:Boolean},showSubmitButton:{type:Boolean},showCommonButton:{type:Boolean},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},submitResetReverse:{type:Boolean}},setup(t){const r=b.useNamespace("form-action"),{t:i}=k.useLocale(),{resetAction:B,submitAction:f,commonAction:a}=w.useFormContext(),p=e.computed(()=>({justify:"end",...t.actionRowOptions})),d=e.computed(()=>Object.assign({btnText:i("vft.superForm.reset")},t.resetButtonOptions)),l=e.computed(()=>Object.assign({btnText:i("vft.superForm.submit")},t.submitButtonOptions)),u=e.computed(()=>Object.assign({btnText:i("vft.superForm.cancel")},t.commonButtonOptions)),m=o=>({type:o?"warning":"primary",options:o?d.value:l.value,action:o?B:f,className:o?r.e("reset"):r.e("submit"),show:o?t.showResetButton:t.showSubmitButton}),n=e.computed(()=>m(!t.submitResetReverse)),s=e.computed(()=>m(t.submitResetReverse));return(o,h)=>t.showCommonButton||n.value.show||s.value.show?(e.openBlock(),e.createBlock(e.unref(C.VftRow),e.normalizeProps(e.mergeProps({key:0},p.value)),{default:e.withCtx(()=>[e.createVNode(e.unref(v.VftFormItem),{class:e.normalizeClass([{"submit-block":l.value.block},e.unref(r).b()])},{default:e.withCtx(()=>[t.showCommonButton&&!u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:0},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"resetBefore"),n.value.show?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:1,type:n.value.type},n.value.options,{onClick:n.value.action,class:n.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitBefore"),s.value.show?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:2,type:s.value.type},s.value.options,{onClick:s.value.action,class:s.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitAfter"),t.showCommonButton&&u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(c.VftButton),e.mergeProps({key:3},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0)]),_:3},8,["class"])]),_:3},16)):e.createCommentVNode("",!0)}});exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("../button/index.cjs"),p=require("../form/index.cjs"),C=require("../row/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const v=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const b=require("./use/use-form-context.cjs"),k=e.defineComponent({__name:"super-form-action",props:{showResetButton:{type:Boolean},showSubmitButton:{type:Boolean},showCommonButton:{type:Boolean},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},submitResetReverse:{type:Boolean}},setup(t){const r=v.useNamespace("form-action"),{resetAction:m,submitAction:B,commonAction:a}=b.useFormContext(),d=e.computed(()=>({justify:"end",...t.actionRowOptions})),f=e.computed(()=>Object.assign({btnText:"重置"},t.resetButtonOptions)),c=e.computed(()=>Object.assign({btnText:"确认"},t.submitButtonOptions)),u=e.computed(()=>Object.assign({btnText:"取消"},t.commonButtonOptions)),l=o=>({type:o?"warning":"primary",options:o?f.value:c.value,action:o?m:B,className:o?r.e("reset"):r.e("submit"),show:o?t.showResetButton:t.showSubmitButton}),n=e.computed(()=>l(!t.submitResetReverse)),s=e.computed(()=>l(t.submitResetReverse));return(o,w)=>t.showCommonButton||n.value.show||s.value.show?(e.openBlock(),e.createBlock(e.unref(C.VftRow),e.normalizeProps(e.mergeProps({key:0},d.value)),{default:e.withCtx(()=>[e.createVNode(e.unref(p.VftFormItem),{class:e.normalizeClass([{"submit-block":c.value.block},e.unref(r).b()])},{default:e.withCtx(()=>[t.showCommonButton&&!u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:0},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"resetBefore"),n.value.show?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:1,type:n.value.type},n.value.options,{onClick:n.value.action,class:n.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitBefore"),s.value.show?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:2,type:s.value.type},s.value.options,{onClick:s.value.action,class:s.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitAfter"),t.showCommonButton&&u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:3},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0)]),_:3},8,["class"])]),_:3},16)):e.createCommentVNode("",!0)}});exports.default=k;