element-plus 2.4.1 → 2.4.2

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 (348) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +151 -111
  4. package/dist/index.full.min.js +22 -22
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +22 -22
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +151 -111
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +1 -1
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.mjs +1 -1
  192. package/dist/locale/sr.mjs +1 -1
  193. package/dist/locale/sv.js +1 -1
  194. package/dist/locale/sv.min.js +1 -1
  195. package/dist/locale/sv.min.mjs +1 -1
  196. package/dist/locale/sv.mjs +1 -1
  197. package/dist/locale/sw.js +174 -0
  198. package/dist/locale/sw.min.js +2 -0
  199. package/dist/locale/sw.min.js.map +1 -0
  200. package/dist/locale/sw.min.mjs +2 -0
  201. package/dist/locale/sw.min.mjs.map +1 -0
  202. package/dist/locale/sw.mjs +166 -0
  203. package/dist/locale/ta.js +1 -1
  204. package/dist/locale/ta.min.js +1 -1
  205. package/dist/locale/ta.min.mjs +1 -1
  206. package/dist/locale/ta.mjs +1 -1
  207. package/dist/locale/th.js +1 -1
  208. package/dist/locale/th.min.js +1 -1
  209. package/dist/locale/th.min.mjs +1 -1
  210. package/dist/locale/th.mjs +1 -1
  211. package/dist/locale/tk.js +1 -1
  212. package/dist/locale/tk.min.js +1 -1
  213. package/dist/locale/tk.min.mjs +1 -1
  214. package/dist/locale/tk.mjs +1 -1
  215. package/dist/locale/tr.js +1 -1
  216. package/dist/locale/tr.min.js +1 -1
  217. package/dist/locale/tr.min.mjs +1 -1
  218. package/dist/locale/tr.mjs +1 -1
  219. package/dist/locale/ug-cn.js +1 -1
  220. package/dist/locale/ug-cn.min.js +1 -1
  221. package/dist/locale/ug-cn.min.mjs +1 -1
  222. package/dist/locale/ug-cn.mjs +1 -1
  223. package/dist/locale/uk.js +1 -1
  224. package/dist/locale/uk.min.js +1 -1
  225. package/dist/locale/uk.min.mjs +1 -1
  226. package/dist/locale/uk.mjs +1 -1
  227. package/dist/locale/uz-uz.js +1 -1
  228. package/dist/locale/uz-uz.min.js +1 -1
  229. package/dist/locale/uz-uz.min.mjs +1 -1
  230. package/dist/locale/uz-uz.mjs +1 -1
  231. package/dist/locale/vi.js +1 -1
  232. package/dist/locale/vi.min.js +1 -1
  233. package/dist/locale/vi.min.mjs +1 -1
  234. package/dist/locale/vi.mjs +1 -1
  235. package/dist/locale/zh-cn.js +1 -1
  236. package/dist/locale/zh-cn.min.js +1 -1
  237. package/dist/locale/zh-cn.min.mjs +1 -1
  238. package/dist/locale/zh-cn.mjs +1 -1
  239. package/dist/locale/zh-tw.js +1 -1
  240. package/dist/locale/zh-tw.min.js +1 -1
  241. package/dist/locale/zh-tw.min.mjs +1 -1
  242. package/dist/locale/zh-tw.mjs +1 -1
  243. package/es/components/dialog/src/use-dialog.mjs +6 -4
  244. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  245. package/es/components/rate/src/rate2.mjs +14 -10
  246. package/es/components/rate/src/rate2.mjs.map +1 -1
  247. package/es/components/select-v2/index.d.ts +298 -464
  248. package/es/components/select-v2/src/defaults.d.ts +76 -110
  249. package/es/components/select-v2/src/defaults.mjs +25 -16
  250. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  251. package/es/components/select-v2/src/option-item.mjs +8 -3
  252. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  253. package/es/components/select-v2/src/option-item.vue.d.ts +31 -20
  254. package/es/components/select-v2/src/select-dropdown.mjs +10 -4
  255. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  256. package/es/components/select-v2/src/select.mjs +9 -9
  257. package/es/components/select-v2/src/select.mjs.map +1 -1
  258. package/es/components/select-v2/src/select.types.d.ts +5 -11
  259. package/es/components/select-v2/src/select.vue.d.ts +149 -232
  260. package/es/components/select-v2/src/token.d.ts +1 -1
  261. package/es/components/select-v2/src/token.mjs.map +1 -1
  262. package/es/components/select-v2/src/useAllowCreate.mjs +8 -6
  263. package/es/components/select-v2/src/useAllowCreate.mjs.map +1 -1
  264. package/es/components/select-v2/src/useProps.d.ts +21 -0
  265. package/es/components/select-v2/src/useProps.mjs +26 -0
  266. package/es/components/select-v2/src/useProps.mjs.map +1 -0
  267. package/es/components/select-v2/src/useSelect.d.ts +52 -58
  268. package/es/components/select-v2/src/useSelect.mjs +31 -31
  269. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  270. package/es/components/tree-select/src/select.d.ts +2 -1
  271. package/es/components/tree-select/src/select.mjs +4 -1
  272. package/es/components/tree-select/src/select.mjs.map +1 -1
  273. package/es/components/watermark/index.d.ts +2 -0
  274. package/es/components/watermark/src/useClips.mjs +11 -3
  275. package/es/components/watermark/src/useClips.mjs.map +1 -1
  276. package/es/components/watermark/src/watermark.d.ts +2 -0
  277. package/es/components/watermark/src/watermark.mjs.map +1 -1
  278. package/es/components/watermark/src/watermark.vue.d.ts +2 -0
  279. package/es/components/watermark/src/watermark2.mjs +11 -1
  280. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  281. package/es/hooks/use-draggable/index.mjs +3 -1
  282. package/es/hooks/use-draggable/index.mjs.map +1 -1
  283. package/es/locale/lang/sw.d.ts +163 -0
  284. package/es/locale/lang/sw.mjs +165 -0
  285. package/es/locale/lang/sw.mjs.map +1 -0
  286. package/es/version.d.ts +1 -1
  287. package/es/version.mjs +1 -1
  288. package/es/version.mjs.map +1 -1
  289. package/lib/components/dialog/src/use-dialog.js +6 -4
  290. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  291. package/lib/components/rate/src/rate2.js +14 -10
  292. package/lib/components/rate/src/rate2.js.map +1 -1
  293. package/lib/components/select-v2/index.d.ts +298 -464
  294. package/lib/components/select-v2/src/defaults.d.ts +76 -110
  295. package/lib/components/select-v2/src/defaults.js +25 -16
  296. package/lib/components/select-v2/src/defaults.js.map +1 -1
  297. package/lib/components/select-v2/src/option-item.js +7 -2
  298. package/lib/components/select-v2/src/option-item.js.map +1 -1
  299. package/lib/components/select-v2/src/option-item.vue.d.ts +31 -20
  300. package/lib/components/select-v2/src/select-dropdown.js +10 -4
  301. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  302. package/lib/components/select-v2/src/select.js +9 -9
  303. package/lib/components/select-v2/src/select.js.map +1 -1
  304. package/lib/components/select-v2/src/select.types.d.ts +5 -11
  305. package/lib/components/select-v2/src/select.vue.d.ts +149 -232
  306. package/lib/components/select-v2/src/token.d.ts +1 -1
  307. package/lib/components/select-v2/src/token.js.map +1 -1
  308. package/lib/components/select-v2/src/useAllowCreate.js +8 -6
  309. package/lib/components/select-v2/src/useAllowCreate.js.map +1 -1
  310. package/lib/components/select-v2/src/useProps.d.ts +21 -0
  311. package/lib/components/select-v2/src/useProps.js +31 -0
  312. package/lib/components/select-v2/src/useProps.js.map +1 -0
  313. package/lib/components/select-v2/src/useSelect.d.ts +52 -58
  314. package/lib/components/select-v2/src/useSelect.js +31 -31
  315. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  316. package/lib/components/tree-select/src/select.d.ts +2 -1
  317. package/lib/components/tree-select/src/select.js +4 -1
  318. package/lib/components/tree-select/src/select.js.map +1 -1
  319. package/lib/components/watermark/index.d.ts +2 -0
  320. package/lib/components/watermark/src/useClips.js +11 -3
  321. package/lib/components/watermark/src/useClips.js.map +1 -1
  322. package/lib/components/watermark/src/watermark.d.ts +2 -0
  323. package/lib/components/watermark/src/watermark.js.map +1 -1
  324. package/lib/components/watermark/src/watermark.vue.d.ts +2 -0
  325. package/lib/components/watermark/src/watermark2.js +11 -1
  326. package/lib/components/watermark/src/watermark2.js.map +1 -1
  327. package/lib/hooks/use-draggable/index.js +3 -1
  328. package/lib/hooks/use-draggable/index.js.map +1 -1
  329. package/lib/locale/lang/sw.d.ts +163 -0
  330. package/lib/locale/lang/sw.js +169 -0
  331. package/lib/locale/lang/sw.js.map +1 -0
  332. package/lib/version.d.ts +1 -1
  333. package/lib/version.js +1 -1
  334. package/lib/version.js.map +1 -1
  335. package/package.json +2 -2
  336. package/tags.json +1 -1
  337. package/theme-chalk/el-form.css +1 -1
  338. package/theme-chalk/el-rate.css +1 -1
  339. package/theme-chalk/index.css +1 -1
  340. package/theme-chalk/src/form.scss +28 -0
  341. package/theme-chalk/src/rate.scss +7 -0
  342. package/web-types.json +1 -1
  343. package/es/components/select-v2/src/util.d.ts +0 -2
  344. package/es/components/select-v2/src/util.mjs +0 -26
  345. package/es/components/select-v2/src/util.mjs.map +0 -1
  346. package/lib/components/select-v2/src/util.d.ts +0 -2
  347. package/lib/components/select-v2/src/util.js +0 -30
  348. package/lib/components/select-v2/src/util.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /*! Element Plus v2.4.1 */
