vxe-pc-ui 4.20.34 → 4.20.35

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 (367) hide show
  1. package/dist/all.esm.js +45718 -45038
  2. package/dist/all.esm.min.js +3 -3
  3. package/dist/style.css +307 -1
  4. package/dist/style.mini.css +1 -1
  5. package/es/alert/src/alert.js +117 -114
  6. package/es/anchor/src/anchor-link.js +110 -107
  7. package/es/anchor/src/anchor.js +212 -209
  8. package/es/avatar/src/avatar.js +132 -129
  9. package/es/backtop/src/backtop.js +267 -264
  10. package/es/badge/src/badge.js +102 -99
  11. package/es/breadcrumb/src/breadcrumb-item.js +104 -101
  12. package/es/breadcrumb/src/breadcrumb.js +70 -67
  13. package/es/button/src/button-group.js +88 -85
  14. package/es/calendar/src/calendar.js +1371 -1368
  15. package/es/card/src/card.js +235 -232
  16. package/es/carousel/src/carousel-item.js +78 -75
  17. package/es/carousel/src/carousel.js +392 -389
  18. package/es/cascader/src/cascader.js +1667 -1664
  19. package/es/checkbox/src/button.js +198 -195
  20. package/es/checkbox/src/checkbox.js +181 -178
  21. package/es/checkbox/src/group.js +210 -207
  22. package/es/collapse/src/collapse-pane.js +98 -95
  23. package/es/collapse/src/collapse.js +340 -337
  24. package/es/color-picker/src/color-picker.js +1116 -1113
  25. package/es/components.d.ts +1 -0
  26. package/es/components.js +3 -0
  27. package/es/context-menu/src/context-menu.js +601 -598
  28. package/es/countdown/src/countdown.js +224 -221
  29. package/es/date-panel/src/date-panel.js +1905 -1902
  30. package/es/date-picker/src/date-picker.js +1537 -1534
  31. package/es/date-range-picker/src/date-range-picker.js +1412 -1409
  32. package/es/divider/src/divider.js +80 -77
  33. package/es/drawer/src/drawer.js +778 -775
  34. package/es/empty/src/empty.js +100 -97
  35. package/es/form/src/form-group.js +74 -71
  36. package/es/form/src/form-item.js +76 -73
  37. package/es/form/src/form.js +789 -786
  38. package/es/icon/src/icon.js +59 -56
  39. package/es/icon/style.css +1 -1
  40. package/es/icon/style.mini.css +1 -1
  41. package/es/icon-picker/src/icon-picker.js +719 -716
  42. package/es/image/src/group.js +130 -127
  43. package/es/image/src/image.js +243 -240
  44. package/es/image/src/preview.js +627 -624
  45. package/es/index.esm.js +2 -0
  46. package/es/index.js +2 -0
  47. package/es/input/src/input.js +2700 -2697
  48. package/es/layout-aside/src/layout-aside.js +138 -135
  49. package/es/layout-body/src/layout-body.js +145 -142
  50. package/es/layout-container/src/layout-container.js +71 -68
  51. package/es/layout-footer/src/layout-footer.js +60 -57
  52. package/es/layout-header/src/layout-header.js +58 -55
  53. package/es/link/src/link.js +131 -128
  54. package/es/list/src/list.js +2174 -2171
  55. package/es/loading/src/loading.js +141 -138
  56. package/es/mention/src/mention.js +49 -46
  57. package/es/menu/src/menu.js +799 -796
  58. package/es/modal/src/modal.js +1519 -1527
  59. package/es/notice-bar/src/notice-bar.js +168 -165
  60. package/es/number-input/src/number-input.js +1094 -1091
  61. package/es/pager/src/pager.js +767 -764
  62. package/es/password-input/src/password-input.js +431 -428
  63. package/es/print/src/page-break.js +63 -60
  64. package/es/print/src/print.js +303 -300
  65. package/es/pulldown/src/pulldown.js +403 -400
  66. package/es/radio/src/button.js +214 -211
  67. package/es/radio/src/group.js +195 -192
  68. package/es/radio/src/radio.js +194 -191
  69. package/es/rate/src/rate.js +164 -161
  70. package/es/result/src/result.js +116 -113
  71. package/es/row/src/col.js +133 -130
  72. package/es/row/src/row.js +111 -108
  73. package/es/scrollbar/src/scrollbar.js +518 -515
  74. package/es/segmented/src/segmented.js +240 -237
  75. package/es/select/src/optgroup.js +44 -41
  76. package/es/select/src/option.js +39 -36
  77. package/es/select/src/select.js +1914 -1896
  78. package/es/slider/src/slider.js +419 -416
  79. package/es/space/src/space.js +190 -187
  80. package/es/splitter/src/splitter-panel.js +146 -143
  81. package/es/splitter/src/splitter.js +917 -914
  82. package/es/step-item/index.d.ts +76 -0
  83. package/es/step-item/index.js +17 -0
  84. package/es/steps/index.d.ts +288 -34
  85. package/es/steps/src/step-info.d.ts +6 -0
  86. package/es/steps/src/step-info.js +20 -0
  87. package/es/steps/src/step-item.d.ts +14 -0
  88. package/es/steps/src/step-item.js +39 -0
  89. package/es/steps/src/steps.d.ts +68 -8
  90. package/es/steps/src/steps.js +299 -47
  91. package/es/steps/src/util.d.ts +7 -0
  92. package/es/steps/src/util.js +44 -0
  93. package/es/steps/style.css +297 -0
  94. package/es/steps/style.mini.css +1 -0
  95. package/es/style.css +307 -1
  96. package/es/style.mini.css +1 -1
  97. package/es/switch/src/switch.js +228 -225
  98. package/es/table-select/src/table-select.js +865 -862
  99. package/es/table-transfer/src/table-transfer.js +61 -58
  100. package/es/tabs/src/tab-pane.js +102 -99
  101. package/es/tabs/src/tabs.js +936 -933
  102. package/es/tag/src/tag.js +163 -160
  103. package/es/text/src/text.js +232 -229
  104. package/es/text-ellipsis/src/text-ellipsis.js +252 -249
  105. package/es/textarea/src/textarea.js +434 -431
  106. package/es/timeline/src/timeline.js +74 -36
  107. package/es/timeline/src/util.js +7 -4
  108. package/es/tip/src/tip.js +117 -114
  109. package/es/tooltip/src/tooltip.js +552 -549
  110. package/es/tour/src/tour.js +49 -46
  111. package/es/transfer/src/transfer.js +95 -92
  112. package/es/tree/src/tree.js +3379 -3376
  113. package/es/tree-select/src/tree-select.js +969 -966
  114. package/es/ui/index.js +8 -2
  115. package/es/ui/src/log.js +1 -1
  116. package/es/upload/src/upload.js +1791 -1788
  117. package/es/vxe-icon/style.css +1 -1
  118. package/es/vxe-icon/style.mini.css +1 -1
  119. package/es/vxe-steps/style.css +297 -0
  120. package/es/vxe-steps/style.mini.css +1 -0
  121. package/es/watermark/src/watermark.js +158 -155
  122. package/lib/alert/src/alert.js +117 -114
  123. package/lib/anchor/src/anchor-link.js +110 -107
  124. package/lib/anchor/src/anchor.js +212 -209
  125. package/lib/avatar/src/avatar.js +132 -129
  126. package/lib/backtop/src/backtop.js +267 -264
  127. package/lib/badge/src/badge.js +102 -99
  128. package/lib/breadcrumb/src/breadcrumb-item.js +104 -101
  129. package/lib/breadcrumb/src/breadcrumb.js +70 -67
  130. package/lib/button/src/button-group.js +88 -85
  131. package/lib/calendar/src/calendar.js +1371 -1368
  132. package/lib/card/src/card.js +235 -232
  133. package/lib/carousel/src/carousel-item.js +78 -75
  134. package/lib/carousel/src/carousel.js +392 -389
  135. package/lib/cascader/src/cascader.js +1665 -1662
  136. package/lib/checkbox/src/button.js +198 -195
  137. package/lib/checkbox/src/checkbox.js +181 -178
  138. package/lib/checkbox/src/group.js +210 -207
  139. package/lib/collapse/src/collapse-pane.js +98 -95
  140. package/lib/collapse/src/collapse.js +340 -337
  141. package/lib/color-picker/src/color-picker.js +1116 -1113
  142. package/lib/components.js +3 -0
  143. package/lib/context-menu/src/context-menu.js +601 -598
  144. package/lib/countdown/src/countdown.js +224 -221
  145. package/lib/date-panel/src/date-panel.js +1905 -1902
  146. package/lib/date-picker/src/date-picker.js +1537 -1534
  147. package/lib/date-range-picker/src/date-range-picker.js +1412 -1409
  148. package/lib/divider/src/divider.js +80 -77
  149. package/lib/drawer/src/drawer.js +778 -775
  150. package/lib/empty/src/empty.js +100 -97
  151. package/lib/form/src/form-group.js +74 -71
  152. package/lib/form/src/form-item.js +76 -73
  153. package/lib/form/src/form.js +789 -786
  154. package/lib/icon/src/icon.js +59 -56
  155. package/lib/icon/style/style.css +1 -1
  156. package/lib/icon/style/style.mini.css +1 -1
  157. package/lib/icon-picker/src/icon-picker.js +719 -716
  158. package/lib/image/src/group.js +130 -127
  159. package/lib/image/src/image.js +243 -240
  160. package/lib/image/src/preview.js +627 -624
  161. package/lib/index.common.js +2 -0
  162. package/lib/index.js +2 -0
  163. package/lib/index.umd.js +47411 -46732
  164. package/lib/index.umd.min.js +3 -3
  165. package/lib/input/src/input.js +2700 -2697
  166. package/lib/layout-aside/src/layout-aside.js +138 -135
  167. package/lib/layout-body/src/layout-body.js +145 -142
  168. package/lib/layout-container/src/layout-container.js +71 -68
  169. package/lib/layout-footer/src/layout-footer.js +60 -57
  170. package/lib/layout-header/src/layout-header.js +58 -55
  171. package/lib/link/src/link.js +131 -128
  172. package/lib/list/src/list.js +2173 -2170
  173. package/lib/loading/src/loading.js +141 -138
  174. package/lib/mention/src/mention.js +49 -46
  175. package/lib/menu/src/menu.js +799 -796
  176. package/lib/modal/src/modal.js +1519 -1527
  177. package/lib/notice-bar/src/notice-bar.js +168 -165
  178. package/lib/number-input/src/number-input.js +1094 -1091
  179. package/lib/pager/src/pager.js +767 -764
  180. package/lib/password-input/src/password-input.js +431 -428
  181. package/lib/print/src/page-break.js +63 -60
  182. package/lib/print/src/print.js +303 -300
  183. package/lib/pulldown/src/pulldown.js +403 -400
  184. package/lib/radio/src/button.js +214 -211
  185. package/lib/radio/src/group.js +195 -192
  186. package/lib/radio/src/radio.js +194 -191
  187. package/lib/rate/src/rate.js +164 -161
  188. package/lib/result/src/result.js +116 -113
  189. package/lib/row/src/col.js +133 -130
  190. package/lib/row/src/row.js +111 -108
  191. package/lib/scrollbar/src/scrollbar.js +518 -515
  192. package/lib/segmented/src/segmented.js +240 -237
  193. package/lib/select/src/optgroup.js +44 -41
  194. package/lib/select/src/option.js +39 -36
  195. package/lib/select/src/select.js +1915 -1897
  196. package/lib/slider/src/slider.js +419 -416
  197. package/lib/space/src/space.js +190 -187
  198. package/lib/splitter/src/splitter-panel.js +146 -143
  199. package/lib/splitter/src/splitter.js +917 -914
  200. package/lib/step-item/index.js +47 -0
  201. package/lib/steps/src/step-info.js +49 -0
  202. package/lib/steps/src/step-item.js +59 -0
  203. package/lib/steps/src/steps.js +298 -46
  204. package/lib/steps/src/util.js +74 -0
  205. package/lib/steps/style/style.css +297 -0
  206. package/lib/steps/style/style.mini.css +1 -0
  207. package/lib/style.css +307 -1
  208. package/lib/style.mini.css +1 -1
  209. package/lib/switch/src/switch.js +228 -225
  210. package/lib/table-select/src/table-select.js +865 -862
  211. package/lib/table-transfer/src/table-transfer.js +61 -58
  212. package/lib/tabs/src/tab-pane.js +102 -99
  213. package/lib/tabs/src/tabs.js +936 -933
  214. package/lib/tag/src/tag.js +163 -160
  215. package/lib/text/src/text.js +232 -229
  216. package/lib/text-ellipsis/src/text-ellipsis.js +252 -249
  217. package/lib/textarea/src/textarea.js +434 -431
  218. package/lib/timeline/src/timeline.js +74 -36
  219. package/lib/timeline/src/util.js +7 -4
  220. package/lib/tip/src/tip.js +117 -114
  221. package/lib/tooltip/src/tooltip.js +552 -549
  222. package/lib/tour/src/tour.js +49 -46
  223. package/lib/transfer/src/transfer.js +95 -92
  224. package/lib/tree/src/tree.js +3379 -3376
  225. package/lib/tree-select/src/tree-select.js +969 -966
  226. package/lib/ui/index.js +8 -2
  227. package/lib/ui/src/log.js +1 -1
  228. package/lib/upload/src/upload.js +1788 -1785
  229. package/lib/vxe-icon/style/style.css +1 -1
  230. package/lib/vxe-icon/style/style.mini.css +1 -1
  231. package/lib/vxe-steps/style/style.css +297 -0
  232. package/lib/vxe-steps/style/style.mini.css +1 -0
  233. package/lib/watermark/src/watermark.js +158 -155
  234. package/package.json +1 -1
  235. package/packages/alert/src/alert.ts +2 -2
  236. package/packages/anchor/src/anchor-link.ts +2 -2
  237. package/packages/anchor/src/anchor.ts +2 -2
  238. package/packages/avatar/src/avatar.ts +2 -2
  239. package/packages/backtop/src/backtop.ts +2 -2
  240. package/packages/badge/src/badge.ts +2 -2
  241. package/packages/breadcrumb/src/breadcrumb-item.ts +2 -2
  242. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  243. package/packages/button/src/button-group.ts +2 -2
  244. package/packages/calendar/src/calendar.ts +2 -2
  245. package/packages/card/src/card.ts +2 -2
  246. package/packages/carousel/src/carousel-item.ts +2 -2
  247. package/packages/carousel/src/carousel.ts +2 -2
  248. package/packages/cascader/src/cascader.ts +2 -2
  249. package/packages/checkbox/src/button.ts +3 -15
  250. package/packages/checkbox/src/checkbox.ts +2 -2
  251. package/packages/checkbox/src/group.ts +2 -2
  252. package/packages/collapse/src/collapse-pane.ts +2 -2
  253. package/packages/collapse/src/collapse.ts +2 -2
  254. package/packages/color-picker/src/color-picker.ts +2 -2
  255. package/packages/components.ts +3 -0
  256. package/packages/context-menu/src/context-menu.ts +3 -16
  257. package/packages/countdown/src/countdown.ts +2 -2
  258. package/packages/date-panel/src/date-panel.ts +2 -2
  259. package/packages/date-picker/src/date-picker.ts +2 -2
  260. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  261. package/packages/divider/src/divider.ts +2 -2
  262. package/packages/drawer/src/drawer.ts +2 -2
  263. package/packages/empty/src/empty.ts +2 -2
  264. package/packages/form/src/form-group.ts +2 -2
  265. package/packages/form/src/form-item.ts +2 -2
  266. package/packages/form/src/form.ts +2 -2
  267. package/packages/icon/src/icon.ts +2 -2
  268. package/packages/icon-picker/src/icon-picker.ts +2 -2
  269. package/packages/image/src/group.ts +2 -2
  270. package/packages/image/src/image.ts +2 -2
  271. package/packages/image/src/preview.ts +3 -16
  272. package/packages/index.ts +2 -2
  273. package/packages/input/src/input.ts +2 -2
  274. package/packages/layout-aside/src/layout-aside.ts +2 -2
  275. package/packages/layout-body/src/layout-body.ts +2 -2
  276. package/packages/layout-container/src/layout-container.ts +3 -14
  277. package/packages/layout-footer/src/layout-footer.ts +2 -2
  278. package/packages/layout-header/src/layout-header.ts +2 -2
  279. package/packages/link/src/link.ts +2 -2
  280. package/packages/list/src/list.ts +2 -2
  281. package/packages/loading/src/loading.ts +2 -2
  282. package/packages/mention/src/mention.ts +2 -2
  283. package/packages/menu/src/menu.ts +2 -2
  284. package/packages/modal/src/modal.ts +5 -20
  285. package/packages/notice-bar/src/notice-bar.ts +2 -2
  286. package/packages/number-input/src/number-input.ts +3 -17
  287. package/packages/pager/src/pager.ts +2 -2
  288. package/packages/password-input/src/password-input.ts +2 -2
  289. package/packages/print/src/page-break.ts +2 -2
  290. package/packages/print/src/print.ts +2 -2
  291. package/packages/pulldown/src/pulldown.ts +2 -2
  292. package/packages/radio/src/button.ts +3 -16
  293. package/packages/radio/src/group.ts +3 -17
  294. package/packages/radio/src/radio.ts +2 -2
  295. package/packages/rate/src/rate.ts +2 -2
  296. package/packages/result/src/result.ts +2 -2
  297. package/packages/row/src/col.ts +2 -2
  298. package/packages/row/src/row.ts +2 -2
  299. package/packages/scrollbar/src/scrollbar.ts +3 -4
  300. package/packages/segmented/src/segmented.ts +2 -2
  301. package/packages/select/src/optgroup.ts +2 -2
  302. package/packages/select/src/option.ts +2 -2
  303. package/packages/select/src/select.ts +33 -19
  304. package/packages/slider/src/slider.ts +2 -2
  305. package/packages/space/src/space.ts +2 -2
  306. package/packages/splitter/src/splitter-panel.ts +2 -2
  307. package/packages/splitter/src/splitter.ts +2 -2
  308. package/packages/step-item/index.ts +16 -0
  309. package/packages/steps/src/step-info.ts +18 -0
  310. package/packages/steps/src/step-item.ts +41 -0
  311. package/packages/steps/src/steps.ts +273 -13
  312. package/packages/steps/src/util.ts +44 -0
  313. package/packages/switch/src/switch.ts +2 -2
  314. package/packages/table-select/src/table-select.ts +2 -2
  315. package/packages/table-transfer/src/table-transfer.ts +3 -15
  316. package/packages/tabs/src/tab-pane.ts +2 -2
  317. package/packages/tabs/src/tabs.ts +2 -2
  318. package/packages/tag/src/tag.ts +2 -2
  319. package/packages/text/src/text.ts +2 -2
  320. package/packages/text-ellipsis/src/text-ellipsis.ts +2 -2
  321. package/packages/textarea/src/textarea.ts +2 -2
  322. package/packages/timeline/src/timeline-info.ts +17 -17
  323. package/packages/timeline/src/timeline.ts +93 -49
  324. package/packages/timeline/src/util.ts +44 -41
  325. package/packages/tip/src/tip.ts +2 -2
  326. package/packages/tooltip/src/tooltip.ts +2 -2
  327. package/packages/tour/src/tour.ts +2 -2
  328. package/packages/transfer/src/transfer.ts +2 -2
  329. package/packages/tree/src/tree.ts +2 -2
  330. package/packages/tree-select/src/tree-select.ts +2 -2
  331. package/packages/ui/index.ts +8 -1
  332. package/packages/upload/src/upload.ts +2 -2
  333. package/packages/watermark/src/watermark.ts +2 -2
  334. package/styles/all.scss +1 -0
  335. package/styles/components/step-item.scss +0 -0
  336. package/styles/components/steps.scss +354 -0
  337. package/styles/theme/base.scss +9 -0
  338. package/types/all.d.ts +3 -0
  339. package/types/components/gantt.d.ts +1 -3
  340. package/types/components/select.d.ts +1 -13
  341. package/types/components/step-item.d.ts +72 -0
  342. package/types/components/steps.d.ts +67 -8
  343. package/types/components/table.d.ts +7 -66
  344. package/types/handles/form-design.d.ts +1 -4
  345. package/types/ui/global-config.d.ts +2 -0
  346. package/types/ui/global-icon.d.ts +7 -0
  347. /package/dist/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  348. /package/dist/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  349. /package/dist/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  350. /package/es/icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  351. /package/es/icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  352. /package/es/icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  353. /package/es/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  354. /package/es/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  355. /package/es/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  356. /package/es/vxe-icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  357. /package/es/vxe-icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  358. /package/es/vxe-icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  359. /package/lib/icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  360. /package/lib/icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  361. /package/lib/icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  362. /package/lib/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  363. /package/lib/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  364. /package/lib/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  365. /package/lib/vxe-icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  366. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  367. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
