@element-plus/nightly 0.0.20241215 → 0.0.20241217

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 (362) hide show
  1. package/dist/index.full.js +10 -4
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +4 -4
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +10 -4
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/ms.js +1 -1
  152. package/dist/locale/ms.min.js +1 -1
  153. package/dist/locale/ms.min.mjs +1 -1
  154. package/dist/locale/ms.mjs +1 -1
  155. package/dist/locale/my.js +1 -1
  156. package/dist/locale/my.min.js +1 -1
  157. package/dist/locale/my.min.mjs +1 -1
  158. package/dist/locale/my.mjs +1 -1
  159. package/dist/locale/nb-no.js +1 -1
  160. package/dist/locale/nb-no.min.js +1 -1
  161. package/dist/locale/nb-no.min.mjs +1 -1
  162. package/dist/locale/nb-no.mjs +1 -1
  163. package/dist/locale/nl.js +1 -1
  164. package/dist/locale/nl.min.js +1 -1
  165. package/dist/locale/nl.min.mjs +1 -1
  166. package/dist/locale/nl.mjs +1 -1
  167. package/dist/locale/pa.js +1 -1
  168. package/dist/locale/pa.min.js +1 -1
  169. package/dist/locale/pa.min.mjs +1 -1
  170. package/dist/locale/pa.mjs +1 -1
  171. package/dist/locale/pl.js +1 -1
  172. package/dist/locale/pl.min.js +1 -1
  173. package/dist/locale/pl.min.mjs +1 -1
  174. package/dist/locale/pl.mjs +1 -1
  175. package/dist/locale/pt-br.js +1 -1
  176. package/dist/locale/pt-br.min.js +1 -1
  177. package/dist/locale/pt-br.min.mjs +1 -1
  178. package/dist/locale/pt-br.mjs +1 -1
  179. package/dist/locale/pt.js +1 -1
  180. package/dist/locale/pt.min.js +1 -1
  181. package/dist/locale/pt.min.mjs +1 -1
  182. package/dist/locale/pt.mjs +1 -1
  183. package/dist/locale/ro.js +1 -1
  184. package/dist/locale/ro.min.js +1 -1
  185. package/dist/locale/ro.min.mjs +1 -1
  186. package/dist/locale/ro.mjs +1 -1
  187. package/dist/locale/ru.js +1 -1
  188. package/dist/locale/ru.min.js +1 -1
  189. package/dist/locale/ru.min.mjs +1 -1
  190. package/dist/locale/ru.mjs +1 -1
  191. package/dist/locale/sk.js +1 -1
  192. package/dist/locale/sk.min.js +1 -1
  193. package/dist/locale/sk.min.mjs +1 -1
  194. package/dist/locale/sk.mjs +1 -1
  195. package/dist/locale/sl.js +1 -1
  196. package/dist/locale/sl.min.js +1 -1
  197. package/dist/locale/sl.min.mjs +1 -1
  198. package/dist/locale/sl.mjs +1 -1
  199. package/dist/locale/sr.js +1 -1
  200. package/dist/locale/sr.min.js +1 -1
  201. package/dist/locale/sr.min.mjs +1 -1
  202. package/dist/locale/sr.mjs +1 -1
  203. package/dist/locale/sv.js +1 -1
  204. package/dist/locale/sv.min.js +1 -1
  205. package/dist/locale/sv.min.mjs +1 -1
  206. package/dist/locale/sv.mjs +1 -1
  207. package/dist/locale/sw.js +1 -1
  208. package/dist/locale/sw.min.js +1 -1
  209. package/dist/locale/sw.min.mjs +1 -1
  210. package/dist/locale/sw.mjs +1 -1
  211. package/dist/locale/ta.js +1 -1
  212. package/dist/locale/ta.min.js +1 -1
  213. package/dist/locale/ta.min.mjs +1 -1
  214. package/dist/locale/ta.mjs +1 -1
  215. package/dist/locale/th.js +1 -1
  216. package/dist/locale/th.min.js +1 -1
  217. package/dist/locale/th.min.mjs +1 -1
  218. package/dist/locale/th.mjs +1 -1
  219. package/dist/locale/tk.js +1 -1
  220. package/dist/locale/tk.min.js +1 -1
  221. package/dist/locale/tk.min.mjs +1 -1
  222. package/dist/locale/tk.mjs +1 -1
  223. package/dist/locale/tr.js +1 -1
  224. package/dist/locale/tr.min.js +1 -1
  225. package/dist/locale/tr.min.mjs +1 -1
  226. package/dist/locale/tr.mjs +1 -1
  227. package/dist/locale/ug-cn.js +1 -1
  228. package/dist/locale/ug-cn.min.js +1 -1
  229. package/dist/locale/ug-cn.min.mjs +1 -1
  230. package/dist/locale/ug-cn.mjs +1 -1
  231. package/dist/locale/uk.js +1 -1
  232. package/dist/locale/uk.min.js +1 -1
  233. package/dist/locale/uk.min.mjs +1 -1
  234. package/dist/locale/uk.mjs +1 -1
  235. package/dist/locale/uz-uz.js +1 -1
  236. package/dist/locale/uz-uz.min.js +1 -1
  237. package/dist/locale/uz-uz.min.mjs +1 -1
  238. package/dist/locale/uz-uz.mjs +1 -1
  239. package/dist/locale/vi.js +1 -1
  240. package/dist/locale/vi.min.js +1 -1
  241. package/dist/locale/vi.min.mjs +1 -1
  242. package/dist/locale/vi.mjs +1 -1
  243. package/dist/locale/zh-cn.js +1 -1
  244. package/dist/locale/zh-cn.min.js +1 -1
  245. package/dist/locale/zh-cn.min.mjs +1 -1
  246. package/dist/locale/zh-cn.mjs +1 -1
  247. package/dist/locale/zh-tw.js +1 -1
  248. package/dist/locale/zh-tw.min.js +1 -1
  249. package/dist/locale/zh-tw.min.mjs +1 -1
  250. package/dist/locale/zh-tw.mjs +1 -1
  251. package/es/components/anchor/src/anchor.d.ts +1 -0
  252. package/es/components/anchor/src/anchor.mjs +4 -0
  253. package/es/components/anchor/src/anchor.mjs.map +1 -1
  254. package/es/components/anchor/src/anchor.vue.d.ts +3 -0
  255. package/es/components/anchor/src/anchor2.mjs +1 -1
  256. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  257. package/es/components/button/index.mjs +2 -2
  258. package/es/components/button/src/button-group.mjs +1 -1
  259. package/es/components/button/src/button.mjs +56 -77
  260. package/es/components/button/src/button.mjs.map +1 -1
  261. package/es/components/button/src/button2.mjs +77 -56
  262. package/es/components/button/src/button2.mjs.map +1 -1
  263. package/es/components/color-picker/index.mjs +2 -2
  264. package/es/components/color-picker/src/color-picker.mjs +399 -40
  265. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  266. package/es/components/color-picker/src/color-picker2.mjs +40 -399
  267. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  268. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  269. package/es/components/countdown/index.mjs +2 -2
  270. package/es/components/countdown/src/countdown.mjs +79 -22
  271. package/es/components/countdown/src/countdown.mjs.map +1 -1
  272. package/es/components/countdown/src/countdown2.mjs +22 -79
  273. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  274. package/es/components/descriptions/index.mjs +2 -2
  275. package/es/components/descriptions/src/description.mjs +126 -26
  276. package/es/components/descriptions/src/description.mjs.map +1 -1
  277. package/es/components/descriptions/src/description2.mjs +26 -126
  278. package/es/components/descriptions/src/description2.mjs.map +1 -1
  279. package/es/components/dialog/src/dialog-content.mjs +87 -26
  280. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  281. package/es/components/dialog/src/dialog-content2.mjs +26 -87
  282. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  283. package/es/components/dialog/src/dialog.mjs +1 -1
  284. package/es/components/dialog/src/dialog2.mjs +1 -1
  285. package/es/components/index.mjs +6 -6
  286. package/es/components/input-tag/index.mjs +2 -2
  287. package/es/components/input-tag/src/input-tag.mjs +65 -215
  288. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  289. package/es/components/input-tag/src/input-tag2.mjs +215 -65
  290. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  291. package/es/components/menu/src/menu.mjs +3 -1
  292. package/es/components/menu/src/menu.mjs.map +1 -1
  293. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  294. package/es/components/tabs/index.mjs +2 -2
  295. package/es/components/tabs/src/tab-pane.mjs +71 -13
  296. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  297. package/es/components/tabs/src/tab-pane2.mjs +13 -71
  298. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  299. package/es/directives/click-outside/index.mjs +1 -1
  300. package/es/hooks/use-focus-controller/index.mjs +1 -1
  301. package/es/hooks/use-lockscreen/index.mjs +1 -1
  302. package/es/index.mjs +6 -6
  303. package/es/version.d.ts +1 -1
  304. package/es/version.mjs +1 -1
  305. package/es/version.mjs.map +1 -1
  306. package/lib/components/anchor/src/anchor.d.ts +1 -0
  307. package/lib/components/anchor/src/anchor.js +4 -0
  308. package/lib/components/anchor/src/anchor.js.map +1 -1
  309. package/lib/components/anchor/src/anchor.vue.d.ts +3 -0
  310. package/lib/components/anchor/src/anchor2.js +1 -1
  311. package/lib/components/anchor/src/anchor2.js.map +1 -1
  312. package/lib/components/button/index.js +2 -2
  313. package/lib/components/button/src/button-group.js +1 -1
  314. package/lib/components/button/src/button.js +59 -77
  315. package/lib/components/button/src/button.js.map +1 -1
  316. package/lib/components/button/src/button2.js +77 -59
  317. package/lib/components/button/src/button2.js.map +1 -1
  318. package/lib/components/color-picker/index.js +2 -2
  319. package/lib/components/color-picker/src/color-picker.js +397 -40
  320. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  321. package/lib/components/color-picker/src/color-picker2.js +40 -397
  322. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  323. package/lib/components/color-picker/src/components/predefine.js +1 -1
  324. package/lib/components/countdown/index.js +2 -2
  325. package/lib/components/countdown/src/countdown.js +79 -23
  326. package/lib/components/countdown/src/countdown.js.map +1 -1
  327. package/lib/components/countdown/src/countdown2.js +23 -79
  328. package/lib/components/countdown/src/countdown2.js.map +1 -1
  329. package/lib/components/descriptions/index.js +2 -2
  330. package/lib/components/descriptions/src/description.js +126 -26
  331. package/lib/components/descriptions/src/description.js.map +1 -1
  332. package/lib/components/descriptions/src/description2.js +26 -126
  333. package/lib/components/descriptions/src/description2.js.map +1 -1
  334. package/lib/components/dialog/src/dialog-content.js +86 -26
  335. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  336. package/lib/components/dialog/src/dialog-content2.js +26 -86
  337. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  338. package/lib/components/dialog/src/dialog.js +1 -1
  339. package/lib/components/dialog/src/dialog2.js +1 -1
  340. package/lib/components/index.js +6 -6
  341. package/lib/components/input-tag/index.js +2 -2
  342. package/lib/components/input-tag/src/input-tag.js +65 -214
  343. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  344. package/lib/components/input-tag/src/input-tag2.js +214 -65
  345. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  346. package/lib/components/menu/src/menu.js +3 -1
  347. package/lib/components/menu/src/menu.js.map +1 -1
  348. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  349. package/lib/components/tabs/index.js +2 -2
  350. package/lib/components/tabs/src/tab-pane.js +71 -13
  351. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  352. package/lib/components/tabs/src/tab-pane2.js +13 -71
  353. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  354. package/lib/directives/click-outside/index.js +1 -1
  355. package/lib/hooks/use-focus-controller/index.js +1 -1
  356. package/lib/hooks/use-lockscreen/index.js +1 -1
  357. package/lib/index.js +6 -6
  358. package/lib/version.d.ts +1 -1
  359. package/lib/version.js +1 -1
  360. package/lib/version.js.map +1 -1
  361. package/package.json +2 -2
  362. package/web-types.json +1 -1