1
+ /*! Element Plus v2.4.2 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
@@ -8850,7 +8850,9 @@
8850
8850
  offsetX: moveX,
8851
8851
  offsetY: moveY
8852
8852
  };
8853
- targetRef.value.style.transform = `translate(${addUnit(moveX)}, ${addUnit(moveY)})`;
8853
+ if (targetRef.value) {
8854
+ targetRef.value.style.transform = `translate(${addUnit(moveX)}, ${addUnit(moveY)})`;
8855
+ }
8854
8856
  };
8855
8857
  const onMouseup = () => {
8856
8858
  document.removeEventListener("mousemove", onMousemove);
@@ -11291,7 +11293,7 @@
11291
11293
 
11292
11294
  const ElConfigProvider = withInstall(ConfigProvider);
11293
11295
 
11294
- const version$1 = "2.4.1";
11296
+ const version$1 = "2.4.2";
11295
11297
 
11296
11298
  const makeInstaller = (components = []) => {
11297
11299
  const install = (app, options) => {
@@ -29252,6 +29254,7 @@
29252
29254
  };
29253
29255
 
29254
29256
  const useDialog = (props, targetRef) => {
29257
+ var _a;
29255
29258
  const instance = vue.getCurrentInstance();
29256
29259
  const emit = instance.emit;
29257
29260
  const { nextZIndex } = useZIndex();
@@ -29261,7 +29264,7 @@
29261
29264
  const visible = vue.ref(false);
29262
29265
  const closed = vue.ref(false);
29263
29266
  const rendered = vue.ref(false);
29264
- const zIndex = vue.ref(props.zIndex || nextZIndex());
29267
+ const zIndex = vue.ref((_a = props.zIndex) != null ? _a : nextZIndex());
29265
29268
  let openTimer = void 0;
29266
29269
  let closeTimer = void 0;
29267
29270
  const namespace = useGlobalConfig("namespace", defaultNamespace);
@@ -29348,8 +29351,8 @@
29348
29351
  emit("closeAutoFocus");
29349
29352
  }
29350
29353
  function onFocusoutPrevented(event) {
29351
- var _a;
29352
- if (((_a = event.detail) == null ? void 0 : _a.focusReason) === "pointer") {
29354
+ var _a2;
29355
+ if (((_a2 = event.detail) == null ? void 0 : _a2.focusReason) === "pointer") {
29353
29356
  event.preventDefault();
29354
29357
  }
29355
29358
  }
@@ -29366,7 +29369,7 @@
29366
29369
  closed.value = false;
29367
29370
  open();
29368
29371
  rendered.value = true;
29369
- zIndex.value = props.zIndex ? zIndex.value++ : nextZIndex();
29372
+ zIndex.value = isUndefined$1(props.zIndex) ? nextZIndex() : zIndex.value++;
29370
29373
  vue.nextTick(() => {
29371
29374
  emit("open");
29372
29375
  if (targetRef.value) {
@@ -36751,16 +36754,20 @@
36751
36754
  [vue.vShow, !(item <= currentValue.value)]
36752
36755
  ])
36753
36756
  ], 64)) : vue.createCommentVNode("v-if", true),
36754
- showDecimalIcon(item) ? (vue.openBlock(), vue.createBlock(vue.unref(ElIcon), {
36755
- key: 1,
36756
- style: vue.normalizeStyle(vue.unref(decimalStyle)),
36757
- class: vue.normalizeClass([vue.unref(ns).e("icon"), vue.unref(ns).e("decimal")])
36758
- }, {
36759
- default: vue.withCtx(() => [
36760
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(decimalIconComponent))))
36761
- ]),
36762
- _: 1
36763
- }, 8, ["style", "class"])) : vue.createCommentVNode("v-if", true)
36757
+ showDecimalIcon(item) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
36758
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(voidComponent)), {
36759
+ class: vue.normalizeClass([vue.unref(ns).em("decimal", "box")])
36760
+ }, null, 8, ["class"])),
36761
+ vue.createVNode(vue.unref(ElIcon), {
36762
+ style: vue.normalizeStyle(vue.unref(decimalStyle)),
36763
+ class: vue.normalizeClass([vue.unref(ns).e("icon"), vue.unref(ns).e("decimal")])
36764
+ }, {
36765
+ default: vue.withCtx(() => [
36766
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(decimalIconComponent))))
36767
+ ]),
36768
+ _: 1
36769
+ }, 8, ["style", "class"])
36770
+ ], 64)) : vue.createCommentVNode("v-if", true)
36764
36771
  ]),
36765
36772
  _: 2
36766
36773
  }, 1032, ["class"])
@@ -38719,20 +38726,41 @@
38719
38726
  };
38720
38727
  }
38721
38728
 
38722
- const SelectProps = {
38729
+ const defaultProps$4 = {
38730
+ label: "label",
38731
+ value: "value",
38732
+ disabled: "disabled",
38733
+ options: "options"
38734
+ };
38735
+ function useProps(props) {
38736
+ const aliasProps = vue.computed(() => ({ ...defaultProps$4, ...props.props }));
38737
+ const getLabel = (option) => get(option, aliasProps.value.label);
38738
+ const getValue = (option) => get(option, aliasProps.value.value);
38739
+ const getDisabled = (option) => get(option, aliasProps.value.disabled);
38740
+ const getOptions = (option) => get(option, aliasProps.value.options);
38741
+ return {
38742
+ aliasProps,
38743
+ getLabel,
38744
+ getValue,
38745
+ getDisabled,
38746
+ getOptions
38747
+ };
38748
+ }
38749
+
38750
+ const SelectProps = buildProps({
38723
38751
  allowCreate: Boolean,
38724
38752
  autocomplete: {
38725
- type: String,
38753
+ type: definePropType(String),
38726
38754
  default: "none"
38727
38755
  },
38728
38756
  automaticDropdown: Boolean,
38729
38757
  clearable: Boolean,
38730
38758
  clearIcon: {
38731
- type: [String, Object],
38759
+ type: iconPropType,
38732
38760
  default: circle_close_default
38733
38761
  },
38734
38762
  effect: {
38735
- type: String,
38763
+ type: definePropType(String),
38736
38764
  default: "light"
38737
38765
  },
38738
38766
  collapseTags: Boolean,
@@ -38764,7 +38792,9 @@
38764
38792
  loading: Boolean,
38765
38793
  loadingText: String,
38766
38794
  label: String,
38767
- modelValue: [Array, String, Number, Boolean, Object],
38795
+ modelValue: {
38796
+ type: definePropType([Array, String, Number, Boolean, Object])
38797
+ },
38768
38798
  multiple: Boolean,
38769
38799
  multipleLimit: {
38770
38800
  type: Number,
@@ -38779,7 +38809,7 @@
38779
38809
  default: true
38780
38810
  },
38781
38811
  options: {
38782
- type: Array,
38812
+ type: definePropType(Array),
38783
38813
  required: true
38784
38814
  },
38785
38815
  placeholder: {
@@ -38795,13 +38825,14 @@
38795
38825
  default: ""
38796
38826
  },
38797
38827
  popperOptions: {
38798
- type: Object,
38828
+ type: definePropType(Object),
38799
38829
  default: () => ({})
38800
38830
  },
38801
38831
  remote: Boolean,
38802
- size: {
38803
- type: String,
38804
- validator: isValidComponentSize
38832
+ size: useSizeProp,
38833
+ props: {
38834
+ type: definePropType(Object),
38835
+ default: () => defaultProps$4
38805
38836
  },
38806
38837
  valueKey: {
38807
38838
  type: String,
@@ -38820,28 +38851,36 @@
38820
38851
  values: Ee,
38821
38852
  default: "bottom-start"
38822
38853
  }
38823
- };
38824
- const OptionProps = {
38854
+ });
38855
+ const OptionProps = buildProps({
38825
38856
  data: Array,
38826
38857
  disabled: Boolean,
38827
38858
  hovering: Boolean,
38828
- item: Object,
38859
+ item: {
38860
+ type: definePropType(Object),
38861
+ required: true
38862
+ },
38829
38863
  index: Number,
38830
38864
  style: Object,
38831
38865
  selected: Boolean,
38832
38866
  created: Boolean
38833
- };
38867
+ });
38868
+
38869
+ const selectV2InjectionKey = Symbol("ElSelectV2Injection");
38834
38870
 
38835
38871
  const _sfc_main$D = vue.defineComponent({
38836
38872
  props: OptionProps,
38837
38873
  emits: ["select", "hover"],
38838
38874
  setup(props, { emit }) {
38875
+ const select = vue.inject(selectV2InjectionKey);
38839
38876
  const ns = useNamespace("select");
38840
38877
  const { hoverItem, selectOptionClick } = useOption(props, { emit });
38878
+ const { getLabel } = useProps(select.props);
38841
38879
  return {
38842
38880
  ns,
38843
38881
  hoverItem,
38844
- selectOptionClick
38882
+ selectOptionClick,
38883
+ getLabel
38845
38884
  };
38846
38885
  }
38847
38886
  });
@@ -38865,14 +38904,12 @@
38865
38904
  index: _ctx.index,
38866
38905
  disabled: _ctx.disabled
38867
38906
  }, () => [
38868
- vue.createElementVNode("span", null, vue.toDisplayString(_ctx.item.label), 1)
38907
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.getLabel(_ctx.item)), 1)
38869
38908
  ])
38870
38909
  ], 46, _hoisted_1$h);
38871
38910
  }
38872
38911
  var OptionItem = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$6], ["__file", "option-item.vue"]]);
38873
38912
 
38874
- const selectV2InjectionKey = Symbol("ElSelectV2Injection");
38875
-
38876
38913
  var ElSelectMenu = vue.defineComponent({
38877
38914
  name: "ElSelectDropdown",
38878
38915
  props: {
@@ -38889,6 +38926,11 @@
38889
38926
  }) {
38890
38927
  const select = vue.inject(selectV2InjectionKey);
38891
38928
  const ns = useNamespace("select");
38929
+ const {
38930
+ getLabel,
38931
+ getValue,
38932
+ getDisabled
38933
+ } = useProps(select.props);
38892
38934
  const cachedHeights = vue.ref([]);
38893
38935
  const listRef = vue.ref();
38894
38936
  const size = vue.computed(() => props.data.length);
@@ -38933,9 +38975,9 @@
38933
38975
  };
38934
38976
  const isItemSelected = (modelValue, target) => {
38935
38977
  if (select.props.multiple) {
38936
- return contains(modelValue, target.value);
38978
+ return contains(modelValue, getValue(target));
38937
38979
  }
38938
- return isEqual(modelValue, target.value);
38980
+ return isEqual(modelValue, getValue(target));
38939
38981
  };
38940
38982
  const isItemDisabled = (modelValue, selected) => {
38941
38983
  const {
@@ -38998,7 +39040,7 @@
38998
39040
  const isHovering = isItemHovering(index);
38999
39041
  return vue.createVNode(OptionItem, vue.mergeProps(itemProps, {
39000
39042
  "selected": isSelected,
39001
- "disabled": item.disabled || isDisabled,
39043
+ "disabled": getDisabled(item) || isDisabled,
39002
39044
  "created": !!item.created,
39003
39045
  "hovering": isHovering,
39004
39046
  "item": item,
@@ -39007,7 +39049,7 @@
39007
39049
  }), {
39008
39050
  default: (props2) => {
39009
39051
  var _a;
39010
- return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || vue.createVNode("span", null, [item.label]);
39052
+ return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || vue.createVNode("span", null, [getLabel(item)]);
39011
39053
  }
39012
39054
  });
39013
39055
  };
@@ -39099,13 +39141,14 @@
39099
39141
  });
39100
39142
 
39101
39143
  function useAllowCreate(props, states) {
39144
+ const { aliasProps, getLabel, getValue } = useProps(props);
39102
39145
  const createOptionCount = vue.ref(0);
39103
39146
  const cachedSelectedOption = vue.ref(null);
39104
39147
  const enableAllowCreateMode = vue.computed(() => {
39105
39148
  return props.allowCreate && props.filterable;
39106
39149
  });
39107
39150
  function hasExistingOption(query) {
39108
- const hasValue = (option) => option.value === query;
39151
+ const hasValue = (option) => getValue(option) === query;
39109
39152
  return props.options && props.options.some(hasValue) || states.createdOptions.some(hasValue);
39110
39153
  }
39111
39154
  function selectNewOption(option) {
@@ -39122,10 +39165,10 @@
39122
39165
  if (enableAllowCreateMode.value) {
39123
39166
  if (query && query.length > 0 && !hasExistingOption(query)) {
39124
39167
  const newOption = {
39125
- value: query,
39126
- label: query,
39168
+ [aliasProps.value.value]: query,
39169
+ [aliasProps.value.label]: query,
39127
39170
  created: true,
39128
- disabled: false
39171
+ [aliasProps.value.disabled]: false
39129
39172
  };
39130
39173
  if (states.createdOptions.length >= createOptionCount.value) {
39131
39174
  states.createdOptions[createOptionCount.value] = newOption;
@@ -39146,10 +39189,10 @@
39146
39189
  }
39147
39190
  }
39148
39191
  function removeNewOption(option) {
39149
- if (!enableAllowCreateMode.value || !option || !option.created || option.created && props.reserveKeyword && states.inputValue === option.label) {
39192
+ if (!enableAllowCreateMode.value || !option || !option.created || option.created && props.reserveKeyword && states.inputValue === getLabel(option)) {
39150
39193
  return;
39151
39194
  }
39152
- const idx = states.createdOptions.findIndex((it) => it.value === option.value);
39195
+ const idx = states.createdOptions.findIndex((it) => getValue(it) === getValue(option));
39153
39196
  if (~idx) {
39154
39197
  states.createdOptions.splice(idx, 1);
39155
39198
  createOptionCount.value--;
@@ -39169,28 +39212,6 @@
39169
39212
  };
39170
39213
  }
39171
39214
 
39172
- const flattenOptions = (options) => {
39173
- const flattened = [];
39174
- options.forEach((option) => {
39175
- if (isArray$1(option.options)) {
39176
- flattened.push({
39177
- label: option.label,
39178
- isTitle: true,
39179
- type: "Group"
39180
- });
39181
- option.options.forEach((o) => {
39182
- flattened.push(o);
39183
- });
39184
- flattened.push({
39185
- type: "Group"
39186
- });
39187
- } else {
39188
- flattened.push(option);
39189
- }
39190
- });
39191
- return flattened;
39192
- };
39193
-
39194
39215
  function useInput(handleInput) {
39195
39216
  const isComposing = vue.ref(false);
39196
39217
  const handleCompositionStart = () => {
@@ -39228,6 +39249,7 @@
39228
39249
  const nsSelectV2 = useNamespace("select-v2");
39229
39250
  const nsInput = useNamespace("input");
39230
39251
  const { form: elForm, formItem: elFormItem } = useFormItem();
39252
+ const { getLabel, getValue, getDisabled, getOptions } = useProps(props);
39231
39253
  const states = vue.reactive({
39232
39254
  inputValue: DEFAULT_INPUT_PLACEHOLDER,
39233
39255
  displayInputValue: DEFAULT_INPUT_PLACEHOLDER,
@@ -39301,37 +39323,37 @@
39301
39323
  const isValidOption = (o) => {
39302
39324
  const query = states.inputValue;
39303
39325
  const regexp = new RegExp(escapeStringRegexp(query), "i");
39304
- const containsQueryString = query ? regexp.test(o.label || "") : true;
39326
+ const containsQueryString = query ? regexp.test(getLabel(o) || "") : true;
39305
39327
  return containsQueryString;
39306
39328
  };
39307
39329
  if (props.loading) {
39308
39330
  return [];
39309
39331
  }
39310
- return flattenOptions(props.options.concat(states.createdOptions).map((v) => {
39311
- if (isArray$1(v.options)) {
39312
- const filtered = v.options.filter(isValidOption);
39332
+ return [...props.options, ...states.createdOptions].reduce((all, item) => {
39333
+ const options = getOptions(item);
39334
+ if (isArray$1(options)) {
39335
+ const filtered = options.filter(isValidOption);
39313
39336
  if (filtered.length > 0) {
39314
- return {
39315
- ...v,
39316
- options: filtered
39317
- };
39318
- }
39319
- } else {
39320
- if (props.remote || isValidOption(v)) {
39321
- return v;
39337
+ all.push({
39338
+ label: getLabel(item),
39339
+ isTitle: true,
39340
+ type: "Group"
39341
+ }, ...filtered, { type: "Group" });
39322
39342
  }
39343
+ } else if (props.remote || isValidOption(item)) {
39344
+ all.push(item);
39323
39345
  }
39324
- return null;
39325
- }).filter((v) => v !== null));
39346
+ return all;
39347
+ }, []);
39326
39348
  });
39327
39349
  const filteredOptionsValueMap = vue.computed(() => {
39328
39350
  const valueMap = /* @__PURE__ */ new Map();
