@element-plus/nightly 0.0.20230712 → 0.0.20230713

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 (332) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +61 -26
  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 +13 -13
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +61 -27
  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.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/ckb.js +1 -1
  33. package/dist/locale/ckb.min.js +1 -1
  34. package/dist/locale/ckb.min.mjs +1 -1
  35. package/dist/locale/ckb.mjs +1 -1
  36. package/dist/locale/cs.js +1 -1
  37. package/dist/locale/cs.min.js +1 -1
  38. package/dist/locale/cs.min.mjs +1 -1
  39. package/dist/locale/cs.mjs +1 -1
  40. package/dist/locale/da.js +1 -1
  41. package/dist/locale/da.min.js +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +1 -1
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.mjs +1 -1
  47. package/dist/locale/de.mjs +1 -1
  48. package/dist/locale/el.js +1 -1
  49. package/dist/locale/el.min.js +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +1 -1
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.mjs +1 -1
  55. package/dist/locale/en.mjs +1 -1
  56. package/dist/locale/eo.js +1 -1
  57. package/dist/locale/eo.min.js +1 -1
  58. package/dist/locale/eo.min.mjs +1 -1
  59. package/dist/locale/eo.mjs +1 -1
  60. package/dist/locale/es.js +1 -1
  61. package/dist/locale/es.min.js +1 -1
  62. package/dist/locale/es.min.mjs +1 -1
  63. package/dist/locale/es.mjs +1 -1
  64. package/dist/locale/et.js +1 -1
  65. package/dist/locale/et.min.js +1 -1
  66. package/dist/locale/et.min.mjs +1 -1
  67. package/dist/locale/et.mjs +1 -1
  68. package/dist/locale/eu.js +1 -1
  69. package/dist/locale/eu.min.js +1 -1
  70. package/dist/locale/eu.min.mjs +1 -1
  71. package/dist/locale/eu.mjs +1 -1
  72. package/dist/locale/fa.js +1 -1
  73. package/dist/locale/fa.min.js +1 -1
  74. package/dist/locale/fa.min.mjs +1 -1
  75. package/dist/locale/fa.mjs +1 -1
  76. package/dist/locale/fi.js +1 -1
  77. package/dist/locale/fi.min.js +1 -1
  78. package/dist/locale/fi.min.mjs +1 -1
  79. package/dist/locale/fi.mjs +1 -1
  80. package/dist/locale/fr.js +1 -1
  81. package/dist/locale/fr.min.js +1 -1
  82. package/dist/locale/fr.min.mjs +1 -1
  83. package/dist/locale/fr.mjs +1 -1
  84. package/dist/locale/he.js +1 -1
  85. package/dist/locale/he.min.js +1 -1
  86. package/dist/locale/he.min.mjs +1 -1
  87. package/dist/locale/he.mjs +1 -1
  88. package/dist/locale/hr.js +1 -1
  89. package/dist/locale/hr.min.js +1 -1
  90. package/dist/locale/hr.min.mjs +1 -1
  91. package/dist/locale/hr.mjs +1 -1
  92. package/dist/locale/hu.js +1 -1
  93. package/dist/locale/hu.min.js +1 -1
  94. package/dist/locale/hu.min.mjs +1 -1
  95. package/dist/locale/hu.mjs +1 -1
  96. package/dist/locale/hy-am.js +1 -1
  97. package/dist/locale/hy-am.min.js +1 -1
  98. package/dist/locale/hy-am.min.mjs +1 -1
  99. package/dist/locale/hy-am.mjs +1 -1
  100. package/dist/locale/id.js +1 -1
  101. package/dist/locale/id.min.js +1 -1
  102. package/dist/locale/id.min.mjs +1 -1
  103. package/dist/locale/id.mjs +1 -1
  104. package/dist/locale/it.js +1 -1
  105. package/dist/locale/it.min.js +1 -1
  106. package/dist/locale/it.min.mjs +1 -1
  107. package/dist/locale/it.mjs +1 -1
  108. package/dist/locale/ja.js +1 -1
  109. package/dist/locale/ja.min.js +1 -1
  110. package/dist/locale/ja.min.mjs +1 -1
  111. package/dist/locale/ja.mjs +1 -1
  112. package/dist/locale/kk.js +1 -1
  113. package/dist/locale/kk.min.js +1 -1
  114. package/dist/locale/kk.min.mjs +1 -1
  115. package/dist/locale/kk.mjs +1 -1
  116. package/dist/locale/km.js +1 -1
  117. package/dist/locale/km.min.js +1 -1
  118. package/dist/locale/km.min.mjs +1 -1
  119. package/dist/locale/km.mjs +1 -1
  120. package/dist/locale/ko.js +1 -1
  121. package/dist/locale/ko.min.js +1 -1
  122. package/dist/locale/ko.min.mjs +1 -1
  123. package/dist/locale/ko.mjs +1 -1
  124. package/dist/locale/ku.js +1 -1
  125. package/dist/locale/ku.min.js +1 -1
  126. package/dist/locale/ku.min.mjs +1 -1
  127. package/dist/locale/ku.mjs +1 -1
  128. package/dist/locale/ky.js +1 -1
  129. package/dist/locale/ky.min.js +1 -1
  130. package/dist/locale/ky.min.mjs +1 -1
  131. package/dist/locale/ky.mjs +1 -1
  132. package/dist/locale/lt.js +1 -1
  133. package/dist/locale/lt.min.js +1 -1
  134. package/dist/locale/lt.min.mjs +1 -1
  135. package/dist/locale/lt.mjs +1 -1
  136. package/dist/locale/lv.js +1 -1
  137. package/dist/locale/lv.min.js +1 -1
  138. package/dist/locale/lv.min.mjs +1 -1
  139. package/dist/locale/lv.mjs +1 -1
  140. package/dist/locale/mg.js +1 -1
  141. package/dist/locale/mg.min.js +1 -1
  142. package/dist/locale/mg.min.mjs +1 -1
  143. package/dist/locale/mg.mjs +1 -1
  144. package/dist/locale/mn.js +1 -1
  145. package/dist/locale/mn.min.js +1 -1
  146. package/dist/locale/mn.min.mjs +1 -1
  147. package/dist/locale/mn.mjs +1 -1
  148. package/dist/locale/nb-no.js +1 -1
  149. package/dist/locale/nb-no.min.js +1 -1
  150. package/dist/locale/nb-no.min.mjs +1 -1
  151. package/dist/locale/nb-no.mjs +1 -1
  152. package/dist/locale/nl.js +1 -1
  153. package/dist/locale/nl.min.js +1 -1
  154. package/dist/locale/nl.min.mjs +1 -1
  155. package/dist/locale/nl.mjs +1 -1
  156. package/dist/locale/pa.js +1 -1
  157. package/dist/locale/pa.min.js +1 -1
  158. package/dist/locale/pa.min.mjs +1 -1
  159. package/dist/locale/pa.mjs +1 -1
  160. package/dist/locale/pl.js +1 -1
  161. package/dist/locale/pl.min.js +1 -1
  162. package/dist/locale/pl.min.mjs +1 -1
  163. package/dist/locale/pl.mjs +1 -1
  164. package/dist/locale/pt-br.js +1 -1
  165. package/dist/locale/pt-br.min.js +1 -1
  166. package/dist/locale/pt-br.min.mjs +1 -1
  167. package/dist/locale/pt-br.mjs +1 -1
  168. package/dist/locale/pt.js +1 -1
  169. package/dist/locale/pt.min.js +1 -1
  170. package/dist/locale/pt.min.mjs +1 -1
  171. package/dist/locale/pt.mjs +1 -1
  172. package/dist/locale/ro.js +1 -1
  173. package/dist/locale/ro.min.js +1 -1
  174. package/dist/locale/ro.min.mjs +1 -1
  175. package/dist/locale/ro.mjs +1 -1
  176. package/dist/locale/ru.js +1 -1
  177. package/dist/locale/ru.min.js +1 -1
  178. package/dist/locale/ru.min.mjs +1 -1
  179. package/dist/locale/ru.mjs +1 -1
  180. package/dist/locale/sk.js +1 -1
  181. package/dist/locale/sk.min.js +1 -1
  182. package/dist/locale/sk.min.mjs +1 -1
  183. package/dist/locale/sk.mjs +1 -1
  184. package/dist/locale/sl.js +1 -1
  185. package/dist/locale/sl.min.js +1 -1
  186. package/dist/locale/sl.min.mjs +1 -1
  187. package/dist/locale/sl.mjs +1 -1
  188. package/dist/locale/sr.js +1 -1
  189. package/dist/locale/sr.min.js +1 -1
  190. package/dist/locale/sr.min.mjs +1 -1
  191. package/dist/locale/sr.mjs +1 -1
  192. package/dist/locale/sv.js +1 -1
  193. package/dist/locale/sv.min.js +1 -1
  194. package/dist/locale/sv.min.mjs +1 -1
  195. package/dist/locale/sv.mjs +1 -1
  196. package/dist/locale/ta.js +1 -1
  197. package/dist/locale/ta.min.js +1 -1
  198. package/dist/locale/ta.min.mjs +1 -1
  199. package/dist/locale/ta.mjs +1 -1
  200. package/dist/locale/th.js +1 -1
  201. package/dist/locale/th.min.js +1 -1
  202. package/dist/locale/th.min.mjs +1 -1
  203. package/dist/locale/th.mjs +1 -1
  204. package/dist/locale/tk.js +1 -1
  205. package/dist/locale/tk.min.js +1 -1
  206. package/dist/locale/tk.min.mjs +1 -1
  207. package/dist/locale/tk.mjs +1 -1
  208. package/dist/locale/tr.js +1 -1
  209. package/dist/locale/tr.min.js +1 -1
  210. package/dist/locale/tr.min.mjs +1 -1
  211. package/dist/locale/tr.mjs +1 -1
  212. package/dist/locale/ug-cn.js +1 -1
  213. package/dist/locale/ug-cn.min.js +1 -1
  214. package/dist/locale/ug-cn.min.mjs +1 -1
  215. package/dist/locale/ug-cn.mjs +1 -1
  216. package/dist/locale/uk.js +1 -1
  217. package/dist/locale/uk.min.js +1 -1
  218. package/dist/locale/uk.min.mjs +1 -1
  219. package/dist/locale/uk.mjs +1 -1
  220. package/dist/locale/uz-uz.js +1 -1
  221. package/dist/locale/uz-uz.min.js +1 -1
  222. package/dist/locale/uz-uz.min.mjs +1 -1
  223. package/dist/locale/uz-uz.mjs +1 -1
  224. package/dist/locale/vi.js +1 -1
  225. package/dist/locale/vi.min.js +1 -1
  226. package/dist/locale/vi.min.mjs +1 -1
  227. package/dist/locale/vi.mjs +1 -1
  228. package/dist/locale/zh-cn.js +1 -1
  229. package/dist/locale/zh-cn.min.js +1 -1
  230. package/dist/locale/zh-cn.min.mjs +1 -1
  231. package/dist/locale/zh-cn.mjs +1 -1
  232. package/dist/locale/zh-tw.js +1 -1
  233. package/dist/locale/zh-tw.min.js +1 -1
  234. package/dist/locale/zh-tw.min.mjs +1 -1
  235. package/dist/locale/zh-tw.mjs +1 -1
  236. package/es/components/autocomplete/index.d.ts +12 -9
  237. package/es/components/autocomplete/src/autocomplete.vue.d.ts +12 -9
  238. package/es/components/cascader/index.d.ts +24 -18
  239. package/es/components/cascader/src/cascader.vue.d.ts +12 -9
  240. package/es/components/color-picker/index.d.ts +4 -3
  241. package/es/components/color-picker/src/color-picker.vue.d.ts +4 -3
  242. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +4 -3
  243. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +4 -3
  244. package/es/components/date-picker/src/panel-utils.d.ts +8 -6
  245. package/es/components/index.mjs +1 -1
  246. package/es/components/input/index.d.ts +4 -3
  247. package/es/components/input/src/input.vue.d.ts +4 -3
  248. package/es/components/input/src/input2.mjs +21 -25
  249. package/es/components/input/src/input2.mjs.map +1 -1
  250. package/es/components/input-number/index.d.ts +12 -9
  251. package/es/components/input-number/src/input-number.vue.d.ts +12 -9
  252. package/es/components/pagination/src/components/jumper.vue.d.ts +4 -3
  253. package/es/components/scrollbar/index.mjs +2 -2
  254. package/es/components/scrollbar/src/scrollbar.mjs +46 -174
  255. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  256. package/es/components/scrollbar/src/scrollbar2.mjs +174 -46
  257. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  258. package/es/components/slider/index.d.ts +12 -9
  259. package/es/components/slider/src/slider.vue.d.ts +12 -9
  260. package/es/components/table/style/css.d.ts +0 -1
  261. package/es/components/table/style/css.mjs +0 -1
  262. package/es/components/table/style/css.mjs.map +1 -1
  263. package/es/components/table/style/index.d.ts +0 -1
  264. package/es/components/table/style/index.mjs +0 -1
  265. package/es/components/table/style/index.mjs.map +1 -1
  266. package/es/components/time-picker/src/common/picker.vue.d.ts +4 -3
  267. package/es/components/transfer/index.d.ts +20 -15
  268. package/es/components/transfer/src/transfer-panel.vue.d.ts +4 -3
  269. package/es/components/transfer/src/transfer.vue.d.ts +20 -15
  270. package/es/hooks/index.d.ts +1 -0
  271. package/es/hooks/index.mjs +1 -0
  272. package/es/hooks/index.mjs.map +1 -1
  273. package/es/hooks/use-focus-controller/index.d.ts +12 -0
  274. package/es/hooks/use-focus-controller/index.mjs +44 -0
  275. package/es/hooks/use-focus-controller/index.mjs.map +1 -0
  276. package/es/index.mjs +2 -1
  277. package/es/index.mjs.map +1 -1
  278. package/es/version.d.ts +1 -1
  279. package/es/version.mjs +1 -1
  280. package/es/version.mjs.map +1 -1
  281. package/lib/components/autocomplete/index.d.ts +12 -9
  282. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +12 -9
  283. package/lib/components/cascader/index.d.ts +24 -18
  284. package/lib/components/cascader/src/cascader.vue.d.ts +12 -9
  285. package/lib/components/color-picker/index.d.ts +4 -3
  286. package/lib/components/color-picker/src/color-picker.vue.d.ts +4 -3
  287. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +4 -3
  288. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +4 -3
  289. package/lib/components/date-picker/src/panel-utils.d.ts +8 -6
  290. package/lib/components/index.js +1 -1
  291. package/lib/components/input/index.d.ts +4 -3
  292. package/lib/components/input/src/input.vue.d.ts +4 -3
  293. package/lib/components/input/src/input2.js +29 -33
  294. package/lib/components/input/src/input2.js.map +1 -1
  295. package/lib/components/input-number/index.d.ts +12 -9
  296. package/lib/components/input-number/src/input-number.vue.d.ts +12 -9
  297. package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -3
  298. package/lib/components/scrollbar/index.js +2 -2
  299. package/lib/components/scrollbar/src/scrollbar.js +47 -174
  300. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  301. package/lib/components/scrollbar/src/scrollbar2.js +174 -47
  302. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  303. package/lib/components/slider/index.d.ts +12 -9
  304. package/lib/components/slider/src/slider.vue.d.ts +12 -9
  305. package/lib/components/table/style/css.d.ts +0 -1
  306. package/lib/components/table/style/css.js +0 -1
  307. package/lib/components/table/style/css.js.map +1 -1
  308. package/lib/components/table/style/index.d.ts +0 -1
  309. package/lib/components/table/style/index.js +0 -1
  310. package/lib/components/table/style/index.js.map +1 -1
  311. package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -3
  312. package/lib/components/transfer/index.d.ts +20 -15
  313. package/lib/components/transfer/src/transfer-panel.vue.d.ts +4 -3
  314. package/lib/components/transfer/src/transfer.vue.d.ts +20 -15
  315. package/lib/hooks/index.d.ts +1 -0
  316. package/lib/hooks/index.js +2 -0
  317. package/lib/hooks/index.js.map +1 -1
  318. package/lib/hooks/use-focus-controller/index.d.ts +12 -0
  319. package/lib/hooks/use-focus-controller/index.js +48 -0
  320. package/lib/hooks/use-focus-controller/index.js.map +1 -0
  321. package/lib/index.js +3 -1
  322. package/lib/index.js.map +1 -1
  323. package/lib/version.d.ts +1 -1
  324. package/lib/version.js +1 -1
  325. package/lib/version.js.map +1 -1
  326. package/package.json +2 -2
  327. package/theme-chalk/el-input.css +1 -1
  328. package/theme-chalk/el-table.css +1 -1
  329. package/theme-chalk/index.css +1 -1
  330. package/theme-chalk/src/input.scss +1 -0
  331. package/theme-chalk/src/table.scss +4 -1
  332. package/web-types.json +1 -1
