@element-plus/nightly 0.0.20240830 → 0.0.20240901

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 (361) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +58 -5
  3. package/dist/index.full.min.js +13 -13
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +19 -19
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +58 -5
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hr.js +1 -1
  93. package/dist/locale/hr.min.js +1 -1
  94. package/dist/locale/hr.min.mjs +1 -1
  95. package/dist/locale/hr.mjs +1 -1
  96. package/dist/locale/hu.js +1 -1
  97. package/dist/locale/hu.min.js +1 -1
  98. package/dist/locale/hu.min.mjs +1 -1
  99. package/dist/locale/hu.mjs +1 -1
  100. package/dist/locale/hy-am.js +1 -1
  101. package/dist/locale/hy-am.min.js +1 -1
  102. package/dist/locale/hy-am.min.mjs +1 -1
  103. package/dist/locale/hy-am.mjs +1 -1
  104. package/dist/locale/id.js +1 -1
  105. package/dist/locale/id.min.js +1 -1
  106. package/dist/locale/id.min.mjs +1 -1
  107. package/dist/locale/id.mjs +1 -1
  108. package/dist/locale/it.js +1 -1
  109. package/dist/locale/it.min.js +1 -1
  110. package/dist/locale/it.min.mjs +1 -1
  111. package/dist/locale/it.mjs +1 -1
  112. package/dist/locale/ja.js +1 -1
  113. package/dist/locale/ja.min.js +1 -1
  114. package/dist/locale/ja.min.mjs +1 -1
  115. package/dist/locale/ja.mjs +1 -1
  116. package/dist/locale/kk.js +1 -1
  117. package/dist/locale/kk.min.js +1 -1
  118. package/dist/locale/kk.min.mjs +1 -1
  119. package/dist/locale/kk.mjs +1 -1
  120. package/dist/locale/km.js +1 -1
  121. package/dist/locale/km.min.js +1 -1
  122. package/dist/locale/km.min.mjs +1 -1
  123. package/dist/locale/km.mjs +1 -1
  124. package/dist/locale/ko.js +1 -1
  125. package/dist/locale/ko.min.js +1 -1
  126. package/dist/locale/ko.min.mjs +1 -1
  127. package/dist/locale/ko.mjs +1 -1
  128. package/dist/locale/ku.js +1 -1
  129. package/dist/locale/ku.min.js +1 -1
  130. package/dist/locale/ku.min.mjs +1 -1
  131. package/dist/locale/ku.mjs +1 -1
  132. package/dist/locale/ky.js +1 -1
  133. package/dist/locale/ky.min.js +1 -1
  134. package/dist/locale/ky.min.mjs +1 -1
  135. package/dist/locale/ky.mjs +1 -1
  136. package/dist/locale/lt.js +1 -1
  137. package/dist/locale/lt.min.js +1 -1
  138. package/dist/locale/lt.min.mjs +1 -1
  139. package/dist/locale/lt.mjs +1 -1
  140. package/dist/locale/lv.js +1 -1
  141. package/dist/locale/lv.min.js +1 -1
  142. package/dist/locale/lv.min.mjs +1 -1
  143. package/dist/locale/lv.mjs +1 -1
  144. package/dist/locale/mg.js +1 -1
  145. package/dist/locale/mg.min.js +1 -1
  146. package/dist/locale/mg.min.mjs +1 -1
  147. package/dist/locale/mg.mjs +1 -1
  148. package/dist/locale/mn.js +1 -1
  149. package/dist/locale/mn.min.js +1 -1
  150. package/dist/locale/mn.min.mjs +1 -1
  151. package/dist/locale/mn.mjs +1 -1
  152. package/dist/locale/my.js +1 -1
  153. package/dist/locale/my.min.js +1 -1
  154. package/dist/locale/my.min.mjs +1 -1
  155. package/dist/locale/my.mjs +1 -1
  156. package/dist/locale/nb-no.js +1 -1
  157. package/dist/locale/nb-no.min.js +1 -1
  158. package/dist/locale/nb-no.min.mjs +1 -1
  159. package/dist/locale/nb-no.mjs +1 -1
  160. package/dist/locale/nl.js +1 -1
  161. package/dist/locale/nl.min.js +1 -1
  162. package/dist/locale/nl.min.mjs +1 -1
  163. package/dist/locale/nl.mjs +1 -1
  164. package/dist/locale/pa.js +1 -1
  165. package/dist/locale/pa.min.js +1 -1
  166. package/dist/locale/pa.min.mjs +1 -1
  167. package/dist/locale/pa.mjs +1 -1
  168. package/dist/locale/pl.js +1 -1
  169. package/dist/locale/pl.min.js +1 -1
  170. package/dist/locale/pl.min.mjs +1 -1
  171. package/dist/locale/pl.mjs +1 -1
  172. package/dist/locale/pt-br.js +1 -1
  173. package/dist/locale/pt-br.min.js +1 -1
  174. package/dist/locale/pt-br.min.mjs +1 -1
  175. package/dist/locale/pt-br.mjs +1 -1
  176. package/dist/locale/pt.js +1 -1
  177. package/dist/locale/pt.min.js +1 -1
  178. package/dist/locale/pt.min.mjs +1 -1
  179. package/dist/locale/pt.mjs +1 -1
  180. package/dist/locale/ro.js +1 -1
  181. package/dist/locale/ro.min.js +1 -1
  182. package/dist/locale/ro.min.mjs +1 -1
  183. package/dist/locale/ro.mjs +1 -1
  184. package/dist/locale/ru.js +1 -1
  185. package/dist/locale/ru.min.js +1 -1
  186. package/dist/locale/ru.min.mjs +1 -1
  187. package/dist/locale/ru.mjs +1 -1
  188. package/dist/locale/sk.js +1 -1
  189. package/dist/locale/sk.min.js +1 -1
  190. package/dist/locale/sk.min.mjs +1 -1
  191. package/dist/locale/sk.mjs +1 -1
  192. package/dist/locale/sl.js +1 -1
  193. package/dist/locale/sl.min.js +1 -1
  194. package/dist/locale/sl.min.mjs +1 -1
  195. package/dist/locale/sl.mjs +1 -1
  196. package/dist/locale/sr.js +1 -1
  197. package/dist/locale/sr.min.js +1 -1
  198. package/dist/locale/sr.min.mjs +1 -1
  199. package/dist/locale/sr.mjs +1 -1
  200. package/dist/locale/sv.js +1 -1
  201. package/dist/locale/sv.min.js +1 -1
  202. package/dist/locale/sv.min.mjs +1 -1
  203. package/dist/locale/sv.mjs +1 -1
  204. package/dist/locale/sw.js +1 -1
  205. package/dist/locale/sw.min.js +1 -1
  206. package/dist/locale/sw.min.mjs +1 -1
  207. package/dist/locale/sw.mjs +1 -1
  208. package/dist/locale/ta.js +1 -1
  209. package/dist/locale/ta.min.js +1 -1
  210. package/dist/locale/ta.min.mjs +1 -1
  211. package/dist/locale/ta.mjs +1 -1
  212. package/dist/locale/th.js +1 -1
  213. package/dist/locale/th.min.js +1 -1
  214. package/dist/locale/th.min.mjs +1 -1
  215. package/dist/locale/th.mjs +1 -1
  216. package/dist/locale/tk.js +1 -1
  217. package/dist/locale/tk.min.js +1 -1
  218. package/dist/locale/tk.min.mjs +1 -1
  219. package/dist/locale/tk.mjs +1 -1
  220. package/dist/locale/tr.js +1 -1
  221. package/dist/locale/tr.min.js +1 -1
  222. package/dist/locale/tr.min.mjs +1 -1
  223. package/dist/locale/tr.mjs +1 -1
  224. package/dist/locale/ug-cn.js +1 -1
  225. package/dist/locale/ug-cn.min.js +1 -1
  226. package/dist/locale/ug-cn.min.mjs +1 -1
  227. package/dist/locale/ug-cn.mjs +1 -1
  228. package/dist/locale/uk.js +1 -1
  229. package/dist/locale/uk.min.js +1 -1
  230. package/dist/locale/uk.min.mjs +1 -1
  231. package/dist/locale/uk.mjs +1 -1
  232. package/dist/locale/uz-uz.js +1 -1
  233. package/dist/locale/uz-uz.min.js +1 -1
  234. package/dist/locale/uz-uz.min.mjs +1 -1
  235. package/dist/locale/uz-uz.mjs +1 -1
  236. package/dist/locale/vi.js +1 -1
  237. package/dist/locale/vi.min.js +1 -1
  238. package/dist/locale/vi.min.mjs +1 -1
  239. package/dist/locale/vi.mjs +1 -1
  240. package/dist/locale/zh-cn.js +1 -1
  241. package/dist/locale/zh-cn.min.js +1 -1
  242. package/dist/locale/zh-cn.min.mjs +1 -1
  243. package/dist/locale/zh-cn.mjs +1 -1
  244. package/dist/locale/zh-tw.js +1 -1
  245. package/dist/locale/zh-tw.min.js +1 -1
  246. package/dist/locale/zh-tw.min.mjs +1 -1
  247. package/dist/locale/zh-tw.mjs +1 -1
  248. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  249. package/es/components/backtop/index.mjs +2 -2
  250. package/es/components/backtop/src/backtop.mjs +54 -21
  251. package/es/components/backtop/src/backtop.mjs.map +1 -1
  252. package/es/components/backtop/src/backtop2.mjs +21 -54
  253. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  254. package/es/components/date-picker/src/date-picker.d.ts +1 -1
  255. package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
  256. package/es/components/index.mjs +5 -5
  257. package/es/components/input/src/input.vue.d.ts +1 -1
  258. package/es/components/input/src/input2.mjs +3 -0
  259. package/es/components/input/src/input2.mjs.map +1 -1
  260. package/es/components/mention/src/mention.vue.d.ts +4 -4
  261. package/es/components/mention/src/mention2.mjs +3 -0
  262. package/es/components/mention/src/mention2.mjs.map +1 -1
  263. package/es/components/message/src/message.d.ts +4 -0
  264. package/es/components/message/src/message.mjs.map +1 -1
  265. package/es/components/message/src/method.mjs +14 -2
  266. package/es/components/message/src/method.mjs.map +1 -1
  267. package/es/components/popover/src/popover.vue.d.ts +1 -1
  268. package/es/components/popper/index.mjs +2 -2
  269. package/es/components/popper/src/trigger.mjs +31 -129
  270. package/es/components/popper/src/trigger.mjs.map +1 -1
  271. package/es/components/popper/src/trigger2.mjs +129 -31
  272. package/es/components/popper/src/trigger2.mjs.map +1 -1
  273. package/es/components/select/src/useSelect.mjs +3 -0
  274. package/es/components/select/src/useSelect.mjs.map +1 -1
  275. package/es/components/select-v2/src/useSelect.mjs +3 -0
  276. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  277. package/es/components/switch/index.mjs +2 -2
  278. package/es/components/switch/src/switch.mjs +229 -72
  279. package/es/components/switch/src/switch.mjs.map +1 -1
  280. package/es/components/switch/src/switch2.mjs +72 -229
  281. package/es/components/switch/src/switch2.mjs.map +1 -1
  282. package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
  283. package/es/components/time-picker/src/time-picker.d.ts +1 -1
  284. package/es/components/tooltip/index.mjs +2 -2
  285. package/es/components/tooltip/src/tooltip.mjs +31 -168
  286. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  287. package/es/components/tooltip/src/tooltip2.mjs +168 -31
  288. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  289. package/es/components/tooltip/src/trigger.mjs +1 -1
  290. package/es/components/tooltip/src/trigger2.mjs +1 -1
  291. package/es/components/tree/src/tree-node.mjs +3 -2
  292. package/es/components/tree/src/tree-node.mjs.map +1 -1
  293. package/es/components/tree-select/src/tree.mjs +26 -2
  294. package/es/components/tree-select/src/tree.mjs.map +1 -1
  295. package/es/hooks/use-focus-controller/index.mjs +6 -1
  296. package/es/hooks/use-focus-controller/index.mjs.map +1 -1
  297. package/es/index.mjs +5 -5
  298. package/es/version.d.ts +1 -1
  299. package/es/version.mjs +1 -1
  300. package/es/version.mjs.map +1 -1
  301. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  302. package/lib/components/backtop/index.js +2 -2
  303. package/lib/components/backtop/src/backtop.js +54 -22
  304. package/lib/components/backtop/src/backtop.js.map +1 -1
  305. package/lib/components/backtop/src/backtop2.js +22 -54
  306. package/lib/components/backtop/src/backtop2.js.map +1 -1
  307. package/lib/components/date-picker/src/date-picker.d.ts +1 -1
  308. package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
  309. package/lib/components/index.js +5 -5
  310. package/lib/components/input/src/input.vue.d.ts +1 -1
  311. package/lib/components/input/src/input2.js +3 -0
  312. package/lib/components/input/src/input2.js.map +1 -1
  313. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  314. package/lib/components/mention/src/mention2.js +3 -0
  315. package/lib/components/mention/src/mention2.js.map +1 -1
  316. package/lib/components/message/src/message.d.ts +4 -0
  317. package/lib/components/message/src/message.js.map +1 -1
  318. package/lib/components/message/src/method.js +13 -1
  319. package/lib/components/message/src/method.js.map +1 -1
  320. package/lib/components/popover/src/popover.vue.d.ts +1 -1
  321. package/lib/components/popper/index.js +2 -2
  322. package/lib/components/popper/src/trigger.js +32 -129
  323. package/lib/components/popper/src/trigger.js.map +1 -1
  324. package/lib/components/popper/src/trigger2.js +129 -32
  325. package/lib/components/popper/src/trigger2.js.map +1 -1
  326. package/lib/components/select/src/useSelect.js +3 -0
  327. package/lib/components/select/src/useSelect.js.map +1 -1
  328. package/lib/components/select-v2/src/useSelect.js +3 -0
  329. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  330. package/lib/components/switch/index.js +2 -2
  331. package/lib/components/switch/src/switch.js +228 -72
  332. package/lib/components/switch/src/switch.js.map +1 -1
  333. package/lib/components/switch/src/switch2.js +72 -228
  334. package/lib/components/switch/src/switch2.js.map +1 -1
  335. package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
  336. package/lib/components/time-picker/src/time-picker.d.ts +1 -1
  337. package/lib/components/tooltip/index.js +2 -2
  338. package/lib/components/tooltip/src/tooltip.js +35 -168
  339. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  340. package/lib/components/tooltip/src/tooltip2.js +168 -35
  341. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  342. package/lib/components/tooltip/src/trigger.js +1 -1
  343. package/lib/components/tooltip/src/trigger2.js +1 -1
  344. package/lib/components/tree/src/tree-node.js +3 -2
  345. package/lib/components/tree/src/tree-node.js.map +1 -1
  346. package/lib/components/tree-select/src/tree.js +25 -1
  347. package/lib/components/tree-select/src/tree.js.map +1 -1
  348. package/lib/hooks/use-focus-controller/index.js +5 -0
  349. package/lib/hooks/use-focus-controller/index.js.map +1 -1
  350. package/lib/index.js +5 -5
  351. package/lib/version.d.ts +1 -1
  352. package/lib/version.js +1 -1
  353. package/lib/version.js.map +1 -1
  354. package/package.json +2 -2
  355. package/theme-chalk/src/date-picker/month-table.scss +1 -1
  356. package/theme-chalk/src/date-picker/picker.scss +1 -1
  357. package/theme-chalk/src/date-picker/year-table.scss +1 -1
  358. package/theme-chalk/src/mention.scss +1 -3
  359. package/theme-chalk/src/menu.scss +1 -3
  360. package/theme-chalk/src/upload.scss +4 -4
  361. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["../../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\n <el-popper ref=\"popperRef\" :role=\"role\">\n <el-tooltip-trigger\n :disabled=\"disabled\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :virtual-ref=\"virtualRef\"\n :virtual-triggering=\"virtualTriggering\"\n >\n <slot v-if=\"$slots.default\" />\n </el-tooltip-trigger>\n <el-tooltip-content\n ref=\"contentRef\"\n :aria-label=\"ariaLabel\"\n :boundaries-padding=\"boundariesPadding\"\n :content=\"content\"\n :disabled=\"disabled\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :fallback-placements=\"fallbackPlacements\"\n :hide-after=\"hideAfter\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :persistent=\"persistent\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :pure=\"pure\"\n :raw-content=\"rawContent\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :show-after=\"showAfter\"\n :strategy=\"strategy\"\n :teleported=\"teleported\"\n :transition=\"transition\"\n :virtual-triggering=\"virtualTriggering\"\n :z-index=\"zIndex\"\n :append-to=\"appendTo\"\n >\n <slot name=\"content\">\n <span v-if=\"rawContent\" v-html=\"content\" />\n <span v-else>{{ content }}</span>\n </slot>\n <el-popper-arrow v-if=\"showArrow\" :arrow-offset=\"arrowOffset\" />\n </el-tooltip-content>\n </el-popper>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onDeactivated,\n provide,\n readonly,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport { ElPopper, ElPopperArrow } from '@element-plus/components/popper'\n\nimport { isBoolean } from '@element-plus/utils'\nimport {\n useDelayedToggle,\n useId,\n usePopperContainer,\n} from '@element-plus/hooks'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { tooltipEmits, useTooltipModelToggle, useTooltipProps } from './tooltip'\nimport ElTooltipTrigger from './trigger.vue'\nimport ElTooltipContent from './content.vue'\nimport type { PopperInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltip',\n})\n\nconst props = defineProps(useTooltipProps)\nconst emit = defineEmits(tooltipEmits)\n\nusePopperContainer()\n\nconst id = useId()\nconst popperRef = ref<PopperInstance>()\n// TODO any is temporary, replace with `TooltipContentInstance` later\nconst contentRef = ref<any>()\n\nconst updatePopper = () => {\n const popperComponent = unref(popperRef)\n if (popperComponent) {\n popperComponent.popperInstanceRef?.update()\n }\n}\nconst open = ref(false)\nconst toggleReason = ref<Event>()\n\nconst { show, hide, hasUpdateHandler } = useTooltipModelToggle({\n indicator: open,\n toggleReason,\n})\n\nconst { onOpen, onClose } = useDelayedToggle({\n showAfter: toRef(props, 'showAfter'),\n hideAfter: toRef(props, 'hideAfter'),\n autoClose: toRef(props, 'autoClose'),\n open: show,\n close: hide,\n})\n\nconst controlled = computed(\n () => isBoolean(props.visible) && !hasUpdateHandler.value\n)\n\nprovide(TOOLTIP_INJECTION_KEY, {\n controlled,\n id,\n open: readonly(open),\n trigger: toRef(props, 'trigger'),\n onOpen: (event?: Event) => {\n onOpen(event)\n },\n onClose: (event?: Event) => {\n onClose(event)\n },\n onToggle: (event?: Event) => {\n if (unref(open)) {\n onClose(event)\n } else {\n onOpen(event)\n }\n },\n onShow: () => {\n emit('show', toggleReason.value)\n },\n onHide: () => {\n emit('hide', toggleReason.value)\n },\n onBeforeShow: () => {\n emit('before-show', toggleReason.value)\n },\n onBeforeHide: () => {\n emit('before-hide', toggleReason.value)\n },\n updatePopper,\n})\n\nwatch(\n () => props.disabled,\n (disabled) => {\n if (disabled && open.value) {\n open.value = false\n }\n }\n)\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.contentRef?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent && popperContent.contains(activeElement)\n}\n\nonDeactivated(() => open.value && hide())\n\ndefineExpose({\n /**\n * @description el-popper component instance\n */\n popperRef,\n /**\n * @description el-tooltip-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-tooltip-content\n */\n isFocusInsideContent,\n /**\n * @description update el-popper component instance\n */\n updatePopper,\n /**\n * @description expose onOpen function to mange el-tooltip open state\n */\n onOpen,\n /**\n * @description expose onOpen function to mange el-tooltip open state\n */\n onClose,\n /**\n * @description expose hide function\n */\n hide,\n})\n</script>\n"],"names":["usePopperContainer","useId","ref","unref","useTooltipModelToggle","useDelayedToggle","toRef","computed","isBoolean","provide","TOOLTIP_INJECTION_KEY","readonly","watch","onDeactivated"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sources":["../../../../../../packages/components/tooltip/src/tooltip.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { createModelToggleComposable } from '@element-plus/hooks'\nimport { popperArrowProps, popperProps } from '@element-plus/components/popper'\nimport { useTooltipContentProps } from './content'\nimport { useTooltipTriggerProps } from './trigger'\nimport type Tooltip from './tooltip.vue'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const {\n useModelToggleProps: useTooltipModelToggleProps,\n useModelToggleEmits: useTooltipModelToggleEmits,\n useModelToggle: useTooltipModelToggle,\n} = createModelToggleComposable('visible' as const)\n\nexport const useTooltipProps = buildProps({\n ...popperProps,\n ...useTooltipModelToggleProps,\n ...useTooltipContentProps,\n ...useTooltipTriggerProps,\n ...popperArrowProps,\n /**\n * @description whether the tooltip content has an arrow\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n})\n\nexport const tooltipEmits = [\n ...useTooltipModelToggleEmits,\n 'before-show',\n 'before-hide',\n 'show',\n 'hide',\n 'open',\n 'close',\n]\n\nexport type ElTooltipProps = ExtractPropTypes<typeof useTooltipProps>\n\nexport type TooltipInstance = InstanceType<typeof Tooltip>\n"],"names":["createModelToggleComposable","buildProps","popperProps","useTooltipContentProps","useTooltipTriggerProps","popperArrowProps"],"mappings":";;;;;;;;;;;;;;AAKY,MAAC;AACb,EAAE,mBAAmB,EAAE,0BAA0B;AACjD,EAAE,mBAAmB,EAAE,0BAA0B;AACjD,EAAE,cAAc,EAAE,qBAAqB;AACvC,CAAC,GAAGA,iCAA2B,CAAC,SAAS,EAAE;AAC/B,MAAC,eAAe,GAAGC,kBAAU,CAAC;AAC1C,EAAE,GAAGC,kBAAW;AAChB,EAAE,GAAG,0BAA0B;AAC/B,EAAE,GAAGC,8BAAsB;AAC3B,EAAE,GAAGC,8BAAsB;AAC3B,EAAE,GAAGC,sBAAgB;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAG,0BAA0B;AAC/B,EAAE,aAAa;AACf,EAAE,aAAa;AACf,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,OAAO;AACT;;;;;;;;"}
@@ -2,45 +2,178 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ var index$3 = require('../../popper/index.js');
5
7
  require('../../../utils/index.js');
6
8
  require('../../../hooks/index.js');
7
- require('../../popper/index.js');
8
- var content = require('./content.js');
9
- var trigger = require('./trigger.js');
10
- var index = require('../../../hooks/use-model-toggle/index.js');
11
- var runtime = require('../../../utils/vue/props/runtime.js');
12
- var popper = require('../../popper/src/popper.js');
13
- var arrow = require('../../popper/src/arrow.js');
9
+ var constants = require('./constants.js');
10
+ var tooltip = require('./tooltip.js');
11
+ var trigger = require('./trigger2.js');
12
+ var content = require('./content2.js');
13
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
+ var index = require('../../../hooks/use-popper-container/index.js');
15
+ var index$1 = require('../../../hooks/use-id/index.js');
16
+ var index$2 = require('../../../hooks/use-delayed-toggle/index.js');
17
+ var types = require('../../../utils/types.js');
18
+ var arrow = require('../../popper/src/arrow2.js');
14
19
 
15
- const {
16
- useModelToggleProps: useTooltipModelToggleProps,
17
- useModelToggleEmits: useTooltipModelToggleEmits,
18
- useModelToggle: useTooltipModelToggle
19
- } = index.createModelToggleComposable("visible");
20
- const useTooltipProps = runtime.buildProps({
21
- ...popper.popperProps,
22
- ...useTooltipModelToggleProps,
23
- ...content.useTooltipContentProps,
24
- ...trigger.useTooltipTriggerProps,
25
- ...arrow.popperArrowProps,
26
- showArrow: {
27
- type: Boolean,
28
- default: true
20
+ const __default__ = vue.defineComponent({
21
+ name: "ElTooltip"
22
+ });
23
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
+ ...__default__,
25
+ props: tooltip.useTooltipProps,
26
+ emits: tooltip.tooltipEmits,
27
+ setup(__props, { expose, emit }) {
28
+ const props = __props;
29
+ index.usePopperContainer();
30
+ const id = index$1.useId();
31
+ const popperRef = vue.ref();
32
+ const contentRef = vue.ref();
33
+ const updatePopper = () => {
34
+ var _a;
35
+ const popperComponent = vue.unref(popperRef);
36
+ if (popperComponent) {
37
+ (_a = popperComponent.popperInstanceRef) == null ? void 0 : _a.update();
38
+ }
39
+ };
40
+ const open = vue.ref(false);
41
+ const toggleReason = vue.ref();
42
+ const { show, hide, hasUpdateHandler } = tooltip.useTooltipModelToggle({
43
+ indicator: open,
44
+ toggleReason
45
+ });
46
+ const { onOpen, onClose } = index$2.useDelayedToggle({
47
+ showAfter: vue.toRef(props, "showAfter"),
48
+ hideAfter: vue.toRef(props, "hideAfter"),
49
+ autoClose: vue.toRef(props, "autoClose"),
50
+ open: show,
51
+ close: hide
52
+ });
53
+ const controlled = vue.computed(() => types.isBoolean(props.visible) && !hasUpdateHandler.value);
54
+ vue.provide(constants.TOOLTIP_INJECTION_KEY, {
55
+ controlled,
56
+ id,
57
+ open: vue.readonly(open),
58
+ trigger: vue.toRef(props, "trigger"),
59
+ onOpen: (event) => {
60
+ onOpen(event);
61
+ },
62
+ onClose: (event) => {
63
+ onClose(event);
64
+ },
65
+ onToggle: (event) => {
66
+ if (vue.unref(open)) {
67
+ onClose(event);
68
+ } else {
69
+ onOpen(event);
70
+ }
71
+ },
72
+ onShow: () => {
73
+ emit("show", toggleReason.value);
74
+ },
75
+ onHide: () => {
76
+ emit("hide", toggleReason.value);
77
+ },
78
+ onBeforeShow: () => {
79
+ emit("before-show", toggleReason.value);
80
+ },
81
+ onBeforeHide: () => {
82
+ emit("before-hide", toggleReason.value);
83
+ },
84
+ updatePopper
85
+ });
86
+ vue.watch(() => props.disabled, (disabled) => {
87
+ if (disabled && open.value) {
88
+ open.value = false;
89
+ }
90
+ });
91
+ const isFocusInsideContent = (event) => {
92
+ var _a, _b;
93
+ const popperContent = (_b = (_a = contentRef.value) == null ? void 0 : _a.contentRef) == null ? void 0 : _b.popperContentRef;
94
+ const activeElement = (event == null ? void 0 : event.relatedTarget) || document.activeElement;
95
+ return popperContent && popperContent.contains(activeElement);
96
+ };
97
+ vue.onDeactivated(() => open.value && hide());
98
+ expose({
99
+ popperRef,
100
+ contentRef,
101
+ isFocusInsideContent,
102
+ updatePopper,
103
+ onOpen,
104
+ onClose,
105
+ hide
106
+ });
107
+ return (_ctx, _cache) => {
108
+ return vue.openBlock(), vue.createBlock(vue.unref(index$3.ElPopper), {
109
+ ref_key: "popperRef",
110
+ ref: popperRef,
111
+ role: _ctx.role
112
+ }, {
113
+ default: vue.withCtx(() => [
114
+ vue.createVNode(trigger["default"], {
115
+ disabled: _ctx.disabled,
116
+ trigger: _ctx.trigger,
117
+ "trigger-keys": _ctx.triggerKeys,
118
+ "virtual-ref": _ctx.virtualRef,
119
+ "virtual-triggering": _ctx.virtualTriggering
120
+ }, {
121
+ default: vue.withCtx(() => [
122
+ _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : vue.createCommentVNode("v-if", true)
123
+ ]),
124
+ _: 3
125
+ }, 8, ["disabled", "trigger", "trigger-keys", "virtual-ref", "virtual-triggering"]),
126
+ vue.createVNode(content["default"], {
127
+ ref_key: "contentRef",
128
+ ref: contentRef,
129
+ "aria-label": _ctx.ariaLabel,
130
+ "boundaries-padding": _ctx.boundariesPadding,
131
+ content: _ctx.content,
132
+ disabled: _ctx.disabled,
133
+ effect: _ctx.effect,
134
+ enterable: _ctx.enterable,
135
+ "fallback-placements": _ctx.fallbackPlacements,
136
+ "hide-after": _ctx.hideAfter,
137
+ "gpu-acceleration": _ctx.gpuAcceleration,
138
+ offset: _ctx.offset,
139
+ persistent: _ctx.persistent,
140
+ "popper-class": _ctx.popperClass,
141
+ "popper-style": _ctx.popperStyle,
142
+ placement: _ctx.placement,
143
+ "popper-options": _ctx.popperOptions,
144
+ pure: _ctx.pure,
145
+ "raw-content": _ctx.rawContent,
146
+ "reference-el": _ctx.referenceEl,
147
+ "trigger-target-el": _ctx.triggerTargetEl,
148
+ "show-after": _ctx.showAfter,
149
+ strategy: _ctx.strategy,
150
+ teleported: _ctx.teleported,
151
+ transition: _ctx.transition,
152
+ "virtual-triggering": _ctx.virtualTriggering,
153
+ "z-index": _ctx.zIndex,
154
+ "append-to": _ctx.appendTo
155
+ }, {
156
+ default: vue.withCtx(() => [
157
+ vue.renderSlot(_ctx.$slots, "content", {}, () => [
158
+ _ctx.rawContent ? (vue.openBlock(), vue.createElementBlock("span", {
159
+ key: 0,
160
+ innerHTML: _ctx.content
161
+ }, null, 8, ["innerHTML"])) : (vue.openBlock(), vue.createElementBlock("span", { key: 1 }, vue.toDisplayString(_ctx.content), 1))
162
+ ]),
163
+ _ctx.showArrow ? (vue.openBlock(), vue.createBlock(vue.unref(arrow["default"]), {
164
+ key: 0,
165
+ "arrow-offset": _ctx.arrowOffset
166
+ }, null, 8, ["arrow-offset"])) : vue.createCommentVNode("v-if", true)
167
+ ]),
168
+ _: 3
169
+ }, 8, ["aria-label", "boundaries-padding", "content", "disabled", "effect", "enterable", "fallback-placements", "hide-after", "gpu-acceleration", "offset", "persistent", "popper-class", "popper-style", "placement", "popper-options", "pure", "raw-content", "reference-el", "trigger-target-el", "show-after", "strategy", "teleported", "transition", "virtual-triggering", "z-index", "append-to"])
170
+ ]),
171
+ _: 3
172
+ }, 8, ["role"]);
173
+ };
29
174
  }
30
175
  });
31
- const tooltipEmits = [
32
- ...useTooltipModelToggleEmits,
33
- "before-show",
34
- "before-hide",
35
- "show",
36
- "hide",
37
- "open",
38
- "close"
39
- ];
176
+ var Tooltip = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tooltip.vue"]]);
40
177
 
41
- exports.tooltipEmits = tooltipEmits;
42
- exports.useTooltipModelToggle = useTooltipModelToggle;
43
- exports.useTooltipModelToggleEmits = useTooltipModelToggleEmits;
44
- exports.useTooltipModelToggleProps = useTooltipModelToggleProps;
45
- exports.useTooltipProps = useTooltipProps;
178
+ exports["default"] = Tooltip;
46
179
  //# sourceMappingURL=tooltip2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip2.js","sources":["../../../../../../packages/components/tooltip/src/tooltip.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { createModelToggleComposable } from '@element-plus/hooks'\nimport { popperArrowProps, popperProps } from '@element-plus/components/popper'\nimport { useTooltipContentProps } from './content'\nimport { useTooltipTriggerProps } from './trigger'\nimport type Tooltip from './tooltip.vue'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const {\n useModelToggleProps: useTooltipModelToggleProps,\n useModelToggleEmits: useTooltipModelToggleEmits,\n useModelToggle: useTooltipModelToggle,\n} = createModelToggleComposable('visible' as const)\n\nexport const useTooltipProps = buildProps({\n ...popperProps,\n ...useTooltipModelToggleProps,\n ...useTooltipContentProps,\n ...useTooltipTriggerProps,\n ...popperArrowProps,\n /**\n * @description whether the tooltip content has an arrow\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n})\n\nexport const tooltipEmits = [\n ...useTooltipModelToggleEmits,\n 'before-show',\n 'before-hide',\n 'show',\n 'hide',\n 'open',\n 'close',\n]\n\nexport type ElTooltipProps = ExtractPropTypes<typeof useTooltipProps>\n\nexport type TooltipInstance = InstanceType<typeof Tooltip>\n"],"names":["createModelToggleComposable","buildProps","popperProps","useTooltipContentProps","useTooltipTriggerProps","popperArrowProps"],"mappings":";;;;;;;;;;;;;;AAKY,MAAC;AACb,EAAE,mBAAmB,EAAE,0BAA0B;AACjD,EAAE,mBAAmB,EAAE,0BAA0B;AACjD,EAAE,cAAc,EAAE,qBAAqB;AACvC,CAAC,GAAGA,iCAA2B,CAAC,SAAS,EAAE;AAC/B,MAAC,eAAe,GAAGC,kBAAU,CAAC;AAC1C,EAAE,GAAGC,kBAAW;AAChB,EAAE,GAAG,0BAA0B;AAC/B,EAAE,GAAGC,8BAAsB;AAC3B,EAAE,GAAGC,8BAAsB;AAC3B,EAAE,GAAGC,sBAAgB;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAG,0BAA0B;AAC/B,EAAE,aAAa;AACf,EAAE,aAAa;AACf,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,OAAO;AACT;;;;;;;;"}
1
+ {"version":3,"file":"tooltip2.js","sources":["../../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\n <el-popper ref=\"popperRef\" :role=\"role\">\n <el-tooltip-trigger\n :disabled=\"disabled\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :virtual-ref=\"virtualRef\"\n :virtual-triggering=\"virtualTriggering\"\n >\n <slot v-if=\"$slots.default\" />\n </el-tooltip-trigger>\n <el-tooltip-content\n ref=\"contentRef\"\n :aria-label=\"ariaLabel\"\n :boundaries-padding=\"boundariesPadding\"\n :content=\"content\"\n :disabled=\"disabled\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :fallback-placements=\"fallbackPlacements\"\n :hide-after=\"hideAfter\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :persistent=\"persistent\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :pure=\"pure\"\n :raw-content=\"rawContent\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :show-after=\"showAfter\"\n :strategy=\"strategy\"\n :teleported=\"teleported\"\n :transition=\"transition\"\n :virtual-triggering=\"virtualTriggering\"\n :z-index=\"zIndex\"\n :append-to=\"appendTo\"\n >\n <slot name=\"content\">\n <span v-if=\"rawContent\" v-html=\"content\" />\n <span v-else>{{ content }}</span>\n </slot>\n <el-popper-arrow v-if=\"showArrow\" :arrow-offset=\"arrowOffset\" />\n </el-tooltip-content>\n </el-popper>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onDeactivated,\n provide,\n readonly,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport { ElPopper, ElPopperArrow } from '@element-plus/components/popper'\n\nimport { isBoolean } from '@element-plus/utils'\nimport {\n useDelayedToggle,\n useId,\n usePopperContainer,\n} from '@element-plus/hooks'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { tooltipEmits, useTooltipModelToggle, useTooltipProps } from './tooltip'\nimport ElTooltipTrigger from './trigger.vue'\nimport ElTooltipContent from './content.vue'\nimport type { PopperInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltip',\n})\n\nconst props = defineProps(useTooltipProps)\nconst emit = defineEmits(tooltipEmits)\n\nusePopperContainer()\n\nconst id = useId()\nconst popperRef = ref<PopperInstance>()\n// TODO any is temporary, replace with `TooltipContentInstance` later\nconst contentRef = ref<any>()\n\nconst updatePopper = () => {\n const popperComponent = unref(popperRef)\n if (popperComponent) {\n popperComponent.popperInstanceRef?.update()\n }\n}\nconst open = ref(false)\nconst toggleReason = ref<Event>()\n\nconst { show, hide, hasUpdateHandler } = useTooltipModelToggle({\n indicator: open,\n toggleReason,\n})\n\nconst { onOpen, onClose } = useDelayedToggle({\n showAfter: toRef(props, 'showAfter'),\n hideAfter: toRef(props, 'hideAfter'),\n autoClose: toRef(props, 'autoClose'),\n open: show,\n close: hide,\n})\n\nconst controlled = computed(\n () => isBoolean(props.visible) && !hasUpdateHandler.value\n)\n\nprovide(TOOLTIP_INJECTION_KEY, {\n controlled,\n id,\n open: readonly(open),\n trigger: toRef(props, 'trigger'),\n onOpen: (event?: Event) => {\n onOpen(event)\n },\n onClose: (event?: Event) => {\n onClose(event)\n },\n onToggle: (event?: Event) => {\n if (unref(open)) {\n onClose(event)\n } else {\n onOpen(event)\n }\n },\n onShow: () => {\n emit('show', toggleReason.value)\n },\n onHide: () => {\n emit('hide', toggleReason.value)\n },\n onBeforeShow: () => {\n emit('before-show', toggleReason.value)\n },\n onBeforeHide: () => {\n emit('before-hide', toggleReason.value)\n },\n updatePopper,\n})\n\nwatch(\n () => props.disabled,\n (disabled) => {\n if (disabled && open.value) {\n open.value = false\n }\n }\n)\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.contentRef?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent && popperContent.contains(activeElement)\n}\n\nonDeactivated(() => open.value && hide())\n\ndefineExpose({\n /**\n * @description el-popper component instance\n */\n popperRef,\n /**\n * @description el-tooltip-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-tooltip-content\n */\n isFocusInsideContent,\n /**\n * @description update el-popper component instance\n */\n updatePopper,\n /**\n * @description expose onOpen function to mange el-tooltip open state\n */\n onOpen,\n /**\n * @description expose onOpen function to mange el-tooltip open state\n */\n onClose,\n /**\n * @description expose hide function\n */\n hide,\n})\n</script>\n"],"names":["usePopperContainer","useId","ref","unref","useTooltipModelToggle","useDelayedToggle","toRef","computed","isBoolean","provide","TOOLTIP_INJECTION_KEY","readonly","watch","onDeactivated"],"mappings":"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"}
@@ -6,7 +6,7 @@ require('../../../utils/index.js');
6
6
  require('../../popper/index.js');
7
7
  require('../../../constants/index.js');
8
8
  var runtime = require('../../../utils/vue/props/runtime.js');
9
- var trigger = require('../../popper/src/trigger2.js');
9
+ var trigger = require('../../popper/src/trigger.js');
10
10
  var aria = require('../../../constants/aria.js');
11
11
 
12
12
  const useTooltipTriggerProps = runtime.buildProps({
@@ -12,7 +12,7 @@ var utils = require('./utils.js');
12
12
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
13
  var index = require('../../../hooks/use-namespace/index.js');
14
14
  var event = require('../../../utils/dom/event.js');
15
- var trigger$1 = require('../../popper/src/trigger.js');
15
+ var trigger$1 = require('../../popper/src/trigger2.js');
16
16
 
17
17
  const __default__ = vue.defineComponent({
18
18
  name: "ElTooltipTrigger"
@@ -140,8 +140,9 @@ const _sfc_main = vue.defineComponent({
140
140
  tree.ctx.emit("node-collapse", props.node.data, props.node, instance);
141
141
  props.node.collapse();
142
142
  } else {
143
- props.node.expand();
144
- ctx.emit("node-expand", props.node.data, props.node, instance);
143
+ props.node.expand(() => {
144
+ ctx.emit("node-expand", props.node.data, props.node, instance);
145
+ });
145
146
  }
146
147
  };
147
148
  const handleCheckChange = (value, ev) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node.js","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { debugWarn, isFunction, isString } from '@element-plus/utils'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { RootTreeType, TreeNodeData, TreeOptionProps } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>(null)\n const oldIndeterminate = ref<boolean>(null)\n const node$ = ref<Nullable<HTMLElement>>(null)\n const dragEvents = inject(dragEventsKey)\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.childNodes.length,\n () => props.node.reInitChecked()\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n handleCurrentChange(tree.store, tree.ctx.emit, () =>\n tree.store.value.setCurrentNode(props.node)\n )\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (tree.props.checkOnClickNode && !props.node.disabled) {\n handleCheckChange(null, {\n target: { checked: !props.node.checked },\n })\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand()\n ctx.emit('node-expand', props.node.data, props.node, instance)\n }\n }\n\n const handleCheckChange = (value, ev) => {\n props.node.setChecked(ev.target.checked, !tree.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCollapseTransition","ElCheckbox","NodeContent","ElIcon","Loading","Node","useNamespace","useNodeExpandEventBroadcast","inject","ref","dragEventsKey","getCurrentInstance","provide","debugWarn","watch","nextTick","getNodeKeyUtil","isFunction","isString","handleCurrentChange","CaretRight","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_normalizeStyle","_openBlock","_createBlock","_resolveDynamicComponent","_createCommentVNode","_createVNode","_withCtx","_Fragment","_renderList","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node.js","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { debugWarn, isFunction, isString } from '@element-plus/utils'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { RootTreeType, TreeNodeData, TreeOptionProps } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>(null)\n const oldIndeterminate = ref<boolean>(null)\n const node$ = ref<Nullable<HTMLElement>>(null)\n const dragEvents = inject(dragEventsKey)\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.childNodes.length,\n () => props.node.reInitChecked()\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n handleCurrentChange(tree.store, tree.ctx.emit, () =>\n tree.store.value.setCurrentNode(props.node)\n )\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (tree.props.checkOnClickNode && !props.node.disabled) {\n handleCheckChange(null, {\n target: { checked: !props.node.checked },\n })\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand(() => {\n ctx.emit('node-expand', props.node.data, props.node, instance)\n })\n }\n }\n\n const handleCheckChange = (value, ev) => {\n props.node.setChecked(ev.target.checked, !tree.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCollapseTransition","ElCheckbox","NodeContent","ElIcon","Loading","Node","useNamespace","useNodeExpandEventBroadcast","inject","ref","dragEventsKey","getCurrentInstance","provide","debugWarn","watch","nextTick","getNodeKeyUtil","isFunction","isString","handleCurrentChange","CaretRight","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_normalizeStyle","_openBlock","_createBlock","_resolveDynamicComponent","_createCommentVNode","_createVNode","_withCtx","_Fragment","_renderList","_vShow"],"mappings":"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"}
@@ -10,6 +10,7 @@ var index = require('../../tree/index.js');
10
10
  var treeSelectOption = require('./tree-select-option.js');
11
11
  var utils = require('./utils.js');
12
12
  var shared = require('@vue/shared');
13
+ var types = require('../../../utils/types.js');
13
14
  var strings = require('../../../utils/strings.js');
14
15
  var event = require('../../../constants/event.js');
15
16
 
@@ -65,6 +66,14 @@ const useTree = (props, { attrs, slots, emit }, {
65
66
  }, (data) => getNodeValByProp("children", data));
66
67
  return options;
67
68
  });
69
+ const getChildCheckedKeys = () => {
70
+ var _a;
71
+ return (_a = tree.value) == null ? void 0 : _a.getCheckedKeys().filter((checkedKey) => {
72
+ var _a2;
73
+ const node = (_a2 = tree.value) == null ? void 0 : _a2.getNode(checkedKey);
74
+ return !lodashUnified.isNil(node) && types.isEmpty(node.childNodes);
75
+ });
76
+ };
68
77
  return {
69
78
  ...lodashUnified.pick(vue.toRefs(props), Object.keys(index.ElTree.props)),
70
79
  ...attrs,
@@ -120,7 +129,8 @@ const useTree = (props, { attrs, slots, emit }, {
120
129
  emit(event.UPDATE_MODEL_EVENT, props.multiple ? checkedKeys : checkedKeys.includes(dataValue) ? dataValue : void 0);
121
130
  } else {
122
131
  if (props.multiple) {
123
- emit(event.UPDATE_MODEL_EVENT, cachedKeys.concat(tree.value.getCheckedKeys(true)));
132
+ const childKeys = getChildCheckedKeys();
133
+ emit(event.UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));
124
134
  } else {
125
135
  const firstLeaf = utils.treeFind([data], (data2) => !utils.isValidArray(getNodeValByProp("children", data2)) && !getNodeValByProp("disabled", data2), (data2) => getNodeValByProp("children", data2));
126
136
  const firstLeafKey = firstLeaf ? getNodeValByProp("value", firstLeaf) : void 0;
@@ -141,6 +151,20 @@ const useTree = (props, { attrs, slots, emit }, {
141
151
  });
142
152
  (_a = select.value) == null ? void 0 : _a.focus();
143
153
  },
154
+ onNodeExpand: (data, node, e) => {
155
+ var _a;
156
+ (_a = attrs.onNodeExpand) == null ? void 0 : _a.call(attrs, data, node, e);
157
+ vue.nextTick(() => {
158
+ if (!props.checkStrictly && props.lazy && props.multiple && node.checked) {
159
+ const dataMap = {};
160
+ const uncachedCheckedKeys = tree.value.getCheckedKeys();
161
+ utils.treeEach([tree.value.store.root], (node2) => dataMap[node2.key] = node2, (node2) => node2.childNodes);
162
+ const cachedKeys = utils.toValidArray(props.modelValue).filter((item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item));
163
+ const childKeys = getChildCheckedKeys();
164
+ emit(event.UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));
165
+ }
166
+ });
167
+ },
144
168
  cacheOptions
145
169
  };
146
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { escapeStringRegexp, isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport {\n isValidArray,\n isValidValue,\n toValidArray,\n treeEach,\n treeFind,\n} from './utils'\nimport type { CacheOption } from './cache-options'\nimport type { Ref } from 'vue'\nimport type ElSelect from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<InstanceType<typeof ElSelect> | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n () => props.modelValue,\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n label: 'label',\n children: 'children',\n disabled: 'disabled',\n isLeaf: 'isLeaf',\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return []\n\n const options: CacheOption[] = []\n\n treeEach(\n props.data.concat(props.cacheData),\n (node) => {\n const value = getNodeValByProp('value', node)\n options.push({\n value,\n currentLabel: getNodeValByProp('label', node),\n isDisabled: getNodeValByProp('disabled', node),\n })\n },\n (data) => getNodeValByProp('children', data)\n )\n\n return options\n })\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n visible: node.visible,\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n const regexp = new RegExp(escapeStringRegexp(value), 'i')\n return regexp.test(getNodeValByProp('label', data) || '')\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.states.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n select.value?.focus()\n },\n onCheck: (data, params) => {\n // ignore when no checkbox, like only `checkOnClickNode` is true\n if (!props.showCheckbox) return\n\n const dataValue = getNodeValByProp('value', data)\n const dataMap = {}\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n // fix: checkedKeys has not cached keys\n const uncachedCheckedKeys = params.checkedKeys\n const cachedKeys = props.multiple\n ? toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n : []\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys)\n\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? checkedKeys\n : checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n emit(\n UPDATE_MODEL_EVENT,\n cachedKeys.concat((tree.value as TreeInstance).getCheckedKeys(true))\n )\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n\n nextTick(() => {\n const checkedKeys = toValidArray(props.modelValue)\n tree.value.setCheckedKeys(checkedKeys)\n\n attrs.onCheck?.(data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes(),\n })\n })\n\n select.value?.focus()\n },\n\n // else\n cacheOptions,\n }\n}\n"],"names":["watch","nextTick","isEqual","toValidArray","computed","isFunction","treeFind","isValidValue","treeEach","pick","toRefs","ElTree","TreeSelectOption","escapeStringRegexp","UPDATE_MODEL_EVENT","isValidArray"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, isNil, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { escapeStringRegexp, isEmpty, isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport {\n isValidArray,\n isValidValue,\n toValidArray,\n treeEach,\n treeFind,\n} from './utils'\nimport type { CacheOption } from './cache-options'\nimport type { Ref } from 'vue'\nimport type ElSelect from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<InstanceType<typeof ElSelect> | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n () => props.modelValue,\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n label: 'label',\n children: 'children',\n disabled: 'disabled',\n isLeaf: 'isLeaf',\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return []\n\n const options: CacheOption[] = []\n\n treeEach(\n props.data.concat(props.cacheData),\n (node) => {\n const value = getNodeValByProp('value', node)\n options.push({\n value,\n currentLabel: getNodeValByProp('label', node),\n isDisabled: getNodeValByProp('disabled', node),\n })\n },\n (data) => getNodeValByProp('children', data)\n )\n\n return options\n })\n\n const getChildCheckedKeys = () => {\n return tree.value?.getCheckedKeys().filter((checkedKey) => {\n const node = tree.value?.getNode(checkedKey) as Node\n return !isNil(node) && isEmpty(node.childNodes)\n })\n }\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n visible: node.visible,\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n const regexp = new RegExp(escapeStringRegexp(value), 'i')\n return regexp.test(getNodeValByProp('label', data) || '')\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.states.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n select.value?.focus()\n },\n onCheck: (data, params) => {\n // ignore when no checkbox, like only `checkOnClickNode` is true\n if (!props.showCheckbox) return\n\n const dataValue = getNodeValByProp('value', data)\n const dataMap = {}\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n // fix: checkedKeys has not cached keys\n const uncachedCheckedKeys = params.checkedKeys\n const cachedKeys = props.multiple\n ? toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n : []\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys)\n\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? checkedKeys\n : checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n const childKeys = getChildCheckedKeys()\n\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n\n nextTick(() => {\n const checkedKeys = toValidArray(props.modelValue)\n tree.value.setCheckedKeys(checkedKeys)\n\n attrs.onCheck?.(data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes(),\n })\n })\n\n select.value?.focus()\n },\n\n onNodeExpand: (data, node, e) => {\n attrs.onNodeExpand?.(data, node, e)\n nextTick(() => {\n if (\n !props.checkStrictly &&\n props.lazy &&\n props.multiple &&\n node.checked\n ) {\n const dataMap = {}\n const uncachedCheckedKeys = (\n tree.value as TreeInstance\n ).getCheckedKeys()\n\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n const cachedKeys = toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n\n const childKeys = getChildCheckedKeys()\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n }\n })\n },\n // else\n cacheOptions,\n }\n}\n"],"names":["watch","nextTick","isEqual","toValidArray","computed","isFunction","treeFind","isValidValue","treeEach","isNil","isEmpty","pick","toRefs","ElTree","TreeSelectOption","escapeStringRegexp","UPDATE_MODEL_EVENT","isValidArray"],"mappings":"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"}
@@ -41,6 +41,11 @@ function useFocusController(target, {
41
41
  return;
42
42
  (_b = target.value) == null ? void 0 : _b.focus();
43
43
  };
44
+ vue.watch(wrapperRef, (el) => {
45
+ if (el) {
46
+ el.setAttribute("tabindex", "-1");
47
+ }
48
+ });
44
49
  core.useEventListener(wrapperRef, "focus", handleFocus, true);
45
50
  core.useEventListener(wrapperRef, "blur", handleBlur, true);
46
51
  core.useEventListener(wrapperRef, "click", handleClick, true);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import { getCurrentInstance, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isElement, isFunction } from '@element-plus/utils'\nimport type { ShallowRef } from 'vue'\n\ninterface UseFocusControllerOptions {\n /**\n * return true to cancel focus\n * @param event FocusEvent\n */\n beforeFocus?: (event: FocusEvent) => boolean | undefined\n afterFocus?: () => void\n /**\n * return true to cancel blur\n * @param event FocusEvent\n */\n beforeBlur?: (event: FocusEvent) => boolean | undefined\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends { focus: () => void }>(\n target: ShallowRef<T | undefined>,\n {\n beforeFocus,\n afterFocus,\n beforeBlur,\n afterBlur,\n }: UseFocusControllerOptions = {}\n) {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const wrapperRef = shallowRef<HTMLElement>()\n const isFocused = ref(false)\n\n const handleFocus = (event: FocusEvent) => {\n const cancelFocus = isFunction(beforeFocus) ? beforeFocus(event) : false\n if (cancelFocus || isFocused.value) return\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false\n if (\n cancelBlur ||\n (event.relatedTarget &&\n wrapperRef.value?.contains(event.relatedTarget as Node))\n )\n return\n\n isFocused.value = false\n emit('blur', event)\n afterBlur?.()\n }\n\n const handleClick = () => {\n if (\n wrapperRef.value?.contains(document.activeElement) &&\n wrapperRef.value !== document.activeElement\n )\n return\n\n target.value?.focus()\n }\n\n useEventListener(wrapperRef, 'focus', handleFocus, true)\n useEventListener(wrapperRef, 'blur', handleBlur, true)\n useEventListener(wrapperRef, 'click', handleClick, true)\n\n // only for test\n if (process.env.NODE_ENV === 'test') {\n onMounted(() => {\n const targetEl = isElement(target.value)\n ? target.value\n : document.querySelector('input,textarea')\n\n if (targetEl) {\n useEventListener(targetEl, 'focus', handleFocus, true)\n useEventListener(targetEl, 'blur', handleBlur, true)\n }\n })\n }\n\n return {\n isFocused,\n /** Avoid using wrapperRef and handleFocus/handleBlur together */\n wrapperRef,\n handleFocus,\n handleBlur,\n }\n}\n"],"names":["getCurrentInstance","shallowRef","ref","isFunction","useEventListener","onMounted","isElement"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import { getCurrentInstance, onMounted, ref, shallowRef, watch } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isElement, isFunction } from '@element-plus/utils'\nimport type { ShallowRef } from 'vue'\n\ninterface UseFocusControllerOptions {\n /**\n * return true to cancel focus\n * @param event FocusEvent\n */\n beforeFocus?: (event: FocusEvent) => boolean | undefined\n afterFocus?: () => void\n /**\n * return true to cancel blur\n * @param event FocusEvent\n */\n beforeBlur?: (event: FocusEvent) => boolean | undefined\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends { focus: () => void }>(\n target: ShallowRef<T | undefined>,\n {\n beforeFocus,\n afterFocus,\n beforeBlur,\n afterBlur,\n }: UseFocusControllerOptions = {}\n) {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const wrapperRef = shallowRef<HTMLElement>()\n const isFocused = ref(false)\n\n const handleFocus = (event: FocusEvent) => {\n const cancelFocus = isFunction(beforeFocus) ? beforeFocus(event) : false\n if (cancelFocus || isFocused.value) return\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false\n if (\n cancelBlur ||\n (event.relatedTarget &&\n wrapperRef.value?.contains(event.relatedTarget as Node))\n )\n return\n\n isFocused.value = false\n emit('blur', event)\n afterBlur?.()\n }\n\n const handleClick = () => {\n if (\n wrapperRef.value?.contains(document.activeElement) &&\n wrapperRef.value !== document.activeElement\n )\n return\n\n target.value?.focus()\n }\n\n watch(wrapperRef, (el) => {\n if (el) {\n el.setAttribute('tabindex', '-1')\n }\n })\n\n useEventListener(wrapperRef, 'focus', handleFocus, true)\n useEventListener(wrapperRef, 'blur', handleBlur, true)\n useEventListener(wrapperRef, 'click', handleClick, true)\n\n // only for test\n if (process.env.NODE_ENV === 'test') {\n onMounted(() => {\n const targetEl = isElement(target.value)\n ? target.value\n : document.querySelector('input,textarea')\n\n if (targetEl) {\n useEventListener(targetEl, 'focus', handleFocus, true)\n useEventListener(targetEl, 'blur', handleBlur, true)\n }\n })\n }\n\n return {\n isFocused,\n /** Avoid using wrapperRef and handleFocus/handleBlur together */\n wrapperRef,\n handleFocus,\n handleBlur,\n }\n}\n"],"names":["getCurrentInstance","shallowRef","ref","isFunction","watch","useEventListener","onMounted","isElement"],"mappings":"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"}