@element-plus/nightly 0.0.20220305 → 0.0.20220306
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/dist/index.css +1 -1
- package/dist/index.full.js +1142 -801
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1137 -800
- 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.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/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/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/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/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/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/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/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/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-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/autocomplete/index.d.ts +4 -4
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +1 -1
- package/es/components/cascader/index.d.ts +18 -18
- package/es/components/cascader/src/index.mjs +5 -4
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader/src/index.vue.d.ts +9 -9
- package/es/components/checkbox/src/checkbox-group.mjs +2 -1
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/useCheckbox.d.ts +4 -4
- package/es/components/checkbox/src/useCheckbox.mjs +6 -4
- package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +6 -5
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +3 -0
- package/es/components/dropdown/src/dropdown.d.ts +1 -0
- package/es/components/dropdown/src/dropdown.mjs +4 -0
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
- package/es/components/dropdown/src/dropdown2.mjs +8 -5
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/form/index.d.ts +285 -210
- package/es/components/form/index.mjs +8 -5
- package/es/components/form/index.mjs.map +1 -1
- package/es/components/form/src/form-item.d.ts +21 -0
- package/es/components/form/src/form-item.mjs +41 -301
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form-item.vue.d.ts +104 -73
- package/es/components/form/src/form-item2.mjs +249 -0
- package/es/components/form/src/form-item2.mjs.map +1 -0
- package/es/components/form/src/form-label-wrap.d.ts +11 -0
- package/es/components/form/src/form-label-wrap.mjs +96 -0
- package/es/components/form/src/form-label-wrap.mjs.map +1 -0
- package/es/components/form/src/form.d.ts +25 -0
- package/es/components/form/src/form.mjs +43 -208
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue.d.ts +86 -76
- package/es/components/form/src/form2.mjs +130 -0
- package/es/components/form/src/form2.mjs.map +1 -0
- package/es/components/form/src/types.d.ts +9 -0
- package/es/components/form/src/types.mjs +2 -0
- package/es/components/form/src/types.mjs.map +1 -0
- package/es/components/form/src/utils.d.ts +9 -0
- package/es/components/form/src/utils.mjs +48 -0
- package/es/components/form/src/utils.mjs.map +1 -0
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/input/index.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +1 -1
- package/es/components/input/src/input2.mjs +3 -2
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +2 -2
- package/es/components/input-number/src/input-number2.mjs +2 -2
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/popover/index.d.ts +2 -0
- package/es/components/popover/src/index.mjs +6 -1
- package/es/components/popover/src/index.mjs.map +1 -1
- package/es/components/popover/src/index.vue.d.ts +1 -0
- package/es/components/radio/index.d.ts +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +10 -10
- package/es/components/radio/src/radio-group2.mjs +3 -1
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/radio/src/radio.vue.d.ts +1 -1
- package/es/components/rate/index.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +1 -1
- package/es/components/rate/src/rate2.mjs +2 -2
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/scrollbar/index.d.ts +3 -3
- package/es/components/scrollbar/src/scrollbar.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
- package/es/components/select/src/useSelect.mjs +7 -6
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +6 -6
- package/es/components/select-v2/src/defaults.d.ts +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +3 -3
- package/es/components/select-v2/src/useSelect.mjs +2 -1
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/slider/index.d.ts +2 -2
- package/es/components/slider/src/index.mjs +3 -3
- package/es/components/slider/src/index.mjs.map +1 -1
- package/es/components/slider/src/index.vue.d.ts +1 -1
- package/es/components/slider/src/useSlide.d.ts +2 -2
- package/es/components/slider/src/useSlide.mjs +3 -3
- package/es/components/slider/src/useSlide.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +2 -2
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/index.d.ts +4 -0
- package/es/components/table/src/config.mjs +2 -2
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.d.ts +4 -0
- package/es/components/table/src/table/style-helper.mjs +6 -1
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/index.mjs +11 -4
- package/es/components/table/src/table-column/index.mjs.map +1 -1
- package/es/components/table/src/table.mjs +7 -4
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +4 -0
- package/es/components/time-picker/src/common/picker.mjs +6 -5
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
- package/es/components/transfer/src/index.mjs +6 -4
- package/es/components/transfer/src/index.mjs.map +1 -1
- package/es/hooks/use-common-props/index.mjs +4 -4
- package/es/hooks/use-common-props/index.mjs.map +1 -1
- package/es/hooks/use-form-item/index.d.ts +2 -2
- package/es/hooks/use-form-item/index.mjs +3 -3
- package/es/hooks/use-form-item/index.mjs.map +1 -1
- package/es/index.mjs +3 -1
- package/es/index.mjs.map +1 -1
- package/es/tokens/form.d.ts +17 -37
- package/es/tokens/form.mjs +3 -3
- package/es/tokens/form.mjs.map +1 -1
- package/es/tokens/index.mjs +1 -1
- package/es/utils/error.d.ts +1 -0
- package/es/utils/error.mjs +5 -1
- package/es/utils/error.mjs.map +1 -1
- package/es/utils/index.mjs +1 -1
- package/es/utils/objects.d.ts +3 -5
- package/es/utils/objects.mjs +10 -35
- package/es/utils/objects.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/autocomplete/index.d.ts +4 -4
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +1 -1
- package/lib/components/cascader/index.d.ts +18 -18
- package/lib/components/cascader/src/index.js +4 -3
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader/src/index.vue.d.ts +9 -9
- package/lib/components/checkbox/src/checkbox-group.js +2 -1
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/useCheckbox.d.ts +4 -4
- package/lib/components/checkbox/src/useCheckbox.js +5 -3
- package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
- package/lib/components/color-picker/src/index.js +5 -4
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +3 -0
- package/lib/components/dropdown/src/dropdown.d.ts +1 -0
- package/lib/components/dropdown/src/dropdown.js +4 -0
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
- package/lib/components/dropdown/src/dropdown2.js +8 -5
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/form/index.d.ts +285 -210
- package/lib/components/form/index.js +10 -3
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/form/src/form-item.d.ts +21 -0
- package/lib/components/form/src/form-item.js +42 -305
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form-item.vue.d.ts +104 -73
- package/lib/components/form/src/form-item2.js +257 -0
- package/lib/components/form/src/form-item2.js.map +1 -0
- package/lib/components/form/src/form-label-wrap.d.ts +11 -0
- package/lib/components/form/src/form-label-wrap.js +100 -0
- package/lib/components/form/src/form-label-wrap.js.map +1 -0
- package/lib/components/form/src/form.d.ts +25 -0
- package/lib/components/form/src/form.js +44 -208
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue.d.ts +86 -76
- package/lib/components/form/src/form2.js +134 -0
- package/lib/components/form/src/form2.js.map +1 -0
- package/lib/components/form/src/types.d.ts +9 -0
- package/lib/components/form/src/types.js +3 -0
- package/lib/components/form/src/types.js.map +1 -0
- package/lib/components/form/src/utils.d.ts +9 -0
- package/lib/components/form/src/utils.js +53 -0
- package/lib/components/form/src/utils.js.map +1 -0
- package/lib/components/index.js +6 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/index.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +1 -1
- package/lib/components/input/src/input2.js +3 -2
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
- package/lib/components/input-number/src/input-number2.js +2 -2
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/popover/index.d.ts +2 -0
- package/lib/components/popover/src/index.js +6 -1
- package/lib/components/popover/src/index.js.map +1 -1
- package/lib/components/popover/src/index.vue.d.ts +1 -0
- package/lib/components/radio/index.d.ts +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +10 -10
- package/lib/components/radio/src/radio-group2.js +3 -1
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/radio/src/radio.vue.d.ts +1 -1
- package/lib/components/rate/index.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +1 -1
- package/lib/components/rate/src/rate2.js +1 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/scrollbar/index.d.ts +3 -3
- package/lib/components/scrollbar/src/scrollbar.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.js +1 -1
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
- package/lib/components/select/src/useSelect.js +6 -5
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +6 -6
- package/lib/components/select-v2/src/defaults.d.ts +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +3 -3
- package/lib/components/select-v2/src/useSelect.js +2 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/slider/index.d.ts +2 -2
- package/lib/components/slider/src/index.js +2 -2
- package/lib/components/slider/src/index.js.map +1 -1
- package/lib/components/slider/src/index.vue.d.ts +1 -1
- package/lib/components/slider/src/useSlide.d.ts +2 -2
- package/lib/components/slider/src/useSlide.js +2 -2
- package/lib/components/slider/src/useSlide.js.map +1 -1
- package/lib/components/switch/src/switch2.js +2 -2
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/index.d.ts +4 -0
- package/lib/components/table/src/config.js +1 -1
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +4 -0
- package/lib/components/table/src/table/style-helper.js +6 -1
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-column/index.js +11 -4
- package/lib/components/table/src/table-column/index.js.map +1 -1
- package/lib/components/table/src/table.js +7 -4
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +4 -0
- package/lib/components/time-picker/src/common/picker.js +5 -4
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
- package/lib/components/transfer/src/index.js +5 -3
- package/lib/components/transfer/src/index.js.map +1 -1
- package/lib/hooks/use-common-props/index.js +3 -3
- package/lib/hooks/use-common-props/index.js.map +1 -1
- package/lib/hooks/use-form-item/index.d.ts +2 -2
- package/lib/hooks/use-form-item/index.js +2 -2
- package/lib/hooks/use-form-item/index.js.map +1 -1
- package/lib/index.js +9 -3
- package/lib/index.js.map +1 -1
- package/lib/tokens/form.d.ts +17 -37
- package/lib/tokens/form.js +4 -4
- package/lib/tokens/form.js.map +1 -1
- package/lib/tokens/index.js +2 -2
- package/lib/utils/error.d.ts +1 -0
- package/lib/utils/error.js +5 -1
- package/lib/utils/error.js.map +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/objects.d.ts +3 -5
- package/lib/utils/objects.js +10 -34
- package/lib/utils/objects.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/dropdown.scss +5 -0
- package/web-types.json +1 -1
- package/es/components/form/src/form.type.d.ts +0 -5
- package/es/components/form/src/form.type.mjs +0 -2
- package/es/components/form/src/form.type.mjs.map +0 -1
- package/es/components/form/src/label-wrap.d.ts +0 -13
- package/es/components/form/src/label-wrap.mjs +0 -83
- package/es/components/form/src/label-wrap.mjs.map +0 -1
- package/lib/components/form/src/form.type.d.ts +0 -5
- package/lib/components/form/src/form.type.js +0 -3
- package/lib/components/form/src/form.type.js.map +0 -1
- package/lib/components/form/src/label-wrap.d.ts +0 -13
- package/lib/components/form/src/label-wrap.js +0 -87
- package/lib/components/form/src/label-wrap.js.map +0 -1
|
@@ -153,8 +153,8 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
153
153
|
type: string;
|
|
154
154
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
155
155
|
disabled: boolean;
|
|
156
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
157
156
|
label: string;
|
|
157
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
158
158
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
159
159
|
autosize: boolean | {
|
|
160
160
|
minRows?: number | undefined;
|
|
@@ -312,8 +312,8 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
312
312
|
type: string;
|
|
313
313
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
314
314
|
disabled: boolean;
|
|
315
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
316
315
|
label: string;
|
|
316
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
317
317
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
318
318
|
autosize: boolean | {
|
|
319
319
|
minRows?: number | undefined;
|
|
@@ -154,8 +154,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
154
154
|
type: string;
|
|
155
155
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
156
156
|
disabled: boolean;
|
|
157
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
158
157
|
label: string;
|
|
158
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
159
159
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
160
160
|
autosize: boolean | {
|
|
161
161
|
minRows?: number | undefined;
|
|
@@ -313,8 +313,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
313
313
|
type: string;
|
|
314
314
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
315
315
|
disabled: boolean;
|
|
316
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
317
316
|
label: string;
|
|
317
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
318
318
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
319
319
|
autosize: boolean | {
|
|
320
320
|
minRows?: number | undefined;
|
|
@@ -132,7 +132,7 @@ const _sfc_main = defineComponent({
|
|
|
132
132
|
emit("update:modelValue", newVal);
|
|
133
133
|
emit("input", newVal);
|
|
134
134
|
emit("change", newVal, oldVal);
|
|
135
|
-
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change");
|
|
135
|
+
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
|
|
136
136
|
data.currentValue = newVal;
|
|
137
137
|
};
|
|
138
138
|
const handleInput = (value) => {
|
|
@@ -159,7 +159,7 @@ const _sfc_main = defineComponent({
|
|
|
159
159
|
const handleBlur = (event) => {
|
|
160
160
|
var _a;
|
|
161
161
|
emit("blur", event);
|
|
162
|
-
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur");
|
|
162
|
+
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
|
|
163
163
|
};
|
|
164
164
|
watch(() => props.modelValue, (value) => {
|
|
165
165
|
let newVal = Number(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n watch,\n onMounted,\n onUpdated,\n} from 'vue'\n\nimport { ElIcon } from '@element-plus/components/icon'\nimport { RepeatClick } from '@element-plus/directives'\nimport {\n useDisabled,\n useFormItem,\n useSize,\n useNamespace,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { isNumber, debugWarn } from '@element-plus/utils'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons-vue'\nimport { inputNumberProps, inputNumberEmits } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number | undefined\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'ElInputNumber',\n components: {\n ElInput,\n ElIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n directives: {\n RepeatClick,\n },\n props: inputNumberProps,\n emits: inputNumberEmits,\n setup(props, { emit }) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n const { formItem } = useFormItem()\n const ns = useNamespace('input-number')\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const inputNumberSize = useSize()\n const inputNumberDisabled = useDisabled()\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n const increase = () => {\n if (inputNumberDisabled.value || maxDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _increase(value)\n setCurrentValue(newVal)\n }\n const decrease = () => {\n if (inputNumberDisabled.value || minDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _decrease(value)\n setCurrentValue(newVal)\n }\n const setCurrentValue = (newVal: number | string) => {\n const oldVal = data.currentValue\n if (typeof newVal === 'number' && props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n if (newVal !== undefined && newVal >= props.max) newVal = props.max\n if (newVal !== undefined && newVal <= props.min) newVal = props.min\n if (oldVal === newVal) return\n if (!isNumber(newVal)) {\n newVal = undefined\n }\n data.userInput = null\n emit('update:modelValue', newVal)\n emit('input', newVal)\n emit('change', newVal, oldVal)\n formItem?.validate?.('change')\n data.currentValue = newVal\n }\n const handleInput = (value: string) => {\n return (data.userInput = value)\n }\n const handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n }\n\n const focus = () => {\n input.value?.focus?.()\n }\n\n const blur = () => {\n input.value?.blur?.()\n }\n\n const handleFocus = (event: MouseEvent) => {\n emit('focus', event)\n }\n\n const handleBlur = (event: MouseEvent) => {\n emit('blur', event)\n formItem?.validate?.('blur')\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n let newVal = Number(value)\n if (value === null) {\n newVal = Number.NaN\n }\n if (!isNaN(newVal)) {\n if (props.stepStrictly) {\n const stepPrecision = getPrecision(props.step)\n const precisionFactor = Math.pow(10, stepPrecision)\n newVal =\n (Math.round(newVal / props.step) * precisionFactor * props.step) /\n precisionFactor\n }\n if (props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n\n if (newVal > props.max) {\n newVal = props.max\n emit('update:modelValue', newVal)\n }\n if (newVal < props.min) {\n newVal = props.min\n emit('update:modelValue', newVal)\n }\n }\n data.currentValue = newVal\n data.userInput = null\n },\n { immediate: true }\n )\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n if (!isNumber(props.modelValue)) {\n let val: number | undefined = Number(props.modelValue)\n if (isNaN(val)) {\n val = undefined\n }\n emit('update:modelValue', val)\n }\n })\n onUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', data.currentValue)\n })\n return {\n input,\n displayValue,\n handleInput,\n handleInputChange,\n controlsAtRight,\n decrease,\n increase,\n inputNumberSize,\n inputNumberDisabled,\n maxDisabled,\n minDisabled,\n focus,\n blur,\n handleFocus,\n handleBlur,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n watch,\n onMounted,\n onUpdated,\n} from 'vue'\n\nimport { ElIcon } from '@element-plus/components/icon'\nimport { RepeatClick } from '@element-plus/directives'\nimport {\n useDisabled,\n useFormItem,\n useSize,\n useNamespace,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { isNumber, debugWarn } from '@element-plus/utils'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons-vue'\nimport { inputNumberProps, inputNumberEmits } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number | undefined\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'ElInputNumber',\n components: {\n ElInput,\n ElIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n directives: {\n RepeatClick,\n },\n props: inputNumberProps,\n emits: inputNumberEmits,\n setup(props, { emit }) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n const { formItem } = useFormItem()\n const ns = useNamespace('input-number')\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const inputNumberSize = useSize()\n const inputNumberDisabled = useDisabled()\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n const increase = () => {\n if (inputNumberDisabled.value || maxDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _increase(value)\n setCurrentValue(newVal)\n }\n const decrease = () => {\n if (inputNumberDisabled.value || minDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _decrease(value)\n setCurrentValue(newVal)\n }\n const setCurrentValue = (newVal: number | string) => {\n const oldVal = data.currentValue\n if (typeof newVal === 'number' && props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n if (newVal !== undefined && newVal >= props.max) newVal = props.max\n if (newVal !== undefined && newVal <= props.min) newVal = props.min\n if (oldVal === newVal) return\n if (!isNumber(newVal)) {\n newVal = undefined\n }\n data.userInput = null\n emit('update:modelValue', newVal)\n emit('input', newVal)\n emit('change', newVal, oldVal)\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n data.currentValue = newVal\n }\n const handleInput = (value: string) => {\n return (data.userInput = value)\n }\n const handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n }\n\n const focus = () => {\n input.value?.focus?.()\n }\n\n const blur = () => {\n input.value?.blur?.()\n }\n\n const handleFocus = (event: MouseEvent) => {\n emit('focus', event)\n }\n\n const handleBlur = (event: MouseEvent) => {\n emit('blur', event)\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n let newVal = Number(value)\n if (value === null) {\n newVal = Number.NaN\n }\n if (!isNaN(newVal)) {\n if (props.stepStrictly) {\n const stepPrecision = getPrecision(props.step)\n const precisionFactor = Math.pow(10, stepPrecision)\n newVal =\n (Math.round(newVal / props.step) * precisionFactor * props.step) /\n precisionFactor\n }\n if (props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n\n if (newVal > props.max) {\n newVal = props.max\n emit('update:modelValue', newVal)\n }\n if (newVal < props.min) {\n newVal = props.min\n emit('update:modelValue', newVal)\n }\n }\n data.currentValue = newVal\n data.userInput = null\n },\n { immediate: true }\n )\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n if (!isNumber(props.modelValue)) {\n let val: number | undefined = Number(props.modelValue)\n if (isNaN(val)) {\n val = undefined\n }\n emit('update:modelValue', val)\n }\n })\n onUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', data.currentValue)\n })\n return {\n input,\n displayValue,\n handleInput,\n handleInputChange,\n controlsAtRight,\n decrease,\n increase,\n inputNumberSize,\n inputNumberDisabled,\n maxDisabled,\n minDisabled,\n focus,\n blur,\n handleFocus,\n handleBlur,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,7 @@ declare const _Popover: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
78
78
|
kls: import("vue").ComputedRef<(string | {
|
|
79
79
|
[x: string]: any;
|
|
80
80
|
} | undefined)[]>;
|
|
81
|
+
gpuAcceleration: import("vue").ComputedRef<boolean>;
|
|
81
82
|
style: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
82
83
|
tooltipRef: import("vue").Ref<({
|
|
83
84
|
$: import("vue").ComponentInternalInstance;
|
|
@@ -868,6 +869,7 @@ export declare const ElPopover: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
868
869
|
kls: import("vue").ComputedRef<(string | {
|
|
869
870
|
[x: string]: any;
|
|
870
871
|
} | undefined)[]>;
|
|
872
|
+
gpuAcceleration: import("vue").ComputedRef<boolean>;
|
|
871
873
|
style: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
872
874
|
tooltipRef: import("vue").Ref<({
|
|
873
875
|
$: import("vue").ComponentInternalInstance;
|
|
@@ -48,6 +48,9 @@ const _sfc_main = defineComponent({
|
|
|
48
48
|
const kls = computed(() => {
|
|
49
49
|
return [ns.b(), props.popperClass, { [ns.m("plain")]: !!props.content }];
|
|
50
50
|
});
|
|
51
|
+
const gpuAcceleration = computed(() => {
|
|
52
|
+
return props.transition === "el-fade-in-linear";
|
|
53
|
+
});
|
|
51
54
|
const { compatTeleported } = useDeprecateAppendToBody(COMPONENT_NAME, "appendToBody");
|
|
52
55
|
const hide = () => {
|
|
53
56
|
var _a;
|
|
@@ -69,6 +72,7 @@ const _sfc_main = defineComponent({
|
|
|
69
72
|
compatTeleported,
|
|
70
73
|
ns,
|
|
71
74
|
kls,
|
|
75
|
+
gpuAcceleration,
|
|
72
76
|
style,
|
|
73
77
|
tooltipRef,
|
|
74
78
|
popperRef,
|
|
@@ -104,6 +108,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
104
108
|
"popper-style": _ctx.style,
|
|
105
109
|
teleported: _ctx.compatTeleported,
|
|
106
110
|
persistent: _ctx.persistent,
|
|
111
|
+
"gpu-acceleration": _ctx.gpuAcceleration,
|
|
107
112
|
onBeforeShow: _ctx.beforeEnter,
|
|
108
113
|
onBeforeHide: _ctx.beforeLeave,
|
|
109
114
|
onShow: _ctx.afterEnter,
|
|
@@ -123,7 +128,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
123
128
|
_ctx.$slots.reference ? renderSlot(_ctx.$slots, "reference", { key: 0 }) : createCommentVNode("v-if", true)
|
|
124
129
|
]),
|
|
125
130
|
_: 3
|
|
126
|
-
}, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "append-to-body", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "onBeforeShow", "onBeforeHide", "onShow", "onHide"]);
|
|
131
|
+
}, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "append-to-body", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "gpu-acceleration", "onBeforeShow", "onBeforeHide", "onShow", "onHide"]);
|
|
127
132
|
}
|
|
128
133
|
var Popover = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
129
134
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n :persistent=\"persistent\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = [\n 'update:visible',\n 'before-enter',\n 'before-leave',\n 'after-enter',\n 'after-leave',\n]\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const beforeEnter = () => {\n emit('before-enter')\n }\n const beforeLeave = () => {\n emit('before-leave')\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n style,\n tooltipRef,\n popperRef,\n hide,\n beforeEnter,\n beforeLeave,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = [\n 'update:visible',\n 'before-enter',\n 'before-leave',\n 'after-enter',\n 'after-leave',\n]\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const gpuAcceleration = computed(() => {\n return props.transition === 'el-fade-in-linear'\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const beforeEnter = () => {\n emit('before-enter')\n }\n const beforeLeave = () => {\n emit('before-leave')\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n gpuAcceleration,\n style,\n tooltipRef,\n popperRef,\n hide,\n beforeEnter,\n beforeLeave,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAuDA,MAAM,QAAQ;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGF,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AACE;AAA4B;AAG9B;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB;AACE;AAAK;AAEP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;AAvIY;AACJ;AACE,IACX;AAAU,IACV,SAAS;AAAA,IACT;AAAY,IACZ;AAAgB,IAChB,UAAU;AAAA,IACV,kBAAgB;AAAA,IAChB;AAAS,IACT;AAAQ,IACR,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ;AAAQ,IACR;AAAW,IACX;AAAc,IACd,gBAAc;AAAA,IACd;AAAY,IACZ;AAAY,IACZ;AAAkB,IAClB;AAAa,IACb;AAAa,IACb;AAAM,IACN;AAAM;IAMI;AAGH,MAFK;AAEL;;AAFwB,QAAW,MAAK;AAAA,sCACpC;;AAIH;AADK;AAAA;AAAA;AAPH,MAFK;;;;;;;;;;;"}
|
|
@@ -77,6 +77,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
77
77
|
kls: import("vue").ComputedRef<(string | {
|
|
78
78
|
[x: string]: any;
|
|
79
79
|
} | undefined)[]>;
|
|
80
|
+
gpuAcceleration: import("vue").ComputedRef<boolean>;
|
|
80
81
|
style: import("vue").ComputedRef<StyleValue>;
|
|
81
82
|
tooltipRef: import("vue").Ref<({
|
|
82
83
|
$: import("vue").ComponentInternalInstance;
|
|
@@ -45,8 +45,8 @@ export declare const ElRadio: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
45
45
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
46
46
|
disabled: boolean;
|
|
47
47
|
name: string;
|
|
48
|
-
modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
|
|
49
48
|
label: import("element-plus/es/utils").BuildPropType<(BooleanConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
49
|
+
modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
|
|
50
50
|
border: boolean;
|
|
51
51
|
}>> & {
|
|
52
52
|
RadioButton: import("vue").DefineComponent<{
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
|
-
readonly size: import("
|
|
2
|
+
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
|
|
3
3
|
readonly disabled: BooleanConstructor;
|
|
4
|
-
readonly modelValue: import("
|
|
5
|
-
readonly fill: import("
|
|
6
|
-
readonly textColor: import("
|
|
4
|
+
readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
|
|
5
|
+
readonly fill: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
6
|
+
readonly textColor: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
7
7
|
}, {
|
|
8
8
|
ns: {
|
|
9
9
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -25,19 +25,19 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
25
25
|
"update:modelValue": (val: string | number | boolean) => boolean;
|
|
26
26
|
change: (val: string | number | boolean) => boolean;
|
|
27
27
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
28
|
-
readonly size: import("
|
|
28
|
+
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
|
|
29
29
|
readonly disabled: BooleanConstructor;
|
|
30
|
-
readonly modelValue: import("
|
|
31
|
-
readonly fill: import("
|
|
32
|
-
readonly textColor: import("
|
|
30
|
+
readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
|
|
31
|
+
readonly fill: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
32
|
+
readonly textColor: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
33
33
|
}>> & {
|
|
34
34
|
onChange?: ((val: string | number | boolean) => any) | undefined;
|
|
35
35
|
"onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
|
|
36
36
|
}, {
|
|
37
|
-
size: import("
|
|
37
|
+
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
38
38
|
disabled: boolean;
|
|
39
39
|
fill: string;
|
|
40
|
-
modelValue: import("
|
|
40
|
+
modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
|
|
41
41
|
textColor: string;
|
|
42
42
|
}>;
|
|
43
43
|
export default _default;
|
|
@@ -2,6 +2,7 @@ import { defineComponent, ref, nextTick, onMounted, provide, reactive, toRefs, w
|
|
|
2
2
|
import '../../../constants/index.mjs';
|
|
3
3
|
import '../../../tokens/index.mjs';
|
|
4
4
|
import '../../../hooks/index.mjs';
|
|
5
|
+
import '../../../utils/index.mjs';
|
|
5
6
|
import { radioGroupProps, radioGroupEmits } from './radio-group.mjs';
|
|
6
7
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
8
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
@@ -9,6 +10,7 @@ import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
|
|
|
9
10
|
import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
|
|
10
11
|
import { EVENT_CODE } from '../../../constants/aria.mjs';
|
|
11
12
|
import { radioGroupKey } from '../../../tokens/radio.mjs';
|
|
13
|
+
import { debugWarn } from '../../../utils/error.mjs';
|
|
12
14
|
|
|
13
15
|
const _sfc_main = defineComponent({
|
|
14
16
|
name: "ElRadioGroup",
|
|
@@ -64,7 +66,7 @@ const _sfc_main = defineComponent({
|
|
|
64
66
|
...toRefs(props),
|
|
65
67
|
changeEvent
|
|
66
68
|
}));
|
|
67
|
-
watch(() => props.modelValue, () => formItem == null ? void 0 : formItem.validate("change"));
|
|
69
|
+
watch(() => props.modelValue, () => formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err)));
|
|
68
70
|
return {
|
|
69
71
|
ns,
|
|
70
72
|
radioGroupRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change')\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"
|
|
1
|
+
{"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change').catch((err) => debugWarn(err))\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;;;AA6BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,gBAAgB;AACtB,UAAM,EAAE,aAAa;AAErB,UAAM,cAAc,CAAC,UAAyC;AAC5D,UAAI,KAAK,oBAAoB;AAC7B,eAAS,MAAM,IAAI,KAAK,UAAU;AAAA;AAGpC,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,CAAC,cAAc;AAAO;AAG1B,YAAM,SAAS,EAAE;AACjB,YAAM,YACJ,OAAO,aAAa,UAAU,iBAAiB;AACjD,YAAM,SACJ,cAAc,MAAM,iBAAmC;AACzD,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ;AACzC,YAAM,aACJ,cAAc,MAAM,iBAAmC;AAEzD,UAAI,YAA2B;AAC/B,cAAQ,EAAE;AAAA,aACH,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC/C;AAAA,aACG,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,SAAS,IAAI,IAAI,QAAQ;AAC/C;AAAA;AAEA;AAAA;AAEJ,UAAI,cAAc;AAAM;AACxB,iBAAW,WAAW;AACtB,iBAAW,WAAW;AAAA;AAGxB,cAAU,MAAM;AACd,YAAM,SACJ,cAAc,MAAO,iBAAmC;AAC1D,YAAM,aAAa,OAAO;AAC1B,UAAI,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,UAAU,MAAM,YAAY,YAAY;AACpE,mBAAW,WAAW;AAAA;AAAA;AAI1B,YACE,eACA,SAAS;AAAA,SACJ,OAAO;AAAA,MACV;AAAA;AAIJ,UACE,MAAM,MAAM,YACZ,MAAM,mBAAmB,iBAAiB,kBAAkB;AAG9D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;sBAxGJA,mBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,eAAE,QAAG,EAAC;AAAA,IACZ,MAAK;AAAA,IACJ,WAAO,uCAAE;AAAA;IAEVC,WAAa;AAAA;;;;;;"}
|
|
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
45
|
size: import("../../../utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
46
46
|
disabled: boolean;
|
|
47
47
|
name: string;
|
|
48
|
-
modelValue: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
|
|
49
48
|
label: import("../../../utils").BuildPropType<(BooleanConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
49
|
+
modelValue: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
|
|
50
50
|
border: boolean;
|
|
51
51
|
}>;
|
|
52
52
|
export default _default;
|
|
@@ -34,7 +34,7 @@ export declare const ElRate: import("element-plus/es/utils").SFCWithInstall<impo
|
|
|
34
34
|
};
|
|
35
35
|
hoverIndex: import("vue").Ref<number>;
|
|
36
36
|
currentValue: import("vue").Ref<number>;
|
|
37
|
-
rateDisabled: import("vue").ComputedRef<boolean
|
|
37
|
+
rateDisabled: import("vue").ComputedRef<boolean>;
|
|
38
38
|
text: import("vue").ComputedRef<string>;
|
|
39
39
|
decimalStyle: import("vue").ComputedRef<{
|
|
40
40
|
color: string | {
|
|
@@ -34,7 +34,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
34
34
|
};
|
|
35
35
|
hoverIndex: import("vue").Ref<number>;
|
|
36
36
|
currentValue: import("vue").Ref<number>;
|
|
37
|
-
rateDisabled: import("vue").ComputedRef<boolean
|
|
37
|
+
rateDisabled: import("vue").ComputedRef<boolean>;
|
|
38
38
|
text: import("vue").ComputedRef<string>;
|
|
39
39
|
decimalStyle: import("vue").ComputedRef<{
|
|
40
40
|
color: string | {
|
|
@@ -8,7 +8,7 @@ import { StarFilled, Star } from '@element-plus/icons-vue';
|
|
|
8
8
|
import '../../../hooks/index.mjs';
|
|
9
9
|
import { rateProps, rateEmits } from './rate.mjs';
|
|
10
10
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
11
|
-
import {
|
|
11
|
+
import { formContextKey } from '../../../tokens/form.mjs';
|
|
12
12
|
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
13
13
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
14
14
|
import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
|
|
@@ -35,7 +35,7 @@ const _sfc_main = defineComponent({
|
|
|
35
35
|
props: rateProps,
|
|
36
36
|
emits: rateEmits,
|
|
37
37
|
setup(props, { emit }) {
|
|
38
|
-
const elForm = inject(
|
|
38
|
+
const elForm = inject(formContextKey, {});
|
|
39
39
|
const rateSize = useSize();
|
|
40
40
|
const ns = useNamespace("rate");
|
|
41
41
|
const currentValue = ref(props.modelValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_normalizeStyle","_createVNode","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { formContextKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\n\nimport type { FormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(formContextKey, {} as FormContext)\n\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_normalizeStyle","_createVNode","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
|
|
|
5
5
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
|
|
6
6
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
7
7
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
8
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
8
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
9
9
|
readonly noresize: BooleanConstructor;
|
|
10
10
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
11
11
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -52,7 +52,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
|
|
|
52
52
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
|
|
53
53
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
54
54
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
55
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
55
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
56
56
|
readonly noresize: BooleanConstructor;
|
|
57
57
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
58
58
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -70,7 +70,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
|
|
|
70
70
|
wrapStyle: import("vue").StyleValue;
|
|
71
71
|
wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
72
72
|
viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
73
|
-
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
73
|
+
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
|
|
74
74
|
tag: string;
|
|
75
75
|
minSize: number;
|
|
76
76
|
noresize: boolean;
|
|
@@ -6,7 +6,7 @@ export declare const scrollbarProps: {
|
|
|
6
6
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
|
|
7
7
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
8
8
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
9
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
9
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
10
10
|
readonly noresize: BooleanConstructor;
|
|
11
11
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
12
12
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { StyleValue, ExtractPropTypes } from 'vue'\n\nexport const scrollbarProps = buildProps({\n height: {\n type: [String, Number],\n default: '',\n },\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n native: {\n type: Boolean,\n default: false,\n },\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n viewClass: {\n type: [String, Array],\n default: '',\n },\n viewStyle: {\n type: [String, Array],\n default: '',\n },\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\n\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => isNumber(scrollTop) && isNumber(scrollLeft),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { StyleValue, ExtractPropTypes } from 'vue'\n\nexport const scrollbarProps = buildProps({\n height: {\n type: [String, Number],\n default: '',\n },\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n native: {\n type: Boolean,\n default: false,\n },\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n viewClass: {\n type: [String, Array],\n default: '',\n },\n viewStyle: {\n type: [String, Array, Object],\n default: '',\n },\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\n\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => isNumber(scrollTop) && isNumber(scrollLeft),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,CAAC;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;AACnD;;;;"}
|
|
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
6
6
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
|
|
7
7
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
8
8
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
9
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
9
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
10
10
|
readonly noresize: BooleanConstructor;
|
|
11
11
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
12
12
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -53,7 +53,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
53
53
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
|
|
54
54
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
55
55
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
56
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
56
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
57
57
|
readonly noresize: BooleanConstructor;
|
|
58
58
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
59
59
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -71,7 +71,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
71
|
wrapStyle: StyleValue;
|
|
72
72
|
wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
73
73
|
viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
74
|
-
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
74
|
+
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
|
|
75
75
|
tag: string;
|
|
76
76
|
minSize: number;
|
|
77
77
|
noresize: boolean;
|
|
@@ -8,8 +8,9 @@ import '../../../hooks/index.mjs';
|
|
|
8
8
|
import '../../../tokens/index.mjs';
|
|
9
9
|
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
10
10
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
11
|
-
import {
|
|
11
|
+
import { formContextKey, formItemContextKey } from '../../../tokens/form.mjs';
|
|
12
12
|
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
13
|
+
import { debugWarn } from '../../../utils/error.mjs';
|
|
13
14
|
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
|
|
14
15
|
import { scrollIntoView } from '../../../utils/dom/scroll.mjs';
|
|
15
16
|
import { EVENT_CODE } from '../../../constants/aria.mjs';
|
|
@@ -56,8 +57,8 @@ const useSelect = (props, states, ctx) => {
|
|
|
56
57
|
const hoverOption = ref(-1);
|
|
57
58
|
const queryChange = shallowRef({ query: "" });
|
|
58
59
|
const groupQueryChange = shallowRef("");
|
|
59
|
-
const elForm = inject(
|
|
60
|
-
const elFormItem = inject(
|
|
60
|
+
const elForm = inject(formContextKey, {});
|
|
61
|
+
const elFormItem = inject(formItemContextKey, {});
|
|
61
62
|
const readonly = computed(() => !props.filterable || props.multiple || !states.visible);
|
|
62
63
|
const selectDisabled = computed(() => props.disabled || elForm.disabled);
|
|
63
64
|
const showClose = computed(() => {
|
|
@@ -130,7 +131,7 @@ const useSelect = (props, states, ctx) => {
|
|
|
130
131
|
states.inputLength = 20;
|
|
131
132
|
}
|
|
132
133
|
if (!isEqual(val, oldVal)) {
|
|
133
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
134
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
|
|
134
135
|
}
|
|
135
136
|
}, {
|
|
136
137
|
flush: "post",
|
|
@@ -539,10 +540,10 @@ const useSelect = (props, states, ctx) => {
|
|
|
539
540
|
const handleFocus = (event) => {
|
|
540
541
|
if (!states.softFocus) {
|
|
541
542
|
if (props.automaticDropdown || props.filterable) {
|
|
542
|
-
states.visible
|
|
543
|
-
if (props.filterable) {
|
|
543
|
+
if (props.filterable && !states.visible) {
|
|
544
544
|
states.menuVisibleOnFocus = true;
|
|
545
545
|
}
|
|
546
|
+
states.visible = true;
|
|
546
547
|
}
|
|
547
548
|
ctx.emit("focus", event);
|
|
548
549
|
} else {
|