@@ -1020,13 +1020,16 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
1020
1020
  };
1021
1021
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
1022
1022
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
1023
- focused: import("vue").Ref<boolean>;
1024
1023
  hovering: import("vue").Ref<boolean>;
1025
1024
  isComposing: import("vue").Ref<boolean>;
1026
1025
  passwordVisible: import("vue").Ref<boolean>;
1027
1026
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
1028
1027
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
1029
1028
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
1029
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
1030
+ isFocused: import("vue").Ref<boolean>;
1031
+ handleFocus: (event: FocusEvent) => void;
1032
+ handleBlur: (event: FocusEvent) => void;
1030
1033
  needStatusIcon: import("vue").ComputedRef<boolean>;
1031
1034
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
1032
1035
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -1054,8 +1057,6 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
1054
1057
  handlePasswordVisible: () => void;
1055
1058
  focus: () => Promise<void>;
1056
1059
  blur: () => void | undefined;
1057
- handleFocus: (event: FocusEvent) => void;
1058
- handleBlur: (event: FocusEvent) => void;
1059
1060
  handleMouseLeave: (evt: MouseEvent) => void;
1060
1061
  handleMouseEnter: (evt: MouseEvent) => void;
1061
1062
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -2127,13 +2128,16 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
2127
2128
  };