@@ -1,61 +1,82 @@
1
- import { Loading } from '@element-plus/icons-vue';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
4
- import { iconPropType } from '../../../utils/vue/icon.mjs';
1
+ import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, Fragment, renderSlot, normalizeClass, createCommentVNode } from 'vue';
2
+ import { ElIcon } from '../../icon/index.mjs';
3
+ import { useButton } from './use-button.mjs';
4
+ import { buttonProps, buttonEmits } from './button.mjs';
5
+ import { useButtonCustomStyle } from './button-custom.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
5
8
 
6
- const buttonTypes = [
7
- "default",
8
- "primary",
9
- "success",
10
- "warning",
11
- "info",
12
- "danger",
13
- "text",
14
- ""
15
- ];
16
- const buttonNativeTypes = ["button", "submit", "reset"];
17
- const buttonProps = buildProps({
18
- size: useSizeProp,
19
- disabled: Boolean,
20
- type: {
21
- type: String,
22
- values: buttonTypes,
23
- default: ""
24
- },
25
- icon: {
26
- type: iconPropType
27
- },
28
- nativeType: {
29
- type: String,
30
- values: buttonNativeTypes,
31
- default: "button"
32
- },
33
- loading: Boolean,
34
- loadingIcon: {
35
- type: iconPropType,
36
- default: () => Loading
37
- },
38
- plain: Boolean,
39
- text: Boolean,
40
- link: Boolean,
41
- bg: Boolean,
42
- autofocus: Boolean,
43
- round: Boolean,
44
- circle: Boolean,
45
- color: String,
46
- dark: Boolean,
47
- autoInsertSpace: {
48
- type: Boolean,
49
- default: void 0
50
- },
51
- tag: {
52
- type: definePropType([String, Object]),
53
- default: "button"
9
+ const __default__ = defineComponent({
10
+ name: "ElButton"
11
+ });
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ ...__default__,
14
+ props: buttonProps,
15
+ emits: buttonEmits,
16
+ setup(__props, { expose, emit }) {
17
+ const props = __props;
18
+ const buttonStyle = useButtonCustomStyle(props);
19
+ const ns = useNamespace("button");
20
+ const { _ref, _size, _type, _disabled, _props, shouldAddSpace, handleClick } = useButton(props, emit);
21
+ const buttonKls = computed(() => [
22
+ ns.b(),
23
+ ns.m(_type.value),
24
+ ns.m(_size.value),
25
+ ns.is("disabled", _disabled.value),
26
+ ns.is("loading", props.loading),
27
+ ns.is("plain", props.plain),
28
+ ns.is("round", props.round),
29
+ ns.is("circle", props.circle),
30
+ ns.is("text", props.text),
31
+ ns.is("link", props.link),
32
+ ns.is("has-bg", props.bg)
33
+ ]);
34
+ expose({
35
+ ref: _ref,
36
+ size: _size,
37
+ type: _type,
38
+ disabled: _disabled,
39
+ shouldAddSpace
40
+ });
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({
43
+ ref_key: "_ref",
44
+ ref: _ref
45
+ }, unref(_props), {
46
+ class: unref(buttonKls),
47
+ style: unref(buttonStyle),
48
+ onClick: unref(handleClick)
49
+ }), {
50
+ default: withCtx(() => [
51
+ _ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
52
+ _ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }) : (openBlock(), createBlock(unref(ElIcon), {
53
+ key: 1,
54
+ class: normalizeClass(unref(ns).is("loading"))
55
+ }, {
56
+ default: withCtx(() => [
57
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.loadingIcon)))
58
+ ]),
59
+ _: 1
60
+ }, 8, ["class"]))
61
+ ], 64)) : _ctx.icon || _ctx.$slots.icon ? (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
62
+ default: withCtx(() => [
63
+ _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : renderSlot(_ctx.$slots, "icon", { key: 1 })
64
+ ]),
65
+ _: 3
66
+ })) : createCommentVNode("v-if", true),
67
+ _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
68
+ key: 2,
69
+ class: normalizeClass({ [unref(ns).em("text", "expand")]: unref(shouldAddSpace) })
70
+ }, [
71
+ renderSlot(_ctx.$slots, "default")
72
+ ], 2)) : createCommentVNode("v-if", true)
73
+ ]),
74
+ _: 3
75
+ }, 16, ["class", "style", "onClick"]);
76
+ };
54
77
  }
