vft 0.0.507 → 0.0.511

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/affix/affix.vue2.js +2 -2
  3. package/es/components/alert/alert.vue2.js +1 -1
  4. package/es/components/autocomplete/autocomplete.vue2.js +1 -1
  5. package/es/components/avatar/avatar.vue2.js +2 -2
  6. package/es/components/avatar-stack/avatar-stack.vue2.js +7 -7
  7. package/es/components/backtop/backtop.vue2.js +1 -1
  8. package/es/components/breadcrumb/breadcrumb-item.vue2.js +3 -3
  9. package/es/components/breadcrumb/breadcrumb.vue2.js +2 -2
  10. package/es/components/button/button-group.vue2.js +2 -2
  11. package/es/components/button/button.vue2.js +7 -7
  12. package/es/components/button/use-button.js +3 -3
  13. package/es/components/card/card.vue2.js +6 -6
  14. package/es/components/carousel/carousel-item.vue2.js +3 -3
  15. package/es/components/carousel/carousel.vue2.js +1 -1
  16. package/es/components/carousel/use-carousel.js +1 -1
  17. package/es/components/cascader/cascader.vue2.js +203 -202
  18. package/es/components/cascader-panel/index.vue2.js +1 -1
  19. package/es/components/cascader-panel/menu.vue2.js +50 -49
  20. package/es/components/cascader-panel/node.vue2.js +8 -8
  21. package/es/components/check-tag/check-tag.vue2.js +2 -2
  22. package/es/components/checkbox/checkbox-button.vue2.js +13 -13
  23. package/es/components/checkbox/checkbox-group.vue2.js +3 -3
  24. package/es/components/checkbox/checkbox.vue2.js +1 -1
  25. package/es/components/clamp/clamp.vue2.js +2 -2
  26. package/es/components/clamp-toggle/clamp-toggle.vue2.js +21 -17
  27. package/es/components/clamp-tooltip/clamp-tooltip.vue2.js +6 -6
  28. package/es/components/col/col.vue2.js +2 -2
  29. package/es/components/collapse/collapse-item.vue2.js +2 -2
  30. package/es/components/collapse/collapse.vue2.js +2 -2
  31. package/es/components/collapse-transition/collapse-transition.vue2.js +2 -2
  32. package/es/components/color-picker/color-picker.vue2.js +134 -133
  33. package/es/components/color-picker/components/alpha-slider.vue2.js +2 -2
  34. package/es/components/color-picker/components/hue-slider.vue.js +2 -2
  35. package/es/components/color-picker/components/predefine.vue.js +3 -3
  36. package/es/components/color-picker/components/sv-panel.vue.js +2 -2
  37. package/es/components/config-provider/config-provider.vue.d.ts +2 -0
  38. package/es/components/config-provider/config-provider.vue2.js +5 -4
  39. package/es/components/config-provider/constants.d.ts +1 -0
  40. package/es/components/config-provider/constants.js +3 -2
  41. package/es/components/config-provider/hooks/use-global-config.js +33 -30
  42. package/es/components/config-provider/index.d.ts +9 -0
  43. package/es/components/config-provider/index.js +6 -5
  44. package/es/components/container/aside.vue2.js +2 -2
  45. package/es/components/container/container.vue2.js +2 -2
  46. package/es/components/container/footer.vue2.js +2 -2
  47. package/es/components/container/header.vue2.js +2 -2
  48. package/es/components/container/main.vue2.js +2 -2
  49. package/es/components/context-menu/context-menu.vue2.js +1 -1
  50. package/es/components/countdown/countdown.vue2.js +2 -2
  51. package/es/components/date-picker/composables/use-basic-date-table.js +83 -82
  52. package/es/components/date-picker/composables/use-month-range-header.js +15 -14
  53. package/es/components/date-picker/composables/use-panel-date-range.js +24 -23
  54. package/es/components/date-picker/date-picker-com/basic-date-table.vue2.js +6 -6
  55. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +40 -39
  56. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +41 -40
  57. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +184 -183
  58. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +225 -224
  59. package/es/components/date-picker/date-picker-com/panel-month-range.vue2.js +12 -12
  60. package/es/components/date-picker/date-picker-com/panel-year-range.vue2.js +12 -12
  61. package/es/components/date-picker/props/basic-date-table.js +3 -3
  62. package/es/components/date-picker/props/basic-month-table.js +3 -3
  63. package/es/components/date-picker/props/basic-year-table.js +3 -3
  64. package/es/components/date-time-select/date-time-select.vue2.js +39 -36
  65. package/es/components/descriptions/description.vue2.js +1 -1
  66. package/es/components/descriptions/descriptions-row.vue2.js +10 -10
  67. package/es/components/dialog/dialog-content.vue2.js +3 -3
  68. package/es/components/dialog/dialog.vue2.js +5 -5
  69. package/es/components/divider/divider.vue2.js +5 -5
  70. package/es/components/drawer/drawer.vue2.js +4 -4
  71. package/es/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  72. package/es/components/dropdown/dropdown-item-impl.vue2.js +3 -3
  73. package/es/components/dropdown/dropdown-item.vue.d.ts +1 -1
  74. package/es/components/dropdown/dropdown-item.vue2.js +2 -2
  75. package/es/components/dropdown/dropdown-menu.vue2.js +2 -2
  76. package/es/components/dropdown/dropdown.vue.d.ts +1 -1
  77. package/es/components/dropdown/dropdown.vue2.js +68 -67
  78. package/es/components/dropdown/index.d.ts +33 -33
  79. package/es/components/empty/empty.vue2.js +39 -38
  80. package/es/components/footer-layout/footer-layout.vue2.js +2 -2
  81. package/es/components/form/form-item.vue2.js +16 -16
  82. package/es/components/form/form.vue2.js +2 -2
  83. package/es/components/full-screen/full-screen.vue2.js +18 -17
  84. package/es/components/header-layout/header-layout.vue2.js +1 -1
  85. package/es/components/horizontal-menu/horizontal-menu.vue2.js +3 -3
  86. package/es/components/icon/icon.vue2.js +3 -3
  87. package/es/components/icon-text/icon-text.vue2.js +1 -1
  88. package/es/components/iframe-layout/iframe-layout.vue2.js +4 -4
  89. package/es/components/iframe-layout/iframe-page.vue2.js +2 -2
  90. package/es/components/image/image.vue2.js +60 -59
  91. package/es/components/image-viewer/image-viewer.vue2.js +43 -42
  92. package/es/components/index.d.ts +1 -0
  93. package/es/components/index.js +214 -210
  94. package/es/components/input/input.vue2.js +2 -2
  95. package/es/components/input-number/input-number.vue2.js +4 -4
  96. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  97. package/es/components/input-tag/input-tag.vue2.js +7 -7
  98. package/es/components/link/link.vue2.js +1 -1
  99. package/es/components/list-cell/list-cell.vue2.js +1 -1
  100. package/es/components/logo/logo.vue2.js +10 -10
  101. package/es/components/md-comment/md-comment.vue2.js +2 -2
  102. package/es/components/md-container/md-container.vue2.js +75 -74
  103. package/es/components/md-container/toc.js +37 -36
  104. package/es/components/menu/menu-collapse-transition.vue.js +2 -2
  105. package/es/components/menu/menu-item-group.vue2.js +7 -7
  106. package/es/components/menu/menu-item.vue2.js +1 -1
  107. package/es/components/message/message.vue2.js +3 -3
  108. package/es/components/message-box/index.d.ts +4 -0
  109. package/es/components/message-box/index.js +14 -0
  110. package/es/components/message-box/message-box.vue.d.ts +103 -0
  111. package/es/components/message-box/message-box.vue.js +4 -0
  112. package/es/components/message-box/message-box.vue2.js +358 -0
  113. package/es/components/message-box/method.d.ts +3 -0
  114. package/es/components/message-box/method.js +101 -0
  115. package/es/components/message-box/style/css.d.ts +2 -0
  116. package/es/components/message-box/style/css.js +3 -0
  117. package/es/components/message-box/style/index.d.ts +2 -0
  118. package/es/components/message-box/style/index.js +3 -0
  119. package/es/components/message-box/types.d.ts +202 -0
  120. package/es/components/message-box/types.js +1 -0
  121. package/es/components/modal/index.d.ts +1 -0
  122. package/es/components/modal/modal-footer-action.vue2.js +25 -24
  123. package/es/components/modal/modal.vue.d.ts +1 -0
  124. package/es/components/modal/modal.vue2.js +30 -28
  125. package/es/components/multiple-tabs/multiple-tabs.vue2.js +17 -16
  126. package/es/components/multiple-tabs/tab-content.vue2.js +2 -2
  127. package/es/components/multiple-tabs/use/use-tab-dropdown.js +54 -53
  128. package/es/components/notification/notification.vue2.js +1 -1
  129. package/es/components/overlay/overlay.vue2.js +1 -1
  130. package/es/components/page-wrapper/page-wrapper.vue2.js +2 -2
  131. package/es/components/pagination/components/jumper.vue2.js +2 -2
  132. package/es/components/pagination/components/next.vue2.js +4 -4
  133. package/es/components/pagination/components/pager.vue2.js +1 -1
  134. package/es/components/pagination/components/prev.vue2.js +4 -4
  135. package/es/components/pagination/components/sizes.vue2.js +2 -2
  136. package/es/components/pagination/components/total.vue2.js +2 -2
  137. package/es/components/popconfirm/popconfirm.vue2.js +40 -39
  138. package/es/components/popover/popover.vue2.js +1 -1
  139. package/es/components/popper/arrow.vue2.js +2 -2
  140. package/es/components/popper/content.vue2.js +2 -2
  141. package/es/components/popper/trigger.vue2.js +4 -4
  142. package/es/components/progress/progress.vue2.js +1 -1
  143. package/es/components/progress-i/progress-i.vue2.js +2 -2
  144. package/es/components/qrcode/qrcode.vue2.js +1 -1
  145. package/es/components/radio/radio-button.vue2.js +2 -2
  146. package/es/components/radio/radio-group.vue2.js +3 -3
  147. package/es/components/radio/radio.vue2.js +2 -2
  148. package/es/components/rate/rate.vue2.js +6 -6
  149. package/es/components/router-view-content/router-view-content.vue2.js +7 -7
  150. package/es/components/roving-focus-group/roving-focus-group.vue2.js +2 -2
  151. package/es/components/roving-focus-group/roving-focus-item.vue2.js +2 -2
  152. package/es/components/row/row.vue2.js +2 -2
  153. package/es/components/scrollbar/bar.vue2.js +2 -2
  154. package/es/components/scrollbar/scrollbar.vue2.js +7 -7
  155. package/es/components/scrollbar/thumb.vue2.js +2 -2
  156. package/es/components/search/search.vue2.js +78 -76
  157. package/es/components/segmented/segmented.vue2.js +7 -7
  158. package/es/components/select/group-item.vue.js +2 -2
  159. package/es/components/select/option-item.vue.js +2 -2
  160. package/es/components/select/select.vue.js +1 -1
  161. package/es/components/select/useSelect.js +232 -231
  162. package/es/components/skeleton/skeleton-item.vue2.js +2 -2
  163. package/es/components/skeleton/skeleton.vue2.js +8 -8
  164. package/es/components/slider/button.vue2.js +2 -2
  165. package/es/components/slider/slider.vue2.js +1 -1
  166. package/es/components/space/space.js +1 -1
  167. package/es/components/statistic/statistic.vue2.js +17 -17
  168. package/es/components/steps/item.vue2.js +11 -11
  169. package/es/components/steps/steps.vue2.js +2 -2
  170. package/es/components/super-form/super-form-action.vue2.js +11 -11
  171. package/es/components/super-form/super-form-item.vue2.js +5 -4
  172. package/es/components/super-form/super-form.vue2.js +7 -7
  173. package/es/components/super-form/use/helper.js +12 -12
  174. package/es/components/super-form/use/use-form.js +8 -8
  175. package/es/components/switch/switch.vue2.js +1 -1
  176. package/es/components/table/field.js +34 -33
  177. package/es/components/table/table.vue2.js +154 -157
  178. package/es/components/table/use/use-data-source.js +90 -90
  179. package/es/components/tabs/tab-bar.vue2.js +2 -2
  180. package/es/components/tabs/tab-pane.vue2.js +6 -6
  181. package/es/components/teleport/teleport.vue2.js +2 -2
  182. package/es/components/time-picker/common/picker-range-trigger.vue2.js +2 -2
  183. package/es/components/time-picker/common/picker.vue2.js +8 -8
  184. package/es/components/time-picker/time-picker-com/basic-time-spinner.vue2.js +1 -1
  185. package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +66 -65
  186. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +134 -133
  187. package/es/components/time-select/time-select.vue2.js +3 -3
  188. package/es/components/timeline/timeline-item.vue2.js +1 -1
  189. package/es/components/tooltip/content.vue2.js +6 -6
  190. package/es/components/tooltip/tooltip.vue2.js +1 -1
  191. package/es/components/tooltip/trigger.vue2.js +2 -2
  192. package/es/components/transfer/transfer-panel.vue2.js +59 -58
  193. package/es/components/transfer/transfer.vue2.js +70 -69
  194. package/es/components/tree/tree-node.vue.js +1 -1
  195. package/es/components/tree/tree.vue2.js +60 -59
  196. package/es/components/upload/index.d.ts +3 -3
  197. package/es/components/upload/upload-content.vue.d.ts +2 -2
  198. package/es/components/upload/upload-content.vue2.js +76 -73
  199. package/es/components/upload/upload-dragger.vue2.js +2 -2
  200. package/es/components/upload/upload-list.vue2.js +46 -45
  201. package/es/components/upload/upload.vue.d.ts +2 -2
  202. package/es/components/upload/upload.vue2.js +87 -85
  203. package/es/components/upload/utils.js +29 -29
  204. package/es/components/verify-code/verify-code.vue2.js +2 -2
  205. package/es/components/watermark/watermark.vue2.js +2 -2
  206. package/es/constants/date.d.ts +1 -1
  207. package/es/constants/date.js +9 -1
  208. package/es/hooks/use-id/index.js +2 -2
  209. package/es/hooks/use-z-index/index.js +3 -3
  210. package/es/index.d.ts +1 -0
  211. package/es/index.js +43 -38
  212. package/es/locale/index.d.js +1 -0
  213. package/es/locale/index.d.ts +26 -0
  214. package/es/locale/index.js +10 -0
  215. package/es/locale/lang/en.d.ts +183 -0
  216. package/es/locale/lang/en.js +241 -0
  217. package/es/locale/lang/zh-cn.d.ts +183 -0
  218. package/es/locale/lang/zh-cn.js +241 -0
  219. package/es/locale/lang/zh-tw.d.ts +183 -0
  220. package/es/locale/lang/zh-tw.js +241 -0
  221. package/es/locale/use-locale.d.ts +17 -0
  222. package/es/locale/use-locale.js +56 -0
  223. package/es/package.json.d.ts +1 -1
  224. package/es/package.json.js +1 -1
  225. package/es/plugin.js +5 -3
  226. package/es/utils/helper.js +2 -2
  227. package/es/utils/ns-cover.js +1 -1
  228. package/es/utils/vue/vnode.js +4 -4
  229. package/lib/components/button/use-button.cjs +1 -1
  230. package/lib/components/cascader/cascader.vue2.cjs +1 -1
  231. package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
  232. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  233. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  234. package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
  235. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  236. package/lib/components/config-provider/constants.cjs +1 -1
  237. package/lib/components/config-provider/constants.d.ts +1 -0
  238. package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
  239. package/lib/components/config-provider/index.cjs +1 -1
  240. package/lib/components/config-provider/index.d.ts +9 -0
  241. package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
  242. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  243. package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
  244. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  245. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  246. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  247. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  248. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  249. package/lib/components/dropdown/dropdown-item-impl.vue.d.ts +1 -1
  250. package/lib/components/dropdown/dropdown-item.vue.d.ts +1 -1
  251. package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
  252. package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
  253. package/lib/components/dropdown/index.d.ts +33 -33
  254. package/lib/components/empty/empty.vue2.cjs +1 -1
  255. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  256. package/lib/components/image/image.vue2.cjs +1 -1
  257. package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
  258. package/lib/components/index.cjs +1 -1
  259. package/lib/components/index.d.ts +1 -0
  260. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  261. package/lib/components/md-container/toc.cjs +1 -1
  262. package/lib/components/message-box/index.cjs +1 -0
  263. package/lib/components/message-box/index.d.ts +4 -0
  264. package/lib/components/message-box/message-box.vue.cjs +1 -0
  265. package/lib/components/message-box/message-box.vue.d.ts +103 -0
  266. package/lib/components/message-box/message-box.vue2.cjs +1 -0
  267. package/lib/components/message-box/method.cjs +1 -0
  268. package/lib/components/message-box/method.d.ts +3 -0
  269. package/lib/components/message-box/style/css.cjs +1 -0
  270. package/lib/components/message-box/style/css.d.ts +2 -0
  271. package/lib/components/message-box/style/index.cjs +1 -0
  272. package/lib/components/message-box/style/index.d.ts +2 -0
  273. package/lib/components/message-box/types.cjs +1 -0
  274. package/lib/components/message-box/types.d.ts +202 -0
  275. package/lib/components/modal/index.d.ts +1 -0
  276. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  277. package/lib/components/modal/modal.vue.d.ts +1 -0
  278. package/lib/components/modal/modal.vue2.cjs +1 -1
  279. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  280. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  281. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
  282. package/lib/components/search/search.vue2.cjs +1 -1
  283. package/lib/components/select/useSelect.cjs +1 -1
  284. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  285. package/lib/components/super-form/use/helper.cjs +1 -1
  286. package/lib/components/super-form/use/use-form.cjs +1 -1
  287. package/lib/components/table/field.cjs +1 -1
  288. package/lib/components/table/table.vue2.cjs +1 -1
  289. package/lib/components/table/use/use-data-source.cjs +1 -1
  290. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
  291. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  292. package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
  293. package/lib/components/transfer/transfer.vue2.cjs +1 -1
  294. package/lib/components/tree/tree.vue2.cjs +1 -1
  295. package/lib/components/upload/index.d.ts +3 -3
  296. package/lib/components/upload/upload-content.vue.d.ts +2 -2
  297. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  298. package/lib/components/upload/upload-list.vue2.cjs +1 -1
  299. package/lib/components/upload/upload.vue.d.ts +2 -2
  300. package/lib/components/upload/upload.vue2.cjs +1 -1
  301. package/lib/components/upload/utils.cjs +1 -1
  302. package/lib/constants/date.cjs +1 -1
  303. package/lib/constants/date.d.ts +1 -1
  304. package/lib/index.cjs +1 -1
  305. package/lib/index.d.ts +1 -0
  306. package/lib/locale/index.cjs +1 -0
  307. package/lib/locale/index.d.cjs +1 -0
  308. package/lib/locale/index.d.ts +26 -0
  309. package/lib/locale/lang/en.cjs +1 -0
  310. package/lib/locale/lang/en.d.ts +183 -0
  311. package/lib/locale/lang/zh-cn.cjs +1 -0
  312. package/lib/locale/lang/zh-cn.d.ts +183 -0
  313. package/lib/locale/lang/zh-tw.cjs +1 -0
  314. package/lib/locale/lang/zh-tw.d.ts +183 -0
  315. package/lib/locale/use-locale.cjs +1 -0
  316. package/lib/locale/use-locale.d.ts +17 -0
  317. package/lib/package.json.cjs +1 -1
  318. package/lib/package.json.d.ts +1 -1
  319. package/lib/plugin.cjs +1 -1
  320. package/package.json +2 -2
  321. package/theme-style/index.css +1 -1
  322. package/theme-style/src/super-form.scss +0 -1
  323. package/theme-style/src/table.scss +4 -0
  324. package/theme-style/vft-super-form.css +1 -1
  325. package/theme-style/vft-table.css +1 -1
  326. package/web-types.json +1 -1