2128
2129
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
2129
2130
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
2130
- focused: import("vue").Ref<boolean>;
2131
2131
  hovering: import("vue").Ref<boolean>;
2132
2132
  isComposing: import("vue").Ref<boolean>;
2133
2133
  passwordVisible: import("vue").Ref<boolean>;
2134
2134
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
2135
2135
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
2136
2136
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
2137
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
2138
+ isFocused: import("vue").Ref<boolean>;
2139
+ handleFocus: (event: FocusEvent) => void;
2140
+ handleBlur: (event: FocusEvent) => void;
2137
2141
  needStatusIcon: import("vue").ComputedRef<boolean>;
2138
2142
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
2139
2143
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -2161,8 +2165,6 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
2161
2165
  handlePasswordVisible: () => void;
2162
2166
  focus: () => Promise<void>;
2163
2167
  blur: () => void | undefined;
2164
- handleFocus: (event: FocusEvent) => void;
2165
- handleBlur: (event: FocusEvent) => void;
2166
2168
  handleMouseLeave: (evt: MouseEvent) => void;
2167
2169
  handleMouseEnter: (evt: MouseEvent) => void;
2168
2170
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -3260,13 +3262,16 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
3260
3262
  };
3261
3263
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
3262
3264
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
3263
- focused: import("vue").Ref<boolean>;
3264
3265
  hovering: import("vue").Ref<boolean>;
