@element-plus/nightly 0.0.20220105 → 0.0.20220109

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 (380) hide show
  1. package/README.md +27 -82
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +288 -219
  5. package/dist/index.full.min.js +8 -8
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +8 -8
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +286 -216
  10. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  11. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs +1 -0
  12. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  13. package/es/components/cascader/index.d.ts +4 -0
  14. package/es/components/cascader/src/index.vue.d.ts +2 -0
  15. package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs +5 -4
  16. package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  17. package/es/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.mjs.map +1 -1
  18. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -0
  19. package/es/components/cascader-panel/src/menu.vue_vue_type_script_lang.mjs +6 -0
  20. package/es/components/cascader-panel/src/menu.vue_vue_type_script_lang.mjs.map +1 -1
  21. package/es/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.mjs +19 -2
  22. package/es/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.mjs.map +1 -1
  23. package/es/components/cascader-panel/src/types.d.ts +1 -0
  24. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  25. package/es/components/checkbox/index.d.ts +6 -6
  26. package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  27. package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
  28. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  29. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs +2 -1
  30. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  31. package/es/components/config-provider/index.d.ts +6 -2
  32. package/es/components/config-provider/index.mjs +1 -1
  33. package/es/components/config-provider/src/config-provider.d.ts +13 -5
  34. package/es/components/config-provider/src/config-provider.mjs +12 -5
  35. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  36. package/es/components/date-picker/index.d.ts +4 -4
  37. package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs +1 -1
  38. package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs.map +1 -1
  39. package/es/components/date-picker/src/date-picker.d.ts +2 -2
  40. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  41. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +1 -0
  42. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  43. package/es/components/form/index.d.ts +1 -0
  44. package/es/components/form/src/form.vue.d.ts +1 -0
  45. package/es/components/form/src/form.vue_vue_type_script_lang.mjs +14 -0
  46. package/es/components/form/src/form.vue_vue_type_script_lang.mjs.map +1 -1
  47. package/es/components/form/src/form.vue_vue_type_template_id_602d6cf6_lang.mjs +1 -4
  48. package/es/components/form/src/form.vue_vue_type_template_id_602d6cf6_lang.mjs.map +1 -1
  49. package/es/components/index.mjs +3 -3
  50. package/es/components/input/index.d.ts +1 -0
  51. package/es/components/input/src/input.vue.d.ts +1 -0
  52. package/es/components/input/src/input.vue_vue_type_script_lang.mjs +1 -0
  53. package/es/components/input/src/input.vue_vue_type_script_lang.mjs.map +1 -1
  54. package/es/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.mjs +1 -1
  55. package/es/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.mjs.map +1 -1
  56. package/es/components/input-number/index.d.ts +5 -1
  57. package/es/components/input-number/src/input-number.vue.d.ts +5 -1
  58. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs +15 -1
  59. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs.map +1 -1
  60. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs +5 -4
  61. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs.map +1 -1
  62. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
  63. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs +2 -1
  64. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs.map +1 -1
  65. package/es/components/message/src/message-method.mjs +5 -1
  66. package/es/components/message/src/message-method.mjs.map +1 -1
  67. package/es/components/message/src/message.d.ts +3 -0
  68. package/es/components/message/src/message.mjs.map +1 -1
  69. package/es/components/message/src/message.vue.d.ts +2 -2
  70. package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  71. package/es/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.mjs +1 -0
  72. package/es/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.mjs.map +1 -1
  73. package/es/components/notification/src/notification.vue.d.ts +4 -4
  74. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
  75. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +2 -1
  76. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
  77. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  78. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +2 -1
  79. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -1
  80. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs.map +1 -1
  81. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs +1 -0
  82. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs.map +1 -1
  83. package/es/components/radio/index.d.ts +6 -6
  84. package/es/components/radio/index.mjs +2 -2
  85. package/es/components/radio/src/radio-button.mjs +11 -5
  86. package/es/components/radio/src/radio-button.mjs.map +1 -1
  87. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  88. package/es/components/radio/src/radio-button.vue_vue_type_script_lang.mjs +1 -1
  89. package/es/components/radio/src/radio-button2.mjs +5 -11
  90. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  91. package/es/components/radio/src/radio.vue.d.ts +2 -2
  92. package/es/components/rate/index.d.ts +7 -1
  93. package/es/components/rate/src/rate.d.ts +2 -0
  94. package/es/components/rate/src/rate.mjs +5 -0
  95. package/es/components/rate/src/rate.mjs.map +1 -1
  96. package/es/components/rate/src/rate.vue.d.ts +7 -1
  97. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs +6 -0
  98. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs.map +1 -1
  99. package/es/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.mjs +3 -3
  100. package/es/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.mjs.map +1 -1
  101. package/es/components/select/index.d.ts +1 -1
  102. package/es/components/select/src/select.vue.d.ts +1 -1
  103. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  104. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +1 -0
  105. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  106. package/es/components/select-v2/index.d.ts +2 -2
  107. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  108. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  109. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +1 -0
  110. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
  111. package/es/components/skeleton/index.mjs +2 -2
  112. package/es/components/skeleton/src/skeleton.mjs +24 -5
  113. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  114. package/es/components/skeleton/src/skeleton.vue_vue_type_script_lang.mjs +1 -1
  115. package/es/components/skeleton/src/skeleton2.mjs +5 -24
  116. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  117. package/es/components/slider/index.d.ts +22 -6
  118. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  119. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +2 -1
  120. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs.map +1 -1
  121. package/es/components/slider/src/index.vue.d.ts +11 -3
  122. package/es/components/slider/src/index.vue_vue_type_script_lang.mjs +21 -2
  123. package/es/components/slider/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  124. package/es/components/slider/src/index.vue_vue_type_template_id_24c42d04_lang.mjs +19 -19
  125. package/es/components/slider/src/index.vue_vue_type_template_id_24c42d04_lang.mjs.map +1 -1
  126. package/es/components/switch/index.d.ts +7 -2
  127. package/es/components/switch/src/switch.d.ts +2 -0
  128. package/es/components/switch/src/switch.mjs +5 -0
  129. package/es/components/switch/src/switch.mjs.map +1 -1
  130. package/es/components/switch/src/switch.vue.d.ts +7 -2
  131. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs +10 -1
  132. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs.map +1 -1
  133. package/es/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.mjs +1 -1
  134. package/es/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.mjs.map +1 -1
  135. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  136. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs +2 -1
  137. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  138. package/es/components/table/src/table-layout.mjs +1 -2
  139. package/es/components/table/src/table-layout.mjs.map +1 -1
  140. package/es/components/table/src/util.d.ts +2 -2
  141. package/es/components/table/src/util.mjs +9 -5
  142. package/es/components/table/src/util.mjs.map +1 -1
  143. package/es/components/tabs/index.d.ts +4 -4
  144. package/es/components/tabs/src/tab-pane.vue.d.ts +2 -2
  145. package/es/components/time-picker/index.d.ts +4 -4
  146. package/es/components/time-picker/src/common/picker.vue.d.ts +2 -2
  147. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -2
  148. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  149. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs +1 -0
  150. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  151. package/es/components/time-picker/src/time-picker.d.ts +2 -2
  152. package/es/components/transfer/src/transfer-panel.vue.d.ts +1 -2
  153. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs +2 -13
  154. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs.map +1 -1
  155. package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs +5 -18
  156. package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map +1 -1
  157. package/es/defaults.d.ts +3 -1
  158. package/es/hooks/index.mjs +1 -1
  159. package/es/hooks/use-global-config/index.d.ts +3 -1
  160. package/es/hooks/use-global-config/index.mjs +3 -2
  161. package/es/hooks/use-global-config/index.mjs.map +1 -1
  162. package/es/hooks/use-id/index.mjs +2 -2
  163. package/es/hooks/use-id/index.mjs.map +1 -1
  164. package/es/hooks/use-locale/index.d.ts +2 -253
  165. package/es/hooks/use-locale/index.mjs +9 -29
  166. package/es/hooks/use-locale/index.mjs.map +1 -1
  167. package/es/hooks/use-popper-container/index.mjs +2 -2
  168. package/es/hooks/use-popper-container/index.mjs.map +1 -1
  169. package/es/index.d.ts +4 -1
  170. package/es/index.mjs +5 -4
  171. package/es/index.mjs.map +1 -1
  172. package/es/version.d.ts +1 -1
  173. package/es/version.mjs +1 -1
  174. package/es/version.mjs.map +1 -1
  175. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  176. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js +1 -0
  177. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  178. package/lib/components/cascader/index.d.ts +4 -0
  179. package/lib/components/cascader/src/index.vue.d.ts +2 -0
  180. package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js +5 -4
  181. package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js.map +1 -1
  182. package/lib/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.js.map +1 -1
  183. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -0
  184. package/lib/components/cascader-panel/src/menu.vue_vue_type_script_lang.js +10 -4
  185. package/lib/components/cascader-panel/src/menu.vue_vue_type_script_lang.js.map +1 -1
  186. package/lib/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.js +18 -1
  187. package/lib/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.js.map +1 -1
  188. package/lib/components/cascader-panel/src/types.d.ts +1 -0
  189. package/lib/components/cascader-panel/src/types.js.map +1 -1
  190. package/lib/components/checkbox/index.d.ts +6 -6
  191. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  192. package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
  193. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  194. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js +2 -1
  195. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  196. package/lib/components/config-provider/index.d.ts +6 -2
  197. package/lib/components/config-provider/index.js +1 -0
  198. package/lib/components/config-provider/index.js.map +1 -1
  199. package/lib/components/config-provider/src/config-provider.d.ts +13 -5
  200. package/lib/components/config-provider/src/config-provider.js +13 -5
  201. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  202. package/lib/components/date-picker/index.d.ts +4 -4
  203. package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js +1 -1
  204. package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js.map +1 -1
  205. package/lib/components/date-picker/src/date-picker.d.ts +2 -2
  206. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  207. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +1 -0
  208. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  209. package/lib/components/form/index.d.ts +1 -0
  210. package/lib/components/form/src/form.vue.d.ts +1 -0
  211. package/lib/components/form/src/form.vue_vue_type_script_lang.js +14 -0
  212. package/lib/components/form/src/form.vue_vue_type_script_lang.js.map +1 -1
  213. package/lib/components/form/src/form.vue_vue_type_template_id_602d6cf6_lang.js +1 -4
  214. package/lib/components/form/src/form.vue_vue_type_template_id_602d6cf6_lang.js.map +1 -1
  215. package/lib/components/index.js +3 -2
  216. package/lib/components/index.js.map +1 -1
  217. package/lib/components/input/index.d.ts +1 -0
  218. package/lib/components/input/src/input.vue.d.ts +1 -0
  219. package/lib/components/input/src/input.vue_vue_type_script_lang.js +1 -0
  220. package/lib/components/input/src/input.vue_vue_type_script_lang.js.map +1 -1
  221. package/lib/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.js +1 -1
  222. package/lib/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.js.map +1 -1
  223. package/lib/components/input-number/index.d.ts +5 -1
  224. package/lib/components/input-number/src/input-number.vue.d.ts +5 -1
  225. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js +18 -4
  226. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js.map +1 -1
  227. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js +5 -4
  228. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js.map +1 -1
  229. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
  230. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js +2 -1
  231. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js.map +1 -1
  232. package/lib/components/message/src/message-method.js +5 -1
  233. package/lib/components/message/src/message-method.js.map +1 -1
  234. package/lib/components/message/src/message.d.ts +3 -0
  235. package/lib/components/message/src/message.js.map +1 -1
  236. package/lib/components/message/src/message.vue.d.ts +2 -2
  237. package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
  238. package/lib/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.js +1 -0
  239. package/lib/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.js.map +1 -1
  240. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  241. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
  242. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +2 -1
  243. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
  244. package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
  245. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +2 -1
  246. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -1
  247. package/lib/components/popper/src/content.vue_vue_type_script_lang.js.map +1 -1
  248. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js +1 -0
  249. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js.map +1 -1
  250. package/lib/components/radio/index.d.ts +6 -6
  251. package/lib/components/radio/index.js +2 -2
  252. package/lib/components/radio/src/radio-button.js +10 -5
  253. package/lib/components/radio/src/radio-button.js.map +1 -1
  254. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  255. package/lib/components/radio/src/radio-button.vue_vue_type_script_lang.js +1 -1
  256. package/lib/components/radio/src/radio-button2.js +5 -10
  257. package/lib/components/radio/src/radio-button2.js.map +1 -1
  258. package/lib/components/radio/src/radio.vue.d.ts +2 -2
  259. package/lib/components/rate/index.d.ts +7 -1
  260. package/lib/components/rate/src/rate.d.ts +2 -0
  261. package/lib/components/rate/src/rate.js +5 -0
  262. package/lib/components/rate/src/rate.js.map +1 -1
  263. package/lib/components/rate/src/rate.vue.d.ts +7 -1
  264. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js +6 -0
  265. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js.map +1 -1
  266. package/lib/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.js +2 -2
  267. package/lib/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.js.map +1 -1
  268. package/lib/components/select/index.d.ts +1 -1
  269. package/lib/components/select/src/select.vue.d.ts +1 -1
  270. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  271. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +1 -0
  272. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  273. package/lib/components/select-v2/index.d.ts +2 -2
  274. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  275. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  276. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +1 -0
  277. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
  278. package/lib/components/skeleton/index.js +2 -2
  279. package/lib/components/skeleton/src/skeleton.js +23 -5
  280. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  281. package/lib/components/skeleton/src/skeleton.vue_vue_type_script_lang.js +1 -1
  282. package/lib/components/skeleton/src/skeleton2.js +5 -23
  283. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  284. package/lib/components/slider/index.d.ts +22 -6
  285. package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
  286. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +2 -1
  287. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js.map +1 -1
  288. package/lib/components/slider/src/index.vue.d.ts +11 -3
  289. package/lib/components/slider/src/index.vue_vue_type_script_lang.js +21 -2
  290. package/lib/components/slider/src/index.vue_vue_type_script_lang.js.map +1 -1
  291. package/lib/components/slider/src/index.vue_vue_type_template_id_24c42d04_lang.js +18 -18
  292. package/lib/components/slider/src/index.vue_vue_type_template_id_24c42d04_lang.js.map +1 -1
  293. package/lib/components/switch/index.d.ts +7 -2
  294. package/lib/components/switch/src/switch.d.ts +2 -0
  295. package/lib/components/switch/src/switch.js +5 -0
  296. package/lib/components/switch/src/switch.js.map +1 -1
  297. package/lib/components/switch/src/switch.vue.d.ts +7 -2
  298. package/lib/components/switch/src/switch.vue_vue_type_script_lang.js +9 -0
  299. package/lib/components/switch/src/switch.vue_vue_type_script_lang.js.map +1 -1
  300. package/lib/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.js +1 -1
  301. package/lib/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.js.map +1 -1
  302. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  303. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js +2 -1
  304. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  305. package/lib/components/table/src/table-layout.js +1 -2
  306. package/lib/components/table/src/table-layout.js.map +1 -1
  307. package/lib/components/table/src/util.d.ts +2 -2
  308. package/lib/components/table/src/util.js +9 -5
  309. package/lib/components/table/src/util.js.map +1 -1
  310. package/lib/components/tabs/index.d.ts +4 -4
  311. package/lib/components/tabs/src/tab-pane.vue.d.ts +2 -2
  312. package/lib/components/time-picker/index.d.ts +4 -4
  313. package/lib/components/time-picker/src/common/picker.vue.d.ts +2 -2
  314. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -2
  315. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  316. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js +1 -0
  317. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  318. package/lib/components/time-picker/src/time-picker.d.ts +2 -2
  319. package/lib/components/transfer/src/transfer-panel.vue.d.ts +1 -2
  320. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js +3 -14
  321. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js.map +1 -1
  322. package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js +4 -17
  323. package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js.map +1 -1
  324. package/lib/defaults.d.ts +3 -1
  325. package/lib/hooks/index.js +1 -4
  326. package/lib/hooks/index.js.map +1 -1
  327. package/lib/hooks/use-global-config/index.d.ts +3 -1
  328. package/lib/hooks/use-global-config/index.js +3 -2
  329. package/lib/hooks/use-global-config/index.js.map +1 -1
  330. package/lib/hooks/use-id/index.js +2 -2
  331. package/lib/hooks/use-id/index.js.map +1 -1
  332. package/lib/hooks/use-locale/index.d.ts +2 -253
  333. package/lib/hooks/use-locale/index.js +8 -31
  334. package/lib/hooks/use-locale/index.js.map +1 -1
  335. package/lib/hooks/use-popper-container/index.js +2 -2
  336. package/lib/hooks/use-popper-container/index.js.map +1 -1
  337. package/lib/index.d.ts +4 -1
  338. package/lib/index.js +6 -6
  339. package/lib/index.js.map +1 -1
  340. package/lib/version.d.ts +1 -1
  341. package/lib/version.js +1 -1
  342. package/lib/version.js.map +1 -1
  343. package/package.json +2 -2
  344. package/tags.json +1 -1
  345. package/theme-chalk/el-cascader.css +1 -1
  346. package/theme-chalk/el-checkbox.css +1 -1
  347. package/theme-chalk/el-date-picker.css +1 -1
  348. package/theme-chalk/el-form.css +1 -1
  349. package/theme-chalk/el-pagination.css +1 -1
  350. package/theme-chalk/el-radio.css +1 -1
  351. package/theme-chalk/el-rate.css +1 -1
  352. package/theme-chalk/el-select-v2.css +1 -1
  353. package/theme-chalk/el-slider.css +1 -1
  354. package/theme-chalk/el-switch.css +1 -1
  355. package/theme-chalk/el-tag.css +1 -1
  356. package/theme-chalk/el-time-picker.css +1 -1
  357. package/theme-chalk/el-time-select.css +1 -1
  358. package/theme-chalk/el-transfer.css +1 -1
  359. package/theme-chalk/index.css +1 -1
  360. package/theme-chalk/src/cascader.scss +4 -0
  361. package/theme-chalk/src/checkbox.scss +40 -6
  362. package/theme-chalk/src/common/var.scss +2 -4
  363. package/theme-chalk/src/date-picker/picker-panel.scss +1 -1
  364. package/theme-chalk/src/date-picker/picker.scss +1 -0
  365. package/theme-chalk/src/form.scss +101 -24
  366. package/theme-chalk/src/pagination.scss +0 -3
  367. package/theme-chalk/src/radio.scss +21 -0
  368. package/theme-chalk/src/rate.scss +19 -2
  369. package/theme-chalk/src/select-v2.scss +2 -3
  370. package/theme-chalk/src/slider.scss +28 -77
  371. package/theme-chalk/src/switch.scss +43 -4
  372. package/theme-chalk/src/tag.scss +3 -3
  373. package/theme-chalk/src/transfer.scss +27 -31
  374. package/web-types.json +1 -1
  375. package/es/utils/isServer.d.ts +0 -2
  376. package/es/utils/isServer.mjs +0 -4
  377. package/es/utils/isServer.mjs.map +0 -1
  378. package/lib/utils/isServer.d.ts +0 -2
  379. package/lib/utils/isServer.js +0 -8
  380. package/lib/utils/isServer.js.map +0 -1
