@element-plus/nightly 0.0.20260307 → 0.0.20260309

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 (331) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +366 -264
  4. package/dist/index.full.min.js +9 -9
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +8 -8
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +366 -264
  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-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/button/src/button.vue.d.ts +1 -1
  278. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  279. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
  280. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  281. package/es/components/slider/src/composables/index.d.ts +1 -1
  282. package/es/components/slider/src/composables/use-marks.mjs +16 -2
  283. package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
  284. package/es/components/slider/src/composables/use-slider-button.mjs +57 -15
  285. package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
  286. package/es/components/slider/src/composables/use-stops.mjs +2 -2
  287. package/es/components/slider/src/composables/use-stops.mjs.map +1 -1
  288. package/es/components/slider/src/constants.d.ts +2 -0
  289. package/es/components/slider/src/constants.mjs.map +1 -1
  290. package/es/components/slider/src/slider.d.ts +1 -1
  291. package/es/components/slider/src/slider.mjs +1 -1
  292. package/es/components/slider/src/slider.mjs.map +1 -1
  293. package/es/components/slider/src/slider.vue.d.ts +3 -3
  294. package/es/components/slider/src/slider.vue_vue_type_script_setup_true_lang.mjs +14 -5
  295. package/es/components/slider/src/slider.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  296. package/es/components/slider/src/slider2.mjs.map +1 -1
  297. package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs +1 -0
  298. package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  299. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  300. package/es/version.mjs +1 -1
  301. package/es/version.mjs.map +1 -1
  302. package/lib/components/button/src/button.vue.d.ts +1 -1
  303. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  304. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
  305. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  306. package/lib/components/slider/src/composables/index.d.ts +1 -1
  307. package/lib/components/slider/src/composables/use-marks.js +15 -1
  308. package/lib/components/slider/src/composables/use-marks.js.map +1 -1
  309. package/lib/components/slider/src/composables/use-slider-button.js +57 -15
  310. package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
  311. package/lib/components/slider/src/composables/use-stops.js +2 -2
  312. package/lib/components/slider/src/composables/use-stops.js.map +1 -1
  313. package/lib/components/slider/src/constants.d.ts +2 -0
  314. package/lib/components/slider/src/constants.js.map +1 -1
  315. package/lib/components/slider/src/slider.d.ts +1 -1
  316. package/lib/components/slider/src/slider.js +1 -1
  317. package/lib/components/slider/src/slider.js.map +1 -1
  318. package/lib/components/slider/src/slider.vue.d.ts +3 -3
  319. package/lib/components/slider/src/slider.vue_vue_type_script_setup_true_lang.js +14 -5
  320. package/lib/components/slider/src/slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  321. package/lib/components/slider/src/slider2.js.map +1 -1
  322. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js +1 -0
  323. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  324. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  325. package/lib/version.js +1 -1
  326. package/lib/version.js.map +1 -1
  327. package/package.json +2 -2
  328. package/theme-chalk/el-tag.css +1 -1
  329. package/theme-chalk/index.css +1 -1
  330. package/theme-chalk/src/tag.scss +4 -1
  331. package/web-types.json +1 -1
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.ElementPlusLocaleZhHk=t())})(this,function(){return{name:`zh-hk`,el:{breadcrumb:{label:`麵包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`顏色選擇器`,description:`當前顏色為 {color}。按 Enter 鍵選擇新顏色。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無匹配資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無匹配資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`檢測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無匹配資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張幻燈片`,rightArrow:`下一張幻燈片`,indicator:`幻燈片切換至索引 {index}`}}}});
3
3
  //# sourceMappingURL=zh-hk.min.js.map
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  var e={name:`zh-hk`,el:{breadcrumb:{label:`麵包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`顏色選擇器`,description:`當前顏色為 {color}。按 Enter 鍵選擇新顏色。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無匹配資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無匹配資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`檢測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無匹配資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張幻燈片`,rightArrow:`下一張幻燈片`,indicator:`幻燈片切換至索引 {index}`}}};export{e as default};
3
3
  //# sourceMappingURL=zh-hk.min.mjs.map
@@ -1,4 +1,4 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
 
3
3
  //#region ../../packages/locale/lang/zh-hk.ts
4
4
  var zh_hk_default = {
@@ -1,4 +1,4 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
 
3
3
  (function(global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.ElementPlusLocaleZhMo=t())})(this,function(){return{name:`zh-mo`,el:{breadcrumb:{label:`麵包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`顏色選擇器`,description:`當前顏色為 {color}。按 Enter 鍵選擇新顏色。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無匹配資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無匹配資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`檢測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無匹配資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張幻燈片`,rightArrow:`下一張幻燈片`,indicator:`幻燈片切換至索引 {index}`}}}});
3
3
  //# sourceMappingURL=zh-mo.min.js.map
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  var e={name:`zh-mo`,el:{breadcrumb:{label:`麵包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`顏色選擇器`,description:`當前顏色為 {color}。按 Enter 鍵選擇新顏色。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無匹配資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無匹配資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`檢測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無匹配資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張幻燈片`,rightArrow:`下一張幻燈片`,indicator:`幻燈片切換至索引 {index}`}}};export{e as default};
3
3
  //# sourceMappingURL=zh-mo.min.mjs.map
@@ -1,4 +1,4 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
 
3
3
  //#region ../../packages/locale/lang/zh-mo.ts
4
4
  var zh_mo_default = {
@@ -1,4 +1,4 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
 
3
3
  (function(global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.ElementPlusLocaleZhTw=t())})(this,function(){return{name:`zh-tw`,el:{breadcrumb:{label:`面包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`色彩選擇器`,description:`目前色彩為 {color}。按一下 Enter 以選擇新色彩。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無相符資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無相符資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`偵測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無相符資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張投影片`,rightArrow:`下一張投影片`,indicator:`投影片切換至索引 {index}`}}}});
3
3
  //# sourceMappingURL=zh-tw.min.js.map
@@ -1,3 +1,3 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
  var e={name:`zh-tw`,el:{breadcrumb:{label:`面包屑`},colorpicker:{confirm:`確認`,clear:`清空`,defaultLabel:`色彩選擇器`,description:`目前色彩為 {color}。按一下 Enter 以選擇新色彩。`,alphaLabel:`選擇透明度的值`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`現在`,today:`今天`,cancel:`取消`,clear:`清空`,confirm:`確認`,dateTablePrompt:`使用方向鍵與 Enter 鍵以選擇日期`,monthTablePrompt:`使用方向鍵與 Enter 鍵以選擇月份`,yearTablePrompt:`使用方向鍵與 Enter 鍵以選擇年份`,selectedDate:`已選日期`,selectDate:`選擇日期`,selectTime:`選擇時間`,startDate:`開始日期`,startTime:`開始時間`,endDate:`結束日期`,endTime:`結束時間`,prevYear:`前一年`,nextYear:`後一年`,prevMonth:`上個月`,nextMonth:`下個月`,year:`年`,month1:`1 月`,month2:`2 月`,month3:`3 月`,month4:`4 月`,month5:`5 月`,month6:`6 月`,month7:`7 月`,month8:`8 月`,month9:`9 月`,month10:`10 月`,month11:`11 月`,month12:`12 月`,weeks:{sun:`日`,mon:`一`,tue:`二`,wed:`三`,thu:`四`,fri:`五`,sat:`六`},weeksFull:{sun:`星期日`,mon:`星期一`,tue:`星期二`,wed:`星期三`,thu:`星期四`,fri:`星期五`,sat:`星期六`},months:{jan:`一月`,feb:`二月`,mar:`三月`,apr:`四月`,may:`五月`,jun:`六月`,jul:`七月`,aug:`八月`,sep:`九月`,oct:`十月`,nov:`十一月`,dec:`十二月`}},inputNumber:{decrease:`減少數值`,increase:`增加數值`},select:{loading:`載入中`,noMatch:`無相符資料`,noData:`無資料`,placeholder:`請選擇`},mention:{loading:`載入中`},dropdown:{toggleDropdown:`切換下拉選單`},cascader:{noMatch:`無相符資料`,loading:`載入中`,placeholder:`請選擇`,noData:`無資料`},pagination:{goto:`前往`,pagesize:`項/頁`,total:`共 {total} 項`,pageClassifier:`頁`,page:`頁`,prev:`上一頁`,next:`下一頁`,currentPage:`第 {pager} 頁`,prevPages:`向前 {pager} 頁`,nextPages:`向後 {pager} 頁`,deprecationWarning:`偵測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊`},dialog:{close:`關閉此對話框`},drawer:{close:`關閉此對話框`},messagebox:{title:`提示`,confirm:`確定`,cancel:`取消`,error:`輸入的資料不符合規定!`,close:`關閉此對話框`},upload:{deleteTip:`按 Delete 鍵以刪除`,delete:`刪除`,preview:`查看圖片`,continue:`繼續上傳`},slider:{defaultLabel:`滑桿介於 {min} 至 {max}`,defaultRangeStartLabel:`選擇起始值`,defaultRangeEndLabel:`選擇結束值`},table:{emptyText:`暫無資料`,confirmFilter:`篩選`,resetFilter:`重置`,clearFilter:`全部`,sumText:`合計`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`關閉此標籤`},tour:{next:`下一步`,previous:`上一步`,finish:`結束導覽`,close:`關閉此對話框`},tree:{emptyText:`暫無資料`},transfer:{noMatch:`無相符資料`,noData:`無資料`,titles:[`列表 1`,`列表 2`],filterPlaceholder:`請輸入搜尋內容`,noCheckedFormat:`共 {total} 項`,hasCheckedFormat:`已選 {checked}/{total} 項`},image:{error:`載入失敗`},pageHeader:{title:`返回`},popconfirm:{confirmButtonText:`確認`,cancelButtonText:`取消`},carousel:{leftArrow:`上一張投影片`,rightArrow:`下一張投影片`,indicator:`投影片切換至索引 {index}`}}};export{e as default};
