@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
@@ -1 +1 @@
1
- {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.js","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;;2BAEI;;;YAGA;;;;4BAGF,EAAC;;;;;;;;;;;;;;;2BAUA;;;2EAEU;;;;;;;;;;;oCAOd;;;;;;mBAOA;;;0EAGI;;aAGF;;;kBACN,OAAM;;;;;;;;;;;;uBAQC,aAAQ;mDACe;;;cAG7B,WAAW;;cAEX,OAAK;;qBAEA;;;;;;kBAMD,WAAM;;;;;;;mBAON;;;yEAGI;;aAGH;;;;;;;;;;;;;;;;;;;QAcP;;QAEA;;;;;;"}
1
+ {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.js","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;;2BAEI;;;YAGA;;;;4BAGF,EAAC;;;;;;;;;;;;;;;2BAUA;;;2EAEU;;;;;;;;;;;oCAOd;;;;;;mBAOA;;;0EAGI;;aAGF;;;kBACN,OAAM;;;;;;;;;;;;uBAQC,aAAQ;mDACe;;;cAG7B,WAAW;;cAEX,OAAK;;qBAEA;;;;;;kBAMD,WAAM;;;;;;;mBAON;;;yEAGI;;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;
@@ -5,11 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  require('../../../hooks/index.js');
7
7
  var index = require('../../checkbox/index.js');
8
- var index$2 = require('../../icon/index.js');
9
8
  var index$1 = require('../../input/index.js');
10
9
  var iconsVue = require('@element-plus/icons-vue');
11
10
  var useCheck = require('./useCheck.js');
12
- var index$3 = require('../../../hooks/use-locale/index.js');
11
+ var index$2 = require('../../../hooks/use-locale/index.js');
13
12
 
14
13
  var script = vue.defineComponent({
15
14
  name: "ElTransferPanel",
@@ -17,13 +16,12 @@ var script = vue.defineComponent({
17
16
  ElCheckboxGroup: index.ElCheckboxGroup,
18
17
  ElCheckbox: index.ElCheckbox,
19
18
  ElInput: index$1.ElInput,
20
- ElIcon: index$2.ElIcon,
21
19
  OptionContent: ({ option }) => option
22
20
  },
23
21
  props: useCheck.useCheckProps,
24
22
  emits: [useCheck.CHECKED_CHANGE_EVENT],
25
23
  setup(props, { slots }) {
26
- const { t } = index$3.useLocale();
24
+ const { t } = index$2.useLocale();
27
25
  const panelState = vue.reactive({
28
26
  checked: [],
29
27
  allChecked: false,
@@ -43,15 +41,7 @@ var script = vue.defineComponent({
43
41
  const hasNoMatch = vue.computed(() => {
44
42
  return panelState.query.length > 0 && filteredData.value.length === 0;
45
43
  });
46
- const inputIcon = vue.computed(() => {
47
- return panelState.query.length > 0 && panelState.inputHover ? iconsVue.CircleClose : iconsVue.Search;
48
- });
49
44
  const hasFooter = vue.computed(() => !!slots.default()[0].children.length);
50
- const clearQuery = () => {
51
- if (inputIcon.value === iconsVue.CircleClose) {
52
- panelState.query = "";
53
- }
54
- };
55
45
  const { checked, allChecked, query, inputHover, checkChangeByUser } = vue.toRefs(panelState);
56
46
  return {
57
47
  labelProp,
@@ -67,9 +57,8 @@ var script = vue.defineComponent({
67
57
  inputHover,
68
58
  checkChangeByUser,
69
59
  hasNoMatch,
70
- inputIcon,
60
+ SearchIcon: iconsVue.Search,
71
61
  hasFooter,
72
- clearQuery,
73
62
  t
74
63
  };
75
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel.vue_vue_type_script_lang.js","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":["defineComponent","ElCheckboxGroup","ElInput","ElIcon","useCheckProps","CHECKED_CHANGE_EVENT","useCheck","computed"],"mappings":";;;;;;;;;;;;;AAmEA,aAAeA,mBAAe,CAAC;;AAE/B,EAAE,UAAU;qBACRC,qBAAe;;aAEfC,eAAO;YACPC,cAAM;IACN;;OAEG,EAAEC;OACF,EAAE,CAACC,6BAAoB;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,GAAGC;UACE;MACJ,OAAO;MACP,CAAC;UACG;MACJ,OAAO;MACP,CAAC;UACG,SAAS,GAAGC;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.js","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":["defineComponent","ElCheckboxGroup","ElInput","useCheckProps","CHECKED_CHANGE_EVENT","useCheck"],"mappings":";;;;;;;;;;;;AA+DA,aAAeA,mBAAe,CAAC;;AAE/B,EAAE,UAAU;qBACRC,qBAAe;;aAEfC,eAAO;IACP,aAAa,EAAE;;OAEZ,EAAEC;OACF,EAAE,CAACC,6BAAoB;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,GAAGC;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;;;;;;"}
@@ -12,7 +12,6 @@ const _hoisted_3 = {
12
12
  };
13
13
  function render(_ctx, _cache, $props, $setup, $data, $options) {
14
14
  const _component_el_checkbox = vue.resolveComponent("el-checkbox");
15
- const _component_el_icon = vue.resolveComponent("el-icon");
16
15
  const _component_el_input = vue.resolveComponent("el-input");
17
16
  const _component_option_content = vue.resolveComponent("option-content");
18
17
  const _component_el_checkbox_group = vue.resolveComponent("el-checkbox-group");
@@ -39,25 +38,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
39
38
  modelValue: _ctx.query,
40
39
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.query = $event),
41
40
  class: "el-transfer-panel__filter",
42
- size: "small",
41
+ size: "default",
43
42
  placeholder: _ctx.placeholder,
43
+ "prefix-icon": _ctx.SearchIcon,
44
+ clearable: "",
44
45
  onMouseenter: _cache[2] || (_cache[2] = ($event) => _ctx.inputHover = true),
45
46
  onMouseleave: _cache[3] || (_cache[3] = ($event) => _ctx.inputHover = false)
46
- }, {
47
- prefix: vue.withCtx(() => [
48
- _ctx.inputIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
49
- key: 0,
50
- class: "el-input__icon",
51
- onClick: _ctx.clearQuery
52
- }, {
53
- default: vue.withCtx(() => [
54
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.inputIcon)))
55
- ]),
56
- _: 1
57
- }, 8, ["onClick"])) : vue.createCommentVNode("v-if", true)
58
- ]),
59
- _: 1
60
- }, 8, ["modelValue", "placeholder"])) : vue.createCommentVNode("v-if", true),
47
+ }, null, 8, ["modelValue", "placeholder", "prefix-icon"])) : vue.createCommentVNode("v-if", true),
61
48
  vue.withDirectives(vue.createVNode(_component_el_checkbox_group, {
62
49
  modelValue: _ctx.checked,
63
50
  "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.js","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;;;4BAGA;wBACH;YACV;;YAEU;;;;;;;;;;;;;;;;;;;;;;;;;wBAcE;mBACN;;cAEJ;;;;;;;;;;;;;qBAVM;;;;;;;"}
1
+ {"version":3,"file":"transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js","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;;;;;;;;;;;yBAGrB;uCACwB;;;;;;"}
package/lib/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
  };
@@ -36,13 +36,10 @@ exports.useFocus = index$2.useFocus;
36
36
  exports.useFormItem = index$3.useFormItem;
37
37
  exports.provideGlobalConfig = index$4.provideGlobalConfig;
38
38
  exports.useGlobalConfig = index$4.useGlobalConfig;
39
+ exports.buildLocaleContext = index$5.buildLocaleContext;
39
40
  exports.buildTranslator = index$5.buildTranslator;
40
- exports.localeContextKey = index$5.localeContextKey;
41
- exports.localeProviderMaker = index$5.localeProviderMaker;
42
- exports.provideLocale = index$5.provideLocale;
43
41
  exports.translate = index$5.translate;
44
42
  exports.useLocale = index$5.useLocale;
45
- exports.useLocaleProps = index$5.useLocaleProps;
46
43
  exports.useLockscreen = index$6.useLockscreen;
47
44
  exports.useModal = index$7.useModal;
48
45
  exports.createModelToggleComposable = index$8.createModelToggleComposable;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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;
@@ -9,9 +9,9 @@ var error = require('../../utils/error.js');
9
9
  var configProvider = require('../../tokens/config-provider.js');
10
10
  var shared = require('@vue/shared');
11
11
 
12
- const fallback = vue.ref({});
12
+ const cache = vue.ref({});
13
13
  function useGlobalConfig(key) {
14
- const config = vue.inject(configProvider.configProviderContextKey, fallback);
14
+ const config = vue.inject(configProvider.configProviderContextKey, cache);
15
15
  if (key) {
16
16
  return shared.isObject(config.value) && shared.hasOwn(config.value, key) ? vue.computed(() => config.value[key]) : vue.ref(void 0);
17
17
  } else {
@@ -34,6 +34,7 @@ const provideGlobalConfig = (config, app) => {
34
34
  return util.merge(oldConfig.value, cfg);
35
35
  });
36
36
  provideFn(configProvider.configProviderContextKey, context);
37
+ cache.value = context.value;
37
38
  return context;
38
39
  };
39
40
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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":["ref","inject","configProviderContextKey","isObject","hasOwn","computed","getCurrentInstance","provide","debugWarn","unref","merge"],"mappings":";;;;;;;;;;;AAIA,MAAM,QAAQ,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAClB,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAGC,UAAM,CAACC,uCAAwB,EAAE,QAAQ,CAAC,CAAC;AAC5D,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAOC,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAIC,aAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAGC,YAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAGL,OAAG,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,CAACM,sBAAkB,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,GAAGC,WAAO,GAAG,KAAK,CAAC,CAAC;AACxG,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAIC,eAAS,CAAC,qBAAqB,EAAE,wDAAwD,CAAC,CAAC;AAC/F,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAGH,YAAQ,CAAC,MAAM;AACjC,IAAI,MAAM,GAAG,GAAGI,SAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,OAAOC,UAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,CAACR,uCAAwB,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE,OAAO,OAAO,CAAC;AACjB;;;;;"}
1
+ {"version":3,"file":"index.js","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":["ref","inject","configProviderContextKey","isObject","hasOwn","computed","getCurrentInstance","provide","debugWarn","unref","merge"],"mappings":";;;;;;;;;;;AAIA,MAAM,KAAK,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AACf,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAGC,UAAM,CAACC,uCAAwB,EAAE,KAAK,CAAC,CAAC;AACzD,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAOC,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAIC,aAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAGC,YAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAGL,OAAG,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,CAACM,sBAAkB,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,GAAGC,WAAO,GAAG,KAAK,CAAC,CAAC;AACxG,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAIC,eAAS,CAAC,qBAAqB,EAAE,wDAAwD,CAAC,CAAC;AAC/F,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAGH,YAAQ,CAAC,MAAM;AACjC,IAAI,MAAM,GAAG,GAAGI,SAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,OAAOC,UAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,CAACR,uCAAwB,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC9B,EAAE,OAAO,OAAO,CAAC;AACjB;;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var isServer = require('../../utils/isServer.js');
6
+ var core = require('@vueuse/core');
7
7
  var error = require('../../utils/error.js');
8
8
 
9
9
  const defaultIdInjection = {
@@ -13,7 +13,7 @@ const defaultIdInjection = {
13
13
  const ID_INJECTION_KEY = Symbol("elIdInjection");
14
14
  const useId = (deterministicId) => {
15
15
  const idInjection = vue.inject(ID_INJECTION_KEY, defaultIdInjection);
16
- if (isServer["default"] && idInjection === defaultIdInjection) {
16
+ if (!core.isClient && idInjection === defaultIdInjection) {
17
17
  error.debugWarn("IdInjection", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
18
18
  usage: app.provide(ID_INJECTION_KEY, {
19
19
  prefix: number,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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":["inject","isServer","debugWarn","computed","unref"],"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,GAAGA,UAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACnE,EAAE,IAAIC,mBAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACtD,IAAIC,eAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,KAAK,GAAGC,YAAQ,CAAC,MAAMC,SAAK,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.js","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":["inject","isClient","debugWarn","computed","unref"],"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,GAAGA,UAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACnE,EAAE,IAAI,CAACC,aAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACvD,IAAIC,eAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,KAAK,GAAGC,YAAQ,CAAC,MAAMC,SAAK,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;;;;;"}