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
@@ -9,1188 +9,1191 @@ import VxeButtonComponent from "../../button";
9
9
  import VxeInputComponent from "../../input";
10
10
  import VxeNumberInputComponent from "../../number-input";
11
11
  const { getIcon, getConfig, getI18n, globalEvents, createEvent, useFns, renderEmptyElement } = VxeUI;
12
- var color_picker_default = defineVxeComponent({
13
- name: "VxeColorPicker",
14
- props: {
15
- modelValue: String,
16
- placeholder: String,
17
- clearable: {
18
- type: Boolean,
19
- default: () => getConfig().colorPicker.clearable
12
+ var color_picker_default = (
13
+ /* define-vxe-component start */
14
+ defineVxeComponent({
15
+ name: "VxeColorPicker",
16
+ props: {
17
+ modelValue: String,
18
+ placeholder: String,
19
+ clearable: {
20
+ type: Boolean,
21
+ default: () => getConfig().colorPicker.clearable
22
+ },
23
+ type: {
24
+ type: String,
25
+ default: () => getConfig().colorPicker.type
26
+ },
27
+ width: [Number, String],
28
+ size: {
29
+ type: String,
30
+ default: () => getConfig().colorPicker.size || getConfig().size
31
+ },
32
+ className: [String, Function],
33
+ popupClassName: [String, Function],
34
+ colors: {
35
+ type: Array,
36
+ default: () => XEUtils.clone(getConfig().colorPicker.colors, true) || []
37
+ },
38
+ showAlpha: {
39
+ type: Boolean,
40
+ default: () => getConfig().colorPicker.showAlpha
41
+ },
42
+ showEyeDropper: {
43
+ type: Boolean,
44
+ default: () => getConfig().colorPicker.showEyeDropper
45
+ },
46
+ showColorExtractor: {
47
+ type: Boolean,
48
+ default: () => getConfig().colorPicker.showColorExtractor
49
+ },
50
+ showQuick: {
51
+ type: Boolean,
52
+ default: () => getConfig().colorPicker.showQuick
53
+ },
54
+ readonly: {
55
+ type: Boolean,
56
+ default: null
57
+ },
58
+ disabled: {
59
+ type: Boolean,
60
+ default: null
61
+ },
62
+ clickToCopy: {
63
+ type: Boolean,
64
+ default: () => getConfig().colorPicker.clickToCopy
65
+ },
66
+ defaultColor: {
67
+ type: String,
68
+ default: () => getConfig().colorPicker.defaultColor
69
+ },
70
+ /**
71
+ * 已废弃,请使用 popupConfig.placement
72
+ * @deprecated
73
+ */
74
+ placement: String,
75
+ /**
76
+ * 已废弃,请使用 popupConfig.transfer
77
+ * @deprecated
78
+ */
79
+ transfer: {
80
+ type: Boolean,
81
+ default: null
82
+ },
83
+ popupConfig: Object
20
84
  },
21
- type: {
22
- type: String,
23
- default: () => getConfig().colorPicker.type
24
- },
25
- width: [Number, String],
26
- size: {
27
- type: String,
28
- default: () => getConfig().colorPicker.size || getConfig().size
29
- },
30
- className: [String, Function],
31
- popupClassName: [String, Function],
32
- colors: {
33
- type: Array,
34
- default: () => XEUtils.clone(getConfig().colorPicker.colors, true) || []
35
- },
36
- showAlpha: {
37
- type: Boolean,
38
- default: () => getConfig().colorPicker.showAlpha
39
- },
40
- showEyeDropper: {
41
- type: Boolean,
42
- default: () => getConfig().colorPicker.showEyeDropper
43
- },
44
- showColorExtractor: {
45
- type: Boolean,
46
- default: () => getConfig().colorPicker.showColorExtractor
47
- },
48
- showQuick: {
49
- type: Boolean,
50
- default: () => getConfig().colorPicker.showQuick
51
- },
52
- readonly: {
53
- type: Boolean,
54
- default: null
55
- },
56
- disabled: {
57
- type: Boolean,
58
- default: null
59
- },
60
- clickToCopy: {
61
- type: Boolean,
62
- default: () => getConfig().colorPicker.clickToCopy
63
- },
64
- defaultColor: {
65
- type: String,
66
- default: () => getConfig().colorPicker.defaultColor
67
- },
68
- /**
69
- * 已废弃,请使用 popupConfig.placement
70
- * @deprecated
71
- */
72
- placement: String,
73
- /**
74
- * 已废弃,请使用 popupConfig.transfer
75
- * @deprecated
76
- */
77
- transfer: {
78
- type: Boolean,
79
- default: null
80
- },
81
- popupConfig: Object
82
- },
83
- emits: ["update:modelValue", "change", "clear", "click"],
84
- setup(props, context) {
85
- const { emit } = context;
86
- const $xeModal = inject("$xeModal", null);
87
- const $xeDrawer = inject("$xeDrawer", null);
88
- const $xeTable = inject("$xeTable", null);
89
- const $xeCard = inject("$xeCard", null);
90
- const $xeForm = inject("$xeForm", null);
91
- const formItemInfo = inject("xeFormItemInfo", null);
92
- const WinEyeDropper = typeof window !== "undefined" ? window.EyeDropper : null;
93
- const xID = XEUtils.uniqueId();
94
- const { computeSize } = useFns.useSize(props);
95
- const refElem = ref();
96
- const refInputTarget = ref();
97
- const refOptionPanel = ref();
98
- const refHueSliderElem = ref();
99
- const refHueSliderBtnElem = ref();
100
- const refAlphaSliderElem = ref();
101
- const refAlphaSliderBtnElem = ref();
102
- const refColorPanelElem = ref();
103
- const refColorActiveElem = ref();
104
- const reactData = reactive({
105
- initialized: false,
106
- selectTyle: "hex",
107
- selectColor: `${props.modelValue || ""}`,
108
- showTypePopup: false,
109
- panelColor: "",
110
- hexValue: "",
111
- rValue: 0,
112
- gValue: 0,
113
- bValue: 0,
114
- aValue: 0,
115
- panelIndex: 0,
116
- panelStyle: {},
117
- panelPlacement: null,
118
- visiblePanel: false,
119
- isAniVisible: false,
120
- isActivated: false
121
- });
122
- const typeList = [
123
- { label: "HEX", value: "hex" },
124
- { label: "RGB", value: "rgb" }
125
- ];
126
- const internalData = {
127
- // hpTimeout: undefined
128
- };
129
- const computeFormReadonly = computed(() => {
130
- const { readonly } = props;
131
- if (readonly === null) {
132
- if ($xeForm) {
133
- return $xeForm.props.readonly;
134
- }
135
- return false;
136
- }
137
- return readonly;
138
- });
139
- const computeIsDisabled = computed(() => {
140
- const { disabled } = props;
141
- if (disabled === null) {
142
- if ($xeForm) {
143
- return $xeForm.props.disabled;
85
+ emits: ["update:modelValue", "change", "clear", "click"],
86
+ setup(props, context) {
87
+ const { emit } = context;
88
+ const $xeModal = inject("$xeModal", null);
89
+ const $xeDrawer = inject("$xeDrawer", null);
90
+ const $xeTable = inject("$xeTable", null);
91
+ const $xeCard = inject("$xeCard", null);
92
+ const $xeForm = inject("$xeForm", null);
93
+ const formItemInfo = inject("xeFormItemInfo", null);
94
+ const WinEyeDropper = typeof window !== "undefined" ? window.EyeDropper : null;
95
+ const xID = XEUtils.uniqueId();
96
+ const { computeSize } = useFns.useSize(props);
97
+ const refElem = ref();
98
+ const refInputTarget = ref();
99
+ const refOptionPanel = ref();
100
+ const refHueSliderElem = ref();
101
+ const refHueSliderBtnElem = ref();
102
+ const refAlphaSliderElem = ref();
103
+ const refAlphaSliderBtnElem = ref();
104
+ const refColorPanelElem = ref();
105
+ const refColorActiveElem = ref();
106
+ const reactData = reactive({
107
+ initialized: false,
108
+ selectTyle: "hex",
109
+ selectColor: `${props.modelValue || ""}`,
110
+ showTypePopup: false,
111
+ panelColor: "",
112
+ hexValue: "",
113
+ rValue: 0,
114
+ gValue: 0,
115
+ bValue: 0,
116
+ aValue: 0,
117
+ panelIndex: 0,
118
+ panelStyle: {},
119
+ panelPlacement: null,
120
+ visiblePanel: false,
121
+ isAniVisible: false,
122
+ isActivated: false
123
+ });
124
+ const typeList = [
125
+ { label: "HEX", value: "hex" },
126
+ { label: "RGB", value: "rgb" }
127
+ ];
128
+ const internalData = {
129
+ // hpTimeout: undefined
130
+ };
131
+ const computeFormReadonly = computed(() => {
132
+ const { readonly } = props;
133
+ if (readonly === null) {
134
+ if ($xeForm) {
135
+ return $xeForm.props.readonly;
136
+ }
137
+ return false;
144
138
  }
145
- return false;
146
- }
147
- return disabled;
148
- });
149
- const computeBtnTransfer = computed(() => {
150
- const { transfer } = props;
151
- if (transfer === null) {
152
- const globalTransfer = getConfig().colorPicker.transfer;
153
- if (XEUtils.isBoolean(globalTransfer)) {
154
- return globalTransfer;
139
+ return readonly;
140
+ });
141
+ const computeIsDisabled = computed(() => {
142
+ const { disabled } = props;
143
+ if (disabled === null) {
144
+ if ($xeForm) {
145
+ return $xeForm.props.disabled;
146
+ }
147
+ return false;
155
148
  }
156
- if ($xeTable || $xeModal || $xeDrawer || $xeCard || $xeForm) {
157
- return true;
149
+ return disabled;
150
+ });
151
+ const computeBtnTransfer = computed(() => {
152
+ const { transfer } = props;
153
+ if (transfer === null) {
154
+ const globalTransfer = getConfig().colorPicker.transfer;
155
+ if (XEUtils.isBoolean(globalTransfer)) {
156
+ return globalTransfer;
157
+ }
158
+ if ($xeTable || $xeModal || $xeDrawer || $xeCard || $xeForm) {
159
+ return true;
160
+ }
158
161
  }
159
- }
160
- return transfer;
161
- });
162
- const computeColorList = computed(() => {
163
- const { colors } = props;
164
- if (colors) {
165
- return colors.map((item) => {
166
- if (XEUtils.isString(item)) {
162
+ return transfer;
163
+ });
164
+ const computeColorList = computed(() => {
165
+ const { colors } = props;
166
+ if (colors) {
167
+ return colors.map((item) => {
168
+ if (XEUtils.isString(item)) {
169
+ return {
170
+ label: item,
171
+ value: item
172
+ };
173
+ }
167
174
  return {
168
- label: item,
169
- value: item
175
+ label: XEUtils.eqNull(item.label) ? item.value : item.label,
176
+ value: item.value
170
177
  };
171
- }
172
- return {
173
- label: XEUtils.eqNull(item.label) ? item.value : item.label,
174
- value: item.value
175
- };
176
- });
177
- }
178
- return [];
179
- });
180
- const computeCurrStyle = computed(() => {
181
- const { width } = props;
182
- const stys = {};
183
- if (width) {
184
- stys.width = toCssUnit(width);
185
- }
186
- return stys;
187
- });
188
- const computePopupOpts = computed(() => {
189
- return Object.assign({}, getConfig().colorPicker.popupConfig, props.popupConfig);
190
- });
191
- const computeIsRgb = computed(() => {
192
- const { selectTyle } = reactData;
193
- return selectTyle === "rgb";
194
- });
195
- const computeSelectTypeItem = computed(() => {
196
- const { selectTyle } = reactData;
197
- return typeList.find((item) => item.value === selectTyle);
198
- });
199
- const refMaps = {
200
- refElem
201
- };
202
- const computeMaps = {};
203
- const $xeColorPicker = {
204
- xID,
205
- props,
206
- context,
207
- reactData,
208
- getRefMaps: () => refMaps,
209
- getComputeMaps: () => computeMaps
210
- };
211
- const emitModel = (value) => {
212
- emit("update:modelValue", value);
213
- };
214
- const updateMode = () => {
215
- const { modelValue } = props;
216
- reactData.selectColor = XEUtils.toValueString(modelValue);
217
- updateModelColor();
218
- };
219
- const updateType = () => {
220
- const { type } = props;
221
- let selectTyle = "hex";
222
- if (type === "rgb" || type === "rgba") {
223
- selectTyle = "rgb";
224
- }
225
- reactData.selectTyle = selectTyle;
226
- updateMode();
227
- };
228
- const updateModelColor = () => {
229
- const { defaultColor } = props;
230
- const { selectColor, isAniVisible } = reactData;
231
- const isRgb = computeIsRgb.value;
232
- const hueSliderEl = refHueSliderElem.value;
233
- const alphaSliderEl = refAlphaSliderElem.value;
234
- const colorRest = parseValColor(selectColor || defaultColor);
235
- reactData.hexValue = "";
236
- reactData.rValue = 0;
237
- reactData.gValue = 0;
238
- reactData.bValue = 0;
239
- reactData.aValue = 1;
240
- if (colorRest) {
241
- if (colorRest.type === "hex") {
242
- reactData.hexValue = colorRest.hex;
243
- } else {
244
- reactData.rValue = colorRest.r;
245
- reactData.gValue = colorRest.g;
246
- reactData.bValue = colorRest.b;
247
- reactData.aValue = colorRest.a;
178
+ });
248
179
  }
249
- if (colorRest.value) {
250
- if (isRgb) {
251
- if (colorRest.type === "hex") {
252
- const rgbRest = hexToRgb(colorRest.hex);
253
- if (rgbRest) {
254
- reactData.rValue = rgbRest.r;
255
- reactData.gValue = rgbRest.g;
256
- reactData.bValue = rgbRest.b;
257
- reactData.aValue = rgbRest.a;
258
- }
259
- }
180
+ return [];
181
+ });
182
+ const computeCurrStyle = computed(() => {
183
+ const { width } = props;
184
+ const stys = {};
185
+ if (width) {
186
+ stys.width = toCssUnit(width);
187
+ }
188
+ return stys;
189
+ });
190
+ const computePopupOpts = computed(() => {
191
+ return Object.assign({}, getConfig().colorPicker.popupConfig, props.popupConfig);
192
+ });
193
+ const computeIsRgb = computed(() => {
194
+ const { selectTyle } = reactData;
195
+ return selectTyle === "rgb";
196
+ });
197
+ const computeSelectTypeItem = computed(() => {
198
+ const { selectTyle } = reactData;
199
+ return typeList.find((item) => item.value === selectTyle);
200
+ });
201
+ const refMaps = {
202
+ refElem
203
+ };
204
+ const computeMaps = {};
205
+ const $xeColorPicker = {
206
+ xID,
207
+ props,
208
+ context,
209
+ reactData,
210
+ getRefMaps: () => refMaps,
211
+ getComputeMaps: () => computeMaps
212
+ };
213
+ const emitModel = (value) => {
214
+ emit("update:modelValue", value);
215
+ };
216
+ const updateMode = () => {
217
+ const { modelValue } = props;
218
+ reactData.selectColor = XEUtils.toValueString(modelValue);
219
+ updateModelColor();
220
+ };
221
+ const updateType = () => {
222
+ const { type } = props;
223
+ let selectTyle = "hex";
224
+ if (type === "rgb" || type === "rgba") {
225
+ selectTyle = "rgb";
226
+ }
227
+ reactData.selectTyle = selectTyle;
228
+ updateMode();
229
+ };
230
+ const updateModelColor = () => {
231
+ const { defaultColor } = props;
232
+ const { selectColor, isAniVisible } = reactData;
233
+ const isRgb = computeIsRgb.value;
234
+ const hueSliderEl = refHueSliderElem.value;
235
+ const alphaSliderEl = refAlphaSliderElem.value;
236
+ const colorRest = parseValColor(selectColor || defaultColor);
237
+ reactData.hexValue = "";
238
+ reactData.rValue = 0;
239
+ reactData.gValue = 0;
240
+ reactData.bValue = 0;
241
+ reactData.aValue = 1;
242
+ if (colorRest) {
243
+ if (colorRest.type === "hex") {
244
+ reactData.hexValue = colorRest.hex;
260
245
  } else {
261
- if (colorRest.type !== "hex") {
262
- reactData.hexValue = rgbToHexVal(colorRest.r, colorRest.g, colorRest.b, colorRest.a);
246
+ reactData.rValue = colorRest.r;
247
+ reactData.gValue = colorRest.g;
248
+ reactData.bValue = colorRest.b;
249
+ reactData.aValue = colorRest.a;
250
+ }
251
+ if (colorRest.value) {
252
+ if (isRgb) {
253
+ if (colorRest.type === "hex") {
254
+ const rgbRest = hexToRgb(colorRest.hex);
255
+ if (rgbRest) {
256
+ reactData.rValue = rgbRest.r;
257
+ reactData.gValue = rgbRest.g;
258
+ reactData.bValue = rgbRest.b;
259
+ reactData.aValue = rgbRest.a;
260
+ }
261
+ }
262
+ } else {
263
+ if (colorRest.type !== "hex") {
264
+ reactData.hexValue = rgbToHexVal(colorRest.r, colorRest.g, colorRest.b, colorRest.a);
265
+ }
263
266
  }
264
267
  }
265
268
  }
266
- }
267
- if (isAniVisible) {
268
- const hsvRest = colorRest ? colorRest.type === "hex" ? hexToHsv(colorRest.hex) : rgbToHsv(colorRest) : null;
269
- const colorPanelEl = refColorPanelElem.value;
270
- if (hsvRest) {
271
- if (colorPanelEl) {
272
- const offsetTop = colorPanelEl.clientHeight * (1 - hsvRest.v);
273
- const offsetLeft = colorPanelEl.clientWidth * hsvRest.s;
274
- handlePanelColor(offsetLeft, offsetTop);
269
+ if (isAniVisible) {
270
+ const hsvRest = colorRest ? colorRest.type === "hex" ? hexToHsv(colorRest.hex) : rgbToHsv(colorRest) : null;
271
+ const colorPanelEl = refColorPanelElem.value;
272
+ if (hsvRest) {
273
+ if (colorPanelEl) {
274
+ const offsetTop = colorPanelEl.clientHeight * (1 - hsvRest.v);
275
+ const offsetLeft = colorPanelEl.clientWidth * hsvRest.s;
276
+ handlePanelColor(offsetLeft, offsetTop);
277
+ }
278
+ if (hueSliderEl) {
279
+ handleHueColor(XEUtils.ceil((1 - hsvRest.h / 360) * hueSliderEl.clientWidth) - 1);
280
+ }
275
281
  }
276
- if (hueSliderEl) {
277
- handleHueColor(XEUtils.ceil((1 - hsvRest.h / 360) * hueSliderEl.clientWidth) - 1);
282
+ if (alphaSliderEl) {
283
+ handleAlphaColor(alphaSliderEl.clientWidth * reactData.aValue);
278
284
  }
279
285
  }
280
- if (alphaSliderEl) {
281
- handleAlphaColor(alphaSliderEl.clientWidth * reactData.aValue);
286
+ };
287
+ const updateZindex = () => {
288
+ if (reactData.panelIndex < getLastZIndex()) {
289
+ reactData.panelIndex = nextZIndex();
282
290
  }
283
- }
284
- };
285
- const updateZindex = () => {
286
- if (reactData.panelIndex < getLastZIndex()) {
287
- reactData.panelIndex = nextZIndex();
288
- }
289
- };
290
- const updatePlacement = () => {
291
- const { placement } = props;
292
- const { panelIndex } = reactData;
293
- const targetElem = refElem.value;
294
- const panelElem = refOptionPanel.value;
295
- const btnTransfer = computeBtnTransfer.value;
296
- const popupOpts = computePopupOpts.value;
297
- const handleStyle = () => {
298
- const ppObj = updatePanelPlacement(targetElem, panelElem, {
299
- placement: popupOpts.placement || placement,
300
- defaultPlacement: popupOpts.defaultPlacement,
301
- appendTo: popupOpts.appendTo,
302
- teleportTo: btnTransfer
303
- });
304
- const panelStyle = Object.assign(ppObj.style, {
305
- zIndex: panelIndex
306
- });
307
- reactData.panelStyle = panelStyle;
308
- reactData.panelPlacement = ppObj.placement;
309
291
  };
310
- handleStyle();
311
- return nextTick().then(handleStyle);
312
- };
313
- const showOptionPanel = () => {
314
- const { hpTimeout } = internalData;
315
- const isDisabled = computeIsDisabled.value;
316
- if (!isDisabled) {
317
- if (hpTimeout) {
318
- clearTimeout(hpTimeout);
319
- internalData.hpTimeout = void 0;
292
+ const updatePlacement = () => {
293
+ const { placement } = props;
294
+ const { panelIndex } = reactData;
295
+ const targetElem = refElem.value;
296
+ const panelElem = refOptionPanel.value;
297
+ const btnTransfer = computeBtnTransfer.value;
298
+ const popupOpts = computePopupOpts.value;
299
+ const handleStyle = () => {
300
+ const ppObj = updatePanelPlacement(targetElem, panelElem, {
301
+ placement: popupOpts.placement || placement,
302
+ defaultPlacement: popupOpts.defaultPlacement,
303
+ appendTo: popupOpts.appendTo,
304
+ teleportTo: btnTransfer
305
+ });
306
+ const panelStyle = Object.assign(ppObj.style, {
307
+ zIndex: panelIndex
308
+ });
309
+ reactData.panelStyle = panelStyle;
310
+ reactData.panelPlacement = ppObj.placement;
311
+ };
312
+ handleStyle();
313
+ return nextTick().then(handleStyle);
314
+ };
315
+ const showOptionPanel = () => {
316
+ const { hpTimeout } = internalData;
317
+ const isDisabled = computeIsDisabled.value;
318
+ if (!isDisabled) {
319
+ if (hpTimeout) {
320
+ clearTimeout(hpTimeout);
321
+ internalData.hpTimeout = void 0;
322
+ }
323
+ if (!reactData.initialized) {
324
+ reactData.initialized = true;
325
+ }
326
+ reactData.isActivated = true;
327
+ reactData.isAniVisible = true;
328
+ setTimeout(() => {
329
+ updateModelColor();
330
+ reactData.visiblePanel = true;
331
+ }, 10);
332
+ updateZindex();
333
+ updatePlacement();
320
334
  }
321
- if (!reactData.initialized) {
322
- reactData.initialized = true;
335
+ };
336
+ const hideOptionPanel = () => {
337
+ reactData.visiblePanel = false;
338
+ internalData.hpTimeout = setTimeout(() => {
339
+ reactData.isAniVisible = false;
340
+ }, 350);
341
+ };
342
+ const changeEvent = (evnt, value) => {
343
+ reactData.selectColor = value;
344
+ if (value !== props.modelValue) {
345
+ emitModel(value);
346
+ dispatchEvent("change", { value }, evnt);
347
+ if ($xeForm && formItemInfo) {
348
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
349
+ }
323
350
  }
324
- reactData.isActivated = true;
325
- reactData.isAniVisible = true;
326
- setTimeout(() => {
327
- updateModelColor();
328
- reactData.visiblePanel = true;
329
- }, 10);
330
- updateZindex();
331
- updatePlacement();
332
- }
333
- };
334
- const hideOptionPanel = () => {
335
- reactData.visiblePanel = false;
336
- internalData.hpTimeout = setTimeout(() => {
337
- reactData.isAniVisible = false;
338
- }, 350);
339
- };
340
- const changeEvent = (evnt, value) => {
341
- reactData.selectColor = value;
342
- if (value !== props.modelValue) {
343
- emitModel(value);
344
- dispatchEvent("change", { value }, evnt);
345
- if ($xeForm && formItemInfo) {
346
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
351
+ };
352
+ const clearValueEvent = (evnt, selectValue) => {
353
+ changeEvent(evnt, selectValue);
354
+ dispatchEvent("clear", { value: selectValue }, evnt);
355
+ };
356
+ const focusEvent = () => {
357
+ const isDisabled = computeIsDisabled.value;
358
+ if (!isDisabled) {
359
+ if (!reactData.visiblePanel) {
360
+ showOptionPanel();
361
+ }
347
362
  }
348
- }
349
- };
350
- const clearValueEvent = (evnt, selectValue) => {
351
- changeEvent(evnt, selectValue);
352
- dispatchEvent("clear", { value: selectValue }, evnt);
353
- };
354
- const focusEvent = () => {
355
- const isDisabled = computeIsDisabled.value;
356
- if (!isDisabled) {
357
- if (!reactData.visiblePanel) {
363
+ };
364
+ const blurEvent = () => {
365
+ reactData.isActivated = false;
366
+ };
367
+ const clearEvent = (evnt) => {
368
+ clearValueEvent(evnt, null);
369
+ hideOptionPanel();
370
+ };
371
+ const confirmEvent = (evnt) => {
372
+ const { selectTyle, selectColor, hexValue } = reactData;
373
+ const value = selectTyle === "hex" ? hexValue : selectColor;
374
+ changeEvent(evnt, value);
375
+ hideOptionPanel();
376
+ };
377
+ const togglePanelEvent = (evnt) => {
378
+ evnt.preventDefault();
379
+ if (reactData.visiblePanel) {
380
+ hideOptionPanel();
381
+ } else {
358
382
  showOptionPanel();
359
383
  }
360
- }
361
- };
362
- const blurEvent = () => {
363
- reactData.isActivated = false;
364
- };
365
- const clearEvent = (evnt) => {
366
- clearValueEvent(evnt, null);
367
- hideOptionPanel();
368
- };
369
- const confirmEvent = (evnt) => {
370
- const { selectTyle, selectColor, hexValue } = reactData;
371
- const value = selectTyle === "hex" ? hexValue : selectColor;
372
- changeEvent(evnt, value);
373
- hideOptionPanel();
374
- };
375
- const togglePanelEvent = (evnt) => {
376
- evnt.preventDefault();
377
- if (reactData.visiblePanel) {
378
- hideOptionPanel();
379
- } else {
380
- showOptionPanel();
381
- }
382
- };
383
- const clickEvent = (evnt) => {
384
- togglePanelEvent(evnt);
385
- dispatchEvent("click", {}, evnt);
386
- };
387
- const handlePanelClickEvent = () => {
388
- reactData.showTypePopup = false;
389
- };
390
- const toggleTypeVisibleEvent = (evnt) => {
391
- evnt.stopPropagation();
392
- reactData.showTypePopup = !reactData.showTypePopup;
393
- };
394
- const handleChangeType = (type) => {
395
- const { selectTyle } = reactData;
396
- if (type !== selectTyle) {
397
- reactData.selectTyle = type;
398
- updateModelColor();
399
- }
400
- reactData.showTypePopup = false;
401
- };
402
- const handleHueColor = (offsetLeft) => {
403
- const hueSliderEl = refHueSliderElem.value;
404
- const hueSliderBtnEl = refHueSliderBtnElem.value;
405
- if (hueSliderEl && hueSliderBtnEl) {
406
- if (offsetLeft < 0) {
407
- offsetLeft = 0;
384
+ };
385
+ const clickEvent = (evnt) => {
386
+ togglePanelEvent(evnt);
387
+ dispatchEvent("click", {}, evnt);
388
+ };
389
+ const handlePanelClickEvent = () => {
390
+ reactData.showTypePopup = false;
391
+ };
392
+ const toggleTypeVisibleEvent = (evnt) => {
393
+ evnt.stopPropagation();
394
+ reactData.showTypePopup = !reactData.showTypePopup;
395
+ };
396
+ const handleChangeType = (type) => {
397
+ const { selectTyle } = reactData;
398
+ if (type !== selectTyle) {
399
+ reactData.selectTyle = type;
400
+ updateModelColor();
401
+ }
402
+ reactData.showTypePopup = false;
403
+ };
404
+ const handleHueColor = (offsetLeft) => {
405
+ const hueSliderEl = refHueSliderElem.value;
406
+ const hueSliderBtnEl = refHueSliderBtnElem.value;
407
+ if (hueSliderEl && hueSliderBtnEl) {
408
+ if (offsetLeft < 0) {
409
+ offsetLeft = 0;
410
+ }
411
+ const barWidth = XEUtils.toInteger(hueSliderEl.clientWidth);
412
+ const itemNum = 255;
413
+ const countNum = itemNum * 6;
414
+ const offsetX = XEUtils.ceil(countNum / barWidth * offsetLeft);
415
+ const offsetNum = offsetX % itemNum;
416
+ let rNum = 0;
417
+ let gNum = 0;
418
+ let bNum = 0;
419
+ switch (Math.ceil(offsetX / itemNum)) {
420
+ case 1:
421
+ rNum = itemNum;
422
+ bNum = offsetNum;
423
+ break;
424
+ case 2:
425
+ rNum = itemNum - offsetNum;
426
+ bNum = itemNum;
427
+ break;
428
+ case 3:
429
+ gNum = offsetNum;
430
+ bNum = itemNum;
431
+ break;
432
+ case 4:
433
+ gNum = itemNum;
434
+ bNum = itemNum - offsetNum;
435
+ break;
436
+ case 5:
437
+ rNum = offsetNum;
438
+ gNum = itemNum;
439
+ break;
440
+ case 6:
441
+ rNum = itemNum;
442
+ gNum = itemNum - offsetNum;
443
+ break;
444
+ }
445
+ reactData.panelColor = toValRgb(rNum, gNum, bNum);
446
+ hueSliderBtnEl.style.left = toCssUnit(offsetLeft);
408
447
  }
409
- const barWidth = XEUtils.toInteger(hueSliderEl.clientWidth);
410
- const itemNum = 255;
411
- const countNum = itemNum * 6;
412
- const offsetX = XEUtils.ceil(countNum / barWidth * offsetLeft);
413
- const offsetNum = offsetX % itemNum;
414
- let rNum = 0;
415
- let gNum = 0;
416
- let bNum = 0;
417
- switch (Math.ceil(offsetX / itemNum)) {
418
- case 1:
419
- rNum = itemNum;
420
- bNum = offsetNum;
421
- break;
422
- case 2:
423
- rNum = itemNum - offsetNum;
424
- bNum = itemNum;
425
- break;
426
- case 3:
427
- gNum = offsetNum;
428
- bNum = itemNum;
429
- break;
430
- case 4:
431
- gNum = itemNum;
432
- bNum = itemNum - offsetNum;
433
- break;
434
- case 5:
435
- rNum = offsetNum;
436
- gNum = itemNum;
437
- break;
438
- case 6:
439
- rNum = itemNum;
440
- gNum = itemNum - offsetNum;
441
- break;
448
+ };
449
+ const handleHueBarEvent = (evnt) => {
450
+ const hueSliderEl = refHueSliderElem.value;
451
+ const hueSliderBtnEl = refHueSliderBtnElem.value;
452
+ if (hueSliderEl && hueSliderBtnEl) {
453
+ const hueSliderRect = hueSliderEl.getBoundingClientRect();
454
+ const barWidth = XEUtils.toInteger(hueSliderEl.clientWidth);
455
+ const offsetLeft = XEUtils.ceil(Math.min(barWidth - 1, Math.max(1, evnt.clientX - hueSliderRect.x)));
456
+ handleHueColor(offsetLeft);
442
457
  }
443
- reactData.panelColor = toValRgb(rNum, gNum, bNum);
444
- hueSliderBtnEl.style.left = toCssUnit(offsetLeft);
445
- }
446
- };
447
- const handleHueBarEvent = (evnt) => {
448
- const hueSliderEl = refHueSliderElem.value;
449
- const hueSliderBtnEl = refHueSliderBtnElem.value;
450
- if (hueSliderEl && hueSliderBtnEl) {
451
- const hueSliderRect = hueSliderEl.getBoundingClientRect();
452
- const barWidth = XEUtils.toInteger(hueSliderEl.clientWidth);
453
- const offsetLeft = XEUtils.ceil(Math.min(barWidth - 1, Math.max(1, evnt.clientX - hueSliderRect.x)));
454
- handleHueColor(offsetLeft);
455
- }
456
- };
457
- const handleHueSliderMousedownEvent = (evnt) => {
458
- evnt.preventDefault();
459
- document.onmousemove = (evnt2) => {
460
- evnt2.preventDefault();
461
- handleHueBarEvent(evnt2);
462
458
  };
463
- document.onmouseup = (evnt2) => {
464
- document.onmousemove = null;
465
- document.onmouseup = null;
466
- handleHueBarEvent(evnt2);
459
+ const handleHueSliderMousedownEvent = (evnt) => {
460
+ evnt.preventDefault();
461
+ document.onmousemove = (evnt2) => {
462
+ evnt2.preventDefault();
463
+ handleHueBarEvent(evnt2);
464
+ };
465
+ document.onmouseup = (evnt2) => {
466
+ document.onmousemove = null;
467
+ document.onmouseup = null;
468
+ handleHueBarEvent(evnt2);
469
+ };
467
470
  };
468
- };
469
- const handleAlphaColor = (offsetLeft) => {
470
- const { selectColor } = reactData;
471
- const alphaSliderEl = refAlphaSliderElem.value;
472
- const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
473
- if (alphaSliderEl && alphaSliderBtnEl) {
474
- const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
475
- const barWidth = alphaSliderRect.width;
476
- if (offsetLeft < 0) {
477
- offsetLeft = 0;
471
+ const handleAlphaColor = (offsetLeft) => {
472
+ const { selectColor } = reactData;
473
+ const alphaSliderEl = refAlphaSliderElem.value;
474
+ const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
475
+ if (alphaSliderEl && alphaSliderBtnEl) {
476
+ const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
477
+ const barWidth = alphaSliderRect.width;
478
+ if (offsetLeft < 0) {
479
+ offsetLeft = 0;
480
+ }
481
+ if (offsetLeft > barWidth) {
482
+ offsetLeft = barWidth;
483
+ }
484
+ const alpha = XEUtils.ceil(100 / barWidth * offsetLeft / 100, 2);
485
+ reactData.aValue = alpha;
486
+ alphaSliderBtnEl.style.left = toCssUnit(offsetLeft);
487
+ reactData.selectColor = selectColor ? updateColorAlpha(selectColor, alpha) : "";
478
488
  }
479
- if (offsetLeft > barWidth) {
480
- offsetLeft = barWidth;
489
+ };
490
+ const handleAlphaBarEvent = (evnt) => {
491
+ const alphaSliderEl = refAlphaSliderElem.value;
492
+ const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
493
+ if (alphaSliderEl && alphaSliderBtnEl) {
494
+ const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
495
+ const barWidth = alphaSliderRect.width;
496
+ const offsetLeft = Math.min(barWidth, Math.max(0, evnt.clientX - alphaSliderRect.x));
497
+ handleAlphaColor(offsetLeft);
498
+ updateModelColor();
481
499
  }
482
- const alpha = XEUtils.ceil(100 / barWidth * offsetLeft / 100, 2);
483
- reactData.aValue = alpha;
484
- alphaSliderBtnEl.style.left = toCssUnit(offsetLeft);
485
- reactData.selectColor = selectColor ? updateColorAlpha(selectColor, alpha) : "";
486
- }
487
- };
488
- const handleAlphaBarEvent = (evnt) => {
489
- const alphaSliderEl = refAlphaSliderElem.value;
490
- const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
491
- if (alphaSliderEl && alphaSliderBtnEl) {
492
- const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
493
- const barWidth = alphaSliderRect.width;
494
- const offsetLeft = Math.min(barWidth, Math.max(0, evnt.clientX - alphaSliderRect.x));
495
- handleAlphaColor(offsetLeft);
500
+ };
501
+ const handleAlphaSliderMousedownEvent = (evnt) => {
502
+ evnt.preventDefault();
503
+ document.onmousemove = (evnt2) => {
504
+ evnt2.preventDefault();
505
+ handleAlphaBarEvent(evnt2);
506
+ };
507
+ document.onmouseup = (evnt2) => {
508
+ document.onmousemove = null;
509
+ document.onmouseup = null;
510
+ handleAlphaBarEvent(evnt2);
511
+ };
512
+ };
513
+ const handleInputRgbEvent = () => {
514
+ const { rValue, gValue, bValue, aValue } = reactData;
515
+ reactData.selectColor = toValRgb(rValue, gValue, bValue, aValue);
496
516
  updateModelColor();
497
- }
498
- };
499
- const handleAlphaSliderMousedownEvent = (evnt) => {
500
- evnt.preventDefault();
501
- document.onmousemove = (evnt2) => {
502
- evnt2.preventDefault();
503
- handleAlphaBarEvent(evnt2);
504
517
  };
505
- document.onmouseup = (evnt2) => {
506
- document.onmousemove = null;
507
- document.onmouseup = null;
508
- handleAlphaBarEvent(evnt2);
518
+ const handleInputAlphaEvent = () => {
519
+ const { aValue } = reactData;
520
+ const alphaSliderEl = refAlphaSliderElem.value;
521
+ const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
522
+ if (alphaSliderEl && alphaSliderBtnEl) {
523
+ const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
524
+ const barWidth = alphaSliderRect.width;
525
+ const offsetLeft = barWidth * aValue;
526
+ handleAlphaColor(offsetLeft);
527
+ }
528
+ };
529
+ const handleQuickEvent = (evnt, item) => {
530
+ const value = item.value;
531
+ reactData.selectColor = value;
532
+ updateModelColor();
509
533
  };
510
- };
511
- const handleInputRgbEvent = () => {
512
- const { rValue, gValue, bValue, aValue } = reactData;
513
- reactData.selectColor = toValRgb(rValue, gValue, bValue, aValue);
514
- updateModelColor();
515
- };
516
- const handleInputAlphaEvent = () => {
517
- const { aValue } = reactData;
518
- const alphaSliderEl = refAlphaSliderElem.value;
519
- const alphaSliderBtnEl = refAlphaSliderBtnElem.value;
520
- if (alphaSliderEl && alphaSliderBtnEl) {
521
- const alphaSliderRect = alphaSliderEl.getBoundingClientRect();
522
- const barWidth = alphaSliderRect.width;
523
- const offsetLeft = barWidth * aValue;
524
- handleAlphaColor(offsetLeft);
525
- }
526
- };
527
- const handleQuickEvent = (evnt, item) => {
528
- const value = item.value;
529
- reactData.selectColor = value;
530
- updateModelColor();
531
- };
532
- const handlePanelColor = (offsetLeft, offsetTop) => {
533
- const colorActiveEl = refColorActiveElem.value;
534
- if (colorActiveEl) {
535
- colorActiveEl.style.top = toCssUnit(offsetTop);
536
- colorActiveEl.style.left = toCssUnit(offsetLeft);
537
- }
538
- };
539
- const handleEyeDropperEvent = () => {
540
- if (WinEyeDropper) {
541
- try {
542
- const eyeDropper = new WinEyeDropper();
543
- eyeDropper.open().then((rest) => {
544
- if (rest && rest.sRGBHex) {
545
- reactData.selectColor = rest.sRGBHex;
534
+ const handlePanelColor = (offsetLeft, offsetTop) => {
535
+ const colorActiveEl = refColorActiveElem.value;
536
+ if (colorActiveEl) {
537
+ colorActiveEl.style.top = toCssUnit(offsetTop);
538
+ colorActiveEl.style.left = toCssUnit(offsetLeft);
539
+ }
540
+ };
541
+ const handleEyeDropperEvent = () => {
542
+ if (WinEyeDropper) {
543
+ try {
544
+ const eyeDropper = new WinEyeDropper();
545
+ eyeDropper.open().then((rest) => {
546
+ if (rest && rest.sRGBHex) {
547
+ reactData.selectColor = rest.sRGBHex;
548
+ updateModelColor();
549
+ }
550
+ }).catch(() => {
551
+ });
552
+ } catch (e) {
553
+ }
554
+ }
555
+ };
556
+ const handleSelectColorByXY = (clientX, clientY) => {
557
+ const { showAlpha } = props;
558
+ const { panelColor, aValue } = reactData;
559
+ const colorPanelEl = refColorPanelElem.value;
560
+ const colorActiveEl = refColorActiveElem.value;
561
+ if (colorPanelEl && colorActiveEl) {
562
+ const { clientWidth, clientHeight } = colorPanelEl;
563
+ const colorPanelRect = colorPanelEl.getBoundingClientRect();
564
+ const offsetTop = Math.min(clientHeight, Math.max(0, clientY - colorPanelRect.y));
565
+ const offsetLeft = Math.min(clientWidth, Math.max(0, clientX - colorPanelRect.x));
566
+ const colorRest = parseValColor(panelColor);
567
+ if (colorRest) {
568
+ const hsvRest = colorRest.type === "hex" ? hexToHsv(colorRest.hex) : rgbToHsv(colorRest);
569
+ if (hsvRest) {
570
+ const ragRest = hsvToRgb(hsvRest.h, offsetLeft / clientWidth, 1 - offsetTop / clientHeight);
571
+ reactData.selectColor = toValRgb(ragRest.r, ragRest.g, ragRest.b, showAlpha ? aValue : null);
546
572
  updateModelColor();
547
573
  }
548
- }).catch(() => {
549
- });
550
- } catch (e) {
551
- }
552
- }
553
- };
554
- const handleSelectColorByXY = (clientX, clientY) => {
555
- const { showAlpha } = props;
556
- const { panelColor, aValue } = reactData;
557
- const colorPanelEl = refColorPanelElem.value;
558
- const colorActiveEl = refColorActiveElem.value;
559
- if (colorPanelEl && colorActiveEl) {
560
- const { clientWidth, clientHeight } = colorPanelEl;
561
- const colorPanelRect = colorPanelEl.getBoundingClientRect();
562
- const offsetTop = Math.min(clientHeight, Math.max(0, clientY - colorPanelRect.y));
563
- const offsetLeft = Math.min(clientWidth, Math.max(0, clientX - colorPanelRect.x));
564
- const colorRest = parseValColor(panelColor);
565
- if (colorRest) {
566
- const hsvRest = colorRest.type === "hex" ? hexToHsv(colorRest.hex) : rgbToHsv(colorRest);
567
- if (hsvRest) {
568
- const ragRest = hsvToRgb(hsvRest.h, offsetLeft / clientWidth, 1 - offsetTop / clientHeight);
569
- reactData.selectColor = toValRgb(ragRest.r, ragRest.g, ragRest.b, showAlpha ? aValue : null);
570
- updateModelColor();
571
574
  }
575
+ handlePanelColor(offsetLeft, offsetTop);
572
576
  }
573
- handlePanelColor(offsetLeft, offsetTop);
574
- }
575
- };
576
- const handleSelectColorMousedownEvent = (evnt) => {
577
- evnt.stopPropagation();
578
- evnt.preventDefault();
579
- handleSelectColorByXY(evnt.clientX, evnt.clientY);
580
- document.onmousemove = (evnt2) => {
581
- handleSelectColorByXY(evnt2.clientX, evnt2.clientY);
582
577
  };
583
- document.onmouseup = () => {
584
- document.onmousemove = null;
585
- document.onmouseup = null;
578
+ const handleSelectColorMousedownEvent = (evnt) => {
579
+ evnt.stopPropagation();
580
+ evnt.preventDefault();
581
+ handleSelectColorByXY(evnt.clientX, evnt.clientY);
582
+ document.onmousemove = (evnt2) => {
583
+ handleSelectColorByXY(evnt2.clientX, evnt2.clientY);
584
+ };
585
+ document.onmouseup = () => {
586
+ document.onmousemove = null;
587
+ document.onmouseup = null;
588
+ };
586
589
  };
587
- };
588
- const handleCopyColorEvent = () => {
589
- const { selectColor } = reactData;
590
- if (selectColor) {
591
- if (VxeUI.clipboard.copy(selectColor)) {
592
- if (VxeUI.modal) {
593
- VxeUI.modal.message({
594
- content: getI18n("vxe.colorPicker.copySuccess", [selectColor]),
595
- status: "success"
596
- });
590
+ const handleCopyColorEvent = () => {
591
+ const { selectColor } = reactData;
592
+ if (selectColor) {
593
+ if (VxeUI.clipboard.copy(selectColor)) {
594
+ if (VxeUI.modal) {
595
+ VxeUI.modal.message({
596
+ content: getI18n("vxe.colorPicker.copySuccess", [selectColor]),
597
+ status: "success"
598
+ });
599
+ }
597
600
  }
598
601
  }
599
- }
600
- };
601
- const handleGlobalMousedownEvent = (evnt) => {
602
- const { visiblePanel } = reactData;
603
- const isDisabled = computeIsDisabled.value;
604
- if (!isDisabled) {
605
- const el = refElem.value;
606
- const panelElem = refOptionPanel.value;
607
- reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
608
- if (visiblePanel && !reactData.isActivated) {
602
+ };
603
+ const handleGlobalMousedownEvent = (evnt) => {
604
+ const { visiblePanel } = reactData;
605
+ const isDisabled = computeIsDisabled.value;
606
+ if (!isDisabled) {
607
+ const el = refElem.value;
608
+ const panelElem = refOptionPanel.value;
609
+ reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
610
+ if (visiblePanel && !reactData.isActivated) {
611
+ hideOptionPanel();
612
+ }
613
+ }
614
+ };
615
+ const handleGlobalBlurEvent = () => {
616
+ const { visiblePanel, isActivated } = reactData;
617
+ if (visiblePanel) {
609
618
  hideOptionPanel();
610
619
  }
611
- }
612
- };
613
- const handleGlobalBlurEvent = () => {
614
- const { visiblePanel, isActivated } = reactData;
615
- if (visiblePanel) {
616
- hideOptionPanel();
617
- }
618
- if (isActivated) {
619
- reactData.isActivated = false;
620
- }
621
- if (visiblePanel || isActivated) {
622
- const targetElem = refInputTarget.value;
623
- if (targetElem) {
624
- targetElem.blur();
620
+ if (isActivated) {
621
+ reactData.isActivated = false;
622
+ }
623
+ if (visiblePanel || isActivated) {
624
+ const targetElem = refInputTarget.value;
625
+ if (targetElem) {
626
+ targetElem.blur();
627
+ }
628
+ }
629
+ };
630
+ const handleGlobalResizeEvent = () => {
631
+ const { visiblePanel } = reactData;
632
+ if (visiblePanel) {
633
+ updatePlacement();
634
+ }
635
+ };
636
+ const handleGlobalScrollEvent = () => {
637
+ const { visiblePanel } = reactData;
638
+ if (visiblePanel) {
639
+ updatePlacement();
640
+ }
641
+ };
642
+ const dispatchEvent = (type, params, evnt) => {
643
+ emit(type, createEvent(evnt, { $colorPicker: $xeColorPicker }, params));
644
+ };
645
+ const colorPickerMethods = {
646
+ dispatchEvent
647
+ };
648
+ const colorPickerPrivateMethods = {};
649
+ Object.assign($xeColorPicker, colorPickerMethods, colorPickerPrivateMethods);
650
+ const renderColorWrapper = () => {
651
+ const { showColorExtractor } = props;
652
+ const { panelColor } = reactData;
653
+ if (showColorExtractor) {
654
+ return h(
655
+ "div",
656
+ {
657
+ ref: refColorPanelElem,
658
+ class: "vxe-color-picker--color-wrapper",
659
+ onMousedown: handleSelectColorMousedownEvent
660
+ },
661
+ [
662
+ h("div", {
663
+ class: "vxe-color-picker--color-bg",
664
+ style: {
665
+ backgroundColor: panelColor
666
+ }
667
+ }),
668
+ h("div", {
669
+ class: "vxe-color-picker--white-bg"
670
+ }),
671
+ h("div", {
672
+ class: "vxe-color-picker--black-bg"
673
+ }),
674
+ h("div", {
675
+ ref: refColorActiveElem,
676
+ class: "vxe-color-picker--color-active"
677
+ })
678
+ ]
679
+ );
625
680
  }
626
- }
627
- };
628
- const handleGlobalResizeEvent = () => {
629
- const { visiblePanel } = reactData;
630
- if (visiblePanel) {
631
- updatePlacement();
632
- }
633
- };
634
- const handleGlobalScrollEvent = () => {
635
- const { visiblePanel } = reactData;
636
- if (visiblePanel) {
637
- updatePlacement();
638
- }
639
- };
640
- const dispatchEvent = (type, params, evnt) => {
641
- emit(type, createEvent(evnt, { $colorPicker: $xeColorPicker }, params));
642
- };
643
- const colorPickerMethods = {
644
- dispatchEvent
645
- };
646
- const colorPickerPrivateMethods = {};
647
- Object.assign($xeColorPicker, colorPickerMethods, colorPickerPrivateMethods);
648
- const renderColorWrapper = () => {
649
- const { showColorExtractor } = props;
650
- const { panelColor } = reactData;
651
- if (showColorExtractor) {
681
+ return renderEmptyElement($xeColorPicker);
682
+ };
683
+ const renderColorBar = () => {
684
+ const { showAlpha, clickToCopy, showEyeDropper } = props;
685
+ const { selectTyle, showTypePopup, hexValue, rValue, gValue, bValue, aValue, selectColor, panelColor } = reactData;
686
+ const isRgb = computeIsRgb.value;
687
+ const selectTypeItem = computeSelectTypeItem.value;
652
688
  return h(
653
689
  "div",
654
690
  {
655
- ref: refColorPanelElem,
656
- class: "vxe-color-picker--color-wrapper",
657
- onMousedown: handleSelectColorMousedownEvent
691
+ class: "vxe-color-picker--bar-wrapper"
658
692
  },
659
693
  [
660
- h("div", {
661
- class: "vxe-color-picker--color-bg",
662
- style: {
663
- backgroundColor: panelColor
664
- }
665
- }),
666
- h("div", {
667
- class: "vxe-color-picker--white-bg"
668
- }),
669
- h("div", {
670
- class: "vxe-color-picker--black-bg"
671
- }),
672
- h("div", {
673
- ref: refColorActiveElem,
674
- class: "vxe-color-picker--color-active"
675
- })
694
+ h(
695
+ "div",
696
+ {
697
+ class: "vxe-color-picker--slider-wrapper"
698
+ },
699
+ [
700
+ showEyeDropper && WinEyeDropper ? h(
701
+ "div",
702
+ {
703
+ class: "vxe-color-picker--color-dropper"
704
+ },
705
+ [
706
+ h(
707
+ "span",
708
+ {
709
+ class: "vxe-color-picker--color-dropper-btn",
710
+ onClick: handleEyeDropperEvent
711
+ },
712
+ [
713
+ h("i", {
714
+ class: getIcon().COLOR_PICKER_EYE_DROPPER
715
+ })
716
+ ]
717
+ )
718
+ ]
719
+ ) : renderEmptyElement($xeColorPicker),
720
+ h(
721
+ "div",
722
+ {
723
+ class: "vxe-color-picker--slider-preview"
724
+ },
725
+ [
726
+ h(
727
+ "div",
728
+ {
729
+ class: "vxe-color-picker--preview-btn"
730
+ },
731
+ [
732
+ h(
733
+ "div",
734
+ {
735
+ class: "vxe-color-picker--preview-color",
736
+ style: {
737
+ backgroundColor: selectColor
738
+ }
739
+ },
740
+ clickToCopy ? [
741
+ h(
742
+ "span",
743
+ {
744
+ class: "vxe-color-picker--preview-copy-btn",
745
+ onClick: handleCopyColorEvent
746
+ },
747
+ [
748
+ h("i", {
749
+ class: getIcon().COLOR_PICKER_COLOR_COPY
750
+ })
751
+ ]
752
+ )
753
+ ] : []
754
+ )
755
+ ]
756
+ )
757
+ ]
758
+ ),
759
+ h(
760
+ "div",
761
+ {
762
+ class: "vxe-color-picker--slider-handle"
763
+ },
764
+ [
765
+ h(
766
+ "div",
767
+ {
768
+ ref: refHueSliderElem,
769
+ class: "vxe-color-picker--bar-hue-slider",
770
+ onClick: handleHueBarEvent
771
+ },
772
+ [
773
+ h("div", {
774
+ ref: refHueSliderBtnElem,
775
+ class: "vxe-color-picker--bar-hue-btn",
776
+ onMousedown: handleHueSliderMousedownEvent
777
+ })
778
+ ]
779
+ ),
780
+ showAlpha ? h(
781
+ "div",
782
+ {
783
+ ref: refAlphaSliderElem,
784
+ class: "vxe-color-picker--bar-alpha-slider",
785
+ onClick: handleAlphaBarEvent
786
+ },
787
+ [
788
+ h("div", {
789
+ class: "vxe-color-picker--bar-alpha-bg",
790
+ style: {
791
+ background: `linear-gradient(to right, rgba(0, 0, 0, 0), ${panelColor})`
792
+ }
793
+ }),
794
+ h("div", {
795
+ ref: refAlphaSliderBtnElem,
796
+ class: "vxe-color-picker--bar-alpha-btn",
797
+ onMousedown: handleAlphaSliderMousedownEvent
798
+ })
799
+ ]
800
+ ) : renderEmptyElement($xeColorPicker)
801
+ ]
802
+ )
803
+ ]
804
+ ),
805
+ h(
806
+ "div",
807
+ {
808
+ class: "vxe-color-picker--custom-wrapper"
809
+ },
810
+ [
811
+ h(
812
+ "div",
813
+ {
814
+ class: "vxe-color-picker--type-switch"
815
+ },
816
+ [
817
+ h(
818
+ "div",
819
+ {
820
+ class: "vxe-color-picker--type-label",
821
+ onClick: toggleTypeVisibleEvent
822
+ },
823
+ [
824
+ h("span", `${selectTypeItem ? selectTypeItem.label : selectTyle}`),
825
+ h(
826
+ "span",
827
+ {
828
+ class: "vxe-color-picker--type-icon"
829
+ },
830
+ [
831
+ h("i", {
832
+ class: showTypePopup ? getIcon().COLOR_PICKER_TPTY_OPEN : getIcon().COLOR_PICKER_TPTY_CLOSE
833
+ })
834
+ ]
835
+ )
836
+ ]
837
+ ),
838
+ h(
839
+ "div",
840
+ {
841
+ class: [
842
+ "vxe-color-picker--type-popup",
843
+ {
844
+ "is--visible": showTypePopup
845
+ }
846
+ ]
847
+ },
848
+ typeList.map((item) => {
849
+ return h(
850
+ "div",
851
+ {
852
+ class: "vxe-color-picker--type-item",
853
+ onClick(evnt) {
854
+ evnt.stopPropagation();
855
+ handleChangeType(item.value);
856
+ }
857
+ },
858
+ item.label
859
+ );
860
+ })
861
+ )
862
+ ]
863
+ ),
864
+ h(
865
+ "div",
866
+ {
867
+ class: `vxe-color-picker--${selectTyle}-wrapper`
868
+ },
869
+ isRgb ? [
870
+ h(
871
+ "div",
872
+ {
873
+ class: "vxe-color-picker--input-wrapper"
874
+ },
875
+ [
876
+ h(VxeNumberInputComponent, {
877
+ type: "integer",
878
+ size: "mini",
879
+ align: "center",
880
+ min: 0,
881
+ max: 255,
882
+ maxLength: 3,
883
+ placeholder: "",
884
+ modelValue: rValue,
885
+ controlConfig: {
886
+ showButton: false
887
+ },
888
+ "onUpdate:modelValue"(val) {
889
+ reactData.rValue = val;
890
+ },
891
+ onChange: handleInputRgbEvent
892
+ }),
893
+ h(VxeNumberInputComponent, {
894
+ type: "integer",
895
+ size: "mini",
896
+ align: "center",
897
+ min: 0,
898
+ max: 255,
899
+ maxLength: 3,
900
+ placeholder: "",
901
+ modelValue: gValue,
902
+ controlConfig: {
903
+ showButton: false
904
+ },
905
+ "onUpdate:modelValue"(val) {
906
+ reactData.gValue = val;
907
+ },
908
+ onChange: handleInputRgbEvent
909
+ }),
910
+ h(VxeNumberInputComponent, {
911
+ type: "integer",
912
+ size: "mini",
913
+ align: "center",
914
+ min: 0,
915
+ max: 255,
916
+ maxLength: 3,
917
+ placeholder: "",
918
+ modelValue: bValue,
919
+ controlConfig: {
920
+ showButton: false
921
+ },
922
+ "onUpdate:modelValue"(val) {
923
+ reactData.bValue = val;
924
+ },
925
+ onChange: handleInputRgbEvent
926
+ }),
927
+ h(VxeNumberInputComponent, {
928
+ type: "number",
929
+ size: "mini",
930
+ align: "center",
931
+ min: 0,
932
+ max: 1,
933
+ step: 0.01,
934
+ maxLength: 4,
935
+ placeholder: "",
936
+ modelValue: aValue,
937
+ controlConfig: {
938
+ showButton: false
939
+ },
940
+ "onUpdate:modelValue"(val) {
941
+ reactData.aValue = val;
942
+ },
943
+ onChange: handleInputAlphaEvent
944
+ })
945
+ ]
946
+ ),
947
+ h(
948
+ "div",
949
+ {
950
+ class: "vxe-color-picker--input-title"
951
+ },
952
+ [h("span", "R"), h("span", "G"), h("span", "B"), h("span", "A")]
953
+ )
954
+ ] : [
955
+ h(
956
+ "div",
957
+ {
958
+ class: "vxe-color-picker--input-wrapper"
959
+ },
960
+ [
961
+ h(VxeInputComponent, {
962
+ type: "text",
963
+ size: "mini",
964
+ align: "center",
965
+ maxLength: 9,
966
+ placeholder: "",
967
+ modelValue: hexValue,
968
+ "onUpdate:modelValue"(val) {
969
+ reactData.hexValue = val;
970
+ },
971
+ onChange() {
972
+ const colorRest = parseValColor(reactData.hexValue);
973
+ if (colorRest) {
974
+ if (colorRest.value) {
975
+ reactData.selectColor = colorRest.value;
976
+ updateModelColor();
977
+ }
978
+ }
979
+ }
980
+ })
981
+ ]
982
+ ),
983
+ h(
984
+ "div",
985
+ {
986
+ class: "vxe-color-picker--input-title"
987
+ },
988
+ getI18n("vxe.colorPicker.hex")
989
+ )
990
+ ]
991
+ )
992
+ ]
993
+ )
676
994
  ]
677
995
  );
678
- }
679
- return renderEmptyElement($xeColorPicker);
680
- };
681
- const renderColorBar = () => {
682
- const { showAlpha, clickToCopy, showEyeDropper } = props;
683
- const { selectTyle, showTypePopup, hexValue, rValue, gValue, bValue, aValue, selectColor, panelColor } = reactData;
684
- const isRgb = computeIsRgb.value;
685
- const selectTypeItem = computeSelectTypeItem.value;
686
- return h(
687
- "div",
688
- {
689
- class: "vxe-color-picker--bar-wrapper"
690
- },
691
- [
692
- h(
996
+ };
997
+ const renderQuickWrapper = () => {
998
+ const { showQuick } = props;
999
+ const colorList = computeColorList.value;
1000
+ if (showQuick && colorList.length) {
1001
+ return h(
693
1002
  "div",
694
1003
  {
695
- class: "vxe-color-picker--slider-wrapper"
1004
+ class: "vxe-color-picker--quick-wrapper"
696
1005
  },
697
- [
698
- showEyeDropper && WinEyeDropper ? h(
699
- "div",
700
- {
701
- class: "vxe-color-picker--color-dropper"
702
- },
703
- [
704
- h(
705
- "span",
706
- {
707
- class: "vxe-color-picker--color-dropper-btn",
708
- onClick: handleEyeDropperEvent
709
- },
710
- [
711
- h("i", {
712
- class: getIcon().COLOR_PICKER_EYE_DROPPER
713
- })
714
- ]
715
- )
716
- ]
717
- ) : renderEmptyElement($xeColorPicker),
718
- h(
719
- "div",
720
- {
721
- class: "vxe-color-picker--slider-preview"
722
- },
723
- [
724
- h(
725
- "div",
726
- {
727
- class: "vxe-color-picker--preview-btn"
728
- },
729
- [
730
- h(
731
- "div",
732
- {
733
- class: "vxe-color-picker--preview-color",
734
- style: {
735
- backgroundColor: selectColor
736
- }
737
- },
738
- clickToCopy ? [
739
- h(
740
- "span",
741
- {
742
- class: "vxe-color-picker--preview-copy-btn",
743
- onClick: handleCopyColorEvent
744
- },
745
- [
746
- h("i", {
747
- class: getIcon().COLOR_PICKER_COLOR_COPY
748
- })
749
- ]
750
- )
751
- ] : []
752
- )
753
- ]
754
- )
755
- ]
756
- ),
757
- h(
758
- "div",
759
- {
760
- class: "vxe-color-picker--slider-handle"
1006
+ colorList.map((item, i) => {
1007
+ return h("div", {
1008
+ key: i,
1009
+ class: "vxe-color-picker--quick-item",
1010
+ title: item.label || "",
1011
+ style: {
1012
+ backgroundColor: item.value
761
1013
  },
762
- [
763
- h(
764
- "div",
765
- {
766
- ref: refHueSliderElem,
767
- class: "vxe-color-picker--bar-hue-slider",
768
- onClick: handleHueBarEvent
769
- },
770
- [
771
- h("div", {
772
- ref: refHueSliderBtnElem,
773
- class: "vxe-color-picker--bar-hue-btn",
774
- onMousedown: handleHueSliderMousedownEvent
775
- })
776
- ]
777
- ),
778
- showAlpha ? h(
779
- "div",
780
- {
781
- ref: refAlphaSliderElem,
782
- class: "vxe-color-picker--bar-alpha-slider",
783
- onClick: handleAlphaBarEvent
784
- },
785
- [
786
- h("div", {
787
- class: "vxe-color-picker--bar-alpha-bg",
788
- style: {
789
- background: `linear-gradient(to right, rgba(0, 0, 0, 0), ${panelColor})`
790
- }
791
- }),
792
- h("div", {
793
- ref: refAlphaSliderBtnElem,
794
- class: "vxe-color-picker--bar-alpha-btn",
795
- onMousedown: handleAlphaSliderMousedownEvent
796
- })
797
- ]
798
- ) : renderEmptyElement($xeColorPicker)
799
- ]
800
- )
801
- ]
802
- ),
803
- h(
1014
+ onClick(evnt) {
1015
+ handleQuickEvent(evnt, item);
1016
+ }
1017
+ });
1018
+ })
1019
+ );
1020
+ }
1021
+ return renderEmptyElement($xeColorPicker);
1022
+ };
1023
+ const renderVN = () => {
1024
+ const { className, popupClassName, clearable, modelValue } = props;
1025
+ const { initialized, isActivated, isAniVisible, visiblePanel } = reactData;
1026
+ const vSize = computeSize.value;
1027
+ const isDisabled = computeIsDisabled.value;
1028
+ const btnTransfer = computeBtnTransfer.value;
1029
+ const formReadonly = computeFormReadonly.value;
1030
+ if (formReadonly) {
1031
+ return h(
804
1032
  "div",
805
1033
  {
806
- class: "vxe-color-picker--custom-wrapper"
1034
+ ref: refElem,
1035
+ class: [
1036
+ "vxe-color-picker--readonly",
1037
+ className,
1038
+ {
1039
+ [`size--${vSize}`]: vSize
1040
+ }
1041
+ ]
807
1042
  },
808
1043
  [
809
- h(
810
- "div",
811
- {
812
- class: "vxe-color-picker--type-switch"
813
- },
814
- [
815
- h(
816
- "div",
817
- {
818
- class: "vxe-color-picker--type-label",
819
- onClick: toggleTypeVisibleEvent
820
- },
821
- [
822
- h("span", `${selectTypeItem ? selectTypeItem.label : selectTyle}`),
823
- h(
824
- "span",
825
- {
826
- class: "vxe-color-picker--type-icon"
827
- },
828
- [
829
- h("i", {
830
- class: showTypePopup ? getIcon().COLOR_PICKER_TPTY_OPEN : getIcon().COLOR_PICKER_TPTY_CLOSE
831
- })
832
- ]
833
- )
834
- ]
835
- ),
836
- h(
837
- "div",
838
- {
839
- class: [
840
- "vxe-color-picker--type-popup",
841
- {
842
- "is--visible": showTypePopup
843
- }
844
- ]
845
- },
846
- typeList.map((item) => {
847
- return h(
848
- "div",
849
- {
850
- class: "vxe-color-picker--type-item",
851
- onClick(evnt) {
852
- evnt.stopPropagation();
853
- handleChangeType(item.value);
854
- }
855
- },
856
- item.label
857
- );
858
- })
859
- )
860
- ]
861
- ),
862
- h(
863
- "div",
864
- {
865
- class: `vxe-color-picker--${selectTyle}-wrapper`
866
- },
867
- isRgb ? [
868
- h(
869
- "div",
870
- {
871
- class: "vxe-color-picker--input-wrapper"
872
- },
873
- [
874
- h(VxeNumberInputComponent, {
875
- type: "integer",
876
- size: "mini",
877
- align: "center",
878
- min: 0,
879
- max: 255,
880
- maxLength: 3,
881
- placeholder: "",
882
- modelValue: rValue,
883
- controlConfig: {
884
- showButton: false
885
- },
886
- "onUpdate:modelValue"(val) {
887
- reactData.rValue = val;
888
- },
889
- onChange: handleInputRgbEvent
890
- }),
891
- h(VxeNumberInputComponent, {
892
- type: "integer",
893
- size: "mini",
894
- align: "center",
895
- min: 0,
896
- max: 255,
897
- maxLength: 3,
898
- placeholder: "",
899
- modelValue: gValue,
900
- controlConfig: {
901
- showButton: false
902
- },
903
- "onUpdate:modelValue"(val) {
904
- reactData.gValue = val;
905
- },
906
- onChange: handleInputRgbEvent
907
- }),
908
- h(VxeNumberInputComponent, {
909
- type: "integer",
910
- size: "mini",
911
- align: "center",
912
- min: 0,
913
- max: 255,
914
- maxLength: 3,
915
- placeholder: "",
916
- modelValue: bValue,
917
- controlConfig: {
918
- showButton: false
919
- },
920
- "onUpdate:modelValue"(val) {
921
- reactData.bValue = val;
922
- },
923
- onChange: handleInputRgbEvent
924
- }),
925
- h(VxeNumberInputComponent, {
926
- type: "number",
927
- size: "mini",
928
- align: "center",
929
- min: 0,
930
- max: 1,
931
- step: 0.01,
932
- maxLength: 4,
933
- placeholder: "",
934
- modelValue: aValue,
935
- controlConfig: {
936
- showButton: false
937
- },
938
- "onUpdate:modelValue"(val) {
939
- reactData.aValue = val;
940
- },
941
- onChange: handleInputAlphaEvent
942
- })
943
- ]
944
- ),
945
- h(
946
- "div",
947
- {
948
- class: "vxe-color-picker--input-title"
949
- },
950
- [h("span", "R"), h("span", "G"), h("span", "B"), h("span", "A")]
951
- )
952
- ] : [
953
- h(
954
- "div",
955
- {
956
- class: "vxe-color-picker--input-wrapper"
957
- },
958
- [
959
- h(VxeInputComponent, {
960
- type: "text",
961
- size: "mini",
962
- align: "center",
963
- maxLength: 9,
964
- placeholder: "",
965
- modelValue: hexValue,
966
- "onUpdate:modelValue"(val) {
967
- reactData.hexValue = val;
968
- },
969
- onChange() {
970
- const colorRest = parseValColor(reactData.hexValue);
971
- if (colorRest) {
972
- if (colorRest.value) {
973
- reactData.selectColor = colorRest.value;
974
- updateModelColor();
975
- }
976
- }
977
- }
978
- })
979
- ]
980
- ),
981
- h(
982
- "div",
983
- {
984
- class: "vxe-color-picker--input-title"
985
- },
986
- getI18n("vxe.colorPicker.hex")
987
- )
988
- ]
989
- )
1044
+ h("div", {
1045
+ class: [
1046
+ "vxe-color-picker--readonly-color",
1047
+ {
1048
+ "is--empty": !modelValue
1049
+ }
1050
+ ],
1051
+ style: modelValue ? {
1052
+ backgroundColor: modelValue
1053
+ } : void 0
1054
+ })
990
1055
  ]
991
- )
992
- ]
993
- );
994
- };
995
- const renderQuickWrapper = () => {
996
- const { showQuick } = props;
997
- const colorList = computeColorList.value;
998
- if (showQuick && colorList.length) {
999
- return h(
1000
- "div",
1001
- {
1002
- class: "vxe-color-picker--quick-wrapper"
1003
- },
1004
- colorList.map((item, i) => {
1005
- return h("div", {
1006
- key: i,
1007
- class: "vxe-color-picker--quick-item",
1008
- title: item.label || "",
1009
- style: {
1010
- backgroundColor: item.value
1011
- },
1012
- onClick(evnt) {
1013
- handleQuickEvent(evnt, item);
1014
- }
1015
- });
1016
- })
1017
- );
1018
- }
1019
- return renderEmptyElement($xeColorPicker);
1020
- };
1021
- const renderVN = () => {
1022
- const { className, popupClassName, clearable, modelValue } = props;
1023
- const { initialized, isActivated, isAniVisible, visiblePanel } = reactData;
1024
- const vSize = computeSize.value;
1025
- const isDisabled = computeIsDisabled.value;
1026
- const btnTransfer = computeBtnTransfer.value;
1027
- const formReadonly = computeFormReadonly.value;
1028
- if (formReadonly) {
1056
+ );
1057
+ }
1058
+ const currStyle = computeCurrStyle.value;
1059
+ const popupOpts = computePopupOpts.value;
1060
+ const { appendTo } = popupOpts;
1029
1061
  return h(
1030
1062
  "div",
1031
1063
  {
1032
1064
  ref: refElem,
1033
1065
  class: [
1034
- "vxe-color-picker--readonly",
1035
- className,
1066
+ "vxe-color-picker",
1067
+ className ? XEUtils.isFunction(className) ? className({ $colorPicker: $xeColorPicker }) : className : "",
1036
1068
  {
1037
- [`size--${vSize}`]: vSize
1069
+ [`size--${vSize}`]: vSize,
1070
+ "is--selected": !!modelValue,
1071
+ "is--visible": visiblePanel,
1072
+ "is--disabled": isDisabled,
1073
+ "is--active": isActivated
1038
1074
  }
1039
- ]
1075
+ ],
1076
+ style: currStyle
1040
1077
  },
1041
1078
  [
1042
- h("div", {
1043
- class: [
1044
- "vxe-color-picker--readonly-color",
1045
- {
1046
- "is--empty": !modelValue
1047
- }
1048
- ],
1049
- style: modelValue ? {
1050
- backgroundColor: modelValue
1051
- } : void 0
1052
- })
1079
+ h("input", {
1080
+ ref: refInputTarget,
1081
+ class: "vxe-color-picker--input",
1082
+ onFocus: focusEvent,
1083
+ onBlur: blurEvent
1084
+ }),
1085
+ h(
1086
+ "div",
1087
+ {
1088
+ class: "vxe-color-picker--inner",
1089
+ onClick: clickEvent
1090
+ },
1091
+ [
1092
+ h("div", {
1093
+ class: "vxe-color-picker--inner-color",
1094
+ style: {
1095
+ backgroundColor: modelValue
1096
+ }
1097
+ })
1098
+ ]
1099
+ ),
1100
+ h(
1101
+ Teleport,
1102
+ {
1103
+ to: getPopupContainer(appendTo),
1104
+ disabled: btnTransfer ? !initialized : true
1105
+ },
1106
+ [
1107
+ h(
1108
+ "div",
1109
+ {
1110
+ ref: refOptionPanel,
1111
+ class: [
1112
+ "vxe-table--ignore-clear vxe-color-picker--panel",
1113
+ popupClassName ? XEUtils.isFunction(popupClassName) ? popupClassName({ $colorPicker: $xeColorPicker }) : popupClassName : "",
1114
+ {
1115
+ [`size--${vSize}`]: vSize,
1116
+ "is--transfer": btnTransfer,
1117
+ "ani--leave": isAniVisible,
1118
+ "ani--enter": visiblePanel
1119
+ }
1120
+ ],
1121
+ placement: reactData.panelPlacement,
1122
+ style: reactData.panelStyle
1123
+ },
1124
+ [
1125
+ initialized && (visiblePanel || isAniVisible) ? h(
1126
+ "div",
1127
+ {
1128
+ class: "vxe-color-picker--panel-wrapper",
1129
+ onClick: handlePanelClickEvent
1130
+ },
1131
+ [
1132
+ renderColorWrapper(),
1133
+ renderColorBar(),
1134
+ renderQuickWrapper(),
1135
+ h(
1136
+ "div",
1137
+ {
1138
+ class: "vxe-color-picker--footer-wrapper"
1139
+ },
1140
+ [
1141
+ clearable ? h(VxeButtonComponent, {
1142
+ content: getI18n("vxe.colorPicker.clear"),
1143
+ size: "mini",
1144
+ onClick: clearEvent
1145
+ }) : renderEmptyElement($xeColorPicker),
1146
+ h(VxeButtonComponent, {
1147
+ content: getI18n("vxe.colorPicker.confirm"),
1148
+ size: "mini",
1149
+ status: "primary",
1150
+ onClick: confirmEvent
1151
+ })
1152
+ ]
1153
+ )
1154
+ ]
1155
+ ) : renderEmptyElement($xeColorPicker)
1156
+ ]
1157
+ )
1158
+ ]
1159
+ )
1053
1160
  ]
1054
1161
  );
1055
- }
1056
- const currStyle = computeCurrStyle.value;
1057
- const popupOpts = computePopupOpts.value;
1058
- const { appendTo } = popupOpts;
1059
- return h(
1060
- "div",
1061
- {
1062
- ref: refElem,
1063
- class: [
1064
- "vxe-color-picker",
1065
- className ? XEUtils.isFunction(className) ? className({ $colorPicker: $xeColorPicker }) : className : "",
1066
- {
1067
- [`size--${vSize}`]: vSize,
1068
- "is--selected": !!modelValue,
1069
- "is--visible": visiblePanel,
1070
- "is--disabled": isDisabled,
1071
- "is--active": isActivated
1072
- }
1073
- ],
1074
- style: currStyle
1075
- },
1076
- [
1077
- h("input", {
1078
- ref: refInputTarget,
1079
- class: "vxe-color-picker--input",
1080
- onFocus: focusEvent,
1081
- onBlur: blurEvent
1082
- }),
1083
- h(
1084
- "div",
1085
- {
1086
- class: "vxe-color-picker--inner",
1087
- onClick: clickEvent
1088
- },
1089
- [
1090
- h("div", {
1091
- class: "vxe-color-picker--inner-color",
1092
- style: {
1093
- backgroundColor: modelValue
1094
- }
1095
- })
1096
- ]
1097
- ),
1098
- h(
1099
- Teleport,
1100
- {
1101
- to: getPopupContainer(appendTo),
1102
- disabled: btnTransfer ? !initialized : true
1103
- },
1104
- [
1105
- h(
1106
- "div",
1107
- {
1108
- ref: refOptionPanel,
1109
- class: [
1110
- "vxe-table--ignore-clear vxe-color-picker--panel",
1111
- popupClassName ? XEUtils.isFunction(popupClassName) ? popupClassName({ $colorPicker: $xeColorPicker }) : popupClassName : "",
1112
- {
1113
- [`size--${vSize}`]: vSize,
1114
- "is--transfer": btnTransfer,
1115
- "ani--leave": isAniVisible,
1116
- "ani--enter": visiblePanel
1117
- }
1118
- ],
1119
- placement: reactData.panelPlacement,
1120
- style: reactData.panelStyle
1121
- },
1122
- [
1123
- initialized && (visiblePanel || isAniVisible) ? h(
1124
- "div",
1125
- {
1126
- class: "vxe-color-picker--panel-wrapper",
1127
- onClick: handlePanelClickEvent
1128
- },
1129
- [
1130
- renderColorWrapper(),
1131
- renderColorBar(),
1132
- renderQuickWrapper(),
1133
- h(
1134
- "div",
1135
- {
1136
- class: "vxe-color-picker--footer-wrapper"
1137
- },
1138
- [
1139
- clearable ? h(VxeButtonComponent, {
1140
- content: getI18n("vxe.colorPicker.clear"),
1141
- size: "mini",
1142
- onClick: clearEvent
1143
- }) : renderEmptyElement($xeColorPicker),
1144
- h(VxeButtonComponent, {
1145
- content: getI18n("vxe.colorPicker.confirm"),
1146
- size: "mini",
1147
- status: "primary",
1148
- onClick: confirmEvent
1149
- })
1150
- ]
1151
- )
1152
- ]
1153
- ) : renderEmptyElement($xeColorPicker)
1154
- ]
1155
- )
1156
- ]
1157
- )
1158
- ]
1162
+ };
1163
+ watch(
1164
+ () => props.modelValue,
1165
+ () => {
1166
+ updateMode();
1167
+ }
1159
1168
  );
1160
- };
1161
- watch(
1162
- () => props.modelValue,
1163
- () => {
1164
- updateMode();
1165
- }
1166
- );
1167
- watch(
1168
- () => props.type,
1169
- () => {
1170
- updateType();
1171
- }
1172
- );
1173
- onMounted(() => {
1174
- globalEvents.on($xeColorPicker, "mousedown", handleGlobalMousedownEvent);
1175
- globalEvents.on($xeColorPicker, "blur", handleGlobalBlurEvent);
1176
- globalEvents.on($xeColorPicker, "resize", handleGlobalResizeEvent);
1177
- globalEvents.on($xeColorPicker, "scroll", handleGlobalScrollEvent);
1178
- });
1179
- onUnmounted(() => {
1180
- globalEvents.off($xeColorPicker, "mousedown");
1181
- globalEvents.off($xeColorPicker, "blur");
1182
- globalEvents.off($xeColorPicker, "resize");
1183
- globalEvents.off($xeColorPicker, "scroll");
1184
- });
1185
- updateType();
1186
- provide("$xeColorPicker", $xeColorPicker);
1187
- $xeColorPicker.renderVN = renderVN;
1188
- return $xeColorPicker;
1189
- },
1190
- render() {
1191
- return this.renderVN();
1192
- }
1193
- });
1169
+ watch(
1170
+ () => props.type,
1171
+ () => {
1172
+ updateType();
1173
+ }
1174
+ );
1175
+ onMounted(() => {
1176
+ globalEvents.on($xeColorPicker, "mousedown", handleGlobalMousedownEvent);
1177
+ globalEvents.on($xeColorPicker, "blur", handleGlobalBlurEvent);
1178
+ globalEvents.on($xeColorPicker, "resize", handleGlobalResizeEvent);
1179
+ globalEvents.on($xeColorPicker, "scroll", handleGlobalScrollEvent);
1180
+ });
1181
+ onUnmounted(() => {
1182
+ globalEvents.off($xeColorPicker, "mousedown");
1183
+ globalEvents.off($xeColorPicker, "blur");
1184
+ globalEvents.off($xeColorPicker, "resize");
1185
+ globalEvents.off($xeColorPicker, "scroll");
1186
+ });
1187
+ updateType();
1188
+ provide("$xeColorPicker", $xeColorPicker);
1189
+ $xeColorPicker.renderVN = renderVN;
1190
+ return $xeColorPicker;
1191
+ },
1192
+ render() {
1193
+ return this.renderVN();
1194
+ }
1195
+ })
1196
+ );
1194
1197
  export {
1195
1198
  color_picker_default as default
1196
1199
  };