@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.
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +366 -264
- package/dist/index.full.min.js +9 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +366 -264
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/button/src/button.vue.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.d.ts +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/slider/src/composables/index.d.ts +1 -1
- package/es/components/slider/src/composables/use-marks.mjs +16 -2
- package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
- package/es/components/slider/src/composables/use-slider-button.mjs +57 -15
- package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
- package/es/components/slider/src/composables/use-stops.mjs +2 -2
- package/es/components/slider/src/composables/use-stops.mjs.map +1 -1
- package/es/components/slider/src/constants.d.ts +2 -0
- package/es/components/slider/src/constants.mjs.map +1 -1
- package/es/components/slider/src/slider.d.ts +1 -1
- package/es/components/slider/src/slider.mjs +1 -1
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider.vue.d.ts +3 -3
- package/es/components/slider/src/slider.vue_vue_type_script_setup_true_lang.mjs +14 -5
- package/es/components/slider/src/slider.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs +1 -0
- package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.d.ts +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/slider/src/composables/index.d.ts +1 -1
- package/lib/components/slider/src/composables/use-marks.js +15 -1
- package/lib/components/slider/src/composables/use-marks.js.map +1 -1
- package/lib/components/slider/src/composables/use-slider-button.js +57 -15
- package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
- package/lib/components/slider/src/composables/use-stops.js +2 -2
- package/lib/components/slider/src/composables/use-stops.js.map +1 -1
- package/lib/components/slider/src/constants.d.ts +2 -0
- package/lib/components/slider/src/constants.js.map +1 -1
- package/lib/components/slider/src/slider.d.ts +1 -1
- package/lib/components/slider/src/slider.js +1 -1
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +3 -3
- package/lib/components/slider/src/slider.vue_vue_type_script_setup_true_lang.js +14 -5
- package/lib/components/slider/src/slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js +1 -0
- package/lib/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-tag.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/tag.scss +4 -1
- package/web-types.json +1 -1
package/dist/locale/zh-hk.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! Element Plus v0.0.
|
|
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.
|
|
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
|
package/dist/locale/zh-hk.mjs
CHANGED
package/dist/locale/zh-mo.js
CHANGED
package/dist/locale/zh-mo.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! Element Plus v0.0.
|
|
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.
|
|
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
|
package/dist/locale/zh-mo.mjs
CHANGED
package/dist/locale/zh-tw.js
CHANGED
package/dist/locale/zh-tw.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! Element Plus v0.0.
|
|
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.
|
|
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
|
package/dist/locale/zh-tw.mjs
CHANGED
|
@@ -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<"" | "
|
|
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<"" | "
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
98
|
+
if (shouldMoveToMark.value) moveToMark(-1);
|
|
99
|
+
else if (isNumber(step.value)) incrementPosition(-step.value);
|
|
67
100
|
};
|
|
68
101
|
const onRightKeyDown = () => {
|
|
69
|
-
|
|
102
|
+
if (shouldMoveToMark.value) moveToMark(1);
|
|
103
|
+
else if (isNumber(step.value)) incrementPosition(step.value);
|
|
70
104
|
};
|
|
71
105
|
const onPageDownKeyDown = () => {
|
|
72
|
-
|
|
106
|
+
if (shouldMoveToMark.value) moveToMark(-4);
|
|
107
|
+
else if (isNumber(step.value)) incrementPosition(-step.value * 4);
|
|
73
108
|
};
|
|
74
109
|
const onPageUpKeyDown = () => {
|
|
75
|
-
|
|
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 (
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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;
|
|
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":";
|
|
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<
|
|
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: {
|
|
@@ -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
|
|
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<
|
|
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<
|
|
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")]:
|
|
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
|
-
|
|
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":
|
|
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),
|
|
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:
|
|
232
|
+
step: sliderInputStep.value,
|
|
224
233
|
disabled: unref(sliderDisabled),
|
|
225
234
|
controls: _ctx.showInputControls,
|
|
226
235
|
min: _ctx.min,
|