3265
3266
  isComposing: import("vue").Ref<boolean>;
3266
3267
  passwordVisible: import("vue").Ref<boolean>;
3267
3268
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
3268
3269
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
3269
3270
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
3271
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
3272
+ isFocused: import("vue").Ref<boolean>;
3273
+ handleFocus: (event: FocusEvent) => void;
3274
+ handleBlur: (event: FocusEvent) => void;
3270
3275
  needStatusIcon: import("vue").ComputedRef<boolean>;
3271
3276
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
3272
3277
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -3294,8 +3299,6 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
3294
3299
  handlePasswordVisible: () => void;
3295
3300
  focus: () => Promise<void>;
3296
3301
  blur: () => void | undefined;
3297
- handleFocus: (event: FocusEvent) => void;
3298
- handleBlur: (event: FocusEvent) => void;
3299
3302
  handleMouseLeave: (evt: MouseEvent) => void;
3300
3303
  handleMouseEnter: (evt: MouseEvent) => void;
3301
3304
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -4367,13 +4370,16 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
4367
4370
  };
4368
4371
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
4369
4372
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
4370
- focused: import("vue").Ref<boolean>;
4371
4373
  hovering: import("vue").Ref<boolean>;
4372
4374
  isComposing: import("vue").Ref<boolean>;
4373
4375
  passwordVisible: import("vue").Ref<boolean>;
4374
4376
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
4375
4377
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
4376
4378
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
4379
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
4380
+ isFocused: import("vue").Ref<boolean>;
4381
+ handleFocus: (event: FocusEvent) => void;
4382
+ handleBlur: (event: FocusEvent) => void;
4377
4383
  needStatusIcon: import("vue").ComputedRef<boolean>;
4378
4384
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
4379
4385
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -4401,8 +4407,6 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
4401
4407
  handlePasswordVisible: () => void;
4402
4408
  focus: () => Promise<void>;
4403
4409
  blur: () => void | undefined;
4404
- handleFocus: (event: FocusEvent) => void;
4405
- handleBlur: (event: FocusEvent) => void;
4406
4410
  handleMouseLeave: (evt: MouseEvent) => void;
4407
4411
  handleMouseEnter: (evt: MouseEvent) => void;
4408
4412
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -5784,13 +5788,16 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
5784
5788
  };
5785
5789
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
5786
5790
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
5787
- focused: import("vue").Ref<boolean>;
5788
5791
  hovering: import("vue").Ref<boolean>;
5789
5792
  isComposing: import("vue").Ref<boolean>;
5790
5793
  passwordVisible: import("vue").Ref<boolean>;
5791
5794
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
5792
5795
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
5793
5796
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
5797
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
5798
+ isFocused: import("vue").Ref<boolean>;
5799
+ handleFocus: (event: FocusEvent) => void;
5800
+ handleBlur: (event: FocusEvent) => void;
5794
5801
  needStatusIcon: import("vue").ComputedRef<boolean>;