@@ -0,0 +1,56 @@
1
+ import { ref as f, inject as d, computed as u } from "vue";
2
+ import m from "./lang/zh-cn.js";
3
+ import j from "./lang/en.js";
4
+ import w from "./lang/zh-tw.js";
5
+ const l = {
6
+ "zh-cn": m,
7
+ en: j,
8
+ "zh-tw": w
9
+ }, s = f("zh-cn"), n = f(m), x = Symbol("vftLocale");
10
+ function S(i = "zh-cn") {
11
+ const o = d(x, void 0);
12
+ if (o?.value) {
13
+ const e = (t) => {
14
+ l[t] && o && (o.value = l[t]);
15
+ }, r = (t, c) => {
16
+ const v = t.split(".");
17
+ let a = o.value;
18
+ for (const C of v)
19
+ if (a = a?.[C], a === void 0)
20
+ return c || t;
21
+ return a || c || t;
22
+ };
23
+ return {
24
+ locale: u(() => o.value),
25
+ currentLocale: u(() => o.value?.name || "zh-cn"),
26
+ setLocale: e,
27
+ getLocale: () => o.value,
28
+ getCurrentLocale: () => o.value?.name || "zh-cn",
29
+ t: r
30
+ };
31
+ }
32
+ s.value = i, n.value = l[i];
33
+ const L = (e) => {
34
+ l[e] && (s.value = e, n.value = l[e]);
35
+ }, p = () => n.value, h = () => s.value, z = (e, r) => {
36
+ const t = e.split(".");
37
+ let c = n.value;
38
+ for (const v of t)
39
+ if (c = c?.[v], c === void 0)
40
+ return r || e;
41
+ return c || r || e;
42
+ };
43
+ return {
44
+ locale: u(() => n.value),
45
+ currentLocale: u(() => s.value),
46
+ setLocale: L,
47
+ getLocale: p,
48
+ getCurrentLocale: h,
49
+ t: z
50
+ };
51
+ }
52
+ export {
53
+ S as default,
54
+ x as localeContextKey,
55
+ S as useLocale
56
+ };
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.507",
3
+ "version": "0.0.511",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.507";
1
+ const o = "0.0.511";
2
2
  export {
3
3
  o as version
4
4
  };
package/es/plugin.js CHANGED
@@ -1,13 +1,15 @@
1
1
  import { VftLoading as o } from "./components/loading/index.js";
2
2
  import { VftInfiniteScroll as t } from "./components/infinite-scroll/index.js";
3
- import { VftMessage as f } from "./components/message/index.js";
3
+ import { Message as f } from "./components/message/index.js";
4
+ import { MessageBox as s } from "./components/message-box/index.js";
4
5
  import { VftNotification as i } from "./components/notification/index.js";