3
3
  //# sourceMappingURL=zh-tw.min.mjs.map
@@ -1,4 +1,4 @@
1
- /*! Element Plus v0.0.20260307 */
1
+ /*! Element Plus v0.0.20260309 */
2
2
 
3
3
  //#region ../../packages/locale/lang/zh-tw.ts
4
4
  var zh_tw_default = {
@@ -26,7 +26,7 @@ declare const __VLS_base: vue.DefineComponent<__VLS_WithDefaults<__VLS_TypeProps
26
26
  }>, {
27
27
  /** @description button html element */ref: vue.Ref<HTMLButtonElement | undefined>; /** @description button size */
28
28
  size: vue.ComputedRef<"" | "default" | "small" | "large">; /** @description button type */
29
- type: vue.ComputedRef<"" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger">; /** @description button disabled */
29
+ type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">; /** @description button disabled */
30
30
  disabled: vue.ComputedRef<boolean>; /** @description whether adding space */
31
31
  shouldAddSpace: vue.ComputedRef<boolean>;
32
32
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -86,7 +86,7 @@ declare const colorPickerProps: {
86
86
  readonly id: StringConstructor;
87
87
  readonly showAlpha: BooleanConstructor;
88
88
  readonly colorFormat: {
89
- readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv") | (() => ColorFormats) | ((new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv") | (() => ColorFormats))[], unknown, unknown>>;
89
+ readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv" | "cmyk") | (() => ColorFormats) | ((new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv" | "cmyk") | (() => ColorFormats))[], unknown, unknown>>;
90
90
  readonly required: false;
91
91
  readonly validator: ((val: unknown) => boolean) | undefined;
92
92
  __epPropKey: true;
@@ -45,7 +45,7 @@ declare const colorPickerPanelProps: {
45
45
  readonly border: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
46
  readonly showAlpha: BooleanConstructor;
47
47
  readonly colorFormat: {
48
- readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv") | (() => ColorFormats) | ((new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv") | (() => ColorFormats))[], unknown, unknown>>;
48
+ readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv" | "cmyk") | (() => ColorFormats) | ((new (...args: any[]) => "name" | "rgb" | "prgb" | "hex" | "hex3" | "hex4" | "hex6" | "hex8" | "hsl" | "hsv" | "cmyk") | (() => ColorFormats))[], unknown, unknown>>;
49
49
  readonly required: false;
50
50
  readonly validator: ((val: unknown) => boolean) | undefined;
51
51
  __epPropKey: true;
@@ -35,7 +35,7 @@ declare function useGlobalComponentSettings(block: string, sizeFallback?: MaybeR
35
35
  currentZIndex: vue.ComputedRef<number>;
36
36
  nextZIndex: () => number;
37
37
  };
38
- size: vue.ComputedRef<"" | "default" | "small" | "large">;
38
+ size: vue.ComputedRef<"default" | "" | "small" | "large">;
39
39
  };
40
40
  declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App, global?: boolean) => vue.ComputedRef<Partial<ConfigProviderProps>> | undefined;
41
41
  //#endregion
@@ -1,5 +1,5 @@
1
- import { useLifecycle } from "./use-lifecycle.js";
2
1
  import { Mark, useMarks } from "./use-marks.js";
2
+ import { useLifecycle } from "./use-lifecycle.js";
3
3
  import { useSlide } from "./use-slide.js";
4
4
  import { useSliderButton } from "./use-slider-button.js";
5
5
  import { useStops } from "./use-stops.js";
@@ -1,8 +1,9 @@
1
- import { computed } from "vue";
1
+ import { debugWarn } from "../../../../utils/error.mjs";
2
+ import { computed, watchEffect } from "vue";
2
3
 
3
4
  //#region ../../packages/components/slider/src/composables/use-marks.ts
4
5
  const useMarks = (props) => {
5
- return computed(() => {
6
+ const markList = computed(() => {
6
7
  if (!props.marks) return [];
7
8
  return Object.keys(props.marks).map(Number.parseFloat).sort((a, b) => a - b).filter((point) => point <= props.max && point >= props.min).map((point) => ({
8
9
  point,
@@ -10,6 +11,19 @@ const useMarks = (props) => {
10
11
  mark: props.marks[point]
11
12
  }));
12
13
  });
14
+ watchEffect(() => {
15
+ if (props.step === "mark" && !props.marks) debugWarn("ElSlider", "marks prop must be provided when step is mark");
16
+ if (props.marks) {
17
+ const keys = Object.keys(props.marks);
18
+ const validPoints = markList.value.map((m) => m.point);
19
+ const invalidKeys = keys.filter((key) => {
20
+ const parsed = Number.parseFloat(key);
21
+ return Number.isNaN(parsed) || !validPoints.includes(parsed);
22
+ });
23
+ if (invalidKeys.length > 0) debugWarn("ElSlider", `Some marks keys are invalid (not a number or out of [min, max]): [${invalidKeys.map((k) => `'${k}'`).join(", ")}] and will be ignored.`);
24
+ }
25
+ });
26
+ return markList;
13
27
  };
14
28
 
15
29
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"use-marks.mjs","names":[],"sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { SliderProps } from '../slider'\nimport type { SliderMarkerProps } from '../marker'\n\nexport interface Mark extends SliderMarkerProps {\n point: number\n position: number\n}\n\nexport const useMarks = (props: SliderProps) => {\n return computed(() => {\n if (!props.marks) {\n return []\n }\n\n const marksKeys = Object.keys(props.marks)\n return marksKeys\n .map(Number.parseFloat)\n .sort((a, b) => a - b)\n .filter((point) => point <= props.max && point >= props.min)\n .map(\n (point): Mark => ({\n point,\n position: ((point - props.min) * 100) / (props.max - props.min),\n mark: props.marks![point],\n })\n )\n })\n}\n"],"mappings":";;;AAUA,MAAa,YAAY,UAAuB;AAC9C,QAAO,eAAe;AACpB,MAAI,CAAC,MAAM,MACT,QAAO,EAAE;AAIX,SADkB,OAAO,KAAK,MAAM,MAAM,CAEvC,IAAI,OAAO,WAAW,CACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CACrB,QAAQ,UAAU,SAAS,MAAM,OAAO,SAAS,MAAM,IAAI,CAC3D,KACE,WAAiB;GAChB;GACA,WAAY,QAAQ,MAAM,OAAO,OAAQ,MAAM,MAAM,MAAM;GAC3D,MAAM,MAAM,MAAO;GACpB,EACF;GACH"}
1
+ {"version":3,"file":"use-marks.mjs","names":[],"sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed, watchEffect } from 'vue'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { SliderProps } from '../slider'\nimport type { SliderMarkerProps } from '../marker'\n\nexport interface Mark extends SliderMarkerProps {\n point: number\n position: number\n}\n\nexport const useMarks = (props: SliderProps) => {\n const markList = computed(() => {\n if (!props.marks) {\n return []\n }\n const marksKeys = Object.keys(props.marks)\n return marksKeys\n .map(Number.parseFloat)\n .sort((a, b) => a - b)\n .filter((point) => point <= props.max && point >= props.min)\n .map(\n (point): Mark => ({\n point,\n position: ((point - props.min) * 100) / (props.max - props.min),\n mark: props.marks![point],\n })\n )\n })\n\n watchEffect(() => {\n if (props.step === 'mark' && !props.marks) {\n debugWarn('ElSlider', 'marks prop must be provided when step is mark')\n }\n if (props.marks) {\n const keys = Object.keys(props.marks)\n const validPoints = markList.value.map((m) => m.point)\n const invalidKeys = keys.filter((key) => {\n const parsed = Number.parseFloat(key)\n return Number.isNaN(parsed) || !validPoints.includes(parsed)\n })\n if (invalidKeys.length > 0) {\n debugWarn(\n 'ElSlider',\n `Some marks keys are invalid (not a number or out of [min, max]): [${invalidKeys.map((k) => `'${k}'`).join(', ')}] and will be ignored.`\n )\n }\n }\n })\n\n return markList\n}\n"],"mappings":";;;;AAWA,MAAa,YAAY,UAAuB;CAC9C,MAAM,WAAW,eAAe;AAC9B,MAAI,CAAC,MAAM,MACT,QAAO,EAAE;AAGX,SADkB,OAAO,KAAK,MAAM,MAAM,CAEvC,IAAI,OAAO,WAAW,CACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CACrB,QAAQ,UAAU,SAAS,MAAM,OAAO,SAAS,MAAM,IAAI,CAC3D,KACE,WAAiB;GAChB;GACA,WAAY,QAAQ,MAAM,OAAO,OAAQ,MAAM,MAAM,MAAM;GAC3D,MAAM,MAAM,MAAO;GACpB,EACF;GACH;AAEF,mBAAkB;AAChB,MAAI,MAAM,SAAS,UAAU,CAAC,MAAM,MAClC,WAAU,YAAY,gDAAgD;AAExE,MAAI,MAAM,OAAO;GACf,MAAM,OAAO,OAAO,KAAK,MAAM,MAAM;GACrC,MAAM,cAAc,SAAS,MAAM,KAAK,MAAM,EAAE,MAAM;GACtD,MAAM,cAAc,KAAK,QAAQ,QAAQ;IACvC,MAAM,SAAS,OAAO,WAAW,IAAI;AACrC,WAAO,OAAO,MAAM,OAAO,IAAI,CAAC,YAAY,SAAS,OAAO;KAC5D;AACF,OAAI,YAAY,SAAS,EACvB,WACE,YACA,qEAAqE,YAAY,KAAK,MAAM,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,wBAClH;;GAGL;AAEF,QAAO"}
@@ -1,6 +1,7 @@
1
1
  import { EVENT_CODE } from "../../../../constants/aria.mjs";