5795
5802
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
5796
5803
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -5818,8 +5825,6 @@ export declare const ElTransfer: import("element-plus/es/utils").SFCWithInstall<
5818
5825
  handlePasswordVisible: () => void;
5819
5826
  focus: () => Promise<void>;
5820
5827
  blur: () => void | undefined;
5821
- handleFocus: (event: FocusEvent) => void;
5822
- handleBlur: (event: FocusEvent) => void;
5823
5828
  handleMouseLeave: (evt: MouseEvent) => void;
5824
5829
  handleMouseEnter: (evt: MouseEvent) => void;
5825
5830
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -858,13 +858,16 @@ declare const _default: import("vue").DefineComponent<{
858
858
  };
859
859
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
860
860
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
861
- focused: import("vue").Ref<boolean>;
862
861
  hovering: import("vue").Ref<boolean>;
863
862
  isComposing: import("vue").Ref<boolean>;
864
863
  passwordVisible: import("vue").Ref<boolean>;
865
864
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
866
865
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
867
866
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
867
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
868
+ isFocused: import("vue").Ref<boolean>;
869
+ handleFocus: (event: FocusEvent) => void;
870
+ handleBlur: (event: FocusEvent) => void;
868
871
  needStatusIcon: import("vue").ComputedRef<boolean>;