5
- const e = [
6
+ const n = [
6
7
  o,
7
8
  f,
9
+ s,
8
10
  t,
9
11
  i
10
12
  ];
11
13
  export {
12
- e as default
14
+ n as default
13
15
  };
@@ -1,7 +1,7 @@
1
1
  import { useGlobalConfig as n } from "../components/config-provider/hooks/use-global-config.js";
2
- import { componentSizes as i, componentSizeMap as o } from "../constants/size.js";
2
+ import { componentSizeMap as i, componentSizes as o } from "../constants/size.js";
3
3
  import { addUnit as s } from "@vft/utils";
4
- const c = (t) => ["large", "small"].includes(t) ? t : !1, l = (t) => ["", ...i].includes(t), m = (t) => o[t || "default"], p = (t) => !t && t !== 0 ? [] : Array.isArray(t) ? t : [t], d = (t) => [...new Set(t)];
4
+ const c = (t) => ["large", "small"].includes(t) ? t : !1, l = (t) => ["", ...o].includes(t), m = (t) => i[t || "default"], p = (t) => !t && t !== 0 ? [] : Array.isArray(t) ? t : [t], d = (t) => [...new Set(t)];
5
5
  function f(t) {
6
6
  const e = n();
7
7
  return s(t, e?.value?.baseUnit, e?.value?.baseUnitSize);
@@ -1,4 +1,4 @@
1
- import { generateCssVars as f, cssVarValue as c, isObject as i, setStyle as r, getRgbCount as u, mixColor as n, hexToRGB as m } from "@vft/utils";
1
+ import { generateCssVars as f, cssVarValue as c, isObject as i, setStyle as r, getRgbCount as u, hexToRGB as m, mixColor as n } from "@vft/utils";
2
2
  import { isClient as l } from "@vueuse/core";
3
3
  import { ref as g } from "vue";
4
4
  const V = (e, t = document.documentElement, s = !0) => {
@@ -1,5 +1,5 @@
1
- import { hasOwn as m, camelize as N, isArray as E } from "@vft/utils";
2
- import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
1
+ import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
2
+ import { isVNode as o, Fragment as S, Comment as A, Text as s, openBlock as L, createBlock as _, createCommentVNode as C } from "vue";
3
3
  import { debugWarn as O } from "../error.js";
4
4
  const R = "utils/vue/vnode";
5
5
  var D = /* @__PURE__ */ ((e) => (e[e.TEXT = 1] = "TEXT", e[e.CLASS = 2] = "CLASS", e[e.STYLE = 4] = "STYLE", e[e.PROPS = 8] = "PROPS", e[e.FULL_PROPS = 16] = "FULL_PROPS", e[e.HYDRATE_EVENTS = 32] = "HYDRATE_EVENTS", e[e.STABLE_FRAGMENT = 64] = "STABLE_FRAGMENT", e[e.KEYED_FRAGMENT = 128] = "KEYED_FRAGMENT", e[e.UNKEYED_FRAGMENT = 256] = "UNKEYED_FRAGMENT", e[e.NEED_PATCH = 512] = "NEED_PATCH", e[e.DYNAMIC_SLOTS = 1024] = "DYNAMIC_SLOTS", e[e.HOISTED = -1] = "HOISTED", e[e.BAIL = -2] = "BAIL", e))(D || {});
@@ -25,10 +25,10 @@ function T(e, t) {
25
25
  }
26
26
  const M = (e, t = 3) => E(e) ? T(e[0], t) : T(e, t);
27
27
  function H(e, ...t) {
28
- return e ? v(...t) : L("v-if", !0);
28
+ return e ? v(...t) : C("v-if", !0);
29
29
  }
30
30
  function v(...e) {
31
- return C(), _(...e);
31
+ return L(), _(...e);
32
32
  }
33
33
  const w = (e) => {
34
34
  if (!o(e))
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../config-provider/index.cjs");require("../form/index.cjs");const q=require("@vueuse/core"),o=require("vue"),v=require("./constants.cjs"),F=require("../form/hooks/use-form-item.cjs"),T=require("../config-provider/hooks/use-global-config.cjs"),r=require("../form/hooks/use-form-common-props.cjs"),p=(e,i)=>{const u=o.inject(v.buttonGroupContextKey,void 0),l=T.useGlobalConfig("button"),{form:a}=F.useFormItem(),d=r.useFormSize(o.computed(()=>u?.size)),n=r.useFormDisabled(),f=o.ref(),m=o.useSlots(),b=o.computed(()=>e.type||u?.type||""),g=o.computed(()=>e.autoInsertSpace??l.value?.autoInsertSpace??!1),h=o.computed(()=>{const t=m.default?.();if(g.value&&t?.length===1){const c=t[0];if(c?.type===o.Text){const S=c.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(S.trim())}}return!1}),y=o.computed(()=>e.tag==="button"?{ariaDisabled:n.value||e.loading,disabled:n.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),s=t=>{e.nativeType==="reset"&&a?.resetFields(),i("click",t)},C=q.useThrottleFn(t=>{s(t)},e.throttleTime);return{_props:y,_disabled:n,_size:d,_type:b,_ref:f,shouldAddSpace:h,handleClick:t=>{e.useThrottle?C(t):s(t)}}};exports.useButton=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../config-provider/index.cjs");require("../form/index.cjs");const q=require("@vueuse/core"),o=require("vue"),v=require("./constants.cjs"),F=require("../config-provider/hooks/use-global-config.cjs"),T=require("../form/hooks/use-form-item.cjs"),r=require("../form/hooks/use-form-common-props.cjs"),p=(e,i)=>{const u=o.inject(v.buttonGroupContextKey,void 0),l=F.useGlobalConfig("button"),{form:a}=T.useFormItem(),d=r.useFormSize(o.computed(()=>u?.size)),n=r.useFormDisabled(),f=o.ref(),m=o.useSlots(),b=o.computed(()=>e.type||u?.type||""),g=o.computed(()=>e.autoInsertSpace??l.value?.autoInsertSpace??!1),h=o.computed(()=>{const t=m.default?.();if(g.value&&t?.length===1){const c=t[0];if(c?.type===o.Text){const S=c.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(S.trim())}}return!1}),y=o.computed(()=>e.tag==="button"?{ariaDisabled:n.value||e.loading,disabled:n.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),s=t=>{e.nativeType==="reset"&&a?.resetFields(),i("click",t)},C=q.useThrottleFn(t=>{s(t)},e.throttleTime);return{_props:y,_disabled:n,_size:d,_type:b,_ref:f,shouldAddSpace:h,handleClick:t=>{e.useThrottle?C(t):s(t)}}};exports.useButton=p;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),se=require("lodash-es"),ne=require("@vueuse/core"),ae=require("../../utils/dom/aria.cjs"),re=require("@vft/utils"),Fe=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const p=require("../../constants/aria.cjs"),ie=require("../../constants/event.cjs");require("../form/index.cjs");const Me=require("../cascader-panel/index.cjs"),Ae=require("../input/index.cjs"),ue=require("../tooltip/index.cjs"),ce=require("../scrollbar/index.cjs"),pe=require("../tag/index.cjs"),K=require("../icon/index.cjs"),Ke=require("@vft/directives"),de=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const He=require("../../hooks/use-composition/index.cjs"),Le=require("../../hooks/use-empty-values/index.cjs"),fe=require("./cascader.cjs"),Re=require("../form/hooks/use-form-item.cjs"),We=require("../form/hooks/use-form-common-props.cjs"),Ue={key:0},je=["placeholder"],Ge=["onClick"],Je="VftCascader",Qe=e.defineComponent({name:Je}),Xe=e.defineComponent({...Qe,props:fe.cascaderProps,emits:fe.cascaderEmits,setup(ve,{expose:me,emit:ge}){const n=ve,f=ge,he={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:t})=>{const{modifiersData:l,placement:o}=t;["right","left","bottom","top"].includes(o)||l.arrow&&(l.arrow.x=35)},requires:["arrow"]}]},H=e.useAttrs();let E=0,D=0;const a=de.useNamespace("cascader"),q=de.useNamespace("input"),{form:ke,formItem:L}=Re.useFormItem(),{valueOnClear:Ce}=Le.useEmptyValues(n),{isComposing:R,handleComposition:d}=He.useComposition({afterComposition(t){const l=t.target?.value;A(l)}}),b=e.ref(null),C=e.ref(null),W=e.ref(null),u=e.ref(null),V=e.ref(null),c=e.ref(!1),U=e.ref(!1),v=e.ref(!1),z=e.ref(!1),w=e.ref(""),h=e.ref(""),k=e.ref([]),T=e.ref([]),P=e.ref([]),Ee=e.computed(()=>H.style),m=e.computed(()=>n.disabled||ke?.disabled),j=e.computed(()=>n.placeholder??"请选择"),ye=e.computed(()=>h.value||k.value.length>0||R.value?"":j.value),N=We.useFormSize(),G=e.computed(()=>N.value==="small"?"small":"default"),g=e.computed(()=>!!n.props.multiple),J=e.computed(()=>!n.filterable||g.value),Q=e.computed(()=>g.value?h.value:w.value),X=[],B=e.computed(()=>{const t=u.value;if(!t)return X;const l=t.checkedNodes,o=e.unref(l);return Array.isArray(o)&&o.length?o:X}),be=e.computed(()=>!n.clearable||m.value||v.value?!1:!!B.value.length),S=e.computed(()=>{const{showAllLevels:t,separator:l}=n,o=B.value;return o.length?g.value?"":o[0].calcText(t,l):""}),Ve=e.computed(()=>L?.validateState||""),Y=e.computed({get(){return se.cloneDeep(n.modelValue)},set(t){const l=t??Ce.value;f(ie.UPDATE_MODEL_EVENT,l),f(ie.CHANGE_EVENT,l),n.validateEvent&&L?.validate("change").catch(o=>Fe.debugWarn(o))}}),we=e.computed(()=>[a.b(),a.m(N.value),a.is("disabled",m.value),H.class]),Te=e.computed(()=>[q.e("icon"),a.is("reverse",c.value)]),Ne=e.computed(()=>a.is("focus",c.value||z.value)),Z=e.computed(()=>b.value?.popperRef?.contentRef),i=t=>{m.value||(t=t??!c.value,t!==c.value&&(c.value=t,C.value?.input?.setAttribute("aria-expanded",`${t}`),t?(y(),e.nextTick(u.value?.scrollToExpandingNode)):n.filterable&&M(),f("visibleChange",t)))},y=()=>{e.nextTick(()=>{b.value?.updatePopper()})},I=()=>{v.value=!1},O=t=>{const{showAllLevels:l,separator:o}=n;return{node:t,key:t.uid,text:t.calcText(l,o),hitState:!1,closable:!m.value&&!t.isDisabled,isCollapseTag:!1}},$=t=>{const l=t.node;l.doCheck(!1),u.value?.calculateCheckedValue(),f("removeTag",l.valueByOption)},Be=()=>{switch(n.showCheckedStrategy){case"child":return B.value;case"parent":{const t=ee(!1),l=t.map(s=>s.value);return t.filter(s=>!s.parent||!l.includes(s.parent.value))}default:return[]}},Se=()=>{if(!g.value)return;const t=Be(),l=[],o=[];if(t.forEach(s=>o.push(O(s))),T.value=o,t.length){t.slice(0,n.maxCollapseTags).forEach(x=>l.push(O(x)));const s=t.slice(n.maxCollapseTags),r=s.length;r&&(n.collapseTags?l.push({key:-1,text:`+ ${r}`,closable:!1,isCollapseTag:!0}):s.forEach(x=>l.push(O(x))))}k.value=l},_=()=>{const{filterMethod:t,showAllLevels:l,separator:o}=n,s=u.value?.getFlattedNodes(!n.props.checkStrictly)?.filter(r=>r.isDisabled?!1:(r.calcText(l,o),t(r,Q.value)));g.value&&(k.value.forEach(r=>{r.hitState=!1}),T.value.forEach(r=>{r.hitState=!1})),v.value=!0,P.value=s,y()},$e=()=>{let t;v.value&&V.value?t=V.value.$el.querySelector(`.${a.e("suggestion-item")}`):t=u.value?.$el.querySelector(`.${a.b("node")}[tabindex="-1"]`),t&&(t.focus(),!v.value&&t.click())},F=()=>{const t=C.value?.input,l=W.value,o=V.value?.$el;if(!(!re.isClient||!t)){if(o){const s=o.querySelector(`.${a.e("suggestion-list")}`);s.style.minWidth=`${t.offsetWidth}px`}if(l){const{offsetHeight:s}=l,r=k.value.length>0?`${Math.max(s,E)-2}px`:`${E}px`;t.style.height=r,y()}}},ee=t=>u.value?.getCheckedNodes(t),xe=t=>{y(),f("expandChange",t)},De=t=>{if(!R.value)switch(t.code){case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:i();break;case p.EVENT_CODE.down:i(!0),e.nextTick($e),t.preventDefault();break;case p.EVENT_CODE.esc:c.value===!0&&(t.preventDefault(),t.stopPropagation(),i(!1));break;case p.EVENT_CODE.tab:i(!1);break}},qe=()=>{u.value?.clearCheckedNodes(),!c.value&&n.filterable&&M(),i(!1),f("clear")},M=()=>{const{value:t}=S;w.value=t,h.value=t},ze=t=>{const{checked:l}=t;g.value?u.value?.handleCheckChange(t,!l,!1):(!l&&u.value?.handleCheckChange(t,!0,!1),i(!1))},Pe=t=>{const l=t.target,{code:o}=t;switch(o){case p.EVENT_CODE.up:case p.EVENT_CODE.down:{t.preventDefault();const s=o===p.EVENT_CODE.up?-1:1;ae.focusNode(ae.getSibling(l,s,`.${a.e("suggestion-item")}[tabindex="-1"]`));break}case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:l.click();break}},Ie=()=>{const t=k.value,l=t[t.length-1];D=h.value?0:D+1,!(!l||!D||n.collapseTags&&t.length>1)&&(l.hitState?$(l):l.hitState=!0)},te=t=>{z.value=!0,f("focus",t)},le=t=>{e.nextTick(()=>{const l=C.value?.$el,o=document.activeElement;l?.contains(o)||b.value?.isFocusInsideContent?.(t)||(z.value=!1)}),f("blur",t)},Oe=se.debounce(()=>{const{value:t}=Q;if(!t)return;const l=n.beforeFilter(t);re.isPromise(l)?l.then(_).catch(()=>{}):l!==!1?_():I()},n.debounce),A=(t,l)=>{!c.value&&i(!0),!l?.isComposing&&(t?Oe():I())},oe=t=>Number.parseFloat(ne.useCssVar(q.cssVarName("input-height"),t).value)-2;return e.watch(v,y),e.watch([B,m,()=>n.collapseTags],Se),e.watch(k,()=>{e.nextTick(()=>F())}),e.watch(N,async()=>{await e.nextTick();const t=C.value.input;E=oe(t)||E,F()}),e.watch(S,M,{immediate:!0}),e.onMounted(()=>{const t=C.value.input,l=oe(t);E=t.offsetHeight||l,ne.useResizeObserver(t,F)}),me({getCheckedNodes:ee,cascaderPanelRef:u,togglePopperVisible:i,contentRef:Z,presentText:S}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(ue.VftTooltip),{ref_key:"tooltipRef",ref:b,visible:c.value,teleported:t.teleported,"popper-class":[e.unref(a).e("dropdown"),t.popperClass],"popper-options":he,"fallback-placements":t.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:t.placement,transition:`${e.unref(a).namespace.value}-zoom-in-top`,effect:t.effect,pure:"",persistent:t.persistent,onHide:I},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(we.value),style:e.normalizeStyle(Ee.value),onClick:l[8]||(l[8]=()=>i(J.value?void 0:!0)),onKeydown:De,onMouseenter:l[9]||(l[9]=o=>U.value=!0),onMouseleave:l[10]||(l[10]=o=>U.value=!1)},[e.createVNode(e.unref(Ae.VftInput),{ref_key:"input",ref:C,modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=o=>w.value=o),placeholder:ye.value,readonly:J.value,disabled:m.value,"validate-event":!1,size:e.unref(N),class:e.normalizeClass(Ne.value),tabindex:g.value&&t.filterable&&!m.value?-1:void 0,onCompositionstart:e.unref(d),onCompositionupdate:e.unref(d),onCompositionend:e.unref(d),onFocus:te,onBlur:le,onInput:A},e.createSlots({suffix:e.withCtx(()=>[be.value?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:"clear",icon:"icon-circle-close",class:e.normalizeClass(["icon-circle-close",[e.unref(q).e("icon")]]),onClick:e.withModifiers(qe,["stop"])},null,8,["class"])):(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{icon:"icon-arrow-down",key:"arrow-down",class:e.normalizeClass(Te.value),onClick:l[0]||(l[0]=e.withModifiers(o=>i(),["stop"]))},null,8,["class"]))]),_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),g.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:W,class:e.normalizeClass([e.unref(a).e("tags"),e.unref(a).is("validate",!!Ve.value)])},[e.renderSlot(t.$slots,"tag",{data:T.value,deleteTag:$},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createBlock(e.unref(pe.VftTag),{key:o.key,type:t.tagType,size:G.value,effect:t.tagEffect,hit:o.hitState,closable:o.closable,"disable-transitions":"",onClose:s=>$(o)},{default:e.withCtx(()=>[o.isCollapseTag===!1?(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(o.text),1)):(e.openBlock(),e.createBlock(e.unref(ue.VftTooltip),{key:1,disabled:c.value||!t.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:t.effect},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1)]),content:e.withCtx(()=>[e.createVNode(e.unref(ce.VftScrollbar),{"max-height":t.maxCollapseTagsTooltipHeight},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("collapse-tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value.slice(t.maxCollapseTags),(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(a).e("collapse-tag"))},[(e.openBlock(),e.createBlock(e.unref(pe.VftTag),{key:s.key,class:"in-tooltip",type:t.tagType,size:G.value,effect:t.tagEffect,hit:s.hitState,closable:s.closable,"disable-transitions":"",onClose:x=>$(s)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),t.filterable&&!m.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=o=>h.value=o),type:"text",class:e.normalizeClass(e.unref(a).e("search-input")),placeholder:S.value?"":j.value,onInput:l[3]||(l[3]=o=>A(h.value,o)),onClick:l[4]||(l[4]=e.withModifiers(o=>i(!0),["stop"])),onKeydown:e.withKeys(Ie,["delete"]),onCompositionstart:l[5]||(l[5]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionupdate:l[6]||(l[6]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionend:l[7]||(l[7]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onFocus:te,onBlur:le},null,42,je)),[[e.vModelText,h.value]]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],38)),[[e.unref(Ke.ClickOutside),()=>i(!1),Z.value]])]),content:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("header")),onClick:l[11]||(l[11]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"header")],2)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(Me.VftCascaderPanel),{ref_key:"cascaderPanelRef",ref:u,modelValue:Y.value,"onUpdate:modelValue":l[12]||(l[12]=o=>Y.value=o),options:t.options,props:n.props,border:!1,"render-label":t.$slots.default,onExpandChange:xe,onClose:l[13]||(l[13]=o=>t.$nextTick(()=>i(!1)))},{empty:e.withCtx(()=>[e.renderSlot(t.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label"]),[[e.vShow,!v.value]]),t.filterable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(ce.VftScrollbar),{key:1,ref_key:"suggestionPanel",ref:V,tag:"ul",class:e.normalizeClass(e.unref(a).e("suggestion-panel")),"view-class":e.unref(a).e("suggestion-list"),onKeydown:Pe},{default:e.withCtx(()=>[P.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,o=>(e.openBlock(),e.createElementBlock("li",{key:o.uid,class:e.normalizeClass([e.unref(a).e("suggestion-item"),e.unref(a).is("checked",o.checked)]),tabindex:-1,onClick:s=>ze(o)},[e.renderSlot(t.$slots,"suggestion-item",{item:o},()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1),o.checked?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:0,icon:"icon-check"})):e.createCommentVNode("",!0)])],10,Ge))),128)):e.renderSlot(t.$slots,"empty",{key:1},()=>[e.createElementVNode("li",{class:e.normalizeClass(e.unref(a).e("empty-text"))},"无匹配数据",2)])]),_:3},8,["class","view-class"])),[[e.vShow,v.value]]):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(a).e("footer")),onClick:l[14]||(l[14]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"footer")],2)):e.createCommentVNode("",!0)]),_:3},8,["visible","teleported","popper-class","fallback-placements","placement","transition","effect","persistent"]))}});exports.default=Xe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),ne=require("lodash-es"),ae=require("@vueuse/core"),re=require("../../utils/dom/aria.cjs"),ie=require("@vft/utils"),Me=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const p=require("../../constants/aria.cjs"),ue=require("../../constants/event.cjs");require("../form/index.cjs");const Ae=require("../cascader-panel/index.cjs"),Ke=require("../input/index.cjs"),ce=require("../tooltip/index.cjs"),pe=require("../scrollbar/index.cjs"),de=require("../tag/index.cjs"),K=require("../icon/index.cjs"),Le=require("@vft/directives"),fe=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const He=require("../../hooks/use-composition/index.cjs"),Re=require("../../hooks/use-empty-values/index.cjs"),We=require("../../locale/use-locale.cjs"),ve=require("./cascader.cjs"),Ue=require("../form/hooks/use-form-item.cjs"),je=require("../form/hooks/use-form-common-props.cjs"),Ge={key:0},Je=["placeholder"],Qe=["onClick"],Xe="VftCascader",Ye=e.defineComponent({name:Xe}),Ze=e.defineComponent({...Ye,props:ve.cascaderProps,emits:ve.cascaderEmits,setup(me,{expose:ge,emit:he}){const n=me,f=he,ke={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:t})=>{const{modifiersData:l,placement:o}=t;["right","left","bottom","top"].includes(o)||l.arrow&&(l.arrow.x=35)},requires:["arrow"]}]},L=e.useAttrs(),{t:H}=We.default();let E=0,D=0;const a=fe.useNamespace("cascader"),q=fe.useNamespace("input"),{form:Ce,formItem:R}=Ue.useFormItem(),{valueOnClear:Ee}=Re.useEmptyValues(n),{isComposing:W,handleComposition:d}=He.useComposition({afterComposition(t){const l=t.target?.value;A(l)}}),b=e.ref(null),C=e.ref(null),U=e.ref(null),u=e.ref(null),V=e.ref(null),c=e.ref(!1),j=e.ref(!1),v=e.ref(!1),z=e.ref(!1),w=e.ref(""),h=e.ref(""),k=e.ref([]),T=e.ref([]),P=e.ref([]),ye=e.computed(()=>L.style),m=e.computed(()=>n.disabled||Ce?.disabled),G=e.computed(()=>n.placeholder??H("vft.cascader.placeholder")),be=e.computed(()=>h.value||k.value.length>0||W.value?"":G.value),N=je.useFormSize(),J=e.computed(()=>N.value==="small"?"small":"default"),g=e.computed(()=>!!n.props.multiple),Q=e.computed(()=>!n.filterable||g.value),X=e.computed(()=>g.value?h.value:w.value),Y=[],S=e.computed(()=>{const t=u.value;if(!t)return Y;const l=t.checkedNodes,o=e.unref(l);return Array.isArray(o)&&o.length?o:Y}),Ve=e.computed(()=>!n.clearable||m.value||v.value?!1:!!S.value.length),B=e.computed(()=>{const{showAllLevels:t,separator:l}=n,o=S.value;return o.length?g.value?"":o[0].calcText(t,l):""}),we=e.computed(()=>R?.validateState||""),Z=e.computed({get(){return ne.cloneDeep(n.modelValue)},set(t){const l=t??Ee.value;f(ue.UPDATE_MODEL_EVENT,l),f(ue.CHANGE_EVENT,l),n.validateEvent&&R?.validate("change").catch(o=>Me.debugWarn(o))}}),Te=e.computed(()=>[a.b(),a.m(N.value),a.is("disabled",m.value),L.class]),Ne=e.computed(()=>[q.e("icon"),a.is("reverse",c.value)]),Se=e.computed(()=>a.is("focus",c.value||z.value)),_=e.computed(()=>b.value?.popperRef?.contentRef),i=t=>{m.value||(t=t??!c.value,t!==c.value&&(c.value=t,C.value?.input?.setAttribute("aria-expanded",`${t}`),t?(y(),e.nextTick(u.value?.scrollToExpandingNode)):n.filterable&&M(),f("visibleChange",t)))},y=()=>{e.nextTick(()=>{b.value?.updatePopper()})},I=()=>{v.value=!1},O=t=>{const{showAllLevels:l,separator:o}=n;return{node:t,key:t.uid,text:t.calcText(l,o),hitState:!1,closable:!m.value&&!t.isDisabled,isCollapseTag:!1}},$=t=>{const l=t.node;l.doCheck(!1),u.value?.calculateCheckedValue(),f("removeTag",l.valueByOption)},Be=()=>{switch(n.showCheckedStrategy){case"child":return S.value;case"parent":{const t=te(!1),l=t.map(s=>s.value);return t.filter(s=>!s.parent||!l.includes(s.parent.value))}default:return[]}},$e=()=>{if(!g.value)return;const t=Be(),l=[],o=[];if(t.forEach(s=>o.push(O(s))),T.value=o,t.length){t.slice(0,n.maxCollapseTags).forEach(x=>l.push(O(x)));const s=t.slice(n.maxCollapseTags),r=s.length;r&&(n.collapseTags?l.push({key:-1,text:`+ ${r}`,closable:!1,isCollapseTag:!0}):s.forEach(x=>l.push(O(x))))}k.value=l},ee=()=>{const{filterMethod:t,showAllLevels:l,separator:o}=n,s=u.value?.getFlattedNodes(!n.props.checkStrictly)?.filter(r=>r.isDisabled?!1:(r.calcText(l,o),t(r,X.value)));g.value&&(k.value.forEach(r=>{r.hitState=!1}),T.value.forEach(r=>{r.hitState=!1})),v.value=!0,P.value=s,y()},xe=()=>{let t;v.value&&V.value?t=V.value.$el.querySelector(`.${a.e("suggestion-item")}`):t=u.value?.$el.querySelector(`.${a.b("node")}[tabindex="-1"]`),t&&(t.focus(),!v.value&&t.click())},F=()=>{const t=C.value?.input,l=U.value,o=V.value?.$el;if(!(!ie.isClient||!t)){if(o){const s=o.querySelector(`.${a.e("suggestion-list")}`);s.style.minWidth=`${t.offsetWidth}px`}if(l){const{offsetHeight:s}=l,r=k.value.length>0?`${Math.max(s,E)-2}px`:`${E}px`;t.style.height=r,y()}}},te=t=>u.value?.getCheckedNodes(t),De=t=>{y(),f("expandChange",t)},qe=t=>{if(!W.value)switch(t.code){case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:i();break;case p.EVENT_CODE.down:i(!0),e.nextTick(xe),t.preventDefault();break;case p.EVENT_CODE.esc:c.value===!0&&(t.preventDefault(),t.stopPropagation(),i(!1));break;case p.EVENT_CODE.tab:i(!1);break}},ze=()=>{u.value?.clearCheckedNodes(),!c.value&&n.filterable&&M(),i(!1),f("clear")},M=()=>{const{value:t}=B;w.value=t,h.value=t},Pe=t=>{const{checked:l}=t;g.value?u.value?.handleCheckChange(t,!l,!1):(!l&&u.value?.handleCheckChange(t,!0,!1),i(!1))},Ie=t=>{const l=t.target,{code:o}=t;switch(o){case p.EVENT_CODE.up:case p.EVENT_CODE.down:{t.preventDefault();const s=o===p.EVENT_CODE.up?-1:1;re.focusNode(re.getSibling(l,s,`.${a.e("suggestion-item")}[tabindex="-1"]`));break}case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:l.click();break}},Oe=()=>{const t=k.value,l=t[t.length-1];D=h.value?0:D+1,!(!l||!D||n.collapseTags&&t.length>1)&&(l.hitState?$(l):l.hitState=!0)},le=t=>{z.value=!0,f("focus",t)},oe=t=>{e.nextTick(()=>{const l=C.value?.$el,o=document.activeElement;l?.contains(o)||b.value?.isFocusInsideContent?.(t)||(z.value=!1)}),f("blur",t)},Fe=ne.debounce(()=>{const{value:t}=X;if(!t)return;const l=n.beforeFilter(t);ie.isPromise(l)?l.then(ee).catch(()=>{}):l!==!1?ee():I()},n.debounce),A=(t,l)=>{!c.value&&i(!0),!l?.isComposing&&(t?Fe():I())},se=t=>Number.parseFloat(ae.useCssVar(q.cssVarName("input-height"),t).value)-2;return e.watch(v,y),e.watch([S,m,()=>n.collapseTags],$e),e.watch(k,()=>{e.nextTick(()=>F())}),e.watch(N,async()=>{await e.nextTick();const t=C.value.input;E=se(t)||E,F()}),e.watch(B,M,{immediate:!0}),e.onMounted(()=>{const t=C.value.input,l=se(t);E=t.offsetHeight||l,ae.useResizeObserver(t,F)}),ge({getCheckedNodes:te,cascaderPanelRef:u,togglePopperVisible:i,contentRef:_,presentText:B}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(ce.VftTooltip),{ref_key:"tooltipRef",ref:b,visible:c.value,teleported:t.teleported,"popper-class":[e.unref(a).e("dropdown"),t.popperClass],"popper-options":ke,"fallback-placements":t.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:t.placement,transition:`${e.unref(a).namespace.value}-zoom-in-top`,effect:t.effect,pure:"",persistent:t.persistent,onHide:I},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(Te.value),style:e.normalizeStyle(ye.value),onClick:l[8]||(l[8]=()=>i(Q.value?void 0:!0)),onKeydown:qe,onMouseenter:l[9]||(l[9]=o=>j.value=!0),onMouseleave:l[10]||(l[10]=o=>j.value=!1)},[e.createVNode(e.unref(Ke.VftInput),{ref_key:"input",ref:C,modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=o=>w.value=o),placeholder:be.value,readonly:Q.value,disabled:m.value,"validate-event":!1,size:e.unref(N),class:e.normalizeClass(Se.value),tabindex:g.value&&t.filterable&&!m.value?-1:void 0,onCompositionstart:e.unref(d),onCompositionupdate:e.unref(d),onCompositionend:e.unref(d),onFocus:le,onBlur:oe,onInput:A},e.createSlots({suffix:e.withCtx(()=>[Ve.value?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:"clear",icon:"icon-circle-close",class:e.normalizeClass(["icon-circle-close",[e.unref(q).e("icon")]]),onClick:e.withModifiers(ze,["stop"])},null,8,["class"])):(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{icon:"icon-arrow-down",key:"arrow-down",class:e.normalizeClass(Ne.value),onClick:l[0]||(l[0]=e.withModifiers(o=>i(),["stop"]))},null,8,["class"]))]),_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),g.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:U,class:e.normalizeClass([e.unref(a).e("tags"),e.unref(a).is("validate",!!we.value)])},[e.renderSlot(t.$slots,"tag",{data:T.value,deleteTag:$},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createBlock(e.unref(de.VftTag),{key:o.key,type:t.tagType,size:J.value,effect:t.tagEffect,hit:o.hitState,closable:o.closable,"disable-transitions":"",onClose:s=>$(o)},{default:e.withCtx(()=>[o.isCollapseTag===!1?(e.openBlock(),e.createElementBlock("span",Ge,e.toDisplayString(o.text),1)):(e.openBlock(),e.createBlock(e.unref(ce.VftTooltip),{key:1,disabled:c.value||!t.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:t.effect},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1)]),content:e.withCtx(()=>[e.createVNode(e.unref(pe.VftScrollbar),{"max-height":t.maxCollapseTagsTooltipHeight},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("collapse-tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value.slice(t.maxCollapseTags),(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(a).e("collapse-tag"))},[(e.openBlock(),e.createBlock(e.unref(de.VftTag),{key:s.key,class:"in-tooltip",type:t.tagType,size:J.value,effect:t.tagEffect,hit:s.hitState,closable:s.closable,"disable-transitions":"",onClose:x=>$(s)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),t.filterable&&!m.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=o=>h.value=o),type:"text",class:e.normalizeClass(e.unref(a).e("search-input")),placeholder:B.value?"":G.value,onInput:l[3]||(l[3]=o=>A(h.value,o)),onClick:l[4]||(l[4]=e.withModifiers(o=>i(!0),["stop"])),onKeydown:e.withKeys(Oe,["delete"]),onCompositionstart:l[5]||(l[5]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionupdate:l[6]||(l[6]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionend:l[7]||(l[7]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onFocus:le,onBlur:oe},null,42,Je)),[[e.vModelText,h.value]]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],38)),[[e.unref(Le.ClickOutside),()=>i(!1),_.value]])]),content:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("header")),onClick:l[11]||(l[11]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"header")],2)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(Ae.VftCascaderPanel),{ref_key:"cascaderPanelRef",ref:u,modelValue:Z.value,"onUpdate:modelValue":l[12]||(l[12]=o=>Z.value=o),options:t.options,props:n.props,border:!1,"render-label":t.$slots.default,onExpandChange:De,onClose:l[13]||(l[13]=o=>t.$nextTick(()=>i(!1)))},{empty:e.withCtx(()=>[e.renderSlot(t.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label"]),[[e.vShow,!v.value]]),t.filterable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(pe.VftScrollbar),{key:1,ref_key:"suggestionPanel",ref:V,tag:"ul",class:e.normalizeClass(e.unref(a).e("suggestion-panel")),"view-class":e.unref(a).e("suggestion-list"),onKeydown:Ie},{default:e.withCtx(()=>[P.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,o=>(e.openBlock(),e.createElementBlock("li",{key:o.uid,class:e.normalizeClass([e.unref(a).e("suggestion-item"),e.unref(a).is("checked",o.checked)]),tabindex:-1,onClick:s=>Pe(o)},[e.renderSlot(t.$slots,"suggestion-item",{item:o},()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1),o.checked?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:0,icon:"icon-check"})):e.createCommentVNode("",!0)])],10,Qe))),128)):e.renderSlot(t.$slots,"empty",{key:1},()=>[e.createElementVNode("li",{class:e.normalizeClass(e.unref(a).e("empty-text"))},e.toDisplayString(e.unref(H)("vft.cascader.noData")),3)])]),_:3},8,["class","view-class"])),[[e.vShow,v.value]]):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(a).e("footer")),onClick:l[14]||(l[14]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"footer")],2)):e.createCommentVNode("",!0)]),_:3},8,["visible","teleported","popper-class","fallback-placements","placement","transition","effect","persistent"]))}});exports.default=Ze;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("../scrollbar/index.cjs");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-id/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 E=require("../icon/index.cjs"),N=require("./node.vue2.cjs"),V=require("./types.cjs"),w=e.defineComponent({name:"VftCascaderMenu"}),H=e.defineComponent({...w,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(c){const d=c,q=e.getCurrentInstance(),t=T.useNamespace("cascader-menu"),C=M.useId();let o,s;const u=e.inject(V.CASCADER_PANEL_INJECTION_KEY),l=e.ref(),f=e.computed(()=>!d.nodes.length),_=e.computed(()=>!u.initialLoaded),p=e.computed(()=>`${C.value}-${d.index}`),$=r=>{o=r.target},h=r=>{if(!(!u.isHoverMenu||!o||!l.value))if(o.contains(r.target)){m();const n=q.vnode.el,{left:a}=n.getBoundingClientRect(),{offsetWidth:y,offsetHeight:x}=n,g=r.clientX-a,i=o.offsetTop,k=i+o.offsetHeight;l.value.innerHTML=`
2
- <path style="pointer-events: auto;" fill="transparent" d="M${g} ${i} L${y} 0 V${i} Z" />
3
- <path style="pointer-events: auto;" fill="transparent" d="M${g} ${k} L${y} ${x} V${k} Z" />
4
- `}else s||(s=window.setTimeout(v,u.config.hoverThreshold))},m=()=>{s&&(clearTimeout(s),s=void 0)},v=()=>{l.value&&(l.value.innerHTML="",m())};return(r,n)=>(e.openBlock(),e.createBlock(e.unref(B.VftScrollbar),{key:p.value,tag:"ul",role:"menu",class:e.normalizeClass(e.unref(t).b()),"wrap-class":e.unref(t).e("wrap"),"view-class":[e.unref(t).e("list"),e.unref(t).is("empty",f.value)],onMousemove:h,onMouseleave:v},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.nodes,a=>(e.openBlock(),e.createBlock(N.default,{key:a.uid,node:a,"menu-id":p.value,onExpand:$},null,8,["node","menu-id"]))),128)),_.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.createVNode(e.unref(E.VftIcon),{icon:"icon-loadding",size:"14",class:e.normalizeClass(e.unref(t).is("loading"))},null,8,["class"]),n[0]||(n[0]=e.createTextVNode(" 加载中 ",-1))],2)):f.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.renderSlot(r.$slots,"empty",{},()=>[n[1]||(n[1]=e.createTextVNode("暂无数据",-1))])],2)):e.unref(u)?.isHoverMenu?(e.openBlock(),e.createElementBlock("svg",{key:2,ref_key:"hoverZone",ref:l,class:e.normalizeClass(e.unref(t).e("hover-zone"))},null,2)):e.createCommentVNode("",!0)]),_:3},8,["class","wrap-class","view-class"]))}});exports.default=H;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),M=require("../scrollbar/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const T=require("../../hooks/use-id/index.cjs"),E=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const N=require("../../locale/use-locale.cjs"),L=require("../icon/index.cjs"),V=require("./node.vue2.cjs"),w=require("./types.cjs"),H=e.defineComponent({name:"VftCascaderMenu"}),z=e.defineComponent({...H,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(c){const d=c,q=e.getCurrentInstance(),t=E.useNamespace("cascader-menu"),{t:f}=N.default(),h=T.useId();let r,o;const l=e.inject(w.CASCADER_PANEL_INJECTION_KEY),s=e.ref(),p=e.computed(()=>!d.nodes.length),C=e.computed(()=>!l.initialLoaded),v=e.computed(()=>`${h.value}-${d.index}`),$=n=>{r=n.target},x=n=>{if(!(!l.isHoverMenu||!r||!s.value))if(r.contains(n.target)){m();const u=q.vnode.el,{left:a}=u.getBoundingClientRect(),{offsetWidth:y,offsetHeight:B}=u,_=n.clientX-a,i=r.offsetTop,k=i+r.offsetHeight;s.value.innerHTML=`
2
+ <path style="pointer-events: auto;" fill="transparent" d="M${_} ${i} L${y} 0 V${i} Z" />
3
+ <path style="pointer-events: auto;" fill="transparent" d="M${_} ${k} L${y} ${B} V${k} Z" />
4
+ `}else o||(o=window.setTimeout(g,l.config.hoverThreshold))},m=()=>{o&&(clearTimeout(o),o=void 0)},g=()=>{s.value&&(s.value.innerHTML="",m())};return(n,u)=>(e.openBlock(),e.createBlock(e.unref(M.VftScrollbar),{key:v.value,tag:"ul",role:"menu",class:e.normalizeClass(e.unref(t).b()),"wrap-class":e.unref(t).e("wrap"),"view-class":[e.unref(t).e("list"),e.unref(t).is("empty",p.value)],onMousemove:x,onMouseleave:g},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.nodes,a=>(e.openBlock(),e.createBlock(V.default,{key:a.uid,node:a,"menu-id":v.value,onExpand:$},null,8,["node","menu-id"]))),128)),C.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.createVNode(e.unref(L.VftIcon),{icon:"icon-loadding",size:"14",class:e.normalizeClass(e.unref(t).is("loading"))},null,8,["class"]),e.createTextVNode(" "+e.toDisplayString(e.unref(f)("vft.loading")),1)],2)):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.renderSlot(n.$slots,"empty",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("vft.noData")),1)])],2)):e.unref(l)?.isHoverMenu?(e.openBlock(),e.createElementBlock("svg",{key:2,ref_key:"hoverZone",ref:s,class:e.normalizeClass(e.unref(t).e("hover-zone"))},null,2)):e.createCommentVNode("",!0)]),_:3},8,["class","wrap-class","view-class"]))}});exports.default=z;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("../clamp/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const s=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const u=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const c=["onClick"],g=e.defineComponent({name:"vft-clamp-toggle"}),d=e.defineComponent({...g,props:{text:{},maxHeight:{},maxLines:{default:1},expanded:{type:Boolean,default:!1},location:{default:"end"},ellipsis:{default:"…"},autoResize:{type:Boolean,default:!1},color:{},size:{},toggleColor:{},toggleSize:{},toggleText:{default:()=>["展开","收缩"]}},setup(t){const o=u.useNamespace("clamp-toggle"),i=e.computed(()=>s.generateCssVars({color:t.color,size:t.size,toggleColor:t.toggleColor,toggleSize:t.toggleSize},"clamp-toggle"));return(m,x)=>(e.openBlock(),e.createBlock(e.unref(r.VftClamp),{style:e.normalizeStyle(i.value),text:t.text,"max-height":t.maxHeight,"max-lines":t.maxLines,expanded:t.expanded,location:t.location,ellipsis:t.ellipsis,"auto-resize":t.autoResize},{after:e.withCtx(({toggle:a,expanded:l,clamped:n})=>[l||n?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["cursor-pointer",[e.unref(o).e("more")]]),onClick:a},e.toDisplayString(l?t.toggleText[1]:t.toggleText[0]),11,c)):e.createCommentVNode("",!0)]),_:1},8,["style","text","max-height","max-lines","expanded","location","ellipsis","auto-resize"]))}});exports.default=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../clamp/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const g=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const d=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"),x=["onClick"],f=e.defineComponent({name:"vft-clamp-toggle"}),q=e.defineComponent({...f,props:{text:{},maxHeight:{},maxLines:{default:1},expanded:{type:Boolean,default:!1},location:{default:"end"},ellipsis:{default:"…"},autoResize:{type:Boolean,default:!1},color:{},size:{},toggleColor:{},toggleSize:{},toggleText:{}},setup(t){const{t:l}=m.default(),i=d.useNamespace("clamp-toggle"),n=e.computed(()=>[l("vft.clampToggle.expand"),l("vft.clampToggle.collapse")]),o=e.computed(()=>t.toggleText||n.value),r=e.computed(()=>g.generateCssVars({color:t.color,size:t.size,toggleColor:t.toggleColor,toggleSize:t.toggleSize},"clamp-toggle"));return(C,z)=>(e.openBlock(),e.createBlock(e.unref(c.VftClamp),{style:e.normalizeStyle(r.value),text:t.text,"max-height":t.maxHeight,"max-lines":t.maxLines,expanded:t.expanded,location:t.location,ellipsis:t.ellipsis,"auto-resize":t.autoResize},{after:e.withCtx(({toggle:u,expanded:a,clamped:s})=>[a||s?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["cursor-pointer",[e.unref(i).e("more")]]),onClick:u},e.toDisplayString(a?o.value[1]:o.value[0]),11,x)):e.createCommentVNode("",!0)]),_:1},8,["style","text","max-height","max-lines","expanded","location","ellipsis","auto-resize"]))}});exports.default=q;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),G=require("@vft/directives"),x=require("../button/index.cjs");require("../form/index.cjs");const z=require("../icon/index.cjs"),H=require("../input/index.cjs"),J=require("../tooltip/index.cjs"),p=require("../../constants/event.cjs");require("@vueuse/core");require("@vft/utils");const B=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Q=require("lodash-es"),X=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Y=require("./components/alpha-slider.vue2.cjs"),Z=require("./components/hue-slider.vue.cjs"),ee=require("./components/predefine.vue.cjs"),le=require("./components/sv-panel.vue.cjs"),oe=require("./contants.cjs"),V=require("./utils/color.cjs"),T=require("../form/hooks/use-form-item.cjs"),A=require("../form/hooks/use-form-common-props.cjs"),re=["id","aria-label","aria-labelledby","aria-description","tabindex"],te=e.defineComponent({name:"VftColorPicker"}),ae=e.defineComponent({...te,props:{modelValue:{},id:{},showAlpha:{type:Boolean},colorFormat:{},disabled:{type:Boolean},size:{},popperClass:{},label:{},tabindex:{default:0},predefine:{},validateEvent:{type:Boolean,default:!0}},emits:[p.UPDATE_MODEL_EVENT,p.CHANGE_EVENT,"activeChange","click-outside"],setup(n,{expose:I,emit:S}){const r=n,i=S,o=X.useNamespace("color"),{formItem:d}=T.useFormItem(),$=A.useFormSize(),v=A.useFormDisabled(),{inputId:P,isLabeledByFormItem:C}=T.useFormItemInputId(r,{formItemContext:d}),w=e.ref(),D=e.ref(),g=e.ref(),F=e.ref();let b=!0;const t=e.reactive(new V.default({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue})),s=e.ref(!1),u=e.ref(!1),c=e.ref(""),_=e.computed(()=>!r.modelValue&&!u.value?"transparent":O(t,r.showAlpha)),h=e.computed(()=>!r.modelValue&&!u.value?"":t.value),K=e.computed(()=>C.value?void 0:r.label||"色彩选择器"),L=e.computed(()=>C.value?d?.labelId:void 0),M=e.computed(()=>[o.b("picker"),o.is("disabled",v.value),o.bm("picker",$.value)]);function O(l,a){if(!(l instanceof V.default))throw new TypeError("color should be instance of _color Class");const{r:m,g:q,b:N}=l.toRgb();return a?`rgba(${m}, ${q}, ${N}, ${l.get("alpha")/100})`:`rgb(${m}, ${q}, ${N})`}function U(l){s.value=l}const f=Q.debounce(U,100);function R(l){f(!1),k(),i("click-outside",l)}function k(){e.nextTick(()=>{r.modelValue?t.fromString(r.modelValue):(t.value="",e.nextTick(()=>{u.value=!1}))})}function E(){v.value||f(!s.value)}function y(){t.fromString(c.value)}function W(){const l=t.value;i(p.UPDATE_MODEL_EVENT,l),i("change",l),r.validateEvent&&d?.validate("change").catch(a=>B.debugWarn(a)),f(!1),e.nextTick(()=>{const a=new V.default({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue});t.compare(a)||k()})}function j(){f(!1),i(p.UPDATE_MODEL_EVENT,null),i("change",null),r.modelValue!==null&&r.validateEvent&&d?.validate("change").catch(l=>B.debugWarn(l)),k()}return e.onMounted(()=>{r.modelValue&&(c.value=h.value)}),e.watch(()=>r.modelValue,l=>{l?l&&l!==t.value&&(b=!1,t.fromString(l)):u.value=!1}),e.watch(()=>h.value,l=>{c.value=l,b&&i("activeChange",l),b=!0}),e.watch(()=>t.value,()=>{!r.modelValue&&!u.value&&(u.value=!0)}),e.watch(()=>s.value,()=>{e.nextTick(()=>{w.value?.update(),D.value?.update(),g.value?.update()})}),e.provide(oe.colorPickerContextKey,{currentColor:h}),I({color:t,showPicker:s}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(J.VftTooltip),{ref_key:"popper",ref:F,visible:s.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[e.unref(o).be("picker","panel"),e.unref(o).b("dropdown"),n.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",transition:`${e.unref(o).namespace.value}-zoom-in-top`,persistent:""},{content:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("dropdown","main-wrapper"))},[e.createVNode(Z.default,{ref_key:"hue",ref:w,class:"hue-slider",color:t,vertical:""},null,8,["color"]),e.createVNode(le.default,{ref:"svPanel",color:t},null,8,["color"])],2),n.showAlpha?(e.openBlock(),e.createBlock(Y.default,{key:0,ref_key:"alpha",ref:g,color:t},null,8,["color"])):e.createCommentVNode("",!0),n.predefine?(e.openBlock(),e.createBlock(ee.default,{key:1,ref:"predefine",color:t,colors:n.predefine},null,8,["color","colors"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("dropdown","btns"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).be("dropdown","value"))},[e.createVNode(e.unref(H.VftInput),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=m=>c.value=m),"validate-event":!1,size:"small",onKeyup:e.withKeys(y,["enter"]),onBlur:y},null,8,["modelValue"])],2),e.createVNode(e.unref(x.VftButton),{class:e.normalizeClass(e.unref(o).be("dropdown","link-btn")),text:"",size:"small",onClick:j},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" 清除 ",-1)])]),_:1},8,["class"]),e.createVNode(e.unref(x.VftButton),{plain:"",size:"small",class:e.normalizeClass(e.unref(o).be("dropdown","btn")),onClick:W},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" 确认 ",-1)])]),_:1},8,["class"])],2)])),[[e.unref(G.ClickOutside),R]])]),default:e.withCtx(()=>[e.createElementVNode("div",{id:e.unref(P),class:e.normalizeClass(M.value),role:"button","aria-label":K.value,"aria-labelledby":L.value,"aria-description":`目前色彩為 {color}。按一下 Enter 以選擇新色彩${n.modelValue}`,tabindex:n.tabindex,onKeydown:e.withKeys(E,["enter"])},[e.unref(v)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("picker","mask"))},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("picker","trigger")),onClick:E},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(o).be("picker","color"),e.unref(o).is("alpha",n.showAlpha)])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).be("picker","color-inner")),style:e.normalizeStyle({backgroundColor:_.value})},[e.withDirectives(e.createVNode(e.unref(z.VftIcon),{icon:"icon-arrow-down",class:e.normalizeClass([e.unref(o).be("picker","icon"),e.unref(o).is("icon-arrow-down")])},null,8,["class"]),[[e.vShow,n.modelValue||u.value]]),!n.modelValue&&!u.value?(e.openBlock(),e.createBlock(e.unref(z.VftIcon),{key:0,icon:"icon-circle-close",class:e.normalizeClass([e.unref(o).be("picker","empty"),e.unref(o).is("icon-close")])},null,8,["class"])):e.createCommentVNode("",!0)],6)],2)],2)],42,re)]),_:1},8,["visible","popper-class","transition"]))}});exports.default=ae;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),H=require("@vft/directives"),z=require("../button/index.cjs");require("../form/index.cjs");const B=require("../icon/index.cjs"),J=require("../input/index.cjs"),Q=require("../tooltip/index.cjs"),v=require("../../constants/event.cjs");require("@vueuse/core");require("@vft/utils");const T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const X=require("lodash-es"),Y=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Z=require("./components/alpha-slider.vue2.cjs"),ee=require("./components/hue-slider.vue.cjs"),oe=require("./components/predefine.vue.cjs"),le=require("./components/sv-panel.vue.cjs"),re=require("./contants.cjs"),V=require("./utils/color.cjs"),te=require("../../locale/use-locale.cjs"),S=require("../form/hooks/use-form-item.cjs"),$=require("../form/hooks/use-form-common-props.cjs"),ae=["id","aria-label","aria-labelledby","aria-description","tabindex"],ne=e.defineComponent({name:"VftColorPicker"}),ce=e.defineComponent({...ne,props:{modelValue:{},id:{},showAlpha:{type:Boolean},colorFormat:{},disabled:{type:Boolean},size:{},popperClass:{},label:{},tabindex:{default:0},predefine:{},validateEvent:{type:Boolean,default:!0}},emits:[v.UPDATE_MODEL_EVENT,v.CHANGE_EVENT,"activeChange","click-outside"],setup(a,{expose:A,emit:I}){const{t:i}=te.default(),r=a,u=I,l=Y.useNamespace("color"),{formItem:f}=S.useFormItem(),P=$.useFormSize(),b=$.useFormDisabled(),{inputId:_,isLabeledByFormItem:w}=S.useFormItemInputId(r,{formItemContext:f}),g=e.ref(),D=e.ref(),E=e.ref(),F=e.ref();let h=!0;const t=e.reactive(new V.default({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue})),s=e.ref(!1),n=e.ref(!1),d=e.ref(""),L=e.computed(()=>!r.modelValue&&!n.value?"transparent":U(t,r.showAlpha)),k=e.computed(()=>!r.modelValue&&!n.value?"":t.value),K=e.computed(()=>w.value?void 0:r.label||i("colorPicker")),M=e.computed(()=>w.value?f?.labelId:void 0),O=e.computed(()=>[l.b("picker"),l.is("disabled",b.value),l.bm("picker",P.value)]);function U(o,c){if(!(o instanceof V.default))throw new TypeError("color should be instance of _color Class");const{r:p,g:N,b:x}=o.toRgb();return c?`rgba(${p}, ${N}, ${x}, ${o.get("alpha")/100})`:`rgb(${p}, ${N}, ${x})`}function R(o){s.value=o}const m=X.debounce(R,100);function W(o){m(!1),C(),u("click-outside",o)}function C(){e.nextTick(()=>{r.modelValue?t.fromString(r.modelValue):(t.value="",e.nextTick(()=>{n.value=!1}))})}function y(){b.value||m(!s.value)}function q(){t.fromString(d.value)}function j(){const o=t.value;u(v.UPDATE_MODEL_EVENT,o),u("change",o),r.validateEvent&&f?.validate("change").catch(c=>T.debugWarn(c)),m(!1),e.nextTick(()=>{const c=new V.default({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue});t.compare(c)||C()})}function G(){m(!1),u(v.UPDATE_MODEL_EVENT,null),u("change",null),r.modelValue!==null&&r.validateEvent&&f?.validate("change").catch(o=>T.debugWarn(o)),C()}return e.onMounted(()=>{r.modelValue&&(d.value=k.value)}),e.watch(()=>r.modelValue,o=>{o?o&&o!==t.value&&(h=!1,t.fromString(o)):n.value=!1}),e.watch(()=>k.value,o=>{d.value=o,h&&u("activeChange",o),h=!0}),e.watch(()=>t.value,()=>{!r.modelValue&&!n.value&&(n.value=!0)}),e.watch(()=>s.value,()=>{e.nextTick(()=>{g.value?.update(),D.value?.update(),E.value?.update()})}),e.provide(re.colorPickerContextKey,{currentColor:k}),A({color:t,showPicker:s}),(o,c)=>(e.openBlock(),e.createBlock(e.unref(Q.VftTooltip),{ref_key:"popper",ref:F,visible:s.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[e.unref(l).be("picker","panel"),e.unref(l).b("dropdown"),a.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",transition:`${e.unref(l).namespace.value}-zoom-in-top`,persistent:""},{content:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).be("dropdown","main-wrapper"))},[e.createVNode(ee.default,{ref_key:"hue",ref:g,class:"hue-slider",color:t,vertical:""},null,8,["color"]),e.createVNode(le.default,{ref:"svPanel",color:t},null,8,["color"])],2),a.showAlpha?(e.openBlock(),e.createBlock(Z.default,{key:0,ref_key:"alpha",ref:E,color:t},null,8,["color"])):e.createCommentVNode("",!0),a.predefine?(e.openBlock(),e.createBlock(oe.default,{key:1,ref:"predefine",color:t,colors:a.predefine},null,8,["color","colors"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).be("dropdown","btns"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(l).be("dropdown","value"))},[e.createVNode(e.unref(J.VftInput),{modelValue:d.value,"onUpdate:modelValue":c[0]||(c[0]=p=>d.value=p),"validate-event":!1,size:"small",onKeyup:e.withKeys(q,["enter"]),onBlur:q},null,8,["modelValue"])],2),e.createVNode(e.unref(z.VftButton),{class:e.normalizeClass(e.unref(l).be("dropdown","link-btn")),text:"",size:"small",onClick:G},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("clear")),1)]),_:1},8,["class"]),e.createVNode(e.unref(z.VftButton),{plain:"",size:"small",class:e.normalizeClass(e.unref(l).be("dropdown","btn")),onClick:j},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("confirm")),1)]),_:1},8,["class"])],2)])),[[e.unref(H.ClickOutside),W]])]),default:e.withCtx(()=>[e.createElementVNode("div",{id:e.unref(_),class:e.normalizeClass(O.value),role:"button","aria-label":K.value,"aria-labelledby":M.value,"aria-description":`${e.unref(i)("currentColor")} {color}。${e.unref(i)("pressEnter")} ${a.modelValue}`,tabindex:a.tabindex,onKeydown:e.withKeys(y,["enter"])},[e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(l).be("picker","mask"))},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).be("picker","trigger")),onClick:y},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(l).be("picker","color"),e.unref(l).is("alpha",a.showAlpha)])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(l).be("picker","color-inner")),style:e.normalizeStyle({backgroundColor:L.value})},[e.withDirectives(e.createVNode(e.unref(B.VftIcon),{icon:"icon-arrow-down",class:e.normalizeClass([e.unref(l).be("picker","icon"),e.unref(l).is("icon-arrow-down")])},null,8,["class"]),[[e.vShow,a.modelValue||n.value]]),!a.modelValue&&!n.value?(e.openBlock(),e.createBlock(e.unref(B.VftIcon),{key:0,icon:"icon-circle-close",class:e.normalizeClass([e.unref(l).be("picker","empty"),e.unref(l).is("icon-close")])},null,8,["class"])):e.createCommentVNode("",!0)],6)],2)],2)],42,ae)]),_:1},8,["visible","popper-class","transition"]))}});exports.default=ce;
@@ -17,6 +17,8 @@ export interface ConfigProviderProps {
17
17
  namespace?: string;
18
18
  /** 设置所有弹窗类组件的 z-index */
19
19
  zIndex?: number;
20
+ /** 国际化语言包 */
21
+ locale?: any;
20
22
  /** Message 组件全局配置 */
21
23
  message?: MessageConfigContext;
22
24
  dialog?: DialogConfigContext;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("@vft/utils");require("@vueuse/core");const d=require("./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 r=require("./constants.cjs"),g=e.defineComponent({name:"vft-config-provider"}),h=e.defineComponent({...g,props:{theme:{default:"light"},themeVars:{},themeVarsDark:{},themeVarsLight:{},iconfontClass:{},iconifyPrefixClass:{default:"ico-"},namespace:{default:"vft"},zIndex:{},message:{},dialog:{},projectCfg:{},button:{},baseUnit:{type:[String,Boolean],default:!1},baseUnitSize:{default:1080}},setup(n){const c=f.useNamespace("config-provider");e.watch(()=>n.message,t=>{Object.keys(r.messageConfig).forEach(a=>{delete r.messageConfig[a]}),Object.assign(r.messageConfig,t??{})},{immediate:!0,deep:!0});const u=e.computed(()=>{const t=n.theme==="dark";return m({...n.themeVars,...t?n.themeVarsDark:n.themeVarsLight})});if(o.inBrowser){const t=()=>{document.documentElement.classList.add(n.theme)},a=(s=n.theme)=>{document.documentElement.classList.remove(s)};e.watch(()=>n.theme,(s,i)=>{i&&a(i),t()},{immediate:!0}),e.onActivated(t),e.onDeactivated(a),e.onBeforeUnmount(a)}function m(t){const a={};return Object.keys(t).forEach(s=>{a[`--${n.namespace}-${o.kebabCase(s)}`]=t[s]}),a}const l=e.getCurrentInstance();return d.provideGlobalConfig(l.props),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(c).b(),{"vft-dark":n.theme==="dark"}]),style:e.normalizeStyle(u.value)},[e.renderSlot(t.$slots,"default")],6))}});exports.default=h;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("@vft/utils");require("@vueuse/core");const d=require("./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 r=require("./constants.cjs"),g=e.defineComponent({name:"vft-config-provider"}),h=e.defineComponent({...g,props:{theme:{default:"light"},themeVars:{},themeVarsDark:{},themeVarsLight:{},iconfontClass:{},iconifyPrefixClass:{default:"ico-"},namespace:{default:"vft"},zIndex:{},locale:{},message:{},dialog:{},projectCfg:{},button:{},baseUnit:{type:[String,Boolean],default:!1},baseUnitSize:{default:1080}},setup(n){const c=f.useNamespace("config-provider");e.watch(()=>n.message,t=>{Object.keys(r.messageConfig).forEach(a=>{delete r.messageConfig[a]}),Object.assign(r.messageConfig,t??{})},{immediate:!0,deep:!0});const u=e.computed(()=>{const t=n.theme==="dark";return m({...n.themeVars,...t?n.themeVarsDark:n.themeVarsLight})});if(i.inBrowser){const t=()=>{document.documentElement.classList.add(n.theme)},a=(s=n.theme)=>{document.documentElement.classList.remove(s)};e.watch(()=>n.theme,(s,o)=>{o&&a(o),t()},{immediate:!0}),e.onActivated(t),e.onDeactivated(a),e.onBeforeUnmount(a)}function m(t){const a={};return Object.keys(t).forEach(s=>{a[`--${n.namespace}-${i.kebabCase(s)}`]=t[s]}),a}const l=e.getCurrentInstance();return d.provideGlobalConfig(l.props),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(c).b(),{"vft-dark":n.theme==="dark"}]),style:e.normalizeStyle(u.value)},[e.renderSlot(t.$slots,"default")],6))}});exports.default=h;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Symbol(),o={};exports.configProviderContextKey=e;exports.messageConfig=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Symbol(),o=Symbol("vftLocale"),t={};exports.configProviderContextKey=e;exports.localeContextKey=o;exports.messageConfig=t;
@@ -3,4 +3,5 @@ import type { InjectionKey, Ref } from 'vue';
3
3
  import type { ConfigProviderProps } from './config-provider.vue';
4
4
  export type ConfigProviderContext = Partial<ConfigProviderProps>;
5
5
  export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
6
+ export declare const localeContextKey: InjectionKey<Ref<any>>;
6
7
  export declare const messageConfig: MessageConfigContext;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("@vft/utils");require("@vueuse/core");const C=require("../../../utils/error.cjs"),e=require("vue");require("lodash-es");require("../../form/index.cjs");const a=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");const l=require("../../../hooks/use-z-index/index.cjs"),p=require("../constants.cjs"),c=e.ref();function d(o,n=void 0){const t=e.getCurrentInstance()?e.inject(p.configProviderContextKey,c):c;return o?e.computed(()=>t?.value?.[o]??n):t}function m(o){const n=d(),t=a.useNamespace(o,e.computed(()=>n.value?.namespace||a.defaultNamespace)),r=l.useZIndex(e.computed(()=>n.value?.zIndex||l.defaultInitialZIndex));return g(e.computed(()=>e.unref(n)||{})),{ns:t,zIndex:r}}const g=(o,n,t=!1)=>{const r=!!e.getCurrentInstance(),u=r?d():void 0,s=n?.provide??(r?e.provide:void 0);if(!s){C.debugWarn("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const i=e.computed(()=>{const f=e.unref(o);return u?.value?x(u.value,f):f});return s(p.configProviderContextKey,i),s(a.namespaceContextKey,e.computed(()=>i.value.namespace)),s(l.zIndexContextKey,e.computed(()=>i.value.zIndex)),(t||!c.value)&&(c.value=i.value),i},x=(o,n)=>{const t=[...new Set([...v.keysOf(o),...v.keysOf(n)])],r={};for(const u of t)r[u]=n[u]!==void 0?n[u]:o[u];return r};exports.provideGlobalConfig=g;exports.useGlobalComponentSettings=m;exports.useGlobalConfig=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@vft/utils");require("@vueuse/core");const C=require("../../../utils/error.cjs"),e=require("vue");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");const a=require("../../../hooks/use-z-index/index.cjs"),d=require("../constants.cjs"),s=e.ref();function f(o,n=void 0){const t=e.getCurrentInstance()?e.inject(d.configProviderContextKey,s):s;return o?e.computed(()=>t?.value?.[o]??n):t}function m(o){const n=f(),t=l.useNamespace(o,e.computed(()=>n.value?.namespace||l.defaultNamespace)),r=a.useZIndex(e.computed(()=>n.value?.zIndex||a.defaultInitialZIndex));return g(e.computed(()=>e.unref(n)||{})),{ns:t,zIndex:r}}const g=(o,n,t=!1)=>{const r=!!e.getCurrentInstance(),u=r?f():void 0,c=n?.provide??(r?e.provide:void 0);if(!c){C.debugWarn("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const i=e.computed(()=>{const v=e.unref(o);return u?.value?x(u.value,v):v});return c(d.configProviderContextKey,i),c(l.namespaceContextKey,e.computed(()=>i.value.namespace)),c(a.zIndexContextKey,e.computed(()=>i.value.zIndex)),c(d.localeContextKey,e.computed(()=>i.value.locale)),(t||!s.value)&&(s.value=i.value),i},x=(o,n)=>{const t=[...new Set([...p.keysOf(o),...p.keysOf(n)])],r={};for(const u of t)r[u]=n[u]!==void 0?n[u]:o[u];return r};exports.provideGlobalConfig=g;exports.useGlobalComponentSettings=m;exports.useGlobalConfig=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("@vueuse/core");require("@vft/utils");const e=require("./hooks/use-global-config.cjs");require("vue");const r=require("../../utils/vue/install.cjs");require("lodash-es");require("../form/index.cjs");const t=require("./config-provider.vue2.cjs"),o=require("./constants.cjs"),i=r.withInstall(t.default);exports.provideGlobalConfig=e.provideGlobalConfig;exports.useGlobalComponentSettings=e.useGlobalComponentSettings;exports.useGlobalConfig=e.useGlobalConfig;exports.configProviderContextKey=o.configProviderContextKey;exports.messageConfig=o.messageConfig;exports.VftConfigProvider=i;exports.default=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("@vueuse/core");require("@vft/utils");const e=require("./hooks/use-global-config.cjs");require("vue");const i=require("../../utils/vue/install.cjs");require("lodash-es");require("../form/index.cjs");const r=require("./config-provider.vue2.cjs"),o=require("./constants.cjs"),t=i.withInstall(r.default);exports.provideGlobalConfig=e.provideGlobalConfig;exports.useGlobalComponentSettings=e.useGlobalComponentSettings;exports.useGlobalConfig=e.useGlobalConfig;exports.configProviderContextKey=o.configProviderContextKey;exports.localeContextKey=o.localeContextKey;exports.messageConfig=o.messageConfig;exports.VftConfigProvider=t;exports.default=t;
@@ -24,6 +24,9 @@ export declare const VftConfigProvider: import("vft/es/utils").SFCWithInstall<{
24
24
  zIndex: {
25
25
  type: import("vue").PropType<number>;
26
26
  };
27
+ locale: {
28
+ type: import("vue").PropType<any>;
29
+ };
27
30
  message: {
28
31
  type: import("vue").PropType<import("vft/es/vft").MessageConfigContext>;
29
32
  };
@@ -74,6 +77,9 @@ export declare const VftConfigProvider: import("vft/es/utils").SFCWithInstall<{
74
77
  zIndex: {
75
78
  type: import("vue").PropType<number>;
76
79
  };
80
+ locale: {
81
+ type: import("vue").PropType<any>;
82
+ };
77
83
  message: {
78
84
  type: import("vue").PropType<import("vft/es/vft").MessageConfigContext>;
79
85
  };
@@ -121,6 +127,9 @@ export declare const VftConfigProvider: import("vft/es/utils").SFCWithInstall<{
121
127
  zIndex: {
122
128
  type: import("vue").PropType<number>;
123
129
  };
130
+ locale: {
131
+ type: import("vue").PropType<any>;
132
+ };
124
133
  message: {
125
134
  type: import("vue").PropType<import("vft/es/vft").MessageConfigContext>;
126
135
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),W=require("dayjs"),A=require("lodash-es");require("@vueuse/core");require("@vft/utils");const C=require("../../../utils/helper.cjs");require("../../form/index.cjs");const X=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const Y=require("../utils.cjs"),O=(a="")=>["normal","today"].includes(a),Z=(a,f)=>{const h=n.ref("zh-cn"),y=n.ref(),k=n.ref(),D=n.ref(),b=n.ref(),w=n.ref([[],[],[],[],[],[]]);let o=!1;const c=a.date.$locale().weekStart||7,x=a.date.locale("zh-cn").localeData().weekdaysShort().map(e=>e.toLowerCase()),M=n.computed(()=>c>3?7-c:-c),N=n.computed(()=>{const e=a.date.startOf("month");return e.subtract(e.day()||7,"day")}),E=n.computed(()=>x.concat(x).slice(c,c+7)),S=n.computed(()=>A.flatten(n.unref(g)).some(e=>e.isCurrent)),P=n.computed(()=>{const e=a.date.startOf("month"),t=e.day()||7,s=e.daysInMonth(),r=e.subtract(1,"month").daysInMonth();return{startOfMonthDay:t,dateCountOfMonth:s,dateCountOfLastMonth:r}}),j=n.computed(()=>a.selectionMode==="dates"?C.castArray(a.parsedValue):[]),I=(e,{count:t,rowIndex:s,columnIndex:r})=>{const{startOfMonthDay:l,dateCountOfMonth:d,dateCountOfLastMonth:i}=n.unref(P),m=n.unref(M);if(s>=0&&s<=1){const u=l+m<0?7+l+m:l+m;if(r+s*7>=u)return e.text=t,!0;e.text=i-(u-r%7)+1+s*7,e.type="prev-month"}else return t<=d?e.text=t:(e.text=t-d,e.type="next-month"),!0;return!1},B=(e,{columnIndex:t,rowIndex:s},r)=>{const{disabledDate:l,cellClassName:d}=a,i=n.unref(j),m=I(e,{count:r,rowIndex:s,columnIndex:t}),u=e.dayjs.toDate();return e.selected=i.find(Q=>Q.isSame(e.dayjs,"day")),e.isSelected=!!e.selected,e.isCurrent=q(e),e.disabled=l?.(u),e.customClass=d?.(u),m},K=e=>{if(a.selectionMode==="week"){const[t,s]=a.showWeekNumber?[1,7]:[0,6],r=V(e[t+1]);e[t].inRange=r,e[t].start=r,e[s].inRange=r,e[s].end=r}},g=n.computed(()=>{const{minDate:e,maxDate:t,rangeState:s,showWeekNumber:r}=a,l=n.unref(M),d=n.unref(w),i="day";let m=1;if(Y.buildPickerTable({row:6,column:7},d,{startDate:e,columnIndexOffset:r?1:0,nextEndDate:s.endDate||t||s.selecting&&e||null,now:W().locale(n.unref(h)).startOf(i),unit:i,relativeDateGetter:u=>n.unref(N).add(u-l,i),setCellMetadata:(...u)=>{B(...u,m)&&(m+=1)},setRowMetadata:K}),r)for(let u=0;u<6;u++)d[u][1].dayjs&&(d[u][0]={type:"week",text:d[u][1].dayjs.week()});return d});n.watch(()=>a.date,async()=>{n.unref(y)?.contains(document.activeElement)&&(await n.nextTick(),await v())});const v=async()=>n.unref(k)?.focus(),q=e=>a.selectionMode==="date"&&O(e.type)&&L(e,a.parsedValue),L=(e,t)=>t?W(t).locale(n.unref(h)).isSame(a.date.date(Number(e.text)),"day"):!1,T=(e,t)=>{const s=e*7+(t-(a.showWeekNumber?1:0))-n.unref(M);return n.unref(N).add(s,"day")},F=e=>{if(!a.rangeState.selecting)return;let t=e.target;if(t.tagName==="SPAN"&&(t=t.parentNode?.parentNode),t.tagName==="DIV"&&(t=t.parentNode),t.tagName!=="TD")return;const s=t.parentNode.rowIndex-1,r=t.cellIndex;n.unref(g)[s][r].disabled||(s!==n.unref(D)||r!==n.unref(b))&&(D.value=s,b.value=r,f("changerange",{selecting:!0,endDate:T(s,r)}))},_=e=>!n.unref(S)&&e?.text===1&&e.type==="normal"||e.isCurrent,$=e=>{o||n.unref(S)||a.selectionMode!=="date"||R(e,!0)},z=e=>{e.target.closest("td")&&(o=!0)},U=e=>{e.target.closest("td")&&(o=!1)},G=e=>{!a.rangeState.selecting||!a.minDate?(f("pick",{minDate:e,maxDate:null}),f("select",!0)):(e>=a.minDate?f("pick",{minDate:a.minDate,maxDate:e}):f("pick",{minDate:e,maxDate:a.minDate}),f("select",!1))},H=e=>{const t=e.week(),s=`${e.year()}w${t}`;f("pick",{year:e.year(),week:t,value:s,date:e.startOf("week")})},J=(e,t)=>{const s=t?C.castArray(a.parsedValue).filter(r=>r?.valueOf()!==e.valueOf()):C.castArray(a.parsedValue).concat([e]);f("pick",s)},R=(e,t=!1)=>{const s=e.target.closest("td");if(!s)return;const r=s.parentNode.rowIndex-1,l=s.cellIndex,d=n.unref(g)[r][l];if(d.disabled||d.type==="week")return;const i=T(r,l);switch(a.selectionMode){case"range":{G(i);break}case"date":{f("pick",i,t);break}case"week":{H(i);break}case"dates":{J(i,!!d.selected);break}}},V=e=>{if(a.selectionMode!=="week")return!1;let t=a.date.startOf("day");if(e.type==="prev-month"&&(t=t.subtract(1,"month")),e.type==="next-month"&&(t=t.add(1,"month")),t=t.date(Number.parseInt(e.text,10)),a.parsedValue&&!A.isArray(a.parsedValue)){const s=(a.parsedValue.day()-c+7)%7-1;return a.parsedValue.subtract(s,"day").isSame(t,"day")}return!1};return{WEEKS:E,rows:g,tbodyRef:y,currentCellRef:k,focus:v,isCurrent:q,isWeekActive:V,isSelectedCell:_,handlePickDate:R,handleMouseUp:U,handleMouseDown:z,handleMouseMove:F,handleFocus:$}},p=(a,{isCurrent:f,isWeekActive:h})=>{const y=X.useNamespace("date-table"),k=n.computed(()=>[y.b(),{"is-week-mode":a.selectionMode==="week"}]),D=n.computed(()=>"使用方向键与 Enter 键可选择日期"),b=o=>{const c=[];return O(o.type)&&!o.disabled?(c.push("available"),o.type==="today"&&c.push("today")):c.push(o.type),f(o)&&c.push("current"),o.inRange&&(O(o.type)||a.selectionMode==="week")&&(c.push("in-range"),o.start&&c.push("start-date"),o.end&&c.push("end-date")),o.disabled&&c.push("disabled"),o.selected&&c.push("selected"),o.customClass&&c.push(o.customClass),c.join(" ")},w=o=>[y.e("row"),{current:h(o)}];return{tableKls:k,tableLabel:D,weekHeaderClass:y.e("week-header"),getCellClasses:b,getRowKls:w}};exports.useBasicDateTable=Z;exports.useBasicDateTableDOM=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),W=require("dayjs"),A=require("lodash-es");require("@vueuse/core");require("@vft/utils");const C=require("../../../utils/helper.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 j=require("../../../locale/use-locale.cjs"),p=require("../utils.cjs"),O=(a="")=>["normal","today"].includes(a),ee=(a,f)=>{const{t:x}=j.default(),h=n.ref("zh-cn"),y=n.ref(),k=n.ref(),D=n.ref(),b=n.ref(),w=n.ref([[],[],[],[],[],[]]);let o=!1;const c=a.date.$locale().weekStart||7,N=a.date.locale("zh-cn").localeData().weekdaysShort().map(e=>e.toLowerCase()),M=n.computed(()=>c>3?7-c:-c),v=n.computed(()=>{const e=a.date.startOf("month");return e.subtract(e.day()||7,"day")}),E=n.computed(()=>N.concat(N).slice(c,c+7)),S=n.computed(()=>A.flatten(n.unref(g)).some(e=>e.isCurrent)),I=n.computed(()=>{const e=a.date.startOf("month"),t=e.day()||7,s=e.daysInMonth(),r=e.subtract(1,"month").daysInMonth();return{startOfMonthDay:t,dateCountOfMonth:s,dateCountOfLastMonth:r}}),L=n.computed(()=>a.selectionMode==="dates"?C.castArray(a.parsedValue):[]),B=(e,{count:t,rowIndex:s,columnIndex:r})=>{const{startOfMonthDay:l,dateCountOfMonth:d,dateCountOfLastMonth:i}=n.unref(I),m=n.unref(M);if(s>=0&&s<=1){const u=l+m<0?7+l+m:l+m;if(r+s*7>=u)return e.text=t,!0;e.text=i-(u-r%7)+1+s*7,e.type="prev-month"}else return t<=d?e.text=t:(e.text=t-d,e.type="next-month"),!0;return!1},K=(e,{columnIndex:t,rowIndex:s},r)=>{const{disabledDate:l,cellClassName:d}=a,i=n.unref(L),m=B(e,{count:r,rowIndex:s,columnIndex:t}),u=e.dayjs.toDate();return e.selected=i.find(Y=>Y.isSame(e.dayjs,"day")),e.isSelected=!!e.selected,e.isCurrent=T(e),e.disabled=l?.(u),e.customClass=d?.(u),m},F=e=>{if(a.selectionMode==="week"){const[t,s]=a.showWeekNumber?[1,7]:[0,6],r=P(e[t+1]);e[t].inRange=r,e[t].start=r,e[s].inRange=r,e[s].end=r}},g=n.computed(()=>{const{minDate:e,maxDate:t,rangeState:s,showWeekNumber:r}=a,l=n.unref(M),d=n.unref(w),i="day";let m=1;if(p.buildPickerTable({row:6,column:7},d,{startDate:e,columnIndexOffset:r?1:0,nextEndDate:s.endDate||t||s.selecting&&e||null,now:W().locale(n.unref(h)).startOf(i),unit:i,relativeDateGetter:u=>n.unref(v).add(u-l,i),setCellMetadata:(...u)=>{K(...u,m)&&(m+=1)},setRowMetadata:F}),r)for(let u=0;u<6;u++)d[u][1].dayjs&&(d[u][0]={type:"week",text:d[u][1].dayjs.week()});return d});n.watch(()=>a.date,async()=>{n.unref(y)?.contains(document.activeElement)&&(await n.nextTick(),await q())});const q=async()=>n.unref(k)?.focus(),T=e=>a.selectionMode==="date"&&O(e.type)&&_(e,a.parsedValue),_=(e,t)=>t?W(t).locale(n.unref(h)).isSame(a.date.date(Number(e.text)),"day"):!1,R=(e,t)=>{const s=e*7+(t-(a.showWeekNumber?1:0))-n.unref(M);return n.unref(v).add(s,"day")},$=e=>{if(!a.rangeState.selecting)return;let t=e.target;if(t.tagName==="SPAN"&&(t=t.parentNode?.parentNode),t.tagName==="DIV"&&(t=t.parentNode),t.tagName!=="TD")return;const s=t.parentNode.rowIndex-1,r=t.cellIndex;n.unref(g)[s][r].disabled||(s!==n.unref(D)||r!==n.unref(b))&&(D.value=s,b.value=r,f("changerange",{selecting:!0,endDate:R(s,r)}))},z=e=>!n.unref(S)&&e?.text===1&&e.type==="normal"||e.isCurrent,U=e=>{o||n.unref(S)||a.selectionMode!=="date"||V(e,!0)},G=e=>{e.target.closest("td")&&(o=!0)},H=e=>{e.target.closest("td")&&(o=!1)},J=e=>{!a.rangeState.selecting||!a.minDate?(f("pick",{minDate:e,maxDate:null}),f("select",!0)):(e>=a.minDate?f("pick",{minDate:a.minDate,maxDate:e}):f("pick",{minDate:e,maxDate:a.minDate}),f("select",!1))},Q=e=>{const t=e.week(),s=`${e.year()}w${t}`;f("pick",{year:e.year(),week:t,value:s,date:e.startOf("week")})},X=(e,t)=>{const s=t?C.castArray(a.parsedValue).filter(r=>r?.valueOf()!==e.valueOf()):C.castArray(a.parsedValue).concat([e]);f("pick",s)},V=(e,t=!1)=>{const s=e.target.closest("td");if(!s)return;const r=s.parentNode.rowIndex-1,l=s.cellIndex,d=n.unref(g)[r][l];if(d.disabled||d.type==="week")return;const i=R(r,l);switch(a.selectionMode){case"range":{J(i);break}case"date":{f("pick",i,t);break}case"week":{Q(i);break}case"dates":{X(i,!!d.selected);break}}},P=e=>{if(a.selectionMode!=="week")return!1;let t=a.date.startOf("day");if(e.type==="prev-month"&&(t=t.subtract(1,"month")),e.type==="next-month"&&(t=t.add(1,"month")),t=t.date(Number.parseInt(e.text,10)),a.parsedValue&&!A.isArray(a.parsedValue)){const s=(a.parsedValue.day()-c+7)%7-1;return a.parsedValue.subtract(s,"day").isSame(t,"day")}return!1};return{WEEKS:E,rows:g,tbodyRef:y,currentCellRef:k,focus:q,isCurrent:T,isWeekActive:P,isSelectedCell:z,handlePickDate:V,handleMouseUp:H,handleMouseDown:G,handleMouseMove:$,handleFocus:U}},te=(a,{isCurrent:f,isWeekActive:x})=>{const{t:h}=j.default(),y=Z.useNamespace("date-table"),k=n.computed(()=>[y.b(),{"is-week-mode":a.selectionMode==="week"}]),D=n.computed(()=>h("vft.datePicker.dateTableLabel")),b=o=>{const c=[];return O(o.type)&&!o.disabled?(c.push("available"),o.type==="today"&&c.push("today")):c.push(o.type),f(o)&&c.push("current"),o.inRange&&(O(o.type)||a.selectionMode==="week")&&(c.push("in-range"),o.start&&c.push("start-date"),o.end&&c.push("end-date")),o.disabled&&c.push("disabled"),o.selected&&c.push("selected"),o.customClass&&c.push(o.customClass),c.join(" ")},w=o=>[y.e("row"),{current:x(o)}];return{tableKls:k,tableLabel:D,weekHeaderClass:y.e("week-header"),getCellClasses:b,getRowKls:w}};exports.useBasicDateTable=ee;exports.useBasicDateTableDOM=te;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),t=({unlinkPanels:a,leftDate:e,rightDate:u})=>{const v=()=>{e.value=e.value.subtract(1,"year"),a.value||(u.value=u.value.subtract(1,"year"))},o=()=>{a.value||(e.value=e.value.add(1,"year")),u.value=u.value.add(1,"year")},c=()=>{e.value=e.value.add(1,"year")},l=()=>{u.value=u.value.subtract(1,"year")},n=r.computed(()=>`${e.value.year()} 年`),s=r.computed(()=>`${u.value.year()} 年`),y=r.computed(()=>e.value.year()),d=r.computed(()=>u.value.year()===e.value.year()?e.value.year()+1:u.value.year());return{leftPrevYear:v,rightNextYear:o,leftNextYear:c,rightPrevYear:l,leftLabel:n,rightLabel:s,leftYear:y,rightYear:d}};exports.useMonthRangeHeader=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),b=require("../../../locale/use-locale.cjs"),Y=({unlinkPanels:u,leftDate:e,rightDate:r})=>{const{t:v}=b.default(),c=()=>{e.value=e.value.subtract(1,"year"),u.value||(r.value=r.value.subtract(1,"year"))},o=()=>{u.value||(e.value=e.value.add(1,"year")),r.value=r.value.add(1,"year")},l=()=>{e.value=e.value.add(1,"year")},n=()=>{r.value=r.value.subtract(1,"year")},s=a.computed(()=>`${e.value.year()} ${v("vft.datePicker.year")}`),d=a.computed(()=>`${r.value.year()} ${v("vft.datePicker.year")}`),t=a.computed(()=>e.value.year()),y=a.computed(()=>r.value.year()===e.value.year()?e.value.year()+1:r.value.year());return{leftPrevYear:c,rightNextYear:o,leftNextYear:l,rightPrevYear:n,leftLabel:s,rightLabel:d,leftYear:t,rightYear:y}};exports.useMonthRangeHeader=Y;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue");require("../../time-picker/index.cjs");const R=require("../utils.cjs"),O=require("../../time-picker/constants.cjs"),j=(V,Y,u,o)=>{const i=n.ref("date"),f=n.ref(),l=n.ref("date"),h=n.ref(),b=n.inject(O.PICKER_BASE_INJECTION_KEY),{disabledDate:d}=b.props,v=n.ref("zh-cn"),g=n.computed(()=>u.value.year()),p=n.computed(()=>u.value.month()),P=n.computed(()=>o.value.year()),$=n.computed(()=>o.value.month());function y(e,r){const a="";if(e.value==="year"){const t=Math.floor(r.value/10)*10;return a?`${t} ${a} - ${t+9} ${a}`:`${t} - ${t+9}`}return`${r.value} ${a}`}function w(e){e?.focus()}async function m(e,r){const a=e==="left"?i:l,t=e==="left"?f:h;a.value=r,await n.nextTick(),w(t.value)}async function s(e,r,a){const t=r==="left",c=t?u:o,L=t?o:u,M=t?i:l,q=t?f:h;if(e==="year"){const E=c.value.year(a);c.value=R.getValidDateOfYear(E,v.value,d)}e==="month"&&(c.value=R.getValidDateOfMonth(c.value,c.value.year(),a,v.value,d)),V.unlinkPanels||(L.value=r==="left"?c.value.add(1,"month"):c.value.subtract(1,"month")),M.value=e==="year"?"month":"date",await n.nextTick(),w(q.value),k(e)}function k(e){Y("panel-change",[u.value.toDate(),o.value.toDate()],e)}function C(e,r,a){const t=a?"add":"subtract";return e==="year"?r[t](10,"year"):r[t](1,"year")}return{leftCurrentView:i,rightCurrentView:l,leftCurrentViewRef:f,rightCurrentViewRef:h,leftYear:g,rightYear:P,leftMonth:p,rightMonth:$,leftYearLabel:n.computed(()=>y(i,g)),rightYearLabel:n.computed(()=>y(l,P)),showLeftPicker:e=>m("left",e),showRightPicker:e=>m("right",e),handleLeftYearPick:e=>s("year","left",e),handleRightYearPick:e=>s("year","right",e),handleLeftMonthPick:e=>s("month","left",e),handleRightMonthPick:e=>s("month","right",e),handlePanelChange:k,adjustDateByView:C}};exports.usePanelDateRange=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue");require("../../time-picker/index.cjs");const j=require("../../../locale/use-locale.cjs"),R=require("../utils.cjs"),B=require("../../time-picker/constants.cjs"),I=(V,Y,u,o)=>{const{t:b}=j.default(),i=n.ref("date"),f=n.ref(),l=n.ref("date"),h=n.ref(),p=n.inject(B.PICKER_BASE_INJECTION_KEY),{disabledDate:d}=p.props,v=n.ref("zh-cn"),P=n.computed(()=>u.value.year()),L=n.computed(()=>u.value.month()),g=n.computed(()=>o.value.year()),$=n.computed(()=>o.value.month());function y(e,r){const a=b("vft.datePicker.year");if(e.value==="year"){const t=Math.floor(r.value/10)*10;return a?`${t} ${a} - ${t+9} ${a}`:`${t} - ${t+9}`}return`${r.value} ${a}`}function w(e){e?.focus()}async function k(e,r){const a=e==="left"?i:l,t=e==="left"?f:h;a.value=r,await n.nextTick(),w(t.value)}async function s(e,r,a){const t=r==="left",c=t?u:o,M=t?o:u,q=t?i:l,E=t?f:h;if(e==="year"){const O=c.value.year(a);c.value=R.getValidDateOfYear(O,v.value,d)}e==="month"&&(c.value=R.getValidDateOfMonth(c.value,c.value.year(),a,v.value,d)),V.unlinkPanels||(M.value=r==="left"?c.value.add(1,"month"):c.value.subtract(1,"month")),q.value=e==="year"?"month":"date",await n.nextTick(),w(E.value),m(e)}function m(e){Y("panel-change",[u.value.toDate(),o.value.toDate()],e)}function C(e,r,a){const t=a?"add":"subtract";return e==="year"?r[t](10,"year"):r[t](1,"year")}return{leftCurrentView:i,rightCurrentView:l,leftCurrentViewRef:f,rightCurrentViewRef:h,leftYear:P,rightYear:g,leftMonth:L,rightMonth:$,leftYearLabel:n.computed(()=>y(i,P)),rightYearLabel:n.computed(()=>y(l,g)),showLeftPicker:e=>k("left",e),showRightPicker:e=>k("right",e),handleLeftYearPick:e=>s("year","left",e),handleRightYearPick:e=>s("year","right",e),handleLeftMonthPick:e=>s("month","left",e),handleRightMonthPick:e=>s("month","right",e),handlePanelChange:m,adjustDateByView:C}};exports.usePanelDateRange=I;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),D=require("dayjs");require("@vueuse/core");const v=require("@vft/utils"),m=require("../../../utils/helper.cjs");require("lodash-es");require("../../form/index.cjs");const A=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const E=require("../props/basic-month-table.cjs"),x=require("../utils.cjs"),R=require("./basic-cell-render.cjs"),V=["aria-selected","tabindex","onKeydown"],I=t.defineComponent({__name:"basic-month-table",props:E.basicMonthTableProps,emits:["changerange","pick","select"],setup(S,{expose:M,emit:q}){const e=S,d=q,C=A.useNamespace("month-table"),f=t.ref("zh-cn"),g=t.ref(),h=t.ref(),N=t.ref(e.date.locale("zh-cn").localeData().monthsShort().map(s=>s.toLowerCase())),B=t.ref([[],[],[]]),b=t.ref(),w=t.ref(),k=t.computed(()=>{const s=B.value,a=D().locale(f.value).startOf("month");for(let n=0;n<3;n++){const l=s[n];for(let r=0;r<4;r++){const o=l[r]||={row:n,column:r,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1};o.type="normal";const u=n*4+r,i=e.date.startOf("year").month(u),c=e.rangeState.endDate||e.maxDate||e.rangeState.selecting&&e.minDate||null;o.inRange=!!(e.minDate&&i.isSameOrAfter(e.minDate,"month")&&c&&i.isSameOrBefore(c,"month"))||!!(e.minDate&&i.isSameOrBefore(e.minDate,"month")&&c&&i.isSameOrAfter(c,"month")),e.minDate?.isSameOrAfter(c)?(o.start=!!(c&&i.isSame(c,"month")),o.end=e.minDate&&i.isSame(e.minDate,"month")):(o.start=!!(e.minDate&&i.isSame(e.minDate,"month")),o.end=!!(c&&i.isSame(c,"month"))),a.isSame(i)&&(o.type="today"),o.text=u,o.disabled=e.disabledDate?.(i.toDate())||!1}}return s}),_=()=>{h.value?.focus()},O=s=>{const a={},n=e.date.year(),l=new Date,r=s.text;return a.disabled=e.disabledDate?x.datesInMonth(e.date,n,r,f.value).every(e.disabledDate):!1,a.current=m.castArray(e.parsedValue).findIndex(o=>D.isDayjs(o)&&o.year()===n&&o.month()===r)>=0,a.today=l.getFullYear()===n&&l.getMonth()===r,s.inRange&&(a["in-range"]=!0,s.start&&(a["start-date"]=!0),s.end&&(a["end-date"]=!0)),a},p=s=>{const a=e.date.year(),n=s.text;return m.castArray(e.date).findIndex(l=>l.year()===a&&l.month()===n)>=0},T=s=>{if(!e.rangeState.selecting)return;let a=s.target;if(a.tagName==="SPAN"&&(a=a.parentNode?.parentNode),a.tagName==="DIV"&&(a=a.parentNode),a.tagName!=="TD")return;const n=a.parentNode.rowIndex,l=a.cellIndex;k.value[n][l].disabled||(n!==b.value||l!==w.value)&&(b.value=n,w.value=l,d("changerange",{selecting:!0,endDate:e.date.startOf("year").month(n*4+l)}))},y=s=>{const a=s.target?.closest("td");if(a?.tagName!=="TD"||v.hasClass(a,"disabled"))return;const n=a.cellIndex,r=a.parentNode.rowIndex*4+n,o=e.date.startOf("year").month(r);if(e.selectionMode==="months"){if(s.type==="keydown"){d("pick",m.castArray(e.parsedValue),!1);return}const u=x.getValidDateOfMonth(e.date,e.date.year(),r,f.value,e.disabledDate),i=v.hasClass(a,"current")?m.castArray(e.parsedValue).filter(c=>c?.year()!==u.year()||c?.month()!==u.month()):m.castArray(e.parsedValue).concat([D(u)]);d("pick",i)}else e.selectionMode==="range"?e.rangeState.selecting?(e.minDate&&o>=e.minDate?d("pick",{minDate:e.minDate,maxDate:o}):d("pick",{minDate:o,maxDate:e.minDate}),d("select",!1)):(d("pick",{minDate:o,maxDate:null}),d("select",!0)):d("pick",r)};return t.watch(()=>e.date,async()=>{g.value?.contains(document.activeElement)&&(await t.nextTick(),h.value?.focus())}),M({focus:_}),(s,a)=>(t.openBlock(),t.createElementBlock("table",{role:"grid","aria-label":"使用方向键与 Enter 键可选择月份",class:t.normalizeClass(t.unref(C).b()),onClick:y,onMousemove:T},[t.createElementVNode("tbody",{ref_key:"tbodyRef",ref:g},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,(n,l)=>(t.openBlock(),t.createElementBlock("tr",{key:l},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n,(r,o)=>(t.openBlock(),t.createElementBlock("td",{key:o,ref_for:!0,ref:u=>p(r)&&(h.value=u),class:t.normalizeClass(O(r)),"aria-selected":`${p(r)}`,tabindex:p(r)?0:-1,onKeydown:[t.withKeys(t.withModifiers(y,["prevent","stop"]),["space"]),t.withKeys(t.withModifiers(y,["prevent","stop"]),["enter"])]},[t.createVNode(t.unref(R.default),{cell:{...r,renderText:N.value[r.text]}},null,8,["cell"])],42,V))),128))]))),128))],512)],34))}});exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),D=require("dayjs");require("@vueuse/core");const v=require("@vft/utils"),m=require("../../../utils/helper.cjs");require("lodash-es");require("../../form/index.cjs");const R=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const V=require("../../../locale/use-locale.cjs"),E=require("../props/basic-month-table.cjs"),x=require("../utils.cjs"),I=require("./basic-cell-render.cjs"),L=["aria-label"],j=["aria-selected","tabindex","onKeydown"],z=t.defineComponent({__name:"basic-month-table",props:E.basicMonthTableProps,emits:["changerange","pick","select"],setup(S,{expose:M,emit:q}){const e=S,d=q,_=R.useNamespace("month-table"),{t:C}=V.default(),f=t.ref("zh-cn"),g=t.ref(),h=t.ref(),N=t.ref(e.date.locale("zh-cn").localeData().monthsShort().map(s=>s.toLowerCase())),B=t.ref([[],[],[]]),b=t.ref(),w=t.ref(),k=t.computed(()=>{const s=B.value,a=D().locale(f.value).startOf("month");for(let n=0;n<3;n++){const l=s[n];for(let r=0;r<4;r++){const o=l[r]||={row:n,column:r,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1};o.type="normal";const u=n*4+r,i=e.date.startOf("year").month(u),c=e.rangeState.endDate||e.maxDate||e.rangeState.selecting&&e.minDate||null;o.inRange=!!(e.minDate&&i.isSameOrAfter(e.minDate,"month")&&c&&i.isSameOrBefore(c,"month"))||!!(e.minDate&&i.isSameOrBefore(e.minDate,"month")&&c&&i.isSameOrAfter(c,"month")),e.minDate?.isSameOrAfter(c)?(o.start=!!(c&&i.isSame(c,"month")),o.end=e.minDate&&i.isSame(e.minDate,"month")):(o.start=!!(e.minDate&&i.isSame(e.minDate,"month")),o.end=!!(c&&i.isSame(c,"month"))),a.isSame(i)&&(o.type="today"),o.text=u,o.disabled=e.disabledDate?.(i.toDate())||!1}}return s}),T=()=>{h.value?.focus()},O=s=>{const a={},n=e.date.year(),l=new Date,r=s.text;return a.disabled=e.disabledDate?x.datesInMonth(e.date,n,r,f.value).every(e.disabledDate):!1,a.current=m.castArray(e.parsedValue).findIndex(o=>D.isDayjs(o)&&o.year()===n&&o.month()===r)>=0,a.today=l.getFullYear()===n&&l.getMonth()===r,s.inRange&&(a["in-range"]=!0,s.start&&(a["start-date"]=!0),s.end&&(a["end-date"]=!0)),a},p=s=>{const a=e.date.year(),n=s.text;return m.castArray(e.date).findIndex(l=>l.year()===a&&l.month()===n)>=0},A=s=>{if(!e.rangeState.selecting)return;let a=s.target;if(a.tagName==="SPAN"&&(a=a.parentNode?.parentNode),a.tagName==="DIV"&&(a=a.parentNode),a.tagName!=="TD")return;const n=a.parentNode.rowIndex,l=a.cellIndex;k.value[n][l].disabled||(n!==b.value||l!==w.value)&&(b.value=n,w.value=l,d("changerange",{selecting:!0,endDate:e.date.startOf("year").month(n*4+l)}))},y=s=>{const a=s.target?.closest("td");if(a?.tagName!=="TD"||v.hasClass(a,"disabled"))return;const n=a.cellIndex,r=a.parentNode.rowIndex*4+n,o=e.date.startOf("year").month(r);if(e.selectionMode==="months"){if(s.type==="keydown"){d("pick",m.castArray(e.parsedValue),!1);return}const u=x.getValidDateOfMonth(e.date,e.date.year(),r,f.value,e.disabledDate),i=v.hasClass(a,"current")?m.castArray(e.parsedValue).filter(c=>c?.year()!==u.year()||c?.month()!==u.month()):m.castArray(e.parsedValue).concat([D(u)]);d("pick",i)}else e.selectionMode==="range"?e.rangeState.selecting?(e.minDate&&o>=e.minDate?d("pick",{minDate:e.minDate,maxDate:o}):d("pick",{minDate:o,maxDate:e.minDate}),d("select",!1)):(d("pick",{minDate:o,maxDate:null}),d("select",!0)):d("pick",r)};return t.watch(()=>e.date,async()=>{g.value?.contains(document.activeElement)&&(await t.nextTick(),h.value?.focus())}),M({focus:T}),(s,a)=>(t.openBlock(),t.createElementBlock("table",{role:"grid","aria-label":t.unref(C)("vft.datePicker.monthTableLabel"),class:t.normalizeClass(t.unref(_).b()),onClick:y,onMousemove:A},[t.createElementVNode("tbody",{ref_key:"tbodyRef",ref:g},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,(n,l)=>(t.openBlock(),t.createElementBlock("tr",{key:l},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n,(r,o)=>(t.openBlock(),t.createElementBlock("td",{key:o,ref_for:!0,ref:u=>p(r)&&(h.value=u),class:t.normalizeClass(O(r)),"aria-selected":`${p(r)}`,tabindex:p(r)?0:-1,onKeydown:[t.withKeys(t.withModifiers(y,["prevent","stop"]),["space"]),t.withKeys(t.withModifiers(y,["prevent","stop"]),["enter"])]},[t.createVNode(t.unref(I.default),{cell:{...r,renderText:N.value[r.text]}},null,8,["cell"])],42,j))),128))]))),128))],512)],42,L))}});exports.default=z;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("dayjs");require("@vueuse/core");const S=require("@vft/utils"),m=require("../../../utils/helper.cjs");require("lodash-es");require("../../form/index.cjs");const Y=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");require("../../time-picker/index.cjs");const T=require("../props/basic-year-table.cjs"),V=require("../utils.cjs"),I=require("./basic-cell-render.cjs"),N=require("../../time-picker/utils.cjs"),K=["aria-selected","aria-label","tabindex","onKeydown"],$=e.defineComponent({__name:"basic-year-table",props:T.basicYearTableProps,emits:["changerange","pick","select"],setup(h,{expose:q,emit:C}){const t=h,d=C,O=(l,a)=>{const r=f(String(l)).locale(a).startOf("year"),n=r.endOf("year").dayOfYear();return N.rangeArr(n).map(s=>r.add(s,"day").toDate())},_=Y.useNamespace("year-table"),y=e.ref("zh-cn"),v=e.ref(),p=e.ref(),D=e.computed(()=>Math.floor(t.date.year()/10)*10),B=e.ref([[],[],[]]),k=e.ref(),x=e.ref(),w=e.computed(()=>{const l=B.value,a=f().locale(y.value).startOf("year");for(let r=0;r<3;r++){const o=l[r];for(let n=0;n<4&&!(r*4+n>=10);n++){let s=o[n];s||(s={row:r,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1}),s.type="normal";const u=r*4+n+D.value,i=f().year(u),c=t.rangeState.endDate||t.maxDate||t.rangeState.selecting&&t.minDate||null;s.inRange=!!(t.minDate&&i.isSameOrAfter(t.minDate,"year")&&c&&i.isSameOrBefore(c,"year"))||!!(t.minDate&&i.isSameOrBefore(t.minDate,"year")&&c&&i.isSameOrAfter(c,"year")),t.minDate?.isSameOrAfter(c)?(s.start=!!(c&&i.isSame(c,"year")),s.end=!!(t.minDate&&i.isSame(t.minDate,"year"))):(s.start=!!(t.minDate&&i.isSame(t.minDate,"year")),s.end=!!(c&&i.isSame(c,"year"))),a.isSame(i)&&(s.type="today"),s.text=u;const R=i.toDate();s.disabled=t.disabledDate&&t.disabledDate(R)||!1,o[n]=s}}return l}),M=()=>{p.value?.focus()},A=l=>{const a={},r=f().locale(y.value),o=l.text;return a.disabled=t.disabledDate?O(o,y.value).every(t.disabledDate):!1,a.today=r.year()===o,a.current=m.castArray(t.parsedValue).findIndex(n=>n.year()===o)>=0,l.inRange&&(a["in-range"]=!0,l.start&&(a["start-date"]=!0),l.end&&(a["end-date"]=!0)),a},b=l=>{const a=l.text;return m.castArray(t.date).findIndex(r=>r.year()===a)>=0},g=l=>{const a=l.target?.closest("td");if(!a||!a.textContent||S.hasClass(a,"disabled"))return;const r=a.cellIndex,n=a.parentNode.rowIndex*4+r+D.value,s=f().year(n);if(t.selectionMode==="range")t.rangeState.selecting?(t.minDate&&s>=t.minDate?d("pick",{minDate:t.minDate,maxDate:s}):d("pick",{minDate:s,maxDate:t.minDate}),d("select",!1)):(d("pick",{minDate:s,maxDate:null}),d("select",!0));else if(t.selectionMode==="years"){if(l.type==="keydown"){d("pick",m.castArray(t.parsedValue),!1);return}const u=V.getValidDateOfYear(s.startOf("year"),y.value,t.disabledDate),i=S.hasClass(a,"current")?m.castArray(t.parsedValue).filter(c=>c?.year()!==n):m.castArray(t.parsedValue).concat([u]);d("pick",i)}else d("pick",n)},E=l=>{if(!t.rangeState.selecting)return;const a=l.target?.closest("td");if(!a)return;const r=a.parentNode.rowIndex,o=a.cellIndex;w.value[r][o].disabled||(r!==k.value||o!==x.value)&&(k.value=r,x.value=o,d("changerange",{selecting:!0,endDate:f().year(D.value).add(r*4+o,"year")}))};return e.watch(()=>t.date,async()=>{v.value?.contains(document.activeElement)&&(await e.nextTick(),p.value?.focus())}),q({focus:M}),(l,a)=>(e.openBlock(),e.createElementBlock("table",{role:"grid","aria-label":"使用方向键与 Enter 键以选择年份",class:e.normalizeClass(e.unref(_).b()),onClick:g,onMousemove:E},[e.createElementVNode("tbody",{ref_key:"tbodyRef",ref:v},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(r,o)=>(e.openBlock(),e.createElementBlock("tr",{key:o},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r,(n,s)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}_${s}`,ref_for:!0,ref:u=>b(n)&&(p.value=u),class:e.normalizeClass(["available",A(n)]),"aria-selected":b(n),"aria-label":String(n.text),tabindex:b(n)?0:-1,onKeydown:[e.withKeys(e.withModifiers(g,["prevent","stop"]),["space"]),e.withKeys(e.withModifiers(g,["prevent","stop"]),["enter"])]},[e.createVNode(e.unref(I.default),{cell:n},null,8,["cell"])],42,K))),128))]))),128))],512)],34))}});exports.default=$;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("dayjs");require("@vueuse/core");const S=require("@vft/utils"),m=require("../../../utils/helper.cjs");require("lodash-es");require("../../form/index.cjs");const E=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const V=require("../../../locale/use-locale.cjs");require("../../time-picker/index.cjs");const I=require("../props/basic-year-table.cjs"),N=require("../utils.cjs"),K=require("./basic-cell-render.cjs"),L=require("../../time-picker/utils.cjs"),$=["aria-label"],j=["aria-selected","aria-label","tabindex","onKeydown"],z=e.defineComponent({__name:"basic-year-table",props:I.basicYearTableProps,emits:["changerange","pick","select"],setup(h,{expose:q,emit:_}){const t=h,d=_,{t:C}=V.default(),O=(l,a)=>{const r=f(String(l)).locale(a).startOf("year"),n=r.endOf("year").dayOfYear();return L.rangeArr(n).map(s=>r.add(s,"day").toDate())},B=E.useNamespace("year-table"),y=e.ref("zh-cn"),v=e.ref(),p=e.ref(),D=e.computed(()=>Math.floor(t.date.year()/10)*10),M=e.ref([[],[],[]]),k=e.ref(),x=e.ref(),w=e.computed(()=>{const l=M.value,a=f().locale(y.value).startOf("year");for(let r=0;r<3;r++){const o=l[r];for(let n=0;n<4&&!(r*4+n>=10);n++){let s=o[n];s||(s={row:r,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1}),s.type="normal";const u=r*4+n+D.value,i=f().year(u),c=t.rangeState.endDate||t.maxDate||t.rangeState.selecting&&t.minDate||null;s.inRange=!!(t.minDate&&i.isSameOrAfter(t.minDate,"year")&&c&&i.isSameOrBefore(c,"year"))||!!(t.minDate&&i.isSameOrBefore(t.minDate,"year")&&c&&i.isSameOrAfter(c,"year")),t.minDate?.isSameOrAfter(c)?(s.start=!!(c&&i.isSame(c,"year")),s.end=!!(t.minDate&&i.isSame(t.minDate,"year"))):(s.start=!!(t.minDate&&i.isSame(t.minDate,"year")),s.end=!!(c&&i.isSame(c,"year"))),a.isSame(i)&&(s.type="today"),s.text=u;const Y=i.toDate();s.disabled=t.disabledDate&&t.disabledDate(Y)||!1,o[n]=s}}return l}),A=()=>{p.value?.focus()},R=l=>{const a={},r=f().locale(y.value),o=l.text;return a.disabled=t.disabledDate?O(o,y.value).every(t.disabledDate):!1,a.today=r.year()===o,a.current=m.castArray(t.parsedValue).findIndex(n=>n.year()===o)>=0,l.inRange&&(a["in-range"]=!0,l.start&&(a["start-date"]=!0),l.end&&(a["end-date"]=!0)),a},b=l=>{const a=l.text;return m.castArray(t.date).findIndex(r=>r.year()===a)>=0},g=l=>{const a=l.target?.closest("td");if(!a||!a.textContent||S.hasClass(a,"disabled"))return;const r=a.cellIndex,n=a.parentNode.rowIndex*4+r+D.value,s=f().year(n);if(t.selectionMode==="range")t.rangeState.selecting?(t.minDate&&s>=t.minDate?d("pick",{minDate:t.minDate,maxDate:s}):d("pick",{minDate:s,maxDate:t.minDate}),d("select",!1)):(d("pick",{minDate:s,maxDate:null}),d("select",!0));else if(t.selectionMode==="years"){if(l.type==="keydown"){d("pick",m.castArray(t.parsedValue),!1);return}const u=N.getValidDateOfYear(s.startOf("year"),y.value,t.disabledDate),i=S.hasClass(a,"current")?m.castArray(t.parsedValue).filter(c=>c?.year()!==n):m.castArray(t.parsedValue).concat([u]);d("pick",i)}else d("pick",n)},T=l=>{if(!t.rangeState.selecting)return;const a=l.target?.closest("td");if(!a)return;const r=a.parentNode.rowIndex,o=a.cellIndex;w.value[r][o].disabled||(r!==k.value||o!==x.value)&&(k.value=r,x.value=o,d("changerange",{selecting:!0,endDate:f().year(D.value).add(r*4+o,"year")}))};return e.watch(()=>t.date,async()=>{v.value?.contains(document.activeElement)&&(await e.nextTick(),p.value?.focus())}),q({focus:A}),(l,a)=>(e.openBlock(),e.createElementBlock("table",{role:"grid","aria-label":e.unref(C)("vft.datePicker.yearTableLabel"),class:e.normalizeClass(e.unref(B).b()),onClick:g,onMousemove:T},[e.createElementVNode("tbody",{ref_key:"tbodyRef",ref:v},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(r,o)=>(e.openBlock(),e.createElementBlock("tr",{key:o},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r,(n,s)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}_${s}`,ref_for:!0,ref:u=>b(n)&&(p.value=u),class:e.normalizeClass(["available",R(n)]),"aria-selected":b(n),"aria-label":String(n.text),tabindex:b(n)?0:-1,onKeydown:[e.withKeys(e.withModifiers(g,["prevent","stop"]),["space"]),e.withKeys(e.withModifiers(g,["prevent","stop"]),["enter"])]},[e.createVNode(e.unref(K.default),{cell:n},null,8,["cell"])],42,j))),128))]))),128))],512)],42,$))}});exports.default=z;