@@ -29,791 +29,794 @@ function createInternalData() {
29
29
  // hpTimeout: undefined
30
30
  };
31
31
  }
32
- var icon_picker_default = defineVxeComponent({
33
- name: "VxeIconPicker",
34
- props: {
35
- modelValue: String,
36
- placeholder: String,
37
- clearable: Boolean,
38
- size: {
39
- type: String,
40
- default: () => getConfig().iconPicker.size || getConfig().size
41
- },
42
- className: [String, Function],
43
- /**
44
- * 已废弃,请使用 popupConfig.className
45
- * @deprecated
46
- */
47
- popupClassName: [String, Function],
48
- width: [Number, String],
49
- showIconTitle: {
50
- type: Boolean,
51
- default: () => getConfig().iconPicker.showIconTitle
52
- },
53
- readonly: {
54
- type: Boolean,
55
- default: null
56
- },
57
- disabled: {
58
- type: Boolean,
59
- default: null
60
- },
61
- filterable: {
62
- type: Boolean,
63
- default: () => getConfig().iconPicker.filterable
64
- },
65
- filterConfig: Object,
66
- icons: Array,
67
- placement: String,
68
- popupConfig: Object,
69
- transfer: {
70
- type: Boolean,
71
- default: null
72
- },
73
- useScrollbar: {
74
- type: Boolean,
75
- default: () => getDefVal(getConfig().iconPicker.useScrollbar, getConfig().useScrollbar)
32
+ var icon_picker_default = (
33
+ /* define-vxe-component start */
34
+ defineVxeComponent({
35
+ name: "VxeIconPicker",
36
+ props: {
37
+ modelValue: String,
38
+ placeholder: String,
39
+ clearable: Boolean,
40
+ size: {
41
+ type: String,
42
+ default: () => getConfig().iconPicker.size || getConfig().size
43
+ },
44
+ className: [String, Function],
45
+ /**
46
+ * 已废弃,请使用 popupConfig.className
47
+ * @deprecated
48
+ */
49
+ popupClassName: [String, Function],
50
+ width: [Number, String],
51
+ showIconTitle: {
52
+ type: Boolean,
53
+ default: () => getConfig().iconPicker.showIconTitle
54
+ },
55
+ readonly: {
56
+ type: Boolean,
57
+ default: null
58
+ },
59
+ disabled: {
60
+ type: Boolean,
61
+ default: null
62
+ },
63
+ filterable: {
64
+ type: Boolean,
65
+ default: () => getConfig().iconPicker.filterable
66
+ },
67
+ filterConfig: Object,
68
+ icons: Array,
69
+ placement: String,
70
+ popupConfig: Object,
71
+ transfer: {
72
+ type: Boolean,
73
+ default: null
74
+ },
75
+ useScrollbar: {
76
+ type: Boolean,
77
+ default: () => getDefVal(getConfig().iconPicker.useScrollbar, getConfig().useScrollbar)
78
+ },
79
+ scrollbarConfig: Object
76
80
  },
77
- scrollbarConfig: Object
78
- },
79
- emits: ["update:modelValue", "change", "clear", "click"],
80
- setup(props, context) {
81
- const { emit } = context;
82
- const $xeModal = inject("$xeModal", null);
83
- const $xeDrawer = inject("$xeDrawer", null);
84
- const $xeTable = inject("$xeTable", null);
85
- const $xeForm = inject("$xeForm", null);
86
- const formItemInfo = inject("xeFormItemInfo", null);
87
- const xID = XEUtils.uniqueId();
88
- const { computeSize } = useFns.useSize(props);
89
- const { computeIsVScrollbar } = useFns.useVScrollbar(props);
90
- const reactData = reactive(createReactData());
91
- const internalData = createInternalData();
92
- const refElem = ref();
93
- const refInput = ref();
94
- const refOptionPanel = ref();
95
- const refInpSearch = ref();
96
- const refMaps = {
97
- refElem
98
- };
99
- const $xeIconPicker = {
100
- xID,
101
- props,
102
- context,
103
- reactData,
104
- getRefMaps: () => refMaps
105
- };
106
- let iconPickerMethods = {};
107
- const computeFormReadonly = computed(() => {
108
- const { readonly } = props;
109
- if (readonly === null) {
110
- if ($xeForm) {
111
- return $xeForm.props.readonly;
81
+ emits: ["update:modelValue", "change", "clear", "click"],
82
+ setup(props, context) {
83
+ const { emit } = context;
84
+ const $xeModal = inject("$xeModal", null);
85
+ const $xeDrawer = inject("$xeDrawer", null);
86
+ const $xeTable = inject("$xeTable", null);
87
+ const $xeForm = inject("$xeForm", null);
88
+ const formItemInfo = inject("xeFormItemInfo", null);
89
+ const xID = XEUtils.uniqueId();
90
+ const { computeSize } = useFns.useSize(props);
91
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props);
92
+ const reactData = reactive(createReactData());
93
+ const internalData = createInternalData();
94
+ const refElem = ref();
95
+ const refInput = ref();
96
+ const refOptionPanel = ref();
97
+ const refInpSearch = ref();
98
+ const refMaps = {
99
+ refElem
100
+ };
101
+ const $xeIconPicker = {
102
+ xID,
103
+ props,
104
+ context,
105
+ reactData,
106
+ getRefMaps: () => refMaps
107
+ };
108
+ let iconPickerMethods = {};
109
+ const computeFormReadonly = computed(() => {
110
+ const { readonly } = props;
111
+ if (readonly === null) {
112
+ if ($xeForm) {
113
+ return $xeForm.props.readonly;
114
+ }
115
+ return false;
116
+ }
117
+ return readonly;
118
+ });
119
+ const computeIsDisabled = computed(() => {
120
+ const { disabled } = props;
121
+ if (disabled === null) {
122
+ if ($xeForm) {
123
+ return $xeForm.props.disabled;
124
+ }
125
+ return false;
126
+ }
127
+ return disabled;
128
+ });
129
+ const computeBtnTransfer = computed(() => {
130
+ const { transfer } = props;
131
+ const popupOpts = computePopupOpts.value;
132
+ if (XEUtils.isBoolean(popupOpts.transfer)) {
133
+ return popupOpts.transfer;
112
134
  }
113
- return false;
114
- }
115
- return readonly;
116
- });
117
- const computeIsDisabled = computed(() => {
118
- const { disabled } = props;
119
- if (disabled === null) {
120
- if ($xeForm) {
121
- return $xeForm.props.disabled;
135
+ if (transfer === null) {
136
+ const globalTransfer = getConfig().iconPicker.transfer;
137
+ if (XEUtils.isBoolean(globalTransfer)) {
138
+ return globalTransfer;
139
+ }
140
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
141
+ return true;
142
+ }
122
143
  }
123
- return false;
124
- }
125
- return disabled;
126
- });
127
- const computeBtnTransfer = computed(() => {
128
- const { transfer } = props;
129
- const popupOpts = computePopupOpts.value;
130
- if (XEUtils.isBoolean(popupOpts.transfer)) {
131
- return popupOpts.transfer;
132
- }
133
- if (transfer === null) {
134
- const globalTransfer = getConfig().iconPicker.transfer;
135
- if (XEUtils.isBoolean(globalTransfer)) {
136
- return globalTransfer;
144
+ return transfer;
145
+ });
146
+ const computeInpPlaceholder = computed(() => {
147
+ const { placeholder } = props;
148
+ if (placeholder) {
149
+ return getFuncText(placeholder);
137
150
  }
138
- if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
139
- return true;
151
+ const globalPlaceholder = getConfig().select.placeholder;
152
+ if (globalPlaceholder) {
153
+ return getFuncText(globalPlaceholder);
140
154
  }
141
- }
142
- return transfer;
143
- });
144
- const computeInpPlaceholder = computed(() => {
145
- const { placeholder } = props;
146
- if (placeholder) {
147
- return getFuncText(placeholder);
148
- }
149
- const globalPlaceholder = getConfig().select.placeholder;
150
- if (globalPlaceholder) {
151
- return getFuncText(globalPlaceholder);
152
- }
153
- return getI18n("vxe.base.pleaseSelect");
154
- });
155
- const computeCurrStyle = computed(() => {
156
- const { width } = props;
157
- const stys = {};
158
- if (width) {
159
- stys.width = toCssUnit(width);
160
- }
161
- return stys;
162
- });
163
- const computeWrapperStyle = computed(() => {
164
- const popupOpts = computePopupOpts.value;
165
- const { chunkSize, height, chunkWidth, maxHeight } = popupOpts;
166
- const stys = {
167
- "--vxe-ui-icon-picker-item-width": chunkWidth ? toCssUnit(chunkWidth) : `${100 / (chunkSize || 4)}%`
168
- };
169
- if (height) {
170
- stys["--vxe-ui-icon-picker-panel-height"] = toCssUnit(height);
171
- }
172
- if (maxHeight) {
173
- stys["--vxe-ui-icon-picker-panel-max-height"] = toCssUnit(maxHeight);
174
- }
175
- return stys;
176
- });
177
- const computeIconList = computed(() => {
178
- let { icons } = props;
179
- if (!icons || !icons.length) {
180
- icons = getConfig().iconPicker.icons || [];
181
- }
182
- return icons.map((item) => {
183
- if (XEUtils.isString(item)) {
155
+ return getI18n("vxe.base.pleaseSelect");
156
+ });
157
+ const computeCurrStyle = computed(() => {
158
+ const { width } = props;
159
+ const stys = {};
160
+ if (width) {
161
+ stys.width = toCssUnit(width);
162
+ }
163
+ return stys;
164
+ });
165
+ const computeWrapperStyle = computed(() => {
166
+ const popupOpts = computePopupOpts.value;
167
+ const { chunkSize, height, chunkWidth, maxHeight } = popupOpts;
168
+ const stys = {
169
+ "--vxe-ui-icon-picker-item-width": chunkWidth ? toCssUnit(chunkWidth) : `${100 / (chunkSize || 4)}%`
170
+ };
171
+ if (height) {
172
+ stys["--vxe-ui-icon-picker-panel-height"] = toCssUnit(height);
173
+ }
174
+ if (maxHeight) {
175
+ stys["--vxe-ui-icon-picker-panel-max-height"] = toCssUnit(maxHeight);
176
+ }
177
+ return stys;
178
+ });
179
+ const computeIconList = computed(() => {
180
+ let { icons } = props;
181
+ if (!icons || !icons.length) {
182
+ icons = getConfig().iconPicker.icons || [];
183
+ }
184
+ return icons.map((item) => {
185
+ if (XEUtils.isString(item)) {
186
+ return {
187
+ title: item,
188
+ icon: `vxe-icon-${`${item || ""}`.replace(/^vxe-icon-/, "")}`
189
+ };
190
+ }
184
191
  return {
185
- title: item,
186
- icon: `vxe-icon-${`${item || ""}`.replace(/^vxe-icon-/, "")}`
192
+ title: `${item.title || ""}`,
193
+ icon: item.icon || "",
194
+ iconRender: item.iconRender
187
195
  };
188
- }
196
+ });
197
+ });
198
+ const computeFilterOpts = computed(() => {
199
+ return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig);
200
+ });
201
+ const computePopupOpts = computed(() => {
202
+ return Object.assign({}, getConfig().iconPicker.popupConfig, props.popupConfig);
203
+ });
204
+ const computeSelectIconItem = computed(() => {
205
+ const { selectIcon } = reactData;
206
+ const iconList = computeIconList.value;
207
+ return selectIcon ? iconList.find((item) => item.icon === selectIcon) : null;
208
+ });
209
+ const computeScrollbarOpts = computed(() => {
210
+ return Object.assign({}, getConfig().iconPicker.scrollbarConfig, props.scrollbarConfig);
211
+ });
212
+ const computeScrollbarProps = computed(() => {
213
+ const scrollbarOpts = computeScrollbarOpts.value;
214
+ const { viewClassName, viewInnerClassName } = scrollbarOpts;
189
215
  return {
190
- title: `${item.title || ""}`,
191
- icon: item.icon || "",
192
- iconRender: item.iconRender
216
+ width: scrollbarOpts.width,
217
+ height: scrollbarOpts.height,
218
+ autoHide: scrollbarOpts.autoHide,
219
+ visible: scrollbarOpts.visible,
220
+ xConfig: scrollbarOpts.xConfig,
221
+ yConfig: scrollbarOpts.yConfig,
222
+ className: scrollbarOpts.className,
223
+ viewAttrs: scrollbarOpts.viewAttrs,
224
+ viewClassName: "vxe-ico-picker--scrollbar-list-wrapper-view" + (viewClassName ? " " + viewClassName : ""),
225
+ viewInnerClassName: "vxe-ico-picker--scrollbar-list-wrapper-inner" + (viewClassName ? " " + viewInnerClassName : "")
193
226
  };
194
227
  });
195
- });
196
- const computeFilterOpts = computed(() => {
197
- return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig);
198
- });
199
- const computePopupOpts = computed(() => {
200
- return Object.assign({}, getConfig().iconPicker.popupConfig, props.popupConfig);
201
- });
202
- const computeSelectIconItem = computed(() => {
203
- const { selectIcon } = reactData;
204
- const iconList = computeIconList.value;
205
- return selectIcon ? iconList.find((item) => item.icon === selectIcon) : null;
206
- });
207
- const computeScrollbarOpts = computed(() => {
208
- return Object.assign({}, getConfig().iconPicker.scrollbarConfig, props.scrollbarConfig);
209
- });
210
- const computeScrollbarProps = computed(() => {
211
- const scrollbarOpts = computeScrollbarOpts.value;
212
- const { viewClassName, viewInnerClassName } = scrollbarOpts;
213
- return {
214
- width: scrollbarOpts.width,
215
- height: scrollbarOpts.height,
216
- autoHide: scrollbarOpts.autoHide,
217
- visible: scrollbarOpts.visible,
218
- xConfig: scrollbarOpts.xConfig,
219
- yConfig: scrollbarOpts.yConfig,
220
- className: scrollbarOpts.className,
221
- viewAttrs: scrollbarOpts.viewAttrs,
222
- viewClassName: "vxe-ico-picker--scrollbar-list-wrapper-view" + (viewClassName ? " " + viewClassName : ""),
223
- viewInnerClassName: "vxe-ico-picker--scrollbar-list-wrapper-inner" + (viewClassName ? " " + viewInnerClassName : "")
228
+ const updateZindex = () => {
229
+ if (reactData.panelIndex < getLastZIndex()) {
230
+ reactData.panelIndex = nextZIndex();
231
+ }
224
232
  };
225
- });
226
- const updateZindex = () => {
227
- if (reactData.panelIndex < getLastZIndex()) {
228
- reactData.panelIndex = nextZIndex();
229
- }
230
- };
231
- const updatePlacement = () => {
232
- const { placement } = props;
233
- const { panelIndex } = reactData;
234
- const targetElem = refElem.value;
235
- const panelElem = refOptionPanel.value;
236
- const btnTransfer = computeBtnTransfer.value;
237
- const popupOpts = computePopupOpts.value;
238
- const { width } = popupOpts;
239
- const handleStyle = () => {
240
- const ppObj = updatePanelPlacement(targetElem, panelElem, {
241
- placement: popupOpts.placement || placement,
242
- defaultPlacement: popupOpts.defaultPlacement,
243
- appendTo: popupOpts.appendTo,
244
- teleportTo: btnTransfer
245
- });
246
- const panelStyle = Object.assign(ppObj.style, {
247
- zIndex: panelIndex,
248
- minWidth: void 0
249
- });
250
- if (width) {
251
- Object.assign(panelStyle, {
252
- width: toCssUnit(width)
233
+ const updatePlacement = () => {
234
+ const { placement } = props;
235
+ const { panelIndex } = reactData;
236
+ const targetElem = refElem.value;
237
+ const panelElem = refOptionPanel.value;
238
+ const btnTransfer = computeBtnTransfer.value;
239
+ const popupOpts = computePopupOpts.value;
240
+ const { width } = popupOpts;
241
+ const handleStyle = () => {
242
+ const ppObj = updatePanelPlacement(targetElem, panelElem, {
243
+ placement: popupOpts.placement || placement,
244
+ defaultPlacement: popupOpts.defaultPlacement,
245
+ appendTo: popupOpts.appendTo,
246
+ teleportTo: btnTransfer
253
247
  });
254
- }
255
- reactData.panelStyle = panelStyle;
256
- reactData.panelPlacement = ppObj.placement;
248
+ const panelStyle = Object.assign(ppObj.style, {
249
+ zIndex: panelIndex,
250
+ minWidth: void 0
251
+ });
252
+ if (width) {
253
+ Object.assign(panelStyle, {
254
+ width: toCssUnit(width)
255
+ });
256
+ }
257
+ reactData.panelStyle = panelStyle;
258
+ reactData.panelPlacement = ppObj.placement;
259
+ };
260
+ handleStyle();
261
+ return nextTick().then(handleStyle);
257
262
  };
258
- handleStyle();
259
- return nextTick().then(handleStyle);
260
- };
261
- const showOptionPanel = () => {
262
- const { hpTimeout } = internalData;
263
- const isDisabled = computeIsDisabled.value;
264
- if (!isDisabled) {
265
- if (hpTimeout) {
266
- clearTimeout(hpTimeout);
267
- internalData.hpTimeout = void 0;
268
- }
269
- if (!reactData.initialized) {
270
- reactData.initialized = true;
271
- }
272
- reactData.isActivated = true;
273
- reactData.isAniVisible = true;
274
- setTimeout(() => {
275
- reactData.visiblePanel = true;
276
- handleFocusSearch();
277
- updatePlacement();
278
- }, 10);
279
- updateZindex();
280
- updatePlacement();
281
- }
282
- };
283
- const hideOptionPanel = () => {
284
- reactData.visiblePanel = false;
285
- internalData.hpTimeout = setTimeout(() => {
286
- reactData.isAniVisible = false;
287
- }, 350);
288
- };
289
- const handleFocusSearch = () => {
290
- if (props.filterable) {
291
- nextTick(() => {
292
- const inpSearch = refInpSearch.value;
293
- if (inpSearch) {
294
- inpSearch.focus();
263
+ const showOptionPanel = () => {
264
+ const { hpTimeout } = internalData;
265
+ const isDisabled = computeIsDisabled.value;
266
+ if (!isDisabled) {
267
+ if (hpTimeout) {
268
+ clearTimeout(hpTimeout);
269
+ internalData.hpTimeout = void 0;
295
270
  }
296
- });
297
- }
298
- };
299
- const handleData = () => {
300
- const { modelValue } = props;
301
- const { searchValue } = reactData;
302
- const filterOpts = computeFilterOpts.value;
303
- const { filterMethod } = filterOpts;
304
- const iconList = computeIconList.value;
305
- let visibleList = iconList;
306
- if (searchValue) {
307
- const searchTxt = `${searchValue}`.toLowerCase();
308
- visibleList = iconList.filter((item) => {
309
- if (filterMethod) {
310
- return filterMethod({ option: item, value: modelValue, searchValue: searchTxt, $iconPicker: $xeIconPicker });
271
+ if (!reactData.initialized) {
272
+ reactData.initialized = true;
311
273
  }
312
- return item.title && `${item.title}`.toLowerCase().indexOf(searchTxt) > -1 || item.icon && `${item.icon}`.indexOf(searchTxt) > -1;
313
- });
314
- }
315
- reactData.iconList = visibleList;
316
- };
317
- const changeEvent = (evnt, selectValue) => {
318
- reactData.selectIcon = selectValue;
319
- if (selectValue !== props.modelValue) {
320
- emit("update:modelValue", selectValue);
321
- dispatchEvent("change", { value: selectValue }, evnt);
322
- if ($xeForm && formItemInfo) {
323
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, selectValue);
324
- }
325
- }
326
- };
327
- const focusEvent = () => {
328
- const isDisabled = computeIsDisabled.value;
329
- if (!isDisabled) {
330
- if (!reactData.visiblePanel) {
331
- showOptionPanel();
274
+ reactData.isActivated = true;
275
+ reactData.isAniVisible = true;
276
+ setTimeout(() => {
277
+ reactData.visiblePanel = true;
278
+ handleFocusSearch();
279
+ updatePlacement();
280
+ }, 10);
281
+ updateZindex();
282
+ updatePlacement();
332
283
  }
333
- }
334
- };
335
- const blurEvent = () => {
336
- reactData.isActivated = false;
337
- };
338
- const clearValueEvent = (evnt, selectValue) => {
339
- changeEvent(evnt, selectValue);
340
- dispatchEvent("clear", { value: selectValue }, evnt);
341
- };
342
- const clearEvent = (params, evnt) => {
343
- clearValueEvent(evnt, null);
344
- hideOptionPanel();
345
- };
346
- const togglePanelEvent = (evnt) => {
347
- evnt.preventDefault();
348
- if (reactData.visiblePanel) {
349
- hideOptionPanel();
350
- } else {
351
- showOptionPanel();
352
- }
353
- };
354
- const clickEvent = (evnt) => {
355
- togglePanelEvent(evnt);
356
- dispatchEvent("click", {}, evnt);
357
- };
358
- const handleGlobalMousedownEvent = (evnt) => {
359
- const { visiblePanel } = reactData;
360
- const isDisabled = computeIsDisabled.value;
361
- if (!isDisabled) {
362
- const el = refElem.value;
363
- const panelElem = refOptionPanel.value;
364
- reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
365
- if (visiblePanel && !reactData.isActivated) {
366
- hideOptionPanel();
284
+ };
285
+ const hideOptionPanel = () => {
286
+ reactData.visiblePanel = false;
287
+ internalData.hpTimeout = setTimeout(() => {
288
+ reactData.isAniVisible = false;
289
+ }, 350);
290
+ };
291
+ const handleFocusSearch = () => {
292
+ if (props.filterable) {
293
+ nextTick(() => {
294
+ const inpSearch = refInpSearch.value;
295
+ if (inpSearch) {
296
+ inpSearch.focus();
297
+ }
298
+ });
367
299
  }
368
- }
369
- };
370
- const handleGlobalKeydownEvent = (evnt) => {
371
- const { clearable } = props;
372
- const { visiblePanel } = reactData;
373
- const isDisabled = computeIsDisabled.value;
374
- if (!isDisabled) {
375
- const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
376
- const isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
377
- const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
378
- const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
379
- const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
380
- const isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
381
- const isSpacebar = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR);
382
- if (isTab) {
383
- reactData.isActivated = false;
300
+ };
301
+ const handleData = () => {
302
+ const { modelValue } = props;
303
+ const { searchValue } = reactData;
304
+ const filterOpts = computeFilterOpts.value;
305
+ const { filterMethod } = filterOpts;
306
+ const iconList = computeIconList.value;
307
+ let visibleList = iconList;
308
+ if (searchValue) {
309
+ const searchTxt = `${searchValue}`.toLowerCase();
310
+ visibleList = iconList.filter((item) => {
311
+ if (filterMethod) {
312
+ return filterMethod({ option: item, value: modelValue, searchValue: searchTxt, $iconPicker: $xeIconPicker });
313
+ }
314
+ return item.title && `${item.title}`.toLowerCase().indexOf(searchTxt) > -1 || item.icon && `${item.icon}`.indexOf(searchTxt) > -1;
315
+ });
384
316
  }
385
- if (visiblePanel) {
386
- if (isEsc || isTab) {
387
- hideOptionPanel();
388
- } else if (isEnter) {
389
- evnt.preventDefault();
390
- evnt.stopPropagation();
391
- } else if (isUpArrow || isDwArrow) {
392
- evnt.preventDefault();
393
- } else if (isSpacebar) {
394
- evnt.preventDefault();
317
+ reactData.iconList = visibleList;
318
+ };
319
+ const changeEvent = (evnt, selectValue) => {
320
+ reactData.selectIcon = selectValue;
321
+ if (selectValue !== props.modelValue) {
322
+ emit("update:modelValue", selectValue);
323
+ dispatchEvent("change", { value: selectValue }, evnt);
324
+ if ($xeForm && formItemInfo) {
325
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, selectValue);
395
326
  }
396
- } else if ((isUpArrow || isDwArrow || isEnter || isSpacebar) && reactData.isActivated) {
397
- evnt.preventDefault();
398
- showOptionPanel();
399
327
  }
400
- if (reactData.isActivated) {
401
- if (isDel && clearable) {
402
- clearValueEvent(evnt, null);
328
+ };
329
+ const focusEvent = () => {
330
+ const isDisabled = computeIsDisabled.value;
331
+ if (!isDisabled) {
332
+ if (!reactData.visiblePanel) {
333
+ showOptionPanel();
403
334
  }
404
335
  }
405
- }
406
- };
407
- const handleGlobalBlurEvent = () => {
408
- const { visiblePanel, isActivated } = reactData;
409
- if (visiblePanel) {
410
- hideOptionPanel();
411
- }
412
- if (isActivated) {
336
+ };
337
+ const blurEvent = () => {
413
338
  reactData.isActivated = false;
414
- }
415
- if (visiblePanel || isActivated) {
416
- const $input = refInput.value;
417
- if ($input) {
418
- $input.blur();
419
- }
420
- }
421
- };
422
- const handleGlobalResizeEvent = () => {
423
- const { visiblePanel } = reactData;
424
- if (visiblePanel) {
425
- updatePlacement();
426
- }
427
- };
428
- const handleGlobalScrollEvent = () => {
429
- const { visiblePanel } = reactData;
430
- if (visiblePanel) {
431
- updatePlacement();
432
- }
433
- };
434
- const dispatchEvent = (type, params, evnt) => {
435
- emit(type, createEvent(evnt, { $iconPicker: $xeIconPicker }, params));
436
- };
437
- iconPickerMethods = {
438
- dispatchEvent,
439
- isPanelVisible() {
440
- return reactData.visiblePanel;
441
- },
442
- togglePanel() {
339
+ };
340
+ const clearValueEvent = (evnt, selectValue) => {
341
+ changeEvent(evnt, selectValue);
342
+ dispatchEvent("clear", { value: selectValue }, evnt);
343
+ };
344
+ const clearEvent = (params, evnt) => {
345
+ clearValueEvent(evnt, null);
346
+ hideOptionPanel();
347
+ };
348
+ const togglePanelEvent = (evnt) => {
349
+ evnt.preventDefault();
443
350
  if (reactData.visiblePanel) {
444
351
  hideOptionPanel();
445
352
  } else {
446
353
  showOptionPanel();
447
354
  }
448
- return nextTick();
449
- },
450
- hidePanel() {
451
- if (reactData.visiblePanel) {
355
+ };
356
+ const clickEvent = (evnt) => {
357
+ togglePanelEvent(evnt);
358
+ dispatchEvent("click", {}, evnt);
359
+ };
360
+ const handleGlobalMousedownEvent = (evnt) => {
361
+ const { visiblePanel } = reactData;
362
+ const isDisabled = computeIsDisabled.value;
363
+ if (!isDisabled) {
364
+ const el = refElem.value;
365
+ const panelElem = refOptionPanel.value;
366
+ reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
367
+ if (visiblePanel && !reactData.isActivated) {
368
+ hideOptionPanel();
369
+ }
370
+ }
371
+ };
372
+ const handleGlobalKeydownEvent = (evnt) => {
373
+ const { clearable } = props;
374
+ const { visiblePanel } = reactData;
375
+ const isDisabled = computeIsDisabled.value;
376
+ if (!isDisabled) {
377
+ const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
378
+ const isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
379
+ const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
380
+ const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
381
+ const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
382
+ const isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
383
+ const isSpacebar = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR);
384
+ if (isTab) {
385
+ reactData.isActivated = false;
386
+ }
387
+ if (visiblePanel) {
388
+ if (isEsc || isTab) {
389
+ hideOptionPanel();
390
+ } else if (isEnter) {
391
+ evnt.preventDefault();
392
+ evnt.stopPropagation();
393
+ } else if (isUpArrow || isDwArrow) {
394
+ evnt.preventDefault();
395
+ } else if (isSpacebar) {
396
+ evnt.preventDefault();
397
+ }
398
+ } else if ((isUpArrow || isDwArrow || isEnter || isSpacebar) && reactData.isActivated) {
399
+ evnt.preventDefault();
400
+ showOptionPanel();
401
+ }
402
+ if (reactData.isActivated) {
403
+ if (isDel && clearable) {
404
+ clearValueEvent(evnt, null);
405
+ }
406
+ }
407
+ }
408
+ };
409
+ const handleGlobalBlurEvent = () => {
410
+ const { visiblePanel, isActivated } = reactData;
411
+ if (visiblePanel) {
452
412
  hideOptionPanel();
453
413
  }
454
- return nextTick();
455
- },
456
- showPanel() {
457
- if (!reactData.visiblePanel) {
458
- showOptionPanel();
414
+ if (isActivated) {
415
+ reactData.isActivated = false;
459
416
  }
460
- return nextTick();
461
- },
462
- focus() {
463
- const $input = refInput.value;
464
- reactData.isActivated = true;
465
- if ($input) {
466
- $input.blur();
417
+ if (visiblePanel || isActivated) {
418
+ const $input = refInput.value;
419
+ if ($input) {
420
+ $input.blur();
421
+ }
467
422
  }
468
- return nextTick();
469
- },
470
- blur() {
471
- const $input = refInput.value;
472
- if ($input) {
473
- $input.blur();
423
+ };
424
+ const handleGlobalResizeEvent = () => {
425
+ const { visiblePanel } = reactData;
426
+ if (visiblePanel) {
427
+ updatePlacement();
474
428
  }
475
- reactData.isActivated = false;
476
- return nextTick();
477
- }
478
- };
479
- const handleClickIconEvent = (evnt, item) => {
480
- const value = item.icon;
481
- changeEvent(evnt, value);
482
- hideOptionPanel();
483
- };
484
- const modelSearchEvent = (value) => {
485
- reactData.searchValue = value;
486
- };
487
- const focusSearchEvent = () => {
488
- reactData.isActivated = true;
489
- };
490
- const handleSearchEvent = () => {
491
- handleData();
492
- };
493
- const triggerSearchEvent = XEUtils.debounce(handleSearchEvent, 350, { trailing: true });
494
- Object.assign($xeIconPicker, iconPickerMethods);
495
- const renderIconWrapper = () => {
496
- const { showIconTitle } = props;
497
- const { selectIcon, iconList } = reactData;
498
- const isVScrollbar = computeIsVScrollbar.value;
499
- const scrollbarProps = computeScrollbarProps.value;
500
- if (!iconList.length) {
501
- return h(
502
- "div",
503
- {
504
- class: "vxe-ico-picker--empty-placeholder"
505
- },
506
- getI18n("vxe.iconPicker.emptyText")
507
- );
508
- }
509
- const iconVNs = iconList.map((item) => {
510
- const { iconRender } = item;
511
- const compConf = iconRender ? renderer.get(iconRender.name) : null;
512
- const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
513
- return h(
514
- "div",
515
- {
516
- class: [
517
- "vxe-ico-picker--item",
518
- {
519
- "is--selected": selectIcon === item.icon
520
- }
521
- ]
522
- },
523
- [
524
- h(
525
- "div",
526
- {
527
- class: "vxe-ico-picker--item-inner",
528
- onClick(evnt) {
529
- const isDisabled = computeIsDisabled.value;
530
- if (!isDisabled) {
531
- handleClickIconEvent(evnt, item);
532
- }
533
- }
534
- },
535
- [
536
- h(
537
- "div",
538
- {
539
- class: "vxe-ico-picker--item-icon"
540
- },
541
- iconMethod && iconRender ? getSlotVNs(iconMethod(iconRender, { $iconPicker: $xeIconPicker, option: item })) : [
542
- h("i", {
543
- class: item.icon || ""
544
- })
545
- ]
546
- ),
547
- showIconTitle ? h(
548
- "div",
549
- {
550
- class: "vxe-ico-picker--item-title"
551
- },
552
- `${item.title || ""}`
553
- ) : renderEmptyElement($xeIconPicker)
554
- ]
555
- )
556
- ]
557
- );
558
- });
559
- if (isVScrollbar) {
560
- return h(
561
- VxeScrollbarComponent,
562
- {
563
- class: "vxe-ico-picker--scrollbar-list-wrapper",
564
- ...scrollbarProps
565
- },
566
- {
567
- default: () => iconVNs
429
+ };
430
+ const handleGlobalScrollEvent = () => {
431
+ const { visiblePanel } = reactData;
432
+ if (visiblePanel) {
433
+ updatePlacement();
434
+ }
435
+ };
436
+ const dispatchEvent = (type, params, evnt) => {
437
+ emit(type, createEvent(evnt, { $iconPicker: $xeIconPicker }, params));
438
+ };
439
+ iconPickerMethods = {
440
+ dispatchEvent,
441
+ isPanelVisible() {
442
+ return reactData.visiblePanel;
443
+ },
444
+ togglePanel() {
445
+ if (reactData.visiblePanel) {
446
+ hideOptionPanel();
447
+ } else {
448
+ showOptionPanel();
568
449
  }
569
- );
570
- }
571
- return h(
572
- "div",
573
- {
574
- class: "vxe-ico-picker--list-wrapper"
450
+ return nextTick();
575
451
  },
576
- [
577
- h(
578
- "div",
579
- {
580
- class: "vxe-ico-picker--list"
581
- },
582
- iconVNs
583
- )
584
- ]
585
- );
586
- };
587
- const renderIconView = () => {
588
- const { selectIcon } = reactData;
589
- const selectIconItem = computeSelectIconItem.value;
590
- if (selectIconItem) {
591
- const { iconRender } = selectIconItem;
592
- const compConf = iconRender ? renderer.get(iconRender.name) : null;
593
- const oIconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
594
- if (oIconMethod && iconRender) {
452
+ hidePanel() {
453
+ if (reactData.visiblePanel) {
454
+ hideOptionPanel();
455
+ }
456
+ return nextTick();
457
+ },
458
+ showPanel() {
459
+ if (!reactData.visiblePanel) {
460
+ showOptionPanel();
461
+ }
462
+ return nextTick();
463
+ },
464
+ focus() {
465
+ const $input = refInput.value;
466
+ reactData.isActivated = true;
467
+ if ($input) {
468
+ $input.blur();
469
+ }
470
+ return nextTick();
471
+ },
472
+ blur() {
473
+ const $input = refInput.value;
474
+ if ($input) {
475
+ $input.blur();
476
+ }
477
+ reactData.isActivated = false;
478
+ return nextTick();
479
+ }
480
+ };
481
+ const handleClickIconEvent = (evnt, item) => {
482
+ const value = item.icon;
483
+ changeEvent(evnt, value);
484
+ hideOptionPanel();
485
+ };
486
+ const modelSearchEvent = (value) => {
487
+ reactData.searchValue = value;
488
+ };
489
+ const focusSearchEvent = () => {
490
+ reactData.isActivated = true;
491
+ };
492
+ const handleSearchEvent = () => {
493
+ handleData();
494
+ };
495
+ const triggerSearchEvent = XEUtils.debounce(handleSearchEvent, 350, { trailing: true });
496
+ Object.assign($xeIconPicker, iconPickerMethods);
497
+ const renderIconWrapper = () => {
498
+ const { showIconTitle } = props;
499
+ const { selectIcon, iconList } = reactData;
500
+ const isVScrollbar = computeIsVScrollbar.value;
501
+ const scrollbarProps = computeScrollbarProps.value;
502
+ if (!iconList.length) {
595
503
  return h(
596
504
  "div",
597
505
  {
598
- key: "inc",
599
- class: "vxe-ico-picker--icon"
506
+ class: "vxe-ico-picker--empty-placeholder"
600
507
  },
601
- getSlotVNs(oIconMethod(iconRender, { $iconPicker: $xeIconPicker, option: selectIconItem }))
508
+ getI18n("vxe.iconPicker.emptyText")
602
509
  );
603
510
  }
604
- }
605
- return h(
606
- "div",
607
- {
608
- key: "ind",
609
- class: "vxe-ico-picker--icon"
610
- },
611
- [
612
- h("i", {
613
- class: selectIcon
614
- })
615
- ]
616
- );
617
- };
618
- const renderVN = () => {
619
- const { className, clearable, filterable } = props;
620
- const { initialized, isActivated, isAniVisible, visiblePanel, selectIcon } = reactData;
621
- const vSize = computeSize.value;
622
- const isDisabled = computeIsDisabled.value;
623
- const btnTransfer = computeBtnTransfer.value;
624
- const formReadonly = computeFormReadonly.value;
625
- if (formReadonly) {
626
- return h(
627
- "div",
628
- {
629
- ref: refElem,
630
- class: ["vxe-ico-picker--readonly", className]
631
- },
632
- [
633
- h("i", {
634
- class: selectIcon
635
- })
636
- ]
637
- );
638
- }
639
- const currStyle = computeCurrStyle.value;
640
- const inpPlaceholder = computeInpPlaceholder.value;
641
- const wrapperStyle = computeWrapperStyle.value;
642
- const popupOpts = computePopupOpts.value;
643
- const { appendTo } = popupOpts;
644
- const ppClassName = popupOpts.className || props.popupClassName;
645
- return h(
646
- "div",
647
- {
648
- ref: refElem,
649
- class: [
650
- "vxe-ico-picker",
651
- className ? XEUtils.isFunction(className) ? className({ $iconPicker: $xeIconPicker }) : className : "",
652
- {
653
- [`size--${vSize}`]: vSize,
654
- "show--clear": clearable && !isDisabled && !!selectIcon,
655
- "is--visible": visiblePanel,
656
- "is--disabled": isDisabled,
657
- "is--active": isActivated
658
- }
659
- ],
660
- style: currStyle
661
- },
662
- [
663
- h(
511
+ const iconVNs = iconList.map((item) => {
512
+ const { iconRender } = item;
513
+ const compConf = iconRender ? renderer.get(iconRender.name) : null;
514
+ const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
515
+ return h(
664
516
  "div",
665
517
  {
666
- class: "vxe-ico-picker--inner",
667
- onClick: clickEvent
518
+ class: [
519
+ "vxe-ico-picker--item",
520
+ {
521
+ "is--selected": selectIcon === item.icon
522
+ }
523
+ ]
668
524
  },
669
525
  [
670
- h("input", {
671
- ref: refInput,
672
- class: "vxe-ico-picker--input",
673
- onFocus: focusEvent,
674
- onBlur: blurEvent
675
- }),
676
- selectIcon ? renderIconView() : h(
677
- "div",
678
- {
679
- class: "vxe-ico-picker--placeholder"
680
- },
681
- inpPlaceholder
682
- ),
683
526
  h(
684
527
  "div",
685
528
  {
686
- class: "vxe-ico-picker--suffix"
529
+ class: "vxe-ico-picker--item-inner",
530
+ onClick(evnt) {
531
+ const isDisabled = computeIsDisabled.value;
532
+ if (!isDisabled) {
533
+ handleClickIconEvent(evnt, item);
534
+ }
535
+ }
687
536
  },
688
537
  [
689
538
  h(
690
539
  "div",
691
540
  {
692
- class: "vxe-ico-picker--clear-icon",
693
- onClick: clearEvent
541
+ class: "vxe-ico-picker--item-icon"
694
542
  },
695
- [
543
+ iconMethod && iconRender ? getSlotVNs(iconMethod(iconRender, { $iconPicker: $xeIconPicker, option: item })) : [
696
544
  h("i", {
697
- class: getIcon().INPUT_CLEAR
545
+ class: item.icon || ""
698
546
  })
699
547
  ]
700
548
  ),
701
- h(
549
+ showIconTitle ? h(
702
550
  "div",
703
551
  {
704
- class: "vxe-ico-picker--suffix-icon"
552
+ class: "vxe-ico-picker--item-title"
705
553
  },
706
- [
707
- h("i", {
708
- class: visiblePanel ? getIcon().ICON_PICKER_OPEN : getIcon().ICON_PICKER_CLOSE
709
- })
710
- ]
711
- )
554
+ `${item.title || ""}`
555
+ ) : renderEmptyElement($xeIconPicker)
712
556
  ]
713
557
  )
714
558
  ]
715
- ),
716
- h(
717
- Teleport,
559
+ );
560
+ });
561
+ if (isVScrollbar) {
562
+ return h(
563
+ VxeScrollbarComponent,
564
+ {
565
+ class: "vxe-ico-picker--scrollbar-list-wrapper",
566
+ ...scrollbarProps
567
+ },
568
+ {
569
+ default: () => iconVNs
570
+ }
571
+ );
572
+ }
573
+ return h(
574
+ "div",
575
+ {
576
+ class: "vxe-ico-picker--list-wrapper"
577
+ },
578
+ [
579
+ h(
580
+ "div",
581
+ {
582
+ class: "vxe-ico-picker--list"
583
+ },
584
+ iconVNs
585
+ )
586
+ ]
587
+ );
588
+ };
589
+ const renderIconView = () => {
590
+ const { selectIcon } = reactData;
591
+ const selectIconItem = computeSelectIconItem.value;
592
+ if (selectIconItem) {
593
+ const { iconRender } = selectIconItem;
594
+ const compConf = iconRender ? renderer.get(iconRender.name) : null;
595
+ const oIconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
596
+ if (oIconMethod && iconRender) {
597
+ return h(
598
+ "div",
599
+ {
600
+ key: "inc",
601
+ class: "vxe-ico-picker--icon"
602
+ },
603
+ getSlotVNs(oIconMethod(iconRender, { $iconPicker: $xeIconPicker, option: selectIconItem }))
604
+ );
605
+ }
606
+ }
607
+ return h(
608
+ "div",
609
+ {
610
+ key: "ind",
611
+ class: "vxe-ico-picker--icon"
612
+ },
613
+ [
614
+ h("i", {
615
+ class: selectIcon
616
+ })
617
+ ]
618
+ );
619
+ };
620
+ const renderVN = () => {
621
+ const { className, clearable, filterable } = props;
622
+ const { initialized, isActivated, isAniVisible, visiblePanel, selectIcon } = reactData;
623
+ const vSize = computeSize.value;
624
+ const isDisabled = computeIsDisabled.value;
625
+ const btnTransfer = computeBtnTransfer.value;
626
+ const formReadonly = computeFormReadonly.value;
627
+ if (formReadonly) {
628
+ return h(
629
+ "div",
718
630
  {
719
- to: getPopupContainer(appendTo),
720
- disabled: btnTransfer ? !initialized : true
631
+ ref: refElem,
632
+ class: ["vxe-ico-picker--readonly", className]
721
633
  },
722
634
  [
723
- h(
724
- "div",
725
- {
726
- ref: refOptionPanel,
727
- class: [
728
- "vxe-table--ignore-clear vxe-ico-picker--panel",
729
- ppClassName ? XEUtils.isFunction(ppClassName) ? ppClassName({ $iconPicker: $xeIconPicker }) : ppClassName : "",
730
- {
731
- [`size--${vSize}`]: vSize,
732
- "is--transfer": btnTransfer,
733
- "ani--leave": isAniVisible,
734
- "ani--enter": visiblePanel
735
- }
736
- ],
737
- placement: reactData.panelPlacement,
738
- style: reactData.panelStyle
739
- },
740
- [
741
- initialized && (visiblePanel || isAniVisible) ? h(
742
- "div",
743
- {
744
- class: "vxe-ico-picker--panel-wrapper",
745
- style: wrapperStyle
746
- },
747
- [
748
- filterable ? h(
749
- "div",
750
- {
751
- class: "vxe-ico-picker--panel-search"
752
- },
753
- [
754
- h(VxeInputComponent, {
755
- ref: refInpSearch,
756
- class: "vxe-ico-picker-search--input",
757
- modelValue: reactData.searchValue,
758
- type: "text",
759
- clearable: true,
760
- disabled: false,
761
- readonly: false,
762
- placeholder: getI18n("vxe.iconPicker.search"),
763
- prefixIcon: getIcon().INPUT_SEARCH,
764
- "onUpdate:modelValue": modelSearchEvent,
765
- onFocus: focusSearchEvent,
766
- onChange: triggerSearchEvent,
767
- onSearch: triggerSearchEvent
768
- })
769
- ]
770
- ) : renderEmptyElement($xeIconPicker),
771
- renderIconWrapper()
772
- ]
773
- ) : renderEmptyElement($xeIconPicker)
774
- ]
775
- )
635
+ h("i", {
636
+ class: selectIcon
637
+ })
776
638
  ]
777
- )
778
- ]
779
- );
780
- };
781
- reactData.selectIcon = `${props.modelValue || ""}`;
782
- handleData();
783
- watch(
784
- () => props.modelValue,
785
- (val) => {
786
- reactData.selectIcon = `${val || ""}`;
787
- }
788
- );
789
- watch(computeIconList, () => {
639
+ );
640
+ }
641
+ const currStyle = computeCurrStyle.value;
642
+ const inpPlaceholder = computeInpPlaceholder.value;
643
+ const wrapperStyle = computeWrapperStyle.value;
644
+ const popupOpts = computePopupOpts.value;
645
+ const { appendTo } = popupOpts;
646
+ const ppClassName = popupOpts.className || props.popupClassName;
647
+ return h(
648
+ "div",
649
+ {
650
+ ref: refElem,
651
+ class: [
652
+ "vxe-ico-picker",
653
+ className ? XEUtils.isFunction(className) ? className({ $iconPicker: $xeIconPicker }) : className : "",
654
+ {
655
+ [`size--${vSize}`]: vSize,
656
+ "show--clear": clearable && !isDisabled && !!selectIcon,
657
+ "is--visible": visiblePanel,
658
+ "is--disabled": isDisabled,
659
+ "is--active": isActivated
660
+ }
661
+ ],
662
+ style: currStyle
663
+ },
664
+ [
665
+ h(
666
+ "div",
667
+ {
668
+ class: "vxe-ico-picker--inner",
669
+ onClick: clickEvent
670
+ },
671
+ [
672
+ h("input", {
673
+ ref: refInput,
674
+ class: "vxe-ico-picker--input",
675
+ onFocus: focusEvent,
676
+ onBlur: blurEvent
677
+ }),
678
+ selectIcon ? renderIconView() : h(
679
+ "div",
680
+ {
681
+ class: "vxe-ico-picker--placeholder"
682
+ },
683
+ inpPlaceholder
684
+ ),
685
+ h(
686
+ "div",
687
+ {
688
+ class: "vxe-ico-picker--suffix"
689
+ },
690
+ [
691
+ h(
692
+ "div",
693
+ {
694
+ class: "vxe-ico-picker--clear-icon",
695
+ onClick: clearEvent
696
+ },
697
+ [
698
+ h("i", {
699
+ class: getIcon().INPUT_CLEAR
700
+ })
701
+ ]
702
+ ),
703
+ h(
704
+ "div",
705
+ {
706
+ class: "vxe-ico-picker--suffix-icon"
707
+ },
708
+ [
709
+ h("i", {
710
+ class: visiblePanel ? getIcon().ICON_PICKER_OPEN : getIcon().ICON_PICKER_CLOSE
711
+ })
712
+ ]
713
+ )
714
+ ]
715
+ )
716
+ ]
717
+ ),
718
+ h(
719
+ Teleport,
720
+ {
721
+ to: getPopupContainer(appendTo),
722
+ disabled: btnTransfer ? !initialized : true
723
+ },
724
+ [
725
+ h(
726
+ "div",
727
+ {
728
+ ref: refOptionPanel,
729
+ class: [
730
+ "vxe-table--ignore-clear vxe-ico-picker--panel",
731
+ ppClassName ? XEUtils.isFunction(ppClassName) ? ppClassName({ $iconPicker: $xeIconPicker }) : ppClassName : "",
732
+ {
733
+ [`size--${vSize}`]: vSize,
734
+ "is--transfer": btnTransfer,
735
+ "ani--leave": isAniVisible,
736
+ "ani--enter": visiblePanel
737
+ }
738
+ ],
739
+ placement: reactData.panelPlacement,
740
+ style: reactData.panelStyle
741
+ },
742
+ [
743
+ initialized && (visiblePanel || isAniVisible) ? h(
744
+ "div",
745
+ {
746
+ class: "vxe-ico-picker--panel-wrapper",
747
+ style: wrapperStyle
748
+ },
749
+ [
750
+ filterable ? h(
751
+ "div",
752
+ {
753
+ class: "vxe-ico-picker--panel-search"
754
+ },
755
+ [
756
+ h(VxeInputComponent, {
757
+ ref: refInpSearch,
758
+ class: "vxe-ico-picker-search--input",
759
+ modelValue: reactData.searchValue,
760
+ type: "text",
761
+ clearable: true,
762
+ disabled: false,
763
+ readonly: false,
764
+ placeholder: getI18n("vxe.iconPicker.search"),
765
+ prefixIcon: getIcon().INPUT_SEARCH,
766
+ "onUpdate:modelValue": modelSearchEvent,
767
+ onFocus: focusSearchEvent,
768
+ onChange: triggerSearchEvent,
769
+ onSearch: triggerSearchEvent
770
+ })
771
+ ]
772
+ ) : renderEmptyElement($xeIconPicker),
773
+ renderIconWrapper()
774
+ ]
775
+ ) : renderEmptyElement($xeIconPicker)
776
+ ]
777
+ )
778
+ ]
779
+ )
780
+ ]
781
+ );
782
+ };
783
+ reactData.selectIcon = `${props.modelValue || ""}`;
790
784
  handleData();
791
- });
792
- onMounted(() => {
793
- globalEvents.on($xeIconPicker, "mousedown", handleGlobalMousedownEvent);
794
- globalEvents.on($xeIconPicker, "keydown", handleGlobalKeydownEvent);
795
- globalEvents.on($xeIconPicker, "blur", handleGlobalBlurEvent);
796
- globalEvents.on($xeIconPicker, "resize", handleGlobalResizeEvent);
797
- globalEvents.on($xeIconPicker, "scroll", handleGlobalScrollEvent);
798
- });
799
- onBeforeUnmount(() => {
800
- globalEvents.off($xeIconPicker, "mousewheel");
801
- globalEvents.off($xeIconPicker, "mousedown");
802
- globalEvents.off($xeIconPicker, "keydown");
803
- globalEvents.off($xeIconPicker, "blur");
804
- globalEvents.off($xeIconPicker, "resize");
805
- globalEvents.off($xeIconPicker, "scroll");
806
- XEUtils.assign(reactData, createReactData());
807
- XEUtils.assign(internalData, createInternalData());
808
- });
809
- provide("$xeIconPicker", $xeIconPicker);
810
- $xeIconPicker.renderVN = renderVN;
811
- return $xeIconPicker;
812
- },
813
- render() {
814
- return this.renderVN();
815
- }
816
- });
785
+ watch(
786
+ () => props.modelValue,
787
+ (val) => {
788
+ reactData.selectIcon = `${val || ""}`;
789
+ }
790
+ );
791
+ watch(computeIconList, () => {
792
+ handleData();
793
+ });
794
+ onMounted(() => {
795
+ globalEvents.on($xeIconPicker, "mousedown", handleGlobalMousedownEvent);
796
+ globalEvents.on($xeIconPicker, "keydown", handleGlobalKeydownEvent);
797
+ globalEvents.on($xeIconPicker, "blur", handleGlobalBlurEvent);
798
+ globalEvents.on($xeIconPicker, "resize", handleGlobalResizeEvent);
799
+ globalEvents.on($xeIconPicker, "scroll", handleGlobalScrollEvent);
800
+ });
801
+ onBeforeUnmount(() => {
802
+ globalEvents.off($xeIconPicker, "mousewheel");
803
+ globalEvents.off($xeIconPicker, "mousedown");
804
+ globalEvents.off($xeIconPicker, "keydown");
805
+ globalEvents.off($xeIconPicker, "blur");
806
+ globalEvents.off($xeIconPicker, "resize");
807
+ globalEvents.off($xeIconPicker, "scroll");
808
+ XEUtils.assign(reactData, createReactData());
809
+ XEUtils.assign(internalData, createInternalData());
810
+ });
811
+ provide("$xeIconPicker", $xeIconPicker);
812
+ $xeIconPicker.renderVN = renderVN;
813
+ return $xeIconPicker;
814
+ },
815
+ render() {
816
+ return this.renderVN();
817
+ }
818
+ })
819
+ );
817
820
  export {
818
821
  icon_picker_default as default
819
822
  };