2
2
  import { UPDATE_MODEL_EVENT } from "../../../../constants/event.mjs";
3
3
  import { getEventCode } from "../../../../utils/dom/event.mjs";
4
+ import { isNumber } from "../../../../utils/types.mjs";
4
5
  import { sliderContextKey } from "../constants.mjs";
5
6
  import { useEventListener } from "@vueuse/core";
6
7
  import { clamp as clamp$1, debounce } from "lodash-unified";
@@ -28,7 +29,7 @@ const useTooltip = (props, formatTooltip, showTooltip) => {
28
29
  };
29
30
  };
30
31
  const useSliderButton = (props, initData, emit) => {
31
- const { disabled, min, max, step, showTooltip, persistent, precision, sliderSize, formatTooltip, emitChange, resetSize, updateDragging } = inject(sliderContextKey);
32
+ const { disabled, min, max, step, showTooltip, persistent, precision, sliderSize, formatTooltip, emitChange, resetSize, updateDragging, markList } = inject(sliderContextKey);
32
33
  const { tooltip, tooltipVisible, formatValue, displayTooltip, hideTooltip } = useTooltip(props, formatTooltip, showTooltip);
33
34
  const button = ref();
34
35
  const currentPosition = computed(() => {
@@ -37,6 +38,9 @@ const useSliderButton = (props, initData, emit) => {
37
38
  const wrapperStyle = computed(() => {
38
39
  return props.vertical ? { bottom: currentPosition.value } : { left: currentPosition.value };
39
40
  });
41
+ const shouldMoveToMark = computed(() => {
42
+ return step.value === "mark" && markList.value.length > 0;
43
+ });
40
44
  const handleMouseEnter = () => {
41
45
  initData.hovering = true;
42
46
  displayTooltip();
@@ -62,17 +66,49 @@ const useSliderButton = (props, initData, emit) => {
62
66
  setPosition(initData.newPosition);
63
67
  emitChange();
64
68
  };
69
+ const moveToMark = (amount) => {
70
+ if (disabled.value || !markList.value.length) return;
71
+ const current = props.modelValue;
72
+ const epsilon = Number.EPSILON;
73
+ const stride = Math.abs(amount);
74
+ let target;
75
+ if (amount > 0) {
76
+ const startIndex = markList.value.findIndex((m) => m.point > current + epsilon);
77
+ if (startIndex !== -1) {
78
+ const targetIndex = Math.min(startIndex + stride - 1, markList.value.length - 1);
79
+ target = markList.value[targetIndex].point;
80
+ }
81
+ } else {
82
+ let startIndex = -1;
83
+ for (let i = markList.value.length - 1; i >= 0; i--) if (markList.value[i].point < current - epsilon) {
84
+ startIndex = i;
85
+ break;
86
+ }
87
+ if (startIndex !== -1) {
88
+ const targetIndex = Math.max(startIndex - (stride - 1), 0);
89
+ target = markList.value[targetIndex].point;
90
+ }
91
+ }
92
+ if (target !== void 0 && target !== current) {
93
+ setPosition((target - min.value) / (max.value - min.value) * 100);
94
+ emitChange();
95
+ }
96
+ };
65
97
  const onLeftKeyDown = () => {
66
- incrementPosition(-step.value);
98
+ if (shouldMoveToMark.value) moveToMark(-1);
99
+ else if (isNumber(step.value)) incrementPosition(-step.value);
67
100
  };
68
101
  const onRightKeyDown = () => {
69
- incrementPosition(step.value);
102
+ if (shouldMoveToMark.value) moveToMark(1);
103
+ else if (isNumber(step.value)) incrementPosition(step.value);
70
104
  };
71
105
  const onPageDownKeyDown = () => {
72
- incrementPosition(-step.value * 4);
106
+ if (shouldMoveToMark.value) moveToMark(-4);
107
+ else if (isNumber(step.value)) incrementPosition(-step.value * 4);
73
108
  };
74
109
  const onPageUpKeyDown = () => {
75
- incrementPosition(step.value * 4);
110
+ if (shouldMoveToMark.value) moveToMark(4);
111
+ else if (isNumber(step.value)) incrementPosition(step.value * 4);
76
112
  };
77
113
  const onHomeKeyDown = () => {
78
114
  if (disabled.value) return;
@@ -174,17 +210,23 @@ const useSliderButton = (props, initData, emit) => {
174
210
  const setPosition = async (newPosition) => {
175
211
  if (newPosition === null || Number.isNaN(+newPosition)) return;
176
212
  newPosition = clamp$1(newPosition, 0, 100);
177
- const fullSteps = Math.floor((max.value - min.value) / step.value);
178
- const fullRangePercentage = fullSteps * step.value / (max.value - min.value) * 100;
179
- const threshold = fullRangePercentage + (100 - fullRangePercentage) / 2;
180
213
  let value;
181
- if (newPosition < fullRangePercentage) {
182
- const valueBetween = fullRangePercentage / fullSteps;
183
- const steps = Math.round(newPosition / valueBetween);
184
- value = min.value + steps * step.value;
185
- } else if (newPosition < threshold) value = min.value + fullSteps * step.value;
186
- else value = max.value;
187
- value = Number.parseFloat(value.toFixed(precision.value));
214
+ if (step.value === "mark") if (markList.value.length === 0) value = newPosition <= 50 ? min.value : max.value;
215
+ else value = markList.value.reduce((prev, curr) => {
216
+ return Math.abs(curr.position - newPosition) < Math.abs(prev.position - newPosition) ? curr : prev;
217
+ }).point;
218
+ else {
219
+ const fullSteps = Math.floor((max.value - min.value) / step.value);
220
+ const fullRangePercentage = fullSteps * step.value / (max.value - min.value) * 100;
221
+ const threshold = fullRangePercentage + (100 - fullRangePercentage) / 2;
222
+ if (newPosition < fullRangePercentage) {
223
+ const valueBetween = fullRangePercentage / fullSteps;
224
+ const steps = Math.round(newPosition / valueBetween);
225
+ value = min.value + steps * step.value;
226
+ } else if (newPosition < threshold) value = min.value + fullSteps * step.value;
227
+ else value = max.value;
228
+ value = Number.parseFloat(value.toFixed(precision.value));
229
+ }
188
230
  if (value !== props.modelValue) emit(UPDATE_MODEL_EVENT, value);
189
231
  if (!initData.dragging && props.modelValue !== initData.oldValue) initData.oldValue = props.modelValue;
190
232
  await nextTick();
@@ -1 +1 @@
1
- {"version":3,"file":"use-slider-button.mjs","names":["clamp"],"sources":["../../../../../../../packages/components/slider/src/composables/use-slider-button.ts"],"sourcesContent":["import { computed, inject, nextTick, ref, watch } from 'vue'\nimport { clamp, debounce } from 'lodash-unified'\nimport { useEventListener } from '@vueuse/core'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { getEventCode } from '@element-plus/utils'\nimport { sliderContextKey } from '../constants'\n\nimport type { CSSProperties, ComputedRef, Ref, SetupContext } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type {\n SliderButtonEmits,\n SliderButtonInitData,\n SliderButtonProps,\n} from '../button'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nconst useTooltip = (\n props: SliderButtonProps,\n formatTooltip: Ref<SliderProps['formatTooltip']>,\n showTooltip: Ref<SliderProps['showTooltip']>\n) => {\n const tooltip = ref<TooltipInstance>()\n\n const tooltipVisible = ref(false)\n\n const enableFormat = computed(() => {\n return formatTooltip.value instanceof Function\n })\n\n const formatValue = computed(() => {\n return (\n (enableFormat.value && formatTooltip.value!(props.modelValue)) ||\n props.modelValue\n )\n })\n\n const displayTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = true)\n }, 50)\n\n const hideTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = false)\n }, 50)\n\n return {\n tooltip,\n tooltipVisible,\n formatValue,\n displayTooltip,\n hideTooltip,\n }\n}\n\nexport const useSliderButton = (\n props: SliderButtonProps,\n initData: SliderButtonInitData,\n emit: SetupContext<SliderButtonEmits>['emit']\n) => {\n const {\n disabled,\n min,\n max,\n step,\n showTooltip,\n persistent,\n precision,\n sliderSize,\n formatTooltip,\n emitChange,\n resetSize,\n updateDragging,\n } = inject(sliderContextKey)!\n\n const { tooltip, tooltipVisible, formatValue, displayTooltip, hideTooltip } =\n useTooltip(props, formatTooltip!, showTooltip)\n\n const button = ref<HTMLDivElement>()\n\n const currentPosition = computed(() => {\n return `${\n ((props.modelValue - min.value) / (max.value - min.value)) * 100\n }%`\n })\n\n const wrapperStyle: ComputedRef<CSSProperties> = computed(() => {\n return props.vertical\n ? { bottom: currentPosition.value }\n : { left: currentPosition.value }\n })\n\n const handleMouseEnter = () => {\n initData.hovering = true\n displayTooltip()\n }\n\n const handleMouseLeave = () => {\n initData.hovering = false\n if (!initData.dragging) {\n hideTooltip()\n }\n }\n\n const onButtonDown = (event: MouseEvent | TouchEvent) => {\n if (disabled.value) return\n event.preventDefault()\n onDragStart(event)\n window.addEventListener('mousemove', onDragging)\n window.addEventListener('touchmove', onDragging)\n window.addEventListener('mouseup', onDragEnd)\n window.addEventListener('touchend', onDragEnd)\n window.addEventListener('contextmenu', onDragEnd)\n button.value!.focus()\n }\n\n const incrementPosition = (amount: number) => {\n if (disabled.value) return\n initData.newPosition =\n Number.parseFloat(currentPosition.value) +\n (amount / (max.value - min.value)) * 100\n setPosition(initData.newPosition)\n emitChange()\n }\n\n const onLeftKeyDown = () => {\n incrementPosition(-step.value)\n }\n\n const onRightKeyDown = () => {\n incrementPosition(step.value)\n }\n\n const onPageDownKeyDown = () => {\n incrementPosition(-step.value * 4)\n }\n\n const onPageUpKeyDown = () => {\n incrementPosition(step.value * 4)\n }\n\n const onHomeKeyDown = () => {\n if (disabled.value) return\n setPosition(0)\n emitChange()\n }\n\n const onEndKeyDown = () => {\n if (disabled.value) return\n setPosition(100)\n emitChange()\n }\n\n const onKeyDown = (event: KeyboardEvent) => {\n const code = getEventCode(event)\n let isPreventDefault = true\n\n switch (code) {\n case EVENT_CODE.left:\n case EVENT_CODE.down:\n onLeftKeyDown()\n break\n case EVENT_CODE.right:\n case EVENT_CODE.up:\n onRightKeyDown()\n break\n case EVENT_CODE.home:\n onHomeKeyDown()\n break\n case EVENT_CODE.end:\n onEndKeyDown()\n break\n case EVENT_CODE.pageDown:\n onPageDownKeyDown()\n break\n case EVENT_CODE.pageUp:\n onPageUpKeyDown()\n break\n default:\n isPreventDefault = false\n break\n }\n\n isPreventDefault && event.preventDefault()\n }\n\n const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n }\n\n const onDragStart = (event: MouseEvent | TouchEvent) => {\n initData.dragging = true\n initData.isClick = true\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.startY = clientY\n } else {\n initData.startX = clientX\n }\n initData.startPosition = Number.parseFloat(currentPosition.value)\n initData.newPosition = initData.startPosition\n }\n\n const onDragging = (event: MouseEvent | TouchEvent) => {\n if (initData.dragging) {\n initData.isClick = false\n displayTooltip()\n resetSize()\n let diff: number\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.currentY = clientY\n diff = ((initData.startY - initData.currentY) / sliderSize.value) * 100\n } else {\n initData.currentX = clientX\n diff = ((initData.currentX - initData.startX) / sliderSize.value) * 100\n }\n initData.newPosition = initData.startPosition + diff\n setPosition(initData.newPosition)\n }\n }\n\n const onDragEnd = () => {\n if (initData.dragging) {\n /*\n * 防止在 mouseup 后立即触发 click,导致滑块有几率产生一小段位移\n * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n */\n setTimeout(() => {\n initData.dragging = false\n if (!initData.hovering) {\n hideTooltip()\n }\n if (!initData.isClick) {\n setPosition(initData.newPosition)\n }\n emitChange()\n }, 0)\n window.removeEventListener('mousemove', onDragging)\n window.removeEventListener('touchmove', onDragging)\n window.removeEventListener('mouseup', onDragEnd)\n window.removeEventListener('touchend', onDragEnd)\n window.removeEventListener('contextmenu', onDragEnd)\n }\n }\n\n const setPosition = async (newPosition: number) => {\n if (newPosition === null || Number.isNaN(+newPosition)) return\n\n newPosition = clamp(newPosition, 0, 100)\n const fullSteps = Math.floor((max.value - min.value) / step.value)\n const fullRangePercentage =\n ((fullSteps * step.value) / (max.value - min.value)) * 100\n const threshold = fullRangePercentage + (100 - fullRangePercentage) / 2\n let value\n if (newPosition < fullRangePercentage) {\n const valueBetween = fullRangePercentage / fullSteps\n const steps = Math.round(newPosition / valueBetween)\n value = min.value + steps * step.value\n } else if (newPosition < threshold) {\n value = min.value + fullSteps * step.value\n } else {\n value = max.value\n }\n value = Number.parseFloat(value.toFixed(precision.value))\n\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n if (!initData.dragging && props.modelValue !== initData.oldValue) {\n initData.oldValue = props.modelValue\n }\n\n await nextTick()\n initData.dragging && displayTooltip()\n tooltip.value!.updatePopper()\n }\n\n watch(\n () => initData.dragging,\n (val) => {\n updateDragging(val)\n }\n )\n\n useEventListener(button, 'touchstart', onButtonDown, { passive: false })\n\n return {\n disabled,\n button,\n tooltip,\n tooltipVisible,\n showTooltip,\n persistent,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-slider-button.mjs","names":["clamp"],"sources":["../../../../../../../packages/components/slider/src/composables/use-slider-button.ts"],"sourcesContent":["import { computed, inject, nextTick, ref, watch } from 'vue'\nimport { clamp, debounce } from 'lodash-unified'\nimport { useEventListener } from '@vueuse/core'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { getEventCode, isNumber } from '@element-plus/utils'\nimport { sliderContextKey } from '../constants'\n\nimport type { CSSProperties, ComputedRef, Ref, SetupContext } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type {\n SliderButtonEmits,\n SliderButtonInitData,\n SliderButtonProps,\n} from '../button'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nconst useTooltip = (\n props: SliderButtonProps,\n formatTooltip: Ref<SliderProps['formatTooltip']>,\n showTooltip: Ref<SliderProps['showTooltip']>\n) => {\n const tooltip = ref<TooltipInstance>()\n\n const tooltipVisible = ref(false)\n\n const enableFormat = computed(() => {\n return formatTooltip.value instanceof Function\n })\n\n const formatValue = computed(() => {\n return (\n (enableFormat.value && formatTooltip.value!(props.modelValue)) ||\n props.modelValue\n )\n })\n\n const displayTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = true)\n }, 50)\n\n const hideTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = false)\n }, 50)\n\n return {\n tooltip,\n tooltipVisible,\n formatValue,\n displayTooltip,\n hideTooltip,\n }\n}\n\nexport const useSliderButton = (\n props: SliderButtonProps,\n initData: SliderButtonInitData,\n emit: SetupContext<SliderButtonEmits>['emit']\n) => {\n const {\n disabled,\n min,\n max,\n step,\n showTooltip,\n persistent,\n precision,\n sliderSize,\n formatTooltip,\n emitChange,\n resetSize,\n updateDragging,\n markList,\n } = inject(sliderContextKey)!\n\n const { tooltip, tooltipVisible, formatValue, displayTooltip, hideTooltip } =\n useTooltip(props, formatTooltip!, showTooltip)\n\n const button = ref<HTMLDivElement>()\n\n const currentPosition = computed(() => {\n return `${\n ((props.modelValue - min.value) / (max.value - min.value)) * 100\n }%`\n })\n\n const wrapperStyle: ComputedRef<CSSProperties> = computed(() => {\n return props.vertical\n ? { bottom: currentPosition.value }\n : { left: currentPosition.value }\n })\n\n const shouldMoveToMark = computed(() => {\n return step.value === 'mark' && markList.value.length > 0\n })\n\n const handleMouseEnter = () => {\n initData.hovering = true\n displayTooltip()\n }\n\n const handleMouseLeave = () => {\n initData.hovering = false\n if (!initData.dragging) {\n hideTooltip()\n }\n }\n\n const onButtonDown = (event: MouseEvent | TouchEvent) => {\n if (disabled.value) return\n event.preventDefault()\n onDragStart(event)\n window.addEventListener('mousemove', onDragging)\n window.addEventListener('touchmove', onDragging)\n window.addEventListener('mouseup', onDragEnd)\n window.addEventListener('touchend', onDragEnd)\n window.addEventListener('contextmenu', onDragEnd)\n button.value!.focus()\n }\n\n const incrementPosition = (amount: number) => {\n if (disabled.value) return\n initData.newPosition =\n Number.parseFloat(currentPosition.value) +\n (amount / (max.value - min.value)) * 100\n setPosition(initData.newPosition)\n emitChange()\n }\n\n const moveToMark = (amount: number) => {\n if (disabled.value || !markList.value.length) return\n\n const current = props.modelValue\n const epsilon = Number.EPSILON\n const stride = Math.abs(amount)\n let target: number | undefined\n\n if (amount > 0) {\n const startIndex = markList.value.findIndex(\n (m) => m.point > current + epsilon\n )\n if (startIndex !== -1) {\n const targetIndex = Math.min(\n startIndex + stride - 1,\n markList.value.length - 1\n )\n target = markList.value[targetIndex].point\n }\n } else {\n let startIndex = -1\n for (let i = markList.value.length - 1; i >= 0; i--) {\n if (markList.value[i].point < current - epsilon) {\n startIndex = i\n break\n }\n }\n\n if (startIndex !== -1) {\n const targetIndex = Math.max(startIndex - (stride - 1), 0)\n target = markList.value[targetIndex].point\n }\n }\n\n if (target !== undefined && target !== current) {\n const newPos = ((target - min.value) / (max.value - min.value)) * 100\n setPosition(newPos)\n emitChange()\n }\n }\n\n const onLeftKeyDown = () => {\n if (shouldMoveToMark.value) {\n moveToMark(-1)\n } else if (isNumber(step.value)) {\n incrementPosition(-step.value)\n }\n }\n\n const onRightKeyDown = () => {\n if (shouldMoveToMark.value) {\n moveToMark(1)\n } else if (isNumber(step.value)) {\n incrementPosition(step.value)\n }\n }\n\n const onPageDownKeyDown = () => {\n if (shouldMoveToMark.value) {\n moveToMark(-4)\n } else if (isNumber(step.value)) {\n incrementPosition(-step.value * 4)\n }\n }\n\n const onPageUpKeyDown = () => {\n if (shouldMoveToMark.value) {\n moveToMark(4)\n } else if (isNumber(step.value)) {\n incrementPosition(step.value * 4)\n }\n }\n\n const onHomeKeyDown = () => {\n if (disabled.value) return\n setPosition(0)\n emitChange()\n }\n\n const onEndKeyDown = () => {\n if (disabled.value) return\n setPosition(100)\n emitChange()\n }\n\n const onKeyDown = (event: KeyboardEvent) => {\n const code = getEventCode(event)\n let isPreventDefault = true\n\n switch (code) {\n case EVENT_CODE.left:\n case EVENT_CODE.down:\n onLeftKeyDown()\n break\n case EVENT_CODE.right:\n case EVENT_CODE.up:\n onRightKeyDown()\n break\n case EVENT_CODE.home:\n onHomeKeyDown()\n break\n case EVENT_CODE.end:\n onEndKeyDown()\n break\n case EVENT_CODE.pageDown:\n onPageDownKeyDown()\n break\n case EVENT_CODE.pageUp:\n onPageUpKeyDown()\n break\n default:\n isPreventDefault = false\n break\n }\n\n isPreventDefault && event.preventDefault()\n }\n\n const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n }\n\n const onDragStart = (event: MouseEvent | TouchEvent) => {\n initData.dragging = true\n initData.isClick = true\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.startY = clientY\n } else {\n initData.startX = clientX\n }\n initData.startPosition = Number.parseFloat(currentPosition.value)\n initData.newPosition = initData.startPosition\n }\n\n const onDragging = (event: MouseEvent | TouchEvent) => {\n if (initData.dragging) {\n initData.isClick = false\n displayTooltip()\n resetSize()\n let diff: number\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.currentY = clientY\n diff = ((initData.startY - initData.currentY) / sliderSize.value) * 100\n } else {\n initData.currentX = clientX\n diff = ((initData.currentX - initData.startX) / sliderSize.value) * 100\n }\n initData.newPosition = initData.startPosition + diff\n setPosition(initData.newPosition)\n }\n }\n\n const onDragEnd = () => {\n if (initData.dragging) {\n /*\n * 防止在 mouseup 后立即触发 click,导致滑块有几率产生一小段位移\n * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n */\n setTimeout(() => {\n initData.dragging = false\n if (!initData.hovering) {\n hideTooltip()\n }\n if (!initData.isClick) {\n setPosition(initData.newPosition)\n }\n emitChange()\n }, 0)\n window.removeEventListener('mousemove', onDragging)\n window.removeEventListener('touchmove', onDragging)\n window.removeEventListener('mouseup', onDragEnd)\n window.removeEventListener('touchend', onDragEnd)\n window.removeEventListener('contextmenu', onDragEnd)\n }\n }\n\n const setPosition = async (newPosition: number) => {\n if (newPosition === null || Number.isNaN(+newPosition)) return\n\n newPosition = clamp(newPosition, 0, 100)\n let value: number\n\n if (step.value === 'mark') {\n if (markList.value.length === 0) {\n value = newPosition <= 50 ? min.value : max.value\n } else {\n const closestMark = markList.value.reduce((prev, curr) => {\n return Math.abs(curr.position - newPosition) <\n Math.abs(prev.position - newPosition)\n ? curr\n : prev\n })\n value = closestMark.point\n }\n } else {\n const fullSteps = Math.floor((max.value - min.value) / step.value)\n const fullRangePercentage =\n ((fullSteps * step.value) / (max.value - min.value)) * 100\n const threshold = fullRangePercentage + (100 - fullRangePercentage) / 2\n if (newPosition < fullRangePercentage) {\n const valueBetween = fullRangePercentage / fullSteps\n const steps = Math.round(newPosition / valueBetween)\n value = min.value + steps * step.value\n } else if (newPosition < threshold) {\n value = min.value + fullSteps * step.value\n } else {\n value = max.value\n }\n value = Number.parseFloat(value.toFixed(precision.value))\n }\n\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n if (!initData.dragging && props.modelValue !== initData.oldValue) {\n initData.oldValue = props.modelValue\n }\n\n await nextTick()\n initData.dragging && displayTooltip()\n tooltip.value!.updatePopper()\n }\n\n watch(\n () => initData.dragging,\n (val) => {\n updateDragging(val)\n }\n )\n\n useEventListener(button, 'touchstart', onButtonDown, { passive: false })\n\n return {\n disabled,\n button,\n tooltip,\n tooltipVisible,\n showTooltip,\n persistent,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition,\n }\n}\n"],"mappings":"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"}
@@ -5,8 +5,8 @@ import { computed } from "vue";
5
5
  const useStops = (props, initData, minValue, maxValue) => {
6
6
  const stops = computed(() => {
7
7
  if (!props.showStops || props.min > props.max) return [];
8
- if (props.step === 0) {
9
- debugWarn("ElSlider", "step should not be 0.");
8
+ if (props.step === "mark" || props.step === 0) {
9
+ if (props.step === 0) debugWarn("ElSlider", "step should not be 0.");
10
10
  return [];
11
11
  }
12
12
  const stopCount = Math.ceil((props.max - props.min) / props.step);
@@ -1 +1 @@
1
- {"version":3,"file":"use-stops.mjs","names":[],"sources":["../../../../../../../packages/components/slider/src/composables/use-stops.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { CSSProperties, ComputedRef } from 'vue'\nimport type { SliderInitData, SliderProps } from '../slider'\n\ntype Stops = {\n stops: ComputedRef<number[]>\n getStopStyle: (position: number) => CSSProperties\n}\n\nexport const useStops = (\n props: SliderProps,\n initData: SliderInitData,\n minValue: ComputedRef<number>,\n maxValue: ComputedRef<number>\n): Stops => {\n const stops = computed(() => {\n if (!props.showStops || props.min > props.max) return []\n if (props.step === 0) {\n debugWarn('ElSlider', 'step should not be 0.')\n return []\n }\n\n const stopCount = Math.ceil((props.max - props.min) / props.step)\n const stepWidth = (100 * props.step) / (props.max - props.min)\n const result = Array.from<number>({ length: stopCount - 1 }).map(\n (_, index) => (index + 1) * stepWidth\n )\n\n if (props.range) {\n return result.filter((step) => {\n return (\n step <\n (100 * (minValue.value - props.min)) / (props.max - props.min) ||\n step > (100 * (maxValue.value - props.min)) / (props.max - props.min)\n )\n })\n } else {\n return result.filter(\n (step) =>\n step >\n (100 * (initData.firstValue - props.min)) / (props.max - props.min)\n )\n }\n })\n\n const getStopStyle = (position: number): CSSProperties => {\n return props.vertical\n ? { bottom: `${position}%` }\n : { left: `${position}%` }\n }\n\n return {\n stops,\n getStopStyle,\n }\n}\n"],"mappings":";;;;AAWA,MAAa,YACX,OACA,UACA,UACA,aACU;CACV,MAAM,QAAQ,eAAe;AAC3B,MAAI,CAAC,MAAM,aAAa,MAAM,MAAM,MAAM,IAAK,QAAO,EAAE;AACxD,MAAI,MAAM,SAAS,GAAG;AACpB,aAAU,YAAY,wBAAwB;AAC9C,UAAO,EAAE;;EAGX,MAAM,YAAY,KAAK,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;EACjE,MAAM,YAAa,MAAM,MAAM,QAAS,MAAM,MAAM,MAAM;EAC1D,MAAM,SAAS,MAAM,KAAa,EAAE,QAAQ,YAAY,GAAG,CAAC,CAAC,KAC1D,GAAG,WAAW,QAAQ,KAAK,UAC7B;AAED,MAAI,MAAM,MACR,QAAO,OAAO,QAAQ,SAAS;AAC7B,UACE,OACG,OAAO,SAAS,QAAQ,MAAM,QAAS,MAAM,MAAM,MAAM,QAC5D,OAAQ,OAAO,SAAS,QAAQ,MAAM,QAAS,MAAM,MAAM,MAAM;IAEnE;MAEF,QAAO,OAAO,QACX,SACC,OACC,OAAO,SAAS,aAAa,MAAM,QAAS,MAAM,MAAM,MAAM,KAClE;GAEH;CAEF,MAAM,gBAAgB,aAAoC;AACxD,SAAO,MAAM,WACT,EAAE,QAAQ,GAAG,SAAS,IAAI,GAC1B,EAAE,MAAM,GAAG,SAAS,IAAI;;AAG9B,QAAO;EACL;EACA;EACD"}
1
+ {"version":3,"file":"use-stops.mjs","names":[],"sources":["../../../../../../../packages/components/slider/src/composables/use-stops.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { CSSProperties, ComputedRef } from 'vue'\nimport type { SliderInitData, SliderProps } from '../slider'\n\ntype Stops = {\n stops: ComputedRef<number[]>\n getStopStyle: (position: number) => CSSProperties\n}\n\nexport const useStops = (\n props: SliderProps,\n initData: SliderInitData,\n minValue: ComputedRef<number>,\n maxValue: ComputedRef<number>\n): Stops => {\n const stops = computed(() => {\n if (!props.showStops || props.min > props.max) return []\n if (props.step === 'mark' || props.step === 0) {\n if (props.step === 0) debugWarn('ElSlider', 'step should not be 0.')\n return []\n }\n\n const stopCount = Math.ceil((props.max - props.min) / props.step)\n const stepWidth = (100 * props.step) / (props.max - props.min)\n const result = Array.from<number>({ length: stopCount - 1 }).map(\n (_, index) => (index + 1) * stepWidth\n )\n\n if (props.range) {\n return result.filter((step) => {\n return (\n step <\n (100 * (minValue.value - props.min)) / (props.max - props.min) ||\n step > (100 * (maxValue.value - props.min)) / (props.max - props.min)\n )\n })\n } else {\n return result.filter(\n (step) =>\n step >\n (100 * (initData.firstValue - props.min)) / (props.max - props.min)\n )\n }\n })\n\n const getStopStyle = (position: number): CSSProperties => {\n return props.vertical\n ? { bottom: `${position}%` }\n : { left: `${position}%` }\n }\n\n return {\n stops,\n getStopStyle,\n }\n}\n"],"mappings":";;;;AAWA,MAAa,YACX,OACA,UACA,UACA,aACU;CACV,MAAM,QAAQ,eAAe;AAC3B,MAAI,CAAC,MAAM,aAAa,MAAM,MAAM,MAAM,IAAK,QAAO,EAAE;AACxD,MAAI,MAAM,SAAS,UAAU,MAAM,SAAS,GAAG;AAC7C,OAAI,MAAM,SAAS,EAAG,WAAU,YAAY,wBAAwB;AACpE,UAAO,EAAE;;EAGX,MAAM,YAAY,KAAK,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;EACjE,MAAM,YAAa,MAAM,MAAM,QAAS,MAAM,MAAM,MAAM;EAC1D,MAAM,SAAS,MAAM,KAAa,EAAE,QAAQ,YAAY,GAAG,CAAC,CAAC,KAC1D,GAAG,WAAW,QAAQ,KAAK,UAC7B;AAED,MAAI,MAAM,MACR,QAAO,OAAO,QAAQ,SAAS;AAC7B,UACE,OACG,OAAO,SAAS,QAAQ,MAAM,QAAS,MAAM,MAAM,MAAM,QAC5D,OAAQ,OAAO,SAAS,QAAQ,MAAM,QAAS,MAAM,MAAM,MAAM;IAEnE;MAEF,QAAO,OAAO,QACX,SACC,OACC,OAAO,SAAS,aAAa,MAAM,QAAS,MAAM,MAAM,MAAM,KAClE;GAEH;CAEF,MAAM,gBAAgB,aAAoC;AACxD,SAAO,MAAM,WACT,EAAE,QAAQ,GAAG,SAAS,IAAI,GAC1B,EAAE,MAAM,GAAG,SAAS,IAAI;;AAG9B,QAAO;EACL;EACA;EACD"}
@@ -1,4 +1,5 @@
1
1
  import { SliderProps } from "./slider.js";
2
+ import { Mark } from "./composables/use-marks.js";
2
3
  import { ComputedRef, InjectionKey, Ref, ToRefs } from "vue";
3
4
 
4
5
  //#region ../../packages/components/slider/src/constants.d.ts
@@ -9,6 +10,7 @@ interface SliderContext extends ToRefs<SliderProps> {
9
10
  resetSize: () => void;
10
11
  updateDragging: (val: boolean) => void;
11
12
  disabled: ComputedRef<boolean>;
13
+ markList: ComputedRef<Mark[]>;
12
14
  }
13
15
  declare const sliderContextKey: InjectionKey<SliderContext>;
14
16
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../../../../../packages/components/slider/src/constants.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref, ToRefs } from 'vue'\nimport type { SliderProps } from './slider'\n\nexport interface SliderContext extends ToRefs<SliderProps> {\n precision: ComputedRef<number>\n sliderSize: Ref<number>\n emitChange: () => void\n resetSize: () => void\n updateDragging: (val: boolean) => void\n disabled: ComputedRef<boolean>\n}\n\nexport const sliderContextKey: InjectionKey<SliderContext> =\n Symbol('sliderContextKey')\n"],"mappings":";AAYA,MAAa,mBACX,OAAO,mBAAmB"}
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../../../../../packages/components/slider/src/constants.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref, ToRefs } from 'vue'\nimport type { SliderProps } from './slider'\nimport type { Mark } from './composables/use-marks'\n\nexport interface SliderContext extends ToRefs<SliderProps> {\n precision: ComputedRef<number>\n sliderSize: Ref<number>\n emitChange: () => void\n resetSize: () => void\n updateDragging: (val: boolean) => void\n disabled: ComputedRef<boolean>\n markList: ComputedRef<Mark[]>\n}\n\nexport const sliderContextKey: InjectionKey<SliderContext> =\n Symbol('sliderContextKey')\n"],"mappings":";AAcA,MAAa,mBACX,OAAO,mBAAmB"}
@@ -22,7 +22,7 @@ declare const sliderProps: {
22
22
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
23
23
  readonly min: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
24
24
  readonly max: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
25
- readonly step: EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
25
+ readonly step: EpPropFinalized<(new (...args: any[]) => number | "mark") | (() => number | "mark") | ((new (...args: any[]) => number | "mark") | (() => number | "mark"))[], unknown, unknown, 1, boolean>;
26
26
  readonly showInput: BooleanConstructor;
27
27
  readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
28
28
  readonly size: {
@@ -24,7 +24,7 @@ const sliderProps = buildProps({
24
24
  default: 100
25
25
  },
26
26
  step: {
27
- type: Number,
27
+ type: definePropType([Number, String]),
28
28
  default: 1
29
29
  },
30
30
  showInput: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","names":[],"sources":["../../../../../../packages/components/slider/src/slider.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport {\n buildProps,\n definePropType,\n isArray,\n isNumber,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { Arrayable } from '@element-plus/utils'\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { SliderMarkerProps } from './marker'\nimport type Slider from './slider.vue'\n\ntype SliderMarks = Record<number, string | SliderMarkerProps['mark']>\n\nexport interface SliderInitData {\n firstValue: number\n secondValue: number\n oldValue?: Arrayable<number>\n dragging: boolean\n sliderSize: number\n}\n\nexport const sliderProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<Arrayable<number>>([Number, Array]),\n default: 0,\n },\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description minimum value\n */\n min: {\n type: Number,\n default: 0,\n },\n /**\n * @description maximum value\n */\n max: {\n type: Number,\n default: 100,\n },\n /**\n * @description step size\n */\n step: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether to display an input box, works when `range` is false\n */\n showInput: Boolean,\n /**\n * @description whether to display control buttons when `show-input` is true\n */\n showInputControls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description size of the slider wrapper, will not work in vertical mode\n */\n size: useSizeProp,\n /**\n * @description size of the input box, when set `size`, the default is the value of `size`\n */\n inputSize: useSizeProp,\n /**\n * @description whether to display breakpoints\n */\n showStops: Boolean,\n /**\n * @description whether to display tooltip value\n */\n showTooltip: {\n type: Boolean,\n default: true,\n },\n /**\n * @description format to display tooltip value\n */\n formatTooltip: {\n type: definePropType<(val: number) => number | string>(Function),\n default: undefined,\n },\n /**\n * @description whether Slider is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether to select a range\n */\n range: Boolean,\n /**\n * @description vertical mode\n */\n vertical: Boolean,\n /**\n * @description slider height, required in vertical mode\n */\n height: String,\n /**\n * @description when `range` is true, screen reader label for the start of the range\n */\n rangeStartLabel: {\n type: String,\n default: undefined,\n },\n /**\n * @description when `range` is true, screen reader label for the end of the range\n */\n rangeEndLabel: {\n type: String,\n default: undefined,\n },\n /**\n * @description format to display the `aria-valuenow` attribute for screen readers\n */\n formatValueText: {\n type: definePropType<(val: number) => string>(Function),\n default: undefined,\n },\n /**\n * @description custom class name for the tooltip\n */\n tooltipClass: {\n type: String,\n default: undefined,\n },\n /**\n * @description position of Tooltip\n */\n placement: {\n type: String,\n values: placements,\n default: 'top',\n },\n /**\n * @description marks, type of key must be `number` and must in closed interval `[min, max]`, each mark can custom style\n */\n marks: {\n type: definePropType<SliderMarks>(Object),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when slider tooltip inactive and `persistent` is `false` , popconfirm will be destroyed. `persistent` always be `false` when `show-tooltip ` is `false`\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type SliderProps = ExtractPropTypes<typeof sliderProps>\nexport type SliderPropsPublic = ExtractPublicPropTypes<typeof sliderProps>\n\nconst isValidValue = (value: Arrayable<number>) =>\n isNumber(value) || (isArray(value) && value.every(isNumber))\nexport const sliderEmits = {\n [UPDATE_MODEL_EVENT]: isValidValue,\n [INPUT_EVENT]: isValidValue,\n [CHANGE_EVENT]: isValidValue,\n}\nexport type SliderEmits = typeof sliderEmits\n\nexport type SliderInstance = InstanceType<typeof Slider> & unknown\n"],"mappings":";;;;;;;;AA6BA,MAAa,cAAc,WAAW;CAIpC,YAAY;EACV,MAAM,eAAkC,CAAC,QAAQ,MAAM,CAAC;EACxD,SAAS;EACV;CACD,IAAI;EACF,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,MAAM;EACJ,MAAM;EACN,SAAS;EACV;CAID,WAAW;CAIX,mBAAmB;EACjB,MAAM;EACN,SAAS;EACV;CAID,MAAM;CAIN,WAAW;CAIX,WAAW;CAIX,aAAa;EACX,MAAM;EACN,SAAS;EACV;CAID,eAAe;EACb,MAAM,eAAiD,SAAS;EAChE,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,OAAO;CAIP,UAAU;CAIV,QAAQ;CAIR,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,iBAAiB;EACf,MAAM,eAAwC,SAAS;EACvD,SAAS;EACV;CAID,cAAc;EACZ,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACV;CAID,OAAO,EACL,MAAM,eAA4B,OAAO,EAC1C;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,YAAY;EACV,MAAM;EACN,SAAS;EACV;CACD,GAAG,aAAa,CAAC,YAAY,CAAC;CAC/B,CAAU;AAIX,MAAM,gBAAgB,UACpB,SAAS,MAAM,IAAK,QAAQ,MAAM,IAAI,MAAM,MAAM,SAAS;AAC7D,MAAa,cAAc;EACxB,qBAAqB;EACrB,cAAc;EACd,eAAe;CACjB"}
1
+ {"version":3,"file":"slider.mjs","names":[],"sources":["../../../../../../packages/components/slider/src/slider.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport {\n buildProps,\n definePropType,\n isArray,\n isNumber,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { Arrayable } from '@element-plus/utils'\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { SliderMarkerProps } from './marker'\nimport type Slider from './slider.vue'\n\ntype SliderMarks = Record<number, string | SliderMarkerProps['mark']>\n\nexport interface SliderInitData {\n firstValue: number\n secondValue: number\n oldValue?: Arrayable<number>\n dragging: boolean\n sliderSize: number\n}\n\nexport const sliderProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<Arrayable<number>>([Number, Array]),\n default: 0,\n },\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description minimum value\n */\n min: {\n type: Number,\n default: 0,\n },\n /**\n * @description maximum value\n */\n max: {\n type: Number,\n default: 100,\n },\n /**\n * @description step size, can be a number or `'mark'` to restrict values to marks. When set to `'mark'`, the `marks` attribute must be set\n */\n step: {\n type: definePropType<number | 'mark'>([Number, String]),\n default: 1,\n },\n /**\n * @description whether to display an input box, works when `range` is false and `step` is not `'mark'`\n */\n showInput: Boolean,\n /**\n * @description whether to display control buttons when `show-input` is true\n */\n showInputControls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description size of the slider wrapper, will not work in vertical mode\n */\n size: useSizeProp,\n /**\n * @description size of the input box, when set `size`, the default is the value of `size`\n */\n inputSize: useSizeProp,\n /**\n * @description whether to display breakpoints\n */\n showStops: Boolean,\n /**\n * @description whether to display tooltip value\n */\n showTooltip: {\n type: Boolean,\n default: true,\n },\n /**\n * @description format to display tooltip value\n */\n formatTooltip: {\n type: definePropType<(val: number) => number | string>(Function),\n default: undefined,\n },\n /**\n * @description whether Slider is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether to select a range\n */\n range: Boolean,\n /**\n * @description vertical mode\n */\n vertical: Boolean,\n /**\n * @description slider height, required in vertical mode\n */\n height: String,\n /**\n * @description when `range` is true, screen reader label for the start of the range\n */\n rangeStartLabel: {\n type: String,\n default: undefined,\n },\n /**\n * @description when `range` is true, screen reader label for the end of the range\n */\n rangeEndLabel: {\n type: String,\n default: undefined,\n },\n /**\n * @description format to display the `aria-valuenow` attribute for screen readers\n */\n formatValueText: {\n type: definePropType<(val: number) => string>(Function),\n default: undefined,\n },\n /**\n * @description custom class name for the tooltip\n */\n tooltipClass: {\n type: String,\n default: undefined,\n },\n /**\n * @description position of Tooltip\n */\n placement: {\n type: String,\n values: placements,\n default: 'top',\n },\n /**\n * @description marks, type of key must be `number` and must in closed interval `[min, max]`, each mark can custom style\n */\n marks: {\n type: definePropType<SliderMarks>(Object),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when slider tooltip inactive and `persistent` is `false` , popconfirm will be destroyed. `persistent` always be `false` when `show-tooltip ` is `false`\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type SliderProps = ExtractPropTypes<typeof sliderProps>\nexport type SliderPropsPublic = ExtractPublicPropTypes<typeof sliderProps>\n\nconst isValidValue = (value: Arrayable<number>) =>\n isNumber(value) || (isArray(value) && value.every(isNumber))\nexport const sliderEmits = {\n [UPDATE_MODEL_EVENT]: isValidValue,\n [INPUT_EVENT]: isValidValue,\n [CHANGE_EVENT]: isValidValue,\n}\nexport type SliderEmits = typeof sliderEmits\n\nexport type SliderInstance = InstanceType<typeof Slider> & unknown\n"],"mappings":";;;;;;;;AA6BA,MAAa,cAAc,WAAW;CAIpC,YAAY;EACV,MAAM,eAAkC,CAAC,QAAQ,MAAM,CAAC;EACxD,SAAS;EACV;CACD,IAAI;EACF,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,MAAM;EACJ,MAAM,eAAgC,CAAC,QAAQ,OAAO,CAAC;EACvD,SAAS;EACV;CAID,WAAW;CAIX,mBAAmB;EACjB,MAAM;EACN,SAAS;EACV;CAID,MAAM;CAIN,WAAW;CAIX,WAAW;CAIX,aAAa;EACX,MAAM;EACN,SAAS;EACV;CAID,eAAe;EACb,MAAM,eAAiD,SAAS;EAChE,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,OAAO;CAIP,UAAU;CAIV,QAAQ;CAIR,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,iBAAiB;EACf,MAAM,eAAwC,SAAS;EACvD,SAAS;EACV;CAID,cAAc;EACZ,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACV;CAID,OAAO,EACL,MAAM,eAA4B,OAAO,EAC1C;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,YAAY;EACV,MAAM;EACN,SAAS;EACV;CACD,GAAG,aAAa,CAAC,YAAY,CAAC;CAC/B,CAAU;AAIX,MAAM,gBAAgB,UACpB,SAAS,MAAM,IAAK,QAAQ,MAAM,IAAI,MAAM,MAAM,SAAS;AAC7D,MAAa,cAAc;EACxB,qBAAqB;EACrB,cAAc;EACd,eAAe;CACjB"}
@@ -12,7 +12,7 @@ declare const __VLS_export: vue.DefineComponent<{
12
12
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
13
13
  readonly min: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
14
14
  readonly max: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
15
- readonly step: EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
15
+ readonly step: EpPropFinalized<(new (...args: any[]) => number | "mark") | (() => number | "mark") | ((new (...args: any[]) => number | "mark") | (() => number | "mark"))[], unknown, unknown, 1, boolean>;
16
16
  readonly showInput: BooleanConstructor;
17
17
  readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
18
18
  readonly size: {
@@ -89,7 +89,7 @@ declare const __VLS_export: vue.DefineComponent<{
89
89
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
90
90
  readonly min: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
91
91
  readonly max: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
92
- readonly step: EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
92
+ readonly step: EpPropFinalized<(new (...args: any[]) => number | "mark") | (() => number | "mark") | ((new (...args: any[]) => number | "mark") | (() => number | "mark"))[], unknown, unknown, 1, boolean>;
93
93
  readonly showInput: BooleanConstructor;
94
94
  readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
95
95
  readonly size: {
@@ -169,7 +169,7 @@ declare const __VLS_export: vue.DefineComponent<{
169
169
  readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
170
170
  readonly max: number;
171
171
  readonly min: number;
172
- readonly step: number;
172
+ readonly step: EpPropMergeType<(new (...args: any[]) => number | "mark") | (() => number | "mark") | ((new (...args: any[]) => number | "mark") | (() => number | "mark"))[], unknown, unknown>;
173
173
  readonly showInputControls: EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
174
  readonly showTooltip: EpPropMergeType<BooleanConstructor, unknown, unknown>;
175
175
  readonly formatTooltip: (val: number) => number | string;
@@ -1,3 +1,4 @@
1
+ import { isNumber } from "../../../utils/types.mjs";
1
2
  import { useLocale } from "../../../hooks/use-locale/index.mjs";
2
3
  import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
3
4
  import { useFormSize } from "../../form/src/hooks/use-form-common-props.mjs";
@@ -45,6 +46,9 @@ var slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
45
46
  const { inputId, isLabeledByFormItem } = useFormItemInputId(props, { formItemContext: elFormItem });
46
47
  const sliderWrapperSize = useFormSize();
47
48
  const sliderInputSize = computed(() => props.inputSize || sliderWrapperSize.value);
49
+ const renderInput = computed(() => {
50
+ return props.showInput && !props.range && props.step !== "mark";
51
+ });
48
52
  const groupLabel = computed(() => {
49
53
  return props.ariaLabel || t("el.slider.defaultLabel", {
50
54
  min: props.min,
@@ -68,15 +72,19 @@ var slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
68
72
  ns.b(),
69
73
  ns.m(sliderWrapperSize.value),
70
74
  ns.is("vertical", props.vertical),
71
- { [ns.m("with-input")]: props.showInput }
75
+ { [ns.m("with-input")]: renderInput.value }
72
76
  ]);
73
77
  const markList = useMarks(props);
74
78
  useWatch(props, initData, minValue, maxValue, emit, elFormItem);
79
+ const sliderInputStep = computed(() => {
80
+ return isNumber(props.step) ? props.step : 1;
81
+ });
75
82
  const precision = computed(() => {
83
+ const stepValue = isNumber(props.step) ? props.step : 1;
76
84
  const precisions = [
77
85
  props.min,
78
86
  props.max,
79
- props.step
87
+ stepValue
80
88
  ].map((item) => {
81
89
  const decimal = `${item}`.split(".")[1];
82
90
  return decimal ? decimal.length : 0;
@@ -95,6 +103,7 @@ var slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
95
103
  sliderSize,
96
104
  disabled: sliderDisabled,
97
105
  precision,
106
+ markList,
98
107
  emitChange,
99
108
  resetSize,
100
109
  updateDragging
@@ -114,7 +123,7 @@ var slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
114
123
  ref: slider,
115
124
  class: normalizeClass([
116
125
  unref(ns).e("runway"),
117
- { "show-input": _ctx.showInput && !_ctx.range },
126
+ { "show-input": renderInput.value },
118
127
  unref(ns).is("disabled", unref(sliderDisabled))
119
128
  ]),
120
129
  style: normalizeStyle(unref(runwayStyle)),
@@ -215,12 +224,12 @@ var slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
215
224
  "onMousedown"
216
225
  ]);
217
226
  }), 128))], 2)], 64)) : createCommentVNode("v-if", true)
218
- ], 38), _ctx.showInput && !_ctx.range ? (openBlock(), createBlock(unref(ElInputNumber), {
227
+ ], 38), renderInput.value ? (openBlock(), createBlock(unref(ElInputNumber), {
219
228
  key: 0,
220
229
  ref: "input",
221
230
  "model-value": unref(firstValue),
222
231
  class: normalizeClass(unref(ns).e("input")),
223
- step: _ctx.step,
232
+ step: sliderInputStep.value,
224
233
  disabled: unref(sliderDisabled),
225
234
  controls: _ctx.showInputControls,
226
235
  min: _ctx.min,