39329
39351
  filteredOptions.value.forEach((option, index) => {
39330
- valueMap.set(getValueKey(option.value), { option, index });
39352
+ valueMap.set(getValueKey(getValue(option)), { option, index });
39331
39353
  });
39332
39354
  return valueMap;
39333
39355
  });
39334
- const optionsAllDisabled = vue.computed(() => filteredOptions.value.every((option) => option.disabled));
39356
+ const optionsAllDisabled = vue.computed(() => filteredOptions.value.every((option) => getDisabled(option)));
39335
39357
  const selectSize = useFormSize();
39336
39358
  const collapseTagSize = vue.computed(() => selectSize.value === "small" ? "small" : "default");
39337
39359
  const tagMaxWidth = vue.computed(() => {
@@ -39447,7 +39469,7 @@
39447
39469
  const update = (val) => {
39448
39470
  emit(UPDATE_MODEL_EVENT, val);
39449
39471
  emitChange(val);
39450
- states.previousValue = val == null ? void 0 : val.toString();
39472
+ states.previousValue = String(val);
39451
39473
  };
39452
39474
  const getValueIndex = (arr = [], value) => {
39453
39475
  if (!isObject$1(value)) {
@@ -39467,9 +39489,6 @@
39467
39489
  const getValueKey = (item) => {
39468
39490
  return isObject$1(item) ? get(item, props.valueKey) : item;
39469
39491
  };
39470
- const getLabel = (item) => {
39471
- return isObject$1(item) ? item.label : item;
39472
- };
39473
39492
  const resetInputHeight = () => {
39474
39493
  return vue.nextTick(() => {
39475
39494
  var _a, _b;
@@ -39501,7 +39520,7 @@
39501
39520
  var _a, _b;
39502
39521
  if (props.multiple) {
39503
39522
  let selectedOptions = props.modelValue.slice();
39504
- const index = getValueIndex(selectedOptions, option.value);
39523
+ const index = getValueIndex(selectedOptions, getValue(option));
39505
39524
  if (index > -1) {
39506
39525
  selectedOptions = [
39507
39526
  ...selectedOptions.slice(0, index),
@@ -39510,7 +39529,7 @@
39510
39529
  states.cachedOptions.splice(index, 1);
39511
39530
  removeNewOption(option);
39512
39531
  } else if (props.multipleLimit <= 0 || selectedOptions.length < props.multipleLimit) {
39513
- selectedOptions = [...selectedOptions, option.value];
39532
+ selectedOptions = [...selectedOptions, getValue(option)];
39514
39533
  states.cachedOptions.push(option);
39515
39534
  selectNewOption(option);
39516
39535
  updateHoveringIndex(idx);
@@ -39532,8 +39551,8 @@
39532
39551
  setSoftFocus();
39533
39552
  } else {
39534
39553
  selectedIndex.value = idx;
39535
- states.selectedLabel = option.label;
39536
- update(option.value);
39554
+ states.selectedLabel = getLabel(option);
39555
+ update(getValue(option));
39537
39556
  expanded.value = false;
39538
39557
  states.isComposing = false;
39539
39558
  states.isSilentBlur = byClick;
@@ -39546,7 +39565,7 @@
39546
39565
  };
39547
39566
  const deleteTag = (event, option) => {
39548
39567
  let selectedOptions = props.modelValue.slice();
39549
- const index = getValueIndex(selectedOptions, option.value);
39568
+ const index = getValueIndex(selectedOptions, getValue(option));
39550
39569
  if (index > -1 && !selectDisabled.value) {
39551
39570
  selectedOptions = [
39552
39571
  ...props.modelValue.slice(0, index),
@@ -39554,7 +39573,7 @@
39554
39573
  ];
39555
39574
  states.cachedOptions.splice(index, 1);
39556
39575
  update(selectedOptions);
39557
- emit("remove-tag", option.value);
39576
+ emit("remove-tag", getValue(option));
39558
39577
  states.softFocus = true;
39559
39578
  removeNewOption(option);
39560
39579
  return vue.nextTick(focusAndUpdatePopup);
@@ -39652,7 +39671,7 @@
39652
39671
  }
39653
39672
  }
39654
39673
  const option = options[newIndex];
39655
- if (option.disabled || option.type === "Group") {
39674
+ if (getDisabled(option) || option.type === "Group") {
39656
39675
  return onKeyboardNavigate(direction, newIndex);
39657
39676
  } else {
39658
39677
  updateHoveringIndex(newIndex);
@@ -39737,12 +39756,12 @@
39737
39756
  if (hasModelValue.value) {
39738
39757
  states.previousValue = props.modelValue;
39739
39758
  const options = filteredOptions.value;
39740
- const selectedItemIndex = options.findIndex((option) => getValueKey(option.value) === getValueKey(props.modelValue));
39759
+ const selectedItemIndex = options.findIndex((option) => getValueKey(getValue(option)) === getValueKey(props.modelValue));
39741
39760
  if (~selectedItemIndex) {
39742
- states.selectedLabel = options[selectedItemIndex].label;
39761
+ states.selectedLabel = getLabel(options[selectedItemIndex]);
39743
39762
  updateHoveringIndex(selectedItemIndex);
39744
39763
  } else {
39745
- states.selectedLabel = `${props.modelValue}`;
39764
+ states.selectedLabel = getValueKey(props.modelValue);
39746
39765
  }
39747
39766
  } else {
39748
39767
  states.selectedLabel = "";
@@ -39831,6 +39850,8 @@
39831
39850
  debouncedOnInputChange,
39832
39851
  deleteTag,
39833
39852
  getLabel,
39853
+ getValue,
39854
+ getDisabled,
39834
39855
  getValueKey,
39835
39856
  handleBlur,
39836
39857
  handleClear,
@@ -39963,11 +39984,11 @@
39963
39984
  _ctx.collapseTags && _ctx.modelValue.length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
39964
39985
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.showTagList, (item) => {
39965
39986
  return vue.openBlock(), vue.createElementBlock("div", {
39966
- key: _ctx.getValueKey(item),
39987
+ key: _ctx.getValueKey(_ctx.getValue(item)),
39967
39988
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
39968
39989
  }, [
39969
39990
  vue.createVNode(_component_el_tag, {
39970
- closable: !_ctx.selectDisabled && !(item == null ? void 0 : item.disable),
39991
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(item),
39971
39992
  size: _ctx.collapseTagSize,
39972
39993
  type: "info",
39973
39994
  "disable-transitions": "",
@@ -39979,7 +40000,7 @@
39979
40000
  style: vue.normalizeStyle({
39980
40001
  maxWidth: `${_ctx.tagMaxWidth}px`
39981
40002
  })
39982
- }, vue.toDisplayString(item == null ? void 0 : item.label), 7)
40003
+ }, vue.toDisplayString(_ctx.getLabel(item)), 7)
39983
40004
  ]),
39984
40005
  _: 2
39985
40006
  }, 1032, ["closable", "size", "onClose"])
@@ -40010,7 +40031,7 @@
40010
40031
  style: vue.normalizeStyle({
40011
40032
  maxWidth: `${_ctx.tagMaxWidth}px`
40012
40033
  })
40013
- }, "+ " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7)
40034
+ }, " + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7)
40014
40035
  ]),
40015
40036
  content: vue.withCtx(() => [
40016
40037
  vue.createElementVNode("div", {
@@ -40018,11 +40039,11 @@
40018
40039
  }, [
40019
40040
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.collapseTagList, (selected) => {
40020
40041
  return vue.openBlock(), vue.createElementBlock("div", {
40021
- key: _ctx.getValueKey(selected),
40042
+ key: _ctx.getValueKey(_ctx.getValue(selected)),
40022
40043
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
40023
40044
  }, [
40024
40045
  vue.createVNode(_component_el_tag, {
40025
- closable: !_ctx.selectDisabled && !selected.disabled,
40046
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(selected),
40026
40047
  size: _ctx.collapseTagSize,
40027
40048
  class: "in-tooltip",
40028
40049
  type: "info",
@@ -40050,18 +40071,18 @@
40050
40071
  style: vue.normalizeStyle({
40051
40072
  maxWidth: `${_ctx.tagMaxWidth}px`
40052
40073
  })
40053
- }, "+ " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7))
40074
+ }, " + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7))
40054
40075
  ]),
40055
40076
  _: 1
40056
40077
  }, 8, ["size"])) : vue.createCommentVNode("v-if", true)
40057
40078
  ], 2)
40058
40079
  ], 64)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.states.cachedOptions, (selected) => {
40059
40080
  return vue.openBlock(), vue.createElementBlock("div", {
40060
- key: _ctx.getValueKey(selected),
40081
+ key: _ctx.getValueKey(_ctx.getValue(selected)),
40061
40082
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
40062
40083
  }, [
40063
40084
  vue.createVNode(_component_el_tag, {
40064
- closable: !_ctx.selectDisabled && !selected.disabled,
40085
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(selected),
40065
40086
  size: _ctx.collapseTagSize,
40066
40087
  type: "info",
40067
40088
  "disable-transitions": "",
@@ -52623,7 +52644,7 @@
52623
52644
  const _Tree = Tree;
52624
52645
  const ElTree = _Tree;
52625
52646
 
52626
- const useSelect = (props, { attrs }, {
52647
+ const useSelect = (props, { attrs, emit }, {
52627
52648
  tree,
52628
52649
  key
52629
52650
  }) => {
@@ -52631,6 +52652,7 @@
52631
52652
  const result = {
52632
52653
  ...pick(vue.toRefs(props), Object.keys(ElSelect.props)),
52633
52654
  ...attrs,
52655
+ "onUpdate:modelValue": (value) => emit(UPDATE_MODEL_EVENT, value),
52634
52656
  valueKey: key,
52635
52657
  popperClass: vue.computed(() => {
52636
52658
  const classes = [ns.e("popper")];
@@ -54786,12 +54808,20 @@
54786
54808
  if (content instanceof HTMLImageElement) {
54787
54809
  ctx.drawImage(content, 0, 0, contentWidth, contentHeight);
54788
54810
  } else {
54789
- const { color, fontSize, fontStyle, fontWeight, fontFamily } = font;
54811
+ const {
54812
+ color,
54813
+ fontSize,
54814
+ fontStyle,
54815
+ fontWeight,
54816
+ fontFamily,
54817
+ textAlign,
54818
+ textBaseline
54819
+ } = font;
54790
54820
  const mergedFontSize = Number(fontSize) * ratio;
54791
54821
  ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${height}px ${fontFamily}`;
54792
54822
  ctx.fillStyle = color;
54793
- ctx.textAlign = "center";
54794
- ctx.textBaseline = "top";
54823
+ ctx.textAlign = textAlign;
54824
+ ctx.textBaseline = textBaseline;
54795
54825
  const contents = Array.isArray(content) ? content : [content];
54796
54826
  contents == null ? void 0 : contents.forEach((item, index) => {
54797
54827
  ctx.fillText(item != null ? item : "", contentWidth / 2, index * (mergedFontSize + FontGap * ratio));
@@ -54880,6 +54910,14 @@
54880
54910
  var _a, _b;
54881
54911
  return (_b = (_a = props.font) == null ? void 0 : _a.fontFamily) != null ? _b : "sans-serif";
54882
54912
  });
54913
+ const textAlign = vue.computed(() => {
54914
+ var _a, _b;
54915
+ return (_b = (_a = props.font) == null ? void 0 : _a.textAlign) != null ? _b : "center";
54916
+ });
54917
+ const textBaseline = vue.computed(() => {
54918
+ var _a, _b;
54919
+ return (_b = (_a = props.font) == null ? void 0 : _a.textBaseline) != null ? _b : "top";
54920
+ });
54883
54921
  const gapX = vue.computed(() => props.gap[0]);
54884
54922
  const gapY = vue.computed(() => props.gap[1]);
54885
54923
  const gapXCenter = vue.computed(() => gapX.value / 2);
@@ -54983,7 +55021,9 @@
54983
55021
  fontSize: fontSize.value,
54984
55022
  fontStyle: fontStyle.value,
54985
55023
  fontWeight: fontWeight.value,
54986
- fontFamily: fontFamily.value
55024
+ fontFamily: fontFamily.value,
55025
+ textAlign: textAlign.value,
55026
+ textBaseline: textBaseline.value
54987
55027
  }, gapX.value, gapY.value);
54988
55028
  appendWatermark(textClips, clipWidth);
54989
55029
  };