55
78
  });
56
- const buttonEmits = {
57
- click: (evt) => evt instanceof MouseEvent
58
- };
79
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "button.vue"]]);
59
80
 
60
- export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes };
81
+ export { Button as default };
61
82
  //# sourceMappingURL=button2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button2.mjs","sources":["../../../../../../packages/components/button/src/button.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { Loading } from '@element-plus/icons-vue'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const buttonTypes = [\n 'default',\n 'primary',\n 'success',\n 'warning',\n 'info',\n 'danger',\n /**\n * @deprecated\n * Text type will be deprecated in the next major version (3.0.0)\n */\n 'text',\n '',\n] as const\nexport const buttonNativeTypes = ['button', 'submit', 'reset'] as const\n\nexport const buttonProps = buildProps({\n /**\n * @description button size\n */\n size: useSizeProp,\n /**\n * @description disable the button\n */\n disabled: Boolean,\n /**\n * @description button type\n */\n type: {\n type: String,\n values: buttonTypes,\n default: '',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description native button type\n */\n nativeType: {\n type: String,\n values: buttonNativeTypes,\n default: 'button',\n },\n /**\n * @description determine whether it's loading\n */\n loading: Boolean,\n /**\n * @description customize loading icon component\n */\n loadingIcon: {\n type: iconPropType,\n default: () => Loading,\n },\n /**\n * @description determine whether it's a plain button\n */\n plain: Boolean,\n /**\n * @description determine whether it's a text button\n */\n text: Boolean,\n /**\n * @description determine whether it's a link button\n */\n link: Boolean,\n /**\n * @description determine whether the text button background color is always on\n */\n bg: Boolean,\n /**\n * @description native button autofocus\n */\n autofocus: Boolean,\n /**\n * @description determine whether it's a round button\n */\n round: Boolean,\n /**\n * @description determine whether it's a circle button\n */\n circle: Boolean,\n /**\n * @description custom button color, automatically calculate `hover` and `active` color\n */\n color: String,\n /**\n * @description dark mode, which automatically converts `color` to dark mode colors\n */\n dark: Boolean,\n /**\n * @description automatically insert a space between two chinese characters\n */\n autoInsertSpace: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description custom element tag\n */\n tag: {\n type: definePropType<string | Component>([String, Object]),\n default: 'button',\n },\n} as const)\nexport const buttonEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type ButtonProps = ExtractPropTypes<typeof buttonProps>\nexport type ButtonEmits = typeof buttonEmits\n\nexport type ButtonType = ButtonProps['type']\nexport type ButtonNativeType = ButtonProps['nativeType']\n\nexport interface ButtonConfigContext {\n autoInsertSpace?: boolean\n}\n"],"names":[],"mappings":";;;;;AAGY,MAAC,WAAW,GAAG;AAC3B,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE;AACU,MAAC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;AACnD,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,iBAAiB;AAC7B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO,EAAE,MAAM,OAAO;AAC1B,GAAG;AACH,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;"}