869
872
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
870
873
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -892,8 +895,6 @@ declare const _default: import("vue").DefineComponent<{
892
895
  handlePasswordVisible: () => void;
893
896
  focus: () => Promise<void>;
894
897
  blur: () => void | undefined;
895
- handleFocus: (event: FocusEvent) => void;
896
- handleBlur: (event: FocusEvent) => void;
897
898
  handleMouseLeave: (evt: MouseEvent) => void;
898
899
  handleMouseEnter: (evt: MouseEvent) => void;
899
900
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -1021,13 +1021,16 @@ declare const _default: import("vue").DefineComponent<{
1021
1021
  };
1022
1022
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
1023
1023
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
1024
- focused: import("vue").Ref<boolean>;
1025
1024
  hovering: import("vue").Ref<boolean>;
1026
1025
  isComposing: import("vue").Ref<boolean>;
1027
1026
  passwordVisible: import("vue").Ref<boolean>;
1028
1027
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
1029
1028
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
1030
1029
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
1030
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
1031
+ isFocused: import("vue").Ref<boolean>;
1032
+ handleFocus: (event: FocusEvent) => void;
1033
+ handleBlur: (event: FocusEvent) => void;
1031
1034
  needStatusIcon: import("vue").ComputedRef<boolean>;
1032
1035
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
1033
1036
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -1055,8 +1058,6 @@ declare const _default: import("vue").DefineComponent<{
1055
1058
  handlePasswordVisible: () => void;
1056
1059
  focus: () => Promise<void>;
1057
1060
  blur: () => void | undefined;
1058
- handleFocus: (event: FocusEvent) => void;
1059
- handleBlur: (event: FocusEvent) => void;
1060
1061
  handleMouseLeave: (evt: MouseEvent) => void;
1061
1062
  handleMouseEnter: (evt: MouseEvent) => void;
1062
1063
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -2128,13 +2129,16 @@ declare const _default: import("vue").DefineComponent<{
2128
2129
  };
2129
2130
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
2130
2131
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
2131
- focused: import("vue").Ref<boolean>;
2132
2132
  hovering: import("vue").Ref<boolean>;
2133
2133
  isComposing: import("vue").Ref<boolean>;
2134
2134
  passwordVisible: import("vue").Ref<boolean>;
2135
2135
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
2136
2136
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
2137
2137
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
2138
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
2139
+ isFocused: import("vue").Ref<boolean>;
2140
+ handleFocus: (event: FocusEvent) => void;
2141
+ handleBlur: (event: FocusEvent) => void;
2138
2142
  needStatusIcon: import("vue").ComputedRef<boolean>;
2139
2143
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
2140
2144
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -2162,8 +2166,6 @@ declare const _default: import("vue").DefineComponent<{
2162
2166
  handlePasswordVisible: () => void;
2163
2167
  focus: () => Promise<void>;
2164
2168
  blur: () => void | undefined;
2165
- handleFocus: (event: FocusEvent) => void;
2166
- handleBlur: (event: FocusEvent) => void;
2167
2169
  handleMouseLeave: (evt: MouseEvent) => void;
2168
2170
  handleMouseEnter: (evt: MouseEvent) => void;
2169
2171
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -3261,13 +3263,16 @@ declare const _default: import("vue").DefineComponent<{
3261
3263
  };
3262
3264
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
3263
3265
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
3264
- focused: import("vue").Ref<boolean>;
3265
3266
  hovering: import("vue").Ref<boolean>;
3266
3267
  isComposing: import("vue").Ref<boolean>;
3267
3268
  passwordVisible: import("vue").Ref<boolean>;
3268
3269
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
3269
3270
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
3270
3271
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
3272
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
3273
+ isFocused: import("vue").Ref<boolean>;
3274
+ handleFocus: (event: FocusEvent) => void;
3275
+ handleBlur: (event: FocusEvent) => void;
3271
3276
  needStatusIcon: import("vue").ComputedRef<boolean>;
3272
3277
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
3273
3278
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -3295,8 +3300,6 @@ declare const _default: import("vue").DefineComponent<{
3295
3300
  handlePasswordVisible: () => void;
3296
3301
  focus: () => Promise<void>;
3297
3302
  blur: () => void | undefined;
3298
- handleFocus: (event: FocusEvent) => void;
3299
- handleBlur: (event: FocusEvent) => void;
3300
3303
  handleMouseLeave: (evt: MouseEvent) => void;
3301
3304
  handleMouseEnter: (evt: MouseEvent) => void;
3302
3305
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -4368,13 +4371,16 @@ declare const _default: import("vue").DefineComponent<{
4368
4371
  };
4369
4372
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
4370
4373
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
4371
- focused: import("vue").Ref<boolean>;
4372
4374
  hovering: import("vue").Ref<boolean>;
4373
4375
  isComposing: import("vue").Ref<boolean>;
4374
4376
  passwordVisible: import("vue").Ref<boolean>;
4375
4377
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
4376
4378
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
4377
4379
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
4380
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
4381
+ isFocused: import("vue").Ref<boolean>;
4382
+ handleFocus: (event: FocusEvent) => void;
4383
+ handleBlur: (event: FocusEvent) => void;
4378
4384
  needStatusIcon: import("vue").ComputedRef<boolean>;
4379
4385
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
4380
4386
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -4402,8 +4408,6 @@ declare const _default: import("vue").DefineComponent<{
4402
4408
  handlePasswordVisible: () => void;
4403
4409
  focus: () => Promise<void>;
4404
4410
  blur: () => void | undefined;
4405
- handleFocus: (event: FocusEvent) => void;
4406
- handleBlur: (event: FocusEvent) => void;
4407
4411
  handleMouseLeave: (evt: MouseEvent) => void;
4408
4412
  handleMouseEnter: (evt: MouseEvent) => void;
4409
4413
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -5785,13 +5789,16 @@ declare const _default: import("vue").DefineComponent<{
5785
5789
  };
5786
5790
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
5787
5791
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
5788
- focused: import("vue").Ref<boolean>;
5789
5792
  hovering: import("vue").Ref<boolean>;
5790
5793
  isComposing: import("vue").Ref<boolean>;
5791
5794
  passwordVisible: import("vue").Ref<boolean>;
5792
5795
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
5793
5796
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
5794
5797
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
5798
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
5799
+ isFocused: import("vue").Ref<boolean>;
5800
+ handleFocus: (event: FocusEvent) => void;
5801
+ handleBlur: (event: FocusEvent) => void;
5795
5802
  needStatusIcon: import("vue").ComputedRef<boolean>;
5796
5803
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
5797
5804
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -5819,8 +5826,6 @@ declare const _default: import("vue").DefineComponent<{
5819
5826
  handlePasswordVisible: () => void;
5820
5827
  focus: () => Promise<void>;
5821
5828
  blur: () => void | undefined;
5822
- handleFocus: (event: FocusEvent) => void;
5823
- handleBlur: (event: FocusEvent) => void;
5824
5829
  handleMouseLeave: (evt: MouseEvent) => void;
5825
5830
  handleMouseEnter: (evt: MouseEvent) => void;
5826
5831
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -26,3 +26,4 @@ export * from './use-floating';
26
26
  export * from './use-cursor';
27
27
  export * from './use-ordered-children';
28
28
  export * from './use-size';
29
+ export * from './use-focus-controller';
@@ -26,4 +26,5 @@ export { arrowMiddleware, getPositionDataWithUnit, useFloating, useFloatingProps
26
26
  export { useCursor } from './use-cursor/index.mjs';
27
27
  export { useOrderedChildren } from './use-ordered-children/index.mjs';
28
28
  export { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps } from './use-size/index.mjs';
29
+ export { useFocusController } from './use-focus-controller/index.mjs';
29
30
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import type { ShallowRef } from 'vue';
2
+ interface UseFocusControllerOptions {
3
+ afterFocus?: () => void;
4
+ afterBlur?: () => void;
5
+ }
6
+ export declare function useFocusController<T extends HTMLElement>(target: ShallowRef<T | undefined>, { afterFocus, afterBlur }?: UseFocusControllerOptions): {
7
+ wrapperRef: ShallowRef<HTMLElement | undefined>;
8
+ isFocused: import("vue").Ref<boolean>;
9
+ handleFocus: (event: FocusEvent) => void;
10
+ handleBlur: (event: FocusEvent) => void;
11
+ };
12
+ export {};
@@ -0,0 +1,44 @@
1
+ import { getCurrentInstance, shallowRef, ref, watch } from 'vue';
2
+ import { useEventListener } from '@vueuse/core';
3
+
4
+ function useFocusController(target, { afterFocus, afterBlur } = {}) {
5
+ const instance = getCurrentInstance();
6
+ const { emit } = instance;
7
+ const wrapperRef = shallowRef();
8
+ const isFocused = ref(false);
9
+ const handleFocus = (event) => {
10
+ if (isFocused.value)
11
+ return;
12
+ isFocused.value = true;
13
+ emit("focus", event);
14
+ afterFocus == null ? void 0 : afterFocus();
15
+ };
16
+ const handleBlur = (event) => {
17
+ var _a;
18
+ if (event.relatedTarget && ((_a = wrapperRef.value) == null ? void 0 : _a.contains(event.relatedTarget)))
19
+ return;
20
+ isFocused.value = false;
21
+ emit("blur", event);
22
+ afterBlur == null ? void 0 : afterBlur();
23
+ };
24
+ const handleClick = () => {
25
+ var _a;
26
+ (_a = target.value) == null ? void 0 : _a.focus();
27
+ };
28
+ watch(wrapperRef, (el) => {
29
+ if (el) {
30
+ el.setAttribute("role", "button");
31
+ el.setAttribute("tabindex", "-1");
32
+ }
33
+ });
34
+ useEventListener(wrapperRef, "click", handleClick);
35
+ return {
36
+ wrapperRef,
37
+ isFocused,
38
+ handleFocus,
39
+ handleBlur
40
+ };
41
+ }
42
+
43
+ export { useFocusController };
44
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import { getCurrentInstance, ref, shallowRef, watch } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport type { ShallowRef } from 'vue'\n\ninterface UseFocusControllerOptions {\n afterFocus?: () => void\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends HTMLElement>(\n target: ShallowRef<T | undefined>,\n { afterFocus, afterBlur }: 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 if (isFocused.value) return\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n if (\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 target.value?.focus()\n }\n\n watch(wrapperRef, (el) => {\n if (el) {\n el.setAttribute('role', 'button')\n el.setAttribute('tabindex', '-1')\n }\n })\n\n // TODO: using useEventListener will fail the test\n // useEventListener(target, 'focus', handleFocus)\n // useEventListener(target, 'blur', handleBlur)\n useEventListener(wrapperRef, 'click', handleClick)\n\n return {\n wrapperRef,\n isFocused,\n handleFocus,\n handleBlur,\n }\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,kBAAkB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;AAC3E,EAAE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACjC,IAAI,IAAI,SAAS,CAAC,KAAK;AACvB,MAAM,OAAO;AACb,IAAI,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzB,IAAI,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,EAAE,CAAC;AAC/C,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAChC,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC5G,MAAM,OAAO;AACb,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxB,IAAI,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;AAC7C,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;AACtD,GAAG,CAAC;AACJ,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK;AAC5B,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,MAAM,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACrD,EAAE,OAAO;AACT,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;"}
package/es/index.mjs CHANGED
@@ -135,7 +135,7 @@ export { RowAlign, RowJustify, rowProps } from './components/row/src/row.mjs';
135
135
  export { rowContextKey } from './components/row/src/constants.mjs';
136
136
  export { ElRow } from './components/row/index.mjs';
137
137
  export { BAR_MAP, GAP, renderThumbStyle } from './components/scrollbar/src/util.mjs';
138
- export { scrollbarEmits, scrollbarProps } from './components/scrollbar/src/scrollbar2.mjs';
138
+ export { scrollbarEmits, scrollbarProps } from './components/scrollbar/src/scrollbar.mjs';
139
139
  export { thumbProps } from './components/scrollbar/src/thumb.mjs';
140
140
  export { scrollbarContextKey } from './components/scrollbar/src/constants.mjs';
141
141
  export { ElScrollbar } from './components/scrollbar/index.mjs';
@@ -255,6 +255,7 @@ export { arrowMiddleware, getPositionDataWithUnit, useFloating, useFloatingProps
255
255
  export { useCursor } from './hooks/use-cursor/index.mjs';
256
256
  export { useOrderedChildren } from './hooks/use-ordered-children/index.mjs';
257
257
  export { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps } from './hooks/use-size/index.mjs';
258
+ export { useFocusController } from './hooks/use-focus-controller/index.mjs';
258
259
 
259
260
  const install = installer.install;
260
261
  const version = installer.version;
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../packages/element-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@element-plus/components'\nexport * from '@element-plus/constants'\nexport * from '@element-plus/directives'\nexport * from '@element-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../packages/element-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@element-plus/components'\nexport * from '@element-plus/constants'\nexport * from '@element-plus/directives'\nexport * from '@element-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20230712";
1
+ export declare const version = "0.0.20230713";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20230712";
1
+ const version = "0.0.20230713";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230712'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230713'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -397,13 +397,16 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
397
397
  };
398
398
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
399
399
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
400
- focused: import("vue").Ref<boolean>;
401
400
  hovering: import("vue").Ref<boolean>;
402
401
  isComposing: import("vue").Ref<boolean>;
403
402
  passwordVisible: import("vue").Ref<boolean>;
404
403
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
405
404
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
406
405
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
406
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
407
+ isFocused: import("vue").Ref<boolean>;
408
+ handleFocus: (event: FocusEvent) => void;
409
+ handleBlur: (event: FocusEvent) => void;
407
410
  needStatusIcon: import("vue").ComputedRef<boolean>;
408
411
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
409
412
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -431,8 +434,6 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
431
434
  handlePasswordVisible: () => void;
432
435
  focus: () => Promise<void>;
433
436
  blur: () => void | undefined;
434
- handleFocus: (event: FocusEvent) => void;
435
- handleBlur: (event: FocusEvent) => void;
436
437
  handleMouseLeave: (evt: MouseEvent) => void;
437
438
  handleMouseEnter: (evt: MouseEvent) => void;
438
439
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -762,13 +763,16 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
762
763
  };
763
764
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
764
765
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
765
- focused: import("vue").Ref<boolean>;
766
766
  hovering: import("vue").Ref<boolean>;
767
767
  isComposing: import("vue").Ref<boolean>;
768
768
  passwordVisible: import("vue").Ref<boolean>;
769
769
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
770
770
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
771
771
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
772
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
773
+ isFocused: import("vue").Ref<boolean>;
774
+ handleFocus: (event: FocusEvent) => void;
775
+ handleBlur: (event: FocusEvent) => void;
772
776
  needStatusIcon: import("vue").ComputedRef<boolean>;
773
777
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
774
778
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -796,8 +800,6 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
796
800
  handlePasswordVisible: () => void;
797
801
  focus: () => Promise<void>;
798
802
  blur: () => void | undefined;
799
- handleFocus: (event: FocusEvent) => void;
800
- handleBlur: (event: FocusEvent) => void;
801
803
  handleMouseLeave: (evt: MouseEvent) => void;
802
804
  handleMouseEnter: (evt: MouseEvent) => void;
803
805
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -7327,13 +7329,16 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
7327
7329
  };
7328
7330
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
7329
7331
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
7330
- focused: import("vue").Ref<boolean>;
7331
7332
  hovering: import("vue").Ref<boolean>;
7332
7333
  isComposing: import("vue").Ref<boolean>;
7333
7334
  passwordVisible: import("vue").Ref<boolean>;
7334
7335
  countStyle: import("vue").Ref<import("vue").StyleValue | undefined>;
7335
7336
  textareaCalcStyle: import("vue").ShallowRef<import("vue").StyleValue>;
7336
7337
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
7338
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
7339
+ isFocused: import("vue").Ref<boolean>;
7340
+ handleFocus: (event: FocusEvent) => void;
7341
+ handleBlur: (event: FocusEvent) => void;
7337
7342
  needStatusIcon: import("vue").ComputedRef<boolean>;
7338
7343
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
7339
7344
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -7361,8 +7366,6 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
7361
7366
  handlePasswordVisible: () => void;
7362
7367
  focus: () => Promise<void>;
7363
7368
  blur: () => void | undefined;
7364
- handleFocus: (event: FocusEvent) => void;
7365
- handleBlur: (event: FocusEvent) => void;
7366
7369
  handleMouseLeave: (evt: MouseEvent) => void;
7367
7370
  handleMouseEnter: (evt: MouseEvent) => void;
7368
7371
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -400,13 +400,16 @@ declare const _default: import("vue").DefineComponent<{
400
400
  };
401
401
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
402
402
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
403
- focused: import("vue").Ref<boolean>;
404
403
  hovering: import("vue").Ref<boolean>;
405
404
  isComposing: import("vue").Ref<boolean>;
406
405
  passwordVisible: import("vue").Ref<boolean>;
407
406
  countStyle: import("vue").Ref<StyleValue | undefined>;
408
407
  textareaCalcStyle: import("vue").ShallowRef<StyleValue>;
409
408
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
409
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
410
+ isFocused: import("vue").Ref<boolean>;
411
+ handleFocus: (event: FocusEvent) => void;
412
+ handleBlur: (event: FocusEvent) => void;
410
413
  needStatusIcon: import("vue").ComputedRef<boolean>;
411
414
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
412
415
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -434,8 +437,6 @@ declare const _default: import("vue").DefineComponent<{
434
437
  handlePasswordVisible: () => void;
435
438
  focus: () => Promise<void>;
436
439
  blur: () => void | undefined;
437
- handleFocus: (event: FocusEvent) => void;
438
- handleBlur: (event: FocusEvent) => void;
439
440
  handleMouseLeave: (evt: MouseEvent) => void;
440
441
  handleMouseEnter: (evt: MouseEvent) => void;
441
442
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -765,13 +766,16 @@ declare const _default: import("vue").DefineComponent<{
765
766
  };
766
767
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
767
768
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
768
- focused: import("vue").Ref<boolean>;
769
769
  hovering: import("vue").Ref<boolean>;
770
770
  isComposing: import("vue").Ref<boolean>;
771
771
  passwordVisible: import("vue").Ref<boolean>;
772
772
  countStyle: import("vue").Ref<StyleValue | undefined>;
773
773
  textareaCalcStyle: import("vue").ShallowRef<StyleValue>;
774
774
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
775
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
776
+ isFocused: import("vue").Ref<boolean>;
777
+ handleFocus: (event: FocusEvent) => void;
778
+ handleBlur: (event: FocusEvent) => void;
775
779
  needStatusIcon: import("vue").ComputedRef<boolean>;
776
780
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
777
781
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -799,8 +803,6 @@ declare const _default: import("vue").DefineComponent<{
799
803
  handlePasswordVisible: () => void;
800
804
  focus: () => Promise<void>;
801
805
  blur: () => void | undefined;
802
- handleFocus: (event: FocusEvent) => void;
803
- handleBlur: (event: FocusEvent) => void;
804
806
  handleMouseLeave: (evt: MouseEvent) => void;
805
807
  handleMouseEnter: (evt: MouseEvent) => void;
806
808
  handleKeydown: (evt: KeyboardEvent) => void;
@@ -7330,13 +7332,16 @@ declare const _default: import("vue").DefineComponent<{
7330
7332
  };
7331
7333
  input: import("vue").ShallowRef<HTMLInputElement | undefined>;
7332
7334
  textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
7333
- focused: import("vue").Ref<boolean>;
7334
7335
  hovering: import("vue").Ref<boolean>;
7335
7336
  isComposing: import("vue").Ref<boolean>;
7336
7337
  passwordVisible: import("vue").Ref<boolean>;
7337
7338
  countStyle: import("vue").Ref<StyleValue | undefined>;
7338
7339
  textareaCalcStyle: import("vue").ShallowRef<StyleValue>;
7339
7340
  _ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
7341
+ wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
7342
+ isFocused: import("vue").Ref<boolean>;
7343
+ handleFocus: (event: FocusEvent) => void;
7344
+ handleBlur: (event: FocusEvent) => void;
7340
7345
  needStatusIcon: import("vue").ComputedRef<boolean>;
7341
7346
  validateState: import("vue").ComputedRef<"" | "success" | "error" | "validating">;
7342
7347
  validateIcon: import("vue").ComputedRef<"" | import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
@@ -7364,8 +7369,6 @@ declare const _default: import("vue").DefineComponent<{
7364
7369
  handlePasswordVisible: () => void;
7365
7370
  focus: () => Promise<void>;
7366
7371
  blur: () => void | undefined;
7367
- handleFocus: (event: FocusEvent) => void;
7368
- handleBlur: (event: FocusEvent) => void;
7369
7372
  handleMouseLeave: (evt: MouseEvent) => void;
7370
7373
  handleMouseEnter: (evt: MouseEvent) => void;
7371
7374
  handleKeydown: (evt: KeyboardEvent) => void;