@@ -23,6 +23,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
23
23
  "gpu-acceleration": false,
24
24
  "stop-popper-mouse-event": false,
25
25
  "hide-after": 0,
26
+ persistent: "",
26
27
  onShow: _cache[17] || (_cache[17] = ($event) => _ctx.pickerActualVisible = true),
27
28
  onHide: _cache[18] || (_cache[18] = ($event) => _ctx.pickerActualVisible = false)
28
29
  }), {
@@ -1 +1 @@
1
- {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue?vue&type=template&id=1d54be91&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n @show=\"pickerActualVisible = true\"\n @hide=\"pickerActualVisible = false\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n focus,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;0BAgGqB;;;;;;;;wBA/FnB;IACE;IACQ;;UACF;IACN;IACA;;IAEA,kBAAA;IACA;IACC;IACA;IACA;IACA,kBAAgB;IAChB,gCAA8B;IAC9B;IACA;;;;QAKU;;;YACN,EAAE;;yBAES;;;yCAGa;;iBAEpB;iBAEC;uBACM;;;uBAGF;YACT,QAAM;;uBAEI;;;YAGA;;;;wBAGF,EAAC;;;;;;;;;;;;;;;2BAUA;;;2EAEU;;;;;;;;;;;oCAOd;;;;;;mBAOA;;;8DAGI;;aAGF;;;kBACN,OAAM;;;;;;;;;;;;mBAQC,aAAQ;+CACe;;;cAG7B,WAAW;;cAEX,OAAK;;qBAEA;;;;;;kBAMD,WAAM;;;;;;;mBAON;;;6DAGI;;aAGH;;;;;;;;;;;;;;;;;;;QAcP;;QAEA;;;;;;"}
1
+ {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue?vue&type=template&id=1d54be91&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @show=\"pickerActualVisible = true\"\n @hide=\"pickerActualVisible = false\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n focus,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;0BAiGqB;;;;;;;;wBAhGnB;IACE;IACQ;;UACF;IACN;IACA;;IAEA,kBAAA;IACA;IACC;IACA;IACA;IACA;IACA,gCAA8B;IAC9B,cAAY,CAAC;IACd;IACC;;;;QAKU;;;YACN,EAAE;;yBAES;;;yCAGa;;iBAEpB;iBAEC;uBACM;;;uBAGF;YACT,QAAM;;uBAEI;;;YAGA;;;;wBAGF,EAAC;;;;;;;;;;;;;;;2BAUA;;;2EAEU;;;;;;;;;;;oCAOd;;;;;;mBAOA;;;8DAGI;;aAGF;;;kBACN,OAAM;;;;;;;;;;;;mBAQC,aAAQ;+CACe;;;cAG7B,WAAW;;cAEX,OAAK;;qBAEA;;;;;;kBAMD,WAAM;;;;;;;mBAON;;;6DAGI;;aAGH;;;;;;;;;;;;;;;;;;;QAcP;;QAEA;;;;;;"}
@@ -141,8 +141,8 @@ declare const _default: import("vue").DefineComponent<{
141
141
  } & {
142
142
  type: string;
143
143
  disabled: boolean;
144
- name: string | unknown[];
145
144
  modelValue: string | number | Date | (string | number | Date)[];
145
+ name: string | unknown[];
146
146
  editable: boolean;
147
147
  popperOptions: Partial<import("@popperjs/core").Options>;
148
148
  popperClass: string;
@@ -176,8 +176,8 @@ declare const _default: import("vue").DefineComponent<{
176
176
  }, {
177
177
  type: string;
178
178
  disabled: boolean;
179
- name: string | unknown[];
180
179
  modelValue: string | number | Date | (string | number | Date)[];
180
+ name: string | unknown[];
181
181
  editable: boolean;
182
182
  popperOptions: Partial<import("@popperjs/core").Options>;
183
183
  popperClass: string;
@@ -25,9 +25,8 @@ declare const _default: import("vue").DefineComponent<{
25
25
  inputHover: import("vue").Ref<boolean>;
26
26
  checkChangeByUser: import("vue").Ref<boolean>;
27
27
  hasNoMatch: import("vue").ComputedRef<boolean>;
28
- inputIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>>;
28
+ SearchIcon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>;
29
29
  hasFooter: import("vue").ComputedRef<boolean>;
30
- clearQuery: () => void;
31
30
  t: import("element-plus/es/hooks").Translator;
32
31
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "checked-change"[], "checked-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
33
32
  data?: unknown;
@@ -1,9 +1,8 @@
1
1
  import { defineComponent, reactive, computed, toRefs } from 'vue';
2
2
  import '../../../hooks/index.mjs';
3
3
  import { ElCheckboxGroup, ElCheckbox } from '../../checkbox/index.mjs';
4
- import { ElIcon } from '../../icon/index.mjs';
5
4
  import { ElInput } from '../../input/index.mjs';
6
- import { CircleClose, Search } from '@element-plus/icons-vue';
5
+ import { Search } from '@element-plus/icons-vue';
7
6
  import { useCheckProps, CHECKED_CHANGE_EVENT, useCheck } from './useCheck.mjs';
8
7
  import { useLocale } from '../../../hooks/use-locale/index.mjs';
9
8
 
@@ -13,7 +12,6 @@ var script = defineComponent({
13
12
  ElCheckboxGroup,
14
13
  ElCheckbox,
15
14
  ElInput,
16
- ElIcon,
17
15
  OptionContent: ({ option }) => option
18
16
  },
19
17
  props: useCheckProps,
@@ -39,15 +37,7 @@ var script = defineComponent({
39
37
  const hasNoMatch = computed(() => {
40
38
  return panelState.query.length > 0 && filteredData.value.length === 0;
41
39
  });
42
- const inputIcon = computed(() => {
43
- return panelState.query.length > 0 && panelState.inputHover ? CircleClose : Search;
44
- });
45
40
  const hasFooter = computed(() => !!slots.default()[0].children.length);
46
- const clearQuery = () => {
47
- if (inputIcon.value === CircleClose) {
48
- panelState.query = "";
49
- }
50
- };
51
41
  const { checked, allChecked, query, inputHover, checkChangeByUser } = toRefs(panelState);
52
42
  return {
53
43
  labelProp,
@@ -63,9 +53,8 @@ var script = defineComponent({
63
53
  inputHover,
64
54
  checkChangeByUser,
65
55
  hasNoMatch,
66
- inputIcon,
56
+ SearchIcon: Search,
67
57
  hasFooter,
68
- clearQuery,
69
58
  t
70
59
  };
71
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElIcon from '@element-plus/components/icon'\nimport ElInput from '@element-plus/components/input'\nimport { CircleClose, Search } from '@element-plus/icons-vue'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n ElIcon,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const inputIcon = computed(() => {\n return panelState.query.length > 0 && panelState.inputHover\n ? CircleClose\n : Search\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const clearQuery = () => {\n if (inputIcon.value === CircleClose) {\n panelState.query = ''\n }\n }\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n inputIcon,\n hasFooter,\n clearQuery,\n\n t,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAmEA,aAAe,eAAe,CAAC;;AAE/B,EAAE,UAAU;IACR,eAAe;;IAEf,OAAO;IACP,MAAM;IACN;;OAEG,EAAE;OACF,EAAE,CAAC,oBAAoB;EAC5B;;IAEE,MAAM,UAAU;;MAEd,UAAU,EAAE,KAAK;;MAEjB,YAAY,KAAK;MACjB,iBAAiB,EAAE;;IAErB,MAAM;MACJ,SAAS;MACT,OAAO;MACP;MACA,YAAY;MACZ,cAAc;;;KAGf,GAAG;UACE;MACJ,OAAO;MACP,CAAC;UACG;MACJ,OAAO;MACP,CAAC;UACG,SAAS,GAAG;IAClB,MAAM,UAAU,SAAS;;QAErB,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;OACvB;KACF;;IAED,OAAO;MACL,SAAS;aACF;;;;MAIP;;MAEA,OAAO;MACP,UAAU;WACL;MACL;;;MAGA,SAAS;MACT,SAAS;;MAET,CAAC;MACD;;;;;;"}
1
+ {"version":3,"file":"transfer-panel.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"SearchIcon\"\n clearable\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElInput from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n SearchIcon: Search,\n hasFooter,\n\n t,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AA+DA,aAAe,eAAe,CAAC;;AAE/B,EAAE,UAAU;IACR,eAAe;;IAEf,OAAO;IACP,aAAa,EAAE;;OAEZ,EAAE;OACF,EAAE,CAAC,oBAAoB;EAC5B;;IAEE,MAAM,UAAU;;MAEd,UAAU,EAAE,KAAK;;MAEjB,YAAY,KAAK;MACjB,iBAAiB,EAAE;;IAErB,MAAM;MACJ,SAAS;MACT,OAAO;MACP;MACA,YAAY;MACZ,cAAc;;;KAGf,GAAG;UACE;MACJ,OAAO;MACP,CAAC;UACG;UACA,EAAE,OAAO;WACR;MACL,SAAS;MACT,OAAO;;MAEP,YAAY;MACZ,cAAc;;;MAGd,OAAO;;MAEP;MACA,UAAU;;MAEV;MACA;MACA;MACA,CAAC;MACD;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode, toDisplayString, normalizeClass, createBlock, resolveDynamicComponent, createCommentVNode, withDirectives, Fragment, renderList, vShow, renderSlot } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode, toDisplayString, normalizeClass, createBlock, createCommentVNode, withDirectives, Fragment, renderList, vShow, renderSlot } from 'vue';
2
2
 
3
3
  const _hoisted_1 = { class: "el-transfer-panel" };
4
4
  const _hoisted_2 = { class: "el-transfer-panel__header" };
@@ -8,7 +8,6 @@ const _hoisted_3 = {
8
8
  };
9
9
  function render(_ctx, _cache, $props, $setup, $data, $options) {
10
10
  const _component_el_checkbox = resolveComponent("el-checkbox");
11
- const _component_el_icon = resolveComponent("el-icon");
12
11
  const _component_el_input = resolveComponent("el-input");
13
12
  const _component_option_content = resolveComponent("option-content");
14
13
  const _component_el_checkbox_group = resolveComponent("el-checkbox-group");
@@ -35,25 +34,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
35
34
  modelValue: _ctx.query,
36
35
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.query = $event),
37
36
  class: "el-transfer-panel__filter",
38
- size: "small",
37
+ size: "default",
39
38
  placeholder: _ctx.placeholder,
39
+ "prefix-icon": _ctx.SearchIcon,
40
+ clearable: "",
40
41
  onMouseenter: _cache[2] || (_cache[2] = ($event) => _ctx.inputHover = true),
41
42
  onMouseleave: _cache[3] || (_cache[3] = ($event) => _ctx.inputHover = false)
42
- }, {
43
- prefix: withCtx(() => [
44
- _ctx.inputIcon ? (openBlock(), createBlock(_component_el_icon, {
45
- key: 0,
46
- class: "el-input__icon",
47
- onClick: _ctx.clearQuery
48
- }, {
49
- default: withCtx(() => [
50
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.inputIcon)))
51
- ]),
52
- _: 1
53
- }, 8, ["onClick"])) : createCommentVNode("v-if", true)
54
- ]),
55
- _: 1
56
- }, 8, ["modelValue", "placeholder"])) : createCommentVNode("v-if", true),
43
+ }, null, 8, ["modelValue", "placeholder", "prefix-icon"])) : createCommentVNode("v-if", true),
57
44
  withDirectives(createVNode(_component_el_checkbox_group, {
58
45
  modelValue: _ctx.checked,
59
46
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.checked = $event),
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue?vue&type=template&id=1a7d1f9c&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElIcon from '@element-plus/components/icon'\nimport ElInput from '@element-plus/components/input'\nimport { CircleClose, Search } from '@element-plus/icons-vue'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n ElIcon,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const inputIcon = computed(() => {\n return panelState.query.length > 0 && panelState.inputHover\n ? CircleClose\n : Search\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const clearQuery = () => {\n if (inputIcon.value === CircleClose) {\n panelState.query = ''\n }\n }\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n inputIcon,\n hasFooter,\n clearQuery,\n\n t,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;qBACO,KAAK,EAAC;;;;EAqDW;;;;;;;;;;wBArDtB;6BACE;;;;QAGK;;;;;UAID;;;;;;WAKI;;;;;;mFAIU;;;wBAGA;wBACH;YACV;;YAEU;;;;;;;;;;;;;;;;;;;;;;;;;wBAcE;mBACN;;cAEJ;;;;;;;;;;;;;iBAVM;;;;;;;"}
1
+ {"version":3,"file":"transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue?vue&type=template&id=1a7d1f9c&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"SearchIcon\"\n clearable\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElInput from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n SearchIcon: Search,\n hasFooter,\n\n t,\n }\n },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;qBACO,KAAK,EAAC;;;;EAkDW;;;;;;;;;wBAlDtB;6BACE;;;;QAGK;;;;;UAID;;;;;;WAKI;;;;;;;iBAKC,EAAC;;;;;wBAKK;;;;;;;;;0BAWT;6BADF;;cAEG,SAASA;;0BAEG;4BACE,CAAC;;;;kBAEC;;;;;;;;;;;qBAGrB;mCACwB;;;;;;"}
package/es/defaults.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  declare const _default: {
2
2
  version: string;
3
3
  install: (app: import("vue").App<any>, options?: {
4
+ readonly locale?: unknown;
4
5
  readonly size?: unknown;
5
6
  readonly button?: unknown;
7
+ readonly message?: unknown;
6
8
  readonly zIndex?: unknown;
7
- readonly locale?: unknown;
8
9
  } & {} & {
9
10
  button?: import("./components").ButtonConfigContext | undefined;
10
11
  size?: import("./utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
11
12
  locale?: import("./locale").Language | undefined;
13
+ message?: import("./components").MessageConfigContext | undefined;
12
14
  zIndex?: number | undefined;
13
15
  }) => void;
14
16
  };
@@ -3,7 +3,7 @@ export { useDisabled, useSize, useSizeProp } from './use-common-props/index.mjs'
3
3
  export { useFocus } from './use-focus/index.mjs';
4
4
  export { useFormItem } from './use-form-item/index.mjs';
5
5
  export { provideGlobalConfig, useGlobalConfig } from './use-global-config/index.mjs';
6
- export { buildTranslator, localeContextKey, localeProviderMaker, provideLocale, translate, useLocale, useLocaleProps } from './use-locale/index.mjs';
6
+ export { buildLocaleContext, buildTranslator, translate, useLocale } from './use-locale/index.mjs';
7
7
  export { useLockscreen } from './use-lockscreen/index.mjs';
8
8
  export { useModal } from './use-modal/index.mjs';
9
9
  export { createModelToggleComposable, useModelToggle, useModelToggleEmits, useModelToggleProps } from './use-model-toggle/index.mjs';
@@ -4,13 +4,15 @@ import type { ConfigProviderContext } from 'element-plus/es/tokens';
4
4
  export declare function useGlobalConfig<K extends keyof ConfigProviderContext>(key: K): Ref<ConfigProviderContext[K]>;
5
5
  export declare function useGlobalConfig(): Ref<ConfigProviderContext>;
6
6
  export declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App<any> | undefined) => import("vue").ComputedRef<{
7
+ readonly locale?: unknown;
7
8
  readonly size?: unknown;
8
9
  readonly button?: unknown;
10
+ readonly message?: unknown;
9
11
  readonly zIndex?: unknown;
10
- readonly locale?: unknown;
11
12
  } & {} & {
12
13
  button?: import("../..").ButtonConfigContext | undefined;
13
14
  size?: import("../../utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
14
15
  locale?: import("../../locale").Language | undefined;
16
+ message?: import("../..").MessageConfigContext | undefined;
15
17
  zIndex?: number | undefined;
16
18
  }> | undefined;
@@ -5,9 +5,9 @@ import { debugWarn } from '../../utils/error.mjs';
5
5
  import { configProviderContextKey } from '../../tokens/config-provider.mjs';
6
6
  import { isObject, hasOwn } from '@vue/shared';
7
7
 
8
- const fallback = ref({});
8
+ const cache = ref({});
9
9
  function useGlobalConfig(key) {
10
- const config = inject(configProviderContextKey, fallback);
10
+ const config = inject(configProviderContextKey, cache);
11
11
  if (key) {
12
12
  return isObject(config.value) && hasOwn(config.value, key) ? computed(() => config.value[key]) : ref(void 0);
13
13
  } else {
@@ -30,6 +30,7 @@ const provideGlobalConfig = (config, app) => {
30
30
  return merge(oldConfig.value, cfg);
31
31
  });
32
32
  provideFn(configProviderContextKey, context);
33
+ cache.value = context.value;
33
34
  return context;
34
35
  };
35
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-global-config/index.ts"],"sourcesContent":["import { inject, ref, computed, unref, provide, getCurrentInstance } from 'vue'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { hasOwn, isObject, merge } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Ref, App } from 'vue'\nimport type { ConfigProviderContext } from '@element-plus/tokens'\n\nconst fallback = ref<ConfigProviderContext>({})\n\nexport function useGlobalConfig<K extends keyof ConfigProviderContext>(\n key: K\n): Ref<ConfigProviderContext[K]>\nexport function useGlobalConfig(): Ref<ConfigProviderContext>\nexport function useGlobalConfig(key?: keyof ConfigProviderContext) {\n const config = inject(configProviderContextKey, fallback)\n if (key) {\n return isObject(config.value) && hasOwn(config.value, key)\n ? computed(() => config.value[key])\n : ref(undefined)\n } else {\n return config\n }\n}\n\nexport const provideGlobalConfig = (\n config: MaybeRef<ConfigProviderContext>,\n app?: App\n) => {\n const inSetup = !!getCurrentInstance()\n const oldConfig = inSetup ? useGlobalConfig() : undefined\n\n const provideFn = app?.provide ?? (inSetup ? provide : undefined)\n if (!provideFn) {\n debugWarn(\n 'provideGlobalConfig',\n 'provideGlobalConfig() can only be used inside setup().'\n )\n return\n }\n\n const context = computed(() => {\n const cfg = unref(config)\n if (!oldConfig) return cfg\n return merge(oldConfig.value, cfg)\n })\n provideFn(configProviderContextKey, context)\n return context\n}\n"],"names":[],"mappings":";;;;;;;AAIA,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC5D,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACjH,GAAG,MAAM;AACT,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,CAAC;AACW,MAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AACpD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACzC,EAAE,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC;AACzD,EAAE,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AACxG,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,SAAS,CAAC,qBAAqB,EAAE,wDAAwD,CAAC,CAAC;AAC/F,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AACjC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE,OAAO,OAAO,CAAC;AACjB;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-global-config/index.ts"],"sourcesContent":["import { inject, ref, computed, unref, provide, getCurrentInstance } from 'vue'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { hasOwn, isObject, merge } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Ref, App } from 'vue'\nimport type { ConfigProviderContext } from '@element-plus/tokens'\n\n// this is meant to fix global methods like `ElMessage(opts)`, this way we can inject current locale\n// into the component as default injection value.\n// refer to: https://github.com/element-plus/element-plus/issues/2610#issuecomment-887965266\nconst cache = ref<ConfigProviderContext>({})\n\nexport function useGlobalConfig<K extends keyof ConfigProviderContext>(\n key: K\n): Ref<ConfigProviderContext[K]>\nexport function useGlobalConfig(): Ref<ConfigProviderContext>\nexport function useGlobalConfig(key?: keyof ConfigProviderContext) {\n const config = inject(configProviderContextKey, cache)\n if (key) {\n return isObject(config.value) && hasOwn(config.value, key)\n ? computed(() => config.value[key])\n : ref(undefined)\n } else {\n return config\n }\n}\n\nexport const provideGlobalConfig = (\n config: MaybeRef<ConfigProviderContext>,\n app?: App\n) => {\n const inSetup = !!getCurrentInstance()\n const oldConfig = inSetup ? useGlobalConfig() : undefined\n\n const provideFn = app?.provide ?? (inSetup ? provide : undefined)\n if (!provideFn) {\n debugWarn(\n 'provideGlobalConfig',\n 'provideGlobalConfig() can only be used inside setup().'\n )\n return\n }\n\n const context = computed(() => {\n const cfg = unref(config)\n if (!oldConfig) return cfg\n return merge(oldConfig.value, cfg)\n })\n provideFn(configProviderContextKey, context)\n cache.value = context.value\n return context\n}\n"],"names":[],"mappings":";;;;;;;AAIA,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACf,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AACzD,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACjH,GAAG,MAAM;AACT,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,CAAC;AACW,MAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AACpD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACzC,EAAE,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC;AACzD,EAAE,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AACxG,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,SAAS,CAAC,qBAAqB,EAAE,wDAAwD,CAAC,CAAC;AAC/F,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AACjC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC9B,EAAE,OAAO,OAAO,CAAC;AACjB;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { inject, computed, unref } from 'vue';
2
- import isServer from '../../utils/isServer.mjs';
2
+ import { isClient } from '@vueuse/core';
3
3
  import { debugWarn } from '../../utils/error.mjs';
4
4
 
5
5
  const defaultIdInjection = {
@@ -9,7 +9,7 @@ const defaultIdInjection = {
9
9
  const ID_INJECTION_KEY = Symbol("elIdInjection");
10
10
  const useId = (deterministicId) => {
11
11
  const idInjection = inject(ID_INJECTION_KEY, defaultIdInjection);
12
- if (isServer && idInjection === defaultIdInjection) {
12
+ if (!isClient && idInjection === defaultIdInjection) {
13
13
  debugWarn("IdInjection", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
14
14
  usage: app.provide(ID_INJECTION_KEY, {
15
15
  prefix: number,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-id/index.ts"],"sourcesContent":["import { computed, inject, unref } from 'vue'\nimport isServer from '@element-plus/utils/isServer'\nimport { debugWarn } from '@element-plus/utils/error'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\nexport type ElIdInjectionContext = {\n prefix: number\n current: number\n}\n\nconst defaultIdInjection = {\n prefix: Math.floor(Math.random() * 10000),\n current: 0,\n}\n\nexport const ID_INJECTION_KEY: InjectionKey<ElIdInjectionContext> =\n Symbol('elIdInjection')\n\nexport const useId = (deterministicId?: MaybeRef<string>): Ref<string> => {\n const idInjection = inject(ID_INJECTION_KEY, defaultIdInjection)\n\n if (isServer && idInjection === defaultIdInjection) {\n debugWarn(\n 'IdInjection',\n `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})`\n )\n }\n\n const idRef = computed(\n () =>\n unref(deterministicId) ||\n `el-id-${idInjection.prefix}-${idInjection.current++}`\n )\n\n return idRef\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,EAAE;AAC5C,MAAC,KAAK,GAAG,CAAC,eAAe,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACnE,EAAE,IAAI,QAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACtD,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-id/index.ts"],"sourcesContent":["import { computed, inject, unref } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn } from '@element-plus/utils/error'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\nexport type ElIdInjectionContext = {\n prefix: number\n current: number\n}\n\nconst defaultIdInjection = {\n prefix: Math.floor(Math.random() * 10000),\n current: 0,\n}\n\nexport const ID_INJECTION_KEY: InjectionKey<ElIdInjectionContext> =\n Symbol('elIdInjection')\n\nexport const useId = (deterministicId?: MaybeRef<string>): Ref<string> => {\n const idInjection = inject(ID_INJECTION_KEY, defaultIdInjection)\n\n if (!isClient && idInjection === defaultIdInjection) {\n debugWarn(\n 'IdInjection',\n `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})`\n )\n }\n\n const idRef = computed(\n () =>\n unref(deterministicId) ||\n `el-id-${idInjection.prefix}-${idInjection.current++}`\n )\n\n return idRef\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,EAAE;AAC5C,MAAC,KAAK,GAAG,CAAC,eAAe,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACnE,EAAE,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACvD,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}