1
+ {"version":3,"file":"button2.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n ref=\"_ref\"\n v-bind=\"_props\"\n :class=\"buttonKls\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\" />\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon || $slots.icon\">\n <component :is=\"icon\" v-if=\"icon\" />\n <slot v-else name=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot />\n </span>\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useButton } from './use-button'\nimport { buttonEmits, buttonProps } from './button'\nimport { useButtonCustomStyle } from './button-custom'\n\ndefineOptions({\n name: 'ElButton',\n})\n\nconst props = defineProps(buttonProps)\nconst emit = defineEmits(buttonEmits)\n\nconst buttonStyle = useButtonCustomStyle(props)\nconst ns = useNamespace('button')\nconst { _ref, _size, _type, _disabled, _props, shouldAddSpace, handleClick } =\n useButton(props, emit)\nconst buttonKls = computed(() => [\n ns.b(),\n ns.m(_type.value),\n ns.m(_size.value),\n ns.is('disabled', _disabled.value),\n ns.is('loading', props.loading),\n ns.is('plain', props.plain),\n ns.is('round', props.round),\n ns.is('circle', props.circle),\n ns.is('text', props.text),\n ns.is('link', props.link),\n ns.is('has-bg', props.bg),\n])\n\ndefineExpose({\n /** @description button html element */\n ref: _ref,\n /** @description button size */\n size: _size,\n /** @description button type */\n type: _type,\n /** @description button disabled */\n disabled: _disabled,\n /** @description whether adding space */\n shouldAddSpace,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_unref"],"mappings":";;;;;;;;mCAoCc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,WAAA,GAAc,qBAAqB,KAAK,CAAA,CAAA;AAC9C,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,EAAE,IAAM,EAAA,KAAA,EAAO,KAAO,EAAA,SAAA,EAAW,MAAQ,EAAA,cAAA,EAAgB,WAAY,EAAA,GACzE,SAAU,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AACvB,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAAA,MAC/B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAChB,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAChB,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MACjC,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,KAAA,CAAM,OAAO,CAAA;AAAA,MAC9B,EAAG,CAAA,EAAA,CAAG,OAAS,EAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC1B,EAAG,CAAA,EAAA,CAAG,OAAS,EAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC1B,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,KAAA,CAAM,MAAM,CAAA;AAAA,MAC5B,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACxB,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACxB,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,KAAA,CAAM,EAAE,CAAA;AAAA,KACzB,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAAA,GAAA,EAAA,IAAA;AAAA,MAEX,IAAK,EAAA,KAAA;AAAA,MAAA,IAAA,EAAA,KAAA;AAAA,MAEL,QAAM,EAAA,SAAA;AAAA,MAAA,cAAA;AAAA,KAAA,CAEN,CAAM;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAEN,OAAUA,SAAA,EAAA,EAAAC,WAAA,CAAAC,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,EAAAC,UAAA,CAAA;AAAA,QAAA,OAAA,EAAA,MAAA;AAAA,QAEV,GAAA,EAAA,IAAA;AAAA,OACD,EAAAC,KAAA,CAAA,MAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
- import ColorPicker from './src/color-picker2.mjs';
2
- export { colorPickerContextKey, colorPickerEmits, colorPickerProps } from './src/color-picker.mjs';
1
+ import ColorPicker from './src/color-picker.mjs';
2
+ export { colorPickerContextKey, colorPickerEmits, colorPickerProps } from './src/color-picker2.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElColorPicker = withInstall(ColorPicker);
@@ -1,44 +1,403 @@
1
- import { isNil } from 'lodash-unified';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
4
- import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
5
- import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
6
- import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
7
- import { isString } from '@vue/shared';
1
+ import { defineComponent, ref, reactive, computed, onMounted, watch, nextTick, provide, openBlock, createBlock, unref, withCtx, withDirectives, createElementBlock, withKeys, createElementVNode, normalizeClass, createVNode, createCommentVNode, createTextVNode, toDisplayString, mergeProps, normalizeStyle, vShow } from 'vue';
2
+ import { debounce } from 'lodash-unified';
3
+ import { ElButton } from '../../button/index.mjs';
4
+ import { ElIcon } from '../../icon/index.mjs';
5
+ import { ElTooltip } from '../../tooltip/index.mjs';
6
+ import { ElInput } from '../../input/index.mjs';
7
+ import { ArrowDown, Close } from '@element-plus/icons-vue';
8
+ import AlphaSlider from './components/alpha-slider.mjs';
9
+ import HueSlider from './components/hue-slider.mjs';
10
+ import Predefine from './components/predefine.mjs';
11
+ import SvPanel from './components/sv-panel.mjs';
12
+ import Color from './utils/color.mjs';
13
+ import { colorPickerProps, colorPickerEmits, colorPickerContextKey } from './color-picker2.mjs';
14
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
15
+ import ClickOutside from '../../../directives/click-outside/index.mjs';
16
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
17
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
18
+ import { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';
19
+ import { useFormSize, useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
20
+ import { useFocusController } from '../../../hooks/use-focus-controller/index.mjs';
21
+ import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
22
+ import { debugWarn } from '../../../utils/error.mjs';
23
+ import { EVENT_CODE } from '../../../constants/aria.mjs';
8
24
 
9
- const colorPickerProps = buildProps({
10
- modelValue: String,
11
- id: String,
12
- showAlpha: Boolean,
13
- colorFormat: String,
14
- disabled: Boolean,
15
- size: useSizeProp,
16
- popperClass: {
17
- type: String,
18
- default: ""
19
- },
20
- tabindex: {
21
- type: [String, Number],
22
- default: 0
23
- },
24
- teleported: useTooltipContentProps.teleported,
25
- predefine: {
26
- type: definePropType(Array)
27
- },
28
- validateEvent: {
29
- type: Boolean,
30
- default: true
31
- },
32
- ...useAriaProps(["ariaLabel"])
25
+ const __default__ = defineComponent({
26
+ name: "ElColorPicker"
33
27
  });
34
- const colorPickerEmits = {
35
- [UPDATE_MODEL_EVENT]: (val) => isString(val) || isNil(val),
36
- [CHANGE_EVENT]: (val) => isString(val) || isNil(val),
37
- activeChange: (val) => isString(val) || isNil(val),
38
- focus: (evt) => evt instanceof FocusEvent,
39
- blur: (evt) => evt instanceof FocusEvent
40
- };
41
- const colorPickerContextKey = Symbol("colorPickerContextKey");
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ ...__default__,
30
+ props: colorPickerProps,
31
+ emits: colorPickerEmits,
32
+ setup(__props, { expose, emit }) {
33
+ const props = __props;
34
+ const { t } = useLocale();
35
+ const ns = useNamespace("color");
36
+ const { formItem } = useFormItem();
37
+ const colorSize = useFormSize();
38
+ const colorDisabled = useFormDisabled();
39
+ const { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {
40
+ formItemContext: formItem
41
+ });
42
+ const hue = ref();
43
+ const sv = ref();
44
+ const alpha = ref();
45
+ const popper = ref();
46
+ const triggerRef = ref();
47
+ const inputRef = ref();
48
+ const { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {
49
+ beforeFocus() {
50
+ return colorDisabled.value;
51
+ },
52
+ beforeBlur(event) {
53
+ var _a;
54
+ return (_a = popper.value) == null ? void 0 : _a.isFocusInsideContent(event);
55
+ },
56
+ afterBlur() {
57
+ setShowPicker(false);
58
+ resetColor();
59
+ }
60
+ });
61
+ let shouldActiveChange = true;
62
+ const color = reactive(new Color({
63
+ enableAlpha: props.showAlpha,
64
+ format: props.colorFormat || "",
65
+ value: props.modelValue
66
+ }));
67
+ const showPicker = ref(false);
68
+ const showPanelColor = ref(false);
69
+ const customInput = ref("");
70
+ const displayedColor = computed(() => {
71
+ if (!props.modelValue && !showPanelColor.value) {
72
+ return "transparent";
73
+ }
74
+ return displayedRgb(color, props.showAlpha);
75
+ });
76
+ const currentColor = computed(() => {
77
+ return !props.modelValue && !showPanelColor.value ? "" : color.value;
78
+ });
79
+ const buttonAriaLabel = computed(() => {
80
+ return !isLabeledByFormItem.value ? props.ariaLabel || t("el.colorpicker.defaultLabel") : void 0;
81
+ });
82
+ const buttonAriaLabelledby = computed(() => {
83
+ return isLabeledByFormItem.value ? formItem == null ? void 0 : formItem.labelId : void 0;
84
+ });
85
+ const btnKls = computed(() => {
86
+ return [
87
+ ns.b("picker"),
88
+ ns.is("disabled", colorDisabled.value),
89
+ ns.bm("picker", colorSize.value),
90
+ ns.is("focused", isFocused.value)
91
+ ];
92
+ });
93
+ function displayedRgb(color2, showAlpha) {
94
+ if (!(color2 instanceof Color)) {
95
+ throw new TypeError("color should be instance of _color Class");
96
+ }
97
+ const { r, g, b } = color2.toRgb();
98
+ return showAlpha ? `rgba(${r}, ${g}, ${b}, ${color2.get("alpha") / 100})` : `rgb(${r}, ${g}, ${b})`;
99
+ }
100
+ function setShowPicker(value) {
101
+ showPicker.value = value;
102
+ }
103
+ const debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true });
104
+ function show() {
105
+ if (colorDisabled.value)
106
+ return;
107
+ setShowPicker(true);
108
+ }
109
+ function hide() {
110
+ debounceSetShowPicker(false);
111
+ resetColor();
112
+ }
113
+ function resetColor() {
114
+ nextTick(() => {
115
+ if (props.modelValue) {
116
+ color.fromString(props.modelValue);
117
+ } else {
118
+ color.value = "";
119
+ nextTick(() => {
120
+ showPanelColor.value = false;
121
+ });
122
+ }
123
+ });
124
+ }
125
+ function handleTrigger() {
126
+ if (colorDisabled.value)
127
+ return;
128
+ debounceSetShowPicker(!showPicker.value);
129
+ }
130
+ function handleConfirm() {
131
+ color.fromString(customInput.value);
132
+ }
133
+ function confirmValue() {
134
+ const value = color.value;
135
+ emit(UPDATE_MODEL_EVENT, value);
136
+ emit("change", value);
137
+ if (props.validateEvent) {
138
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
139
+ }
140
+ debounceSetShowPicker(false);
141
+ nextTick(() => {
142
+ const newColor = new Color({
143
+ enableAlpha: props.showAlpha,
144
+ format: props.colorFormat || "",
145
+ value: props.modelValue
146
+ });
147
+ if (!color.compare(newColor)) {
148
+ resetColor();
149
+ }
150
+ });
151
+ }
152
+ function clear() {
153
+ debounceSetShowPicker(false);
154
+ emit(UPDATE_MODEL_EVENT, null);
155
+ emit("change", null);
156
+ if (props.modelValue !== null && props.validateEvent) {
157
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
158
+ }
159
+ resetColor();
160
+ }
161
+ function handleClickOutside() {
162
+ if (!showPicker.value)
163
+ return;
164
+ hide();
165
+ isFocused.value && focus();
166
+ }
167
+ function handleEsc(event) {
168
+ event.preventDefault();
169
+ event.stopPropagation();
170
+ setShowPicker(false);
171
+ resetColor();
172
+ }
173
+ function handleKeyDown(event) {
174
+ switch (event.code) {
175
+ case EVENT_CODE.enter:
176
+ case EVENT_CODE.numpadEnter:
177
+ case EVENT_CODE.space:
178
+ event.preventDefault();
179
+ event.stopPropagation();
180
+ show();
181
+ inputRef.value.focus();
182
+ break;
183
+ case EVENT_CODE.esc:
184
+ handleEsc(event);
185
+ break;
186
+ }
187
+ }
188
+ function focus() {
189
+ triggerRef.value.focus();
190
+ }
191
+ function blur() {
192
+ triggerRef.value.blur();
193
+ }
194
+ onMounted(() => {
195
+ if (props.modelValue) {
196
+ customInput.value = currentColor.value;
197
+ }
198
+ });
199
+ watch(() => props.modelValue, (newVal) => {
200
+ if (!newVal) {
201
+ showPanelColor.value = false;
202
+ } else if (newVal && newVal !== color.value) {
203
+ shouldActiveChange = false;
204
+ color.fromString(newVal);
205
+ }
206
+ });
207
+ watch(() => [props.colorFormat, props.showAlpha], () => {
208
+ color.enableAlpha = props.showAlpha;
209
+ color.format = props.colorFormat || color.format;
210
+ color.doOnChange();
211
+ emit(UPDATE_MODEL_EVENT, color.value);
212
+ });
213
+ watch(() => currentColor.value, (val) => {
214
+ customInput.value = val;
215
+ shouldActiveChange && emit("activeChange", val);
216
+ shouldActiveChange = true;
217
+ });
218
+ watch(() => color.value, () => {
219
+ if (!props.modelValue && !showPanelColor.value) {
220
+ showPanelColor.value = true;
221
+ }
222
+ });
223
+ watch(() => showPicker.value, () => {
224
+ nextTick(() => {
225
+ var _a, _b, _c;
226
+ (_a = hue.value) == null ? void 0 : _a.update();
227
+ (_b = sv.value) == null ? void 0 : _b.update();
228
+ (_c = alpha.value) == null ? void 0 : _c.update();
229
+ });
230
+ });
231
+ provide(colorPickerContextKey, {
232
+ currentColor
233
+ });
234
+ expose({
235
+ color,
236
+ show,
237
+ hide,
238
+ focus,
239
+ blur
240
+ });
241
+ return (_ctx, _cache) => {
242
+ return openBlock(), createBlock(unref(ElTooltip), {
243
+ ref_key: "popper",
244
+ ref: popper,
245
+ visible: showPicker.value,
246
+ "show-arrow": false,
247
+ "fallback-placements": ["bottom", "top", "right", "left"],
248
+ offset: 0,
249
+ "gpu-acceleration": false,
250
+ "popper-class": [unref(ns).be("picker", "panel"), unref(ns).b("dropdown"), _ctx.popperClass],
251
+ "stop-popper-mouse-event": false,
252
+ effect: "light",
253
+ trigger: "click",
254
+ teleported: _ctx.teleported,
255
+ transition: `${unref(ns).namespace.value}-zoom-in-top`,
256
+ persistent: "",
257
+ onHide: ($event) => setShowPicker(false)
258
+ }, {
259
+ content: withCtx(() => [
260
+ withDirectives((openBlock(), createElementBlock("div", {
261
+ onKeydown: withKeys(handleEsc, ["esc"])
262
+ }, [
263
+ createElementVNode("div", {
264
+ class: normalizeClass(unref(ns).be("dropdown", "main-wrapper"))
265
+ }, [
266
+ createVNode(HueSlider, {
267
+ ref_key: "hue",
268
+ ref: hue,
269
+ class: "hue-slider",
270
+ color: unref(color),
271
+ vertical: ""
272
+ }, null, 8, ["color"]),
273
+ createVNode(SvPanel, {
274
+ ref_key: "sv",
275
+ ref: sv,
276
+ color: unref(color)
277
+ }, null, 8, ["color"])
278
+ ], 2),
279
+ _ctx.showAlpha ? (openBlock(), createBlock(AlphaSlider, {
280
+ key: 0,
281
+ ref_key: "alpha",
282
+ ref: alpha,
283
+ color: unref(color)
284
+ }, null, 8, ["color"])) : createCommentVNode("v-if", true),
285
+ _ctx.predefine ? (openBlock(), createBlock(Predefine, {
286
+ key: 1,
287
+ ref: "predefine",
288
+ "enable-alpha": _ctx.showAlpha,
289
+ color: unref(color),
290
+ colors: _ctx.predefine
291
+ }, null, 8, ["enable-alpha", "color", "colors"])) : createCommentVNode("v-if", true),
292
+ createElementVNode("div", {
293
+ class: normalizeClass(unref(ns).be("dropdown", "btns"))
294
+ }, [
295
+ createElementVNode("span", {
296
+ class: normalizeClass(unref(ns).be("dropdown", "value"))
297
+ }, [
298
+ createVNode(unref(ElInput), {
299
+ ref_key: "inputRef",
300
+ ref: inputRef,
301
+ modelValue: customInput.value,
302
+ "onUpdate:modelValue": ($event) => customInput.value = $event,
303
+ "validate-event": false,
304
+ size: "small",
305
+ onKeyup: withKeys(handleConfirm, ["enter"]),
306
+ onBlur: handleConfirm
307
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onKeyup"])
308
+ ], 2),
309
+ createVNode(unref(ElButton), {
310
+ class: normalizeClass(unref(ns).be("dropdown", "link-btn")),
311
+ text: "",
312
+ size: "small",
313
+ onClick: clear
314
+ }, {
315
+ default: withCtx(() => [
316
+ createTextVNode(toDisplayString(unref(t)("el.colorpicker.clear")), 1)
317
+ ]),
318
+ _: 1
319
+ }, 8, ["class"]),
320
+ createVNode(unref(ElButton), {
321
+ plain: "",
322
+ size: "small",
323
+ class: normalizeClass(unref(ns).be("dropdown", "btn")),
324
+ onClick: confirmValue
325
+ }, {
326
+ default: withCtx(() => [
327
+ createTextVNode(toDisplayString(unref(t)("el.colorpicker.confirm")), 1)
328
+ ]),
329
+ _: 1
330
+ }, 8, ["class"])
331
+ ], 2)
332
+ ], 40, ["onKeydown"])), [
333
+ [unref(ClickOutside), handleClickOutside]
334
+ ])
335
+ ]),
336
+ default: withCtx(() => [
337
+ createElementVNode("div", mergeProps({
338
+ id: unref(buttonId),
339
+ ref_key: "triggerRef",
340
+ ref: triggerRef
341
+ }, _ctx.$attrs, {
342
+ class: unref(btnKls),
343
+ role: "button",
344
+ "aria-label": unref(buttonAriaLabel),
345
+ "aria-labelledby": unref(buttonAriaLabelledby),
346
+ "aria-description": unref(t)("el.colorpicker.description", { color: _ctx.modelValue || "" }),
347
+ "aria-disabled": unref(colorDisabled),
348
+ tabindex: unref(colorDisabled) ? -1 : _ctx.tabindex,
349
+ onKeydown: handleKeyDown,
350
+ onFocus: unref(handleFocus),
351
+ onBlur: unref(handleBlur)
352
+ }), [
353
+ unref(colorDisabled) ? (openBlock(), createElementBlock("div", {
354
+ key: 0,
355
+ class: normalizeClass(unref(ns).be("picker", "mask"))
356
+ }, null, 2)) : createCommentVNode("v-if", true),
357
+ createElementVNode("div", {
358
+ class: normalizeClass(unref(ns).be("picker", "trigger")),
359
+ onClick: handleTrigger
360
+ }, [
361
+ createElementVNode("span", {
362
+ class: normalizeClass([unref(ns).be("picker", "color"), unref(ns).is("alpha", _ctx.showAlpha)])
363
+ }, [
364
+ createElementVNode("span", {
365
+ class: normalizeClass(unref(ns).be("picker", "color-inner")),
366
+ style: normalizeStyle({
367
+ backgroundColor: unref(displayedColor)
368
+ })
369
+ }, [
370
+ withDirectives(createVNode(unref(ElIcon), {
371
+ class: normalizeClass([unref(ns).be("picker", "icon"), unref(ns).is("icon-arrow-down")])
372
+ }, {
373
+ default: withCtx(() => [
374
+ createVNode(unref(ArrowDown))
375
+ ]),
376
+ _: 1
377
+ }, 8, ["class"]), [
378
+ [vShow, _ctx.modelValue || showPanelColor.value]
379
+ ]),
380
+ withDirectives(createVNode(unref(ElIcon), {
381
+ class: normalizeClass([unref(ns).be("picker", "empty"), unref(ns).is("icon-close")])
382
+ }, {
383
+ default: withCtx(() => [
384
+ createVNode(unref(Close))
385
+ ]),
386
+ _: 1
387
+ }, 8, ["class"]), [
388
+ [vShow, !_ctx.modelValue && !showPanelColor.value]
389
+ ])
390
+ ], 6)
391
+ ], 2)
392
+ ], 2)
393
+ ], 16, ["id", "aria-label", "aria-labelledby", "aria-description", "aria-disabled", "tabindex", "onFocus", "onBlur"])
394
+ ]),
395
+ _: 1
396
+ }, 8, ["visible", "popper-class", "teleported", "transition", "onHide"]);
397
+ };
398
+ }
399
+ });
400
+ var ColorPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "color-picker.vue"]]);
42
401
 
43
- export { colorPickerContextKey, colorPickerEmits, colorPickerProps };
402
+ export { ColorPicker as default };
44
403
  //# sourceMappingURL=color-picker.mjs.map