@element-plus/nightly 0.0.20220303 → 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/README.md +1 -1
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1980 -2030
- package/dist/index.full.min.js +11 -11
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1965 -2029
- 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 +6 -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/message-box/index.mjs +1 -0
- package/es/components/message-box/index.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +2 -2
- package/es/components/message-box/src/message-box.type.d.ts +4 -3
- package/es/components/message-box/src/messageBox.mjs +39 -56
- package/es/components/message-box/src/messageBox.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/index.d.ts +9 -0
- package/es/components/select/src/select.mjs +6 -2
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +9 -0
- 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 +24 -6
- package/es/components/select-v2/src/defaults.d.ts +5 -1
- package/es/components/select-v2/src/defaults.mjs +4 -0
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +3 -3
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +12 -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/components/upload/index.d.ts +807 -727
- package/es/components/upload/index.mjs +9 -7
- package/es/components/upload/index.mjs.map +1 -1
- package/es/components/upload/src/ajax.d.ts +8 -2
- package/es/components/upload/src/ajax.mjs +39 -34
- package/es/components/upload/src/ajax.mjs.map +1 -1
- package/es/components/upload/src/upload-content.d.ts +32 -0
- package/es/components/upload/src/upload-content.mjs +39 -0
- package/es/components/upload/src/upload-content.mjs.map +1 -0
- package/es/components/upload/src/upload-content.vue.d.ts +165 -0
- package/es/components/upload/src/upload-content2.mjs +172 -0
- package/es/components/upload/src/upload-content2.mjs.map +1 -0
- package/es/components/upload/src/upload-dragger.d.ts +11 -0
- package/es/components/upload/src/upload-dragger.mjs +11 -67
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger.vue.d.ts +15 -11
- package/es/components/upload/src/upload-dragger2.mjs +73 -0
- package/es/components/upload/src/upload-dragger2.mjs.map +1 -0
- package/es/components/upload/src/upload-list.d.ts +15 -0
- package/es/components/upload/src/upload-list.mjs +23 -207
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue.d.ts +148 -44
- package/es/components/upload/src/upload-list2.mjs +173 -0
- package/es/components/upload/src/upload-list2.mjs.map +1 -0
- package/es/components/upload/src/upload.d.ts +97 -0
- package/es/components/upload/src/upload.mjs +103 -266
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +830 -292
- package/es/components/upload/src/upload2.mjs +122 -0
- package/es/components/upload/src/upload2.mjs.map +1 -0
- package/es/components/upload/src/{useHandlers.d.ts → use-handlers.d.ts} +10 -13
- package/es/components/upload/src/use-handlers.mjs +142 -0
- package/es/components/upload/src/use-handlers.mjs.map +1 -0
- 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 +8 -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.d.ts +1 -0
- package/es/tokens/index.mjs +2 -1
- package/es/tokens/index.mjs.map +1 -1
- package/es/tokens/upload.d.ts +5 -0
- package/es/tokens/upload.mjs +4 -0
- package/es/tokens/upload.mjs.map +1 -0
- 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/utils/typescript.d.ts +1 -0
- package/es/utils/typescript.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 +19 -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/message-box/index.js +1 -0
- package/lib/components/message-box/index.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +2 -2
- package/lib/components/message-box/src/message-box.type.d.ts +4 -3
- package/lib/components/message-box/src/messageBox.js +38 -55
- package/lib/components/message-box/src/messageBox.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/index.d.ts +9 -0
- package/lib/components/select/src/select.js +6 -2
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +9 -0
- 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 +24 -6
- package/lib/components/select-v2/src/defaults.d.ts +5 -1
- package/lib/components/select-v2/src/defaults.js +4 -0
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/select-v2/src/select.js +3 -3
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +12 -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/components/upload/index.d.ts +807 -727
- package/lib/components/upload/index.js +18 -7
- package/lib/components/upload/index.js.map +1 -1
- package/lib/components/upload/src/ajax.d.ts +8 -2
- package/lib/components/upload/src/ajax.js +40 -34
- package/lib/components/upload/src/ajax.js.map +1 -1
- package/lib/components/upload/src/upload-content.d.ts +32 -0
- package/lib/components/upload/src/upload-content.js +43 -0
- package/lib/components/upload/src/upload-content.js.map +1 -0
- package/lib/components/upload/src/upload-content.vue.d.ts +165 -0
- package/lib/components/upload/src/upload-content2.js +176 -0
- package/lib/components/upload/src/upload-content2.js.map +1 -0
- package/lib/components/upload/src/upload-dragger.d.ts +11 -0
- package/lib/components/upload/src/upload-dragger.js +12 -67
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/components/upload/src/upload-dragger.vue.d.ts +15 -11
- package/lib/components/upload/src/upload-dragger2.js +77 -0
- package/lib/components/upload/src/upload-dragger2.js.map +1 -0
- package/lib/components/upload/src/upload-list.d.ts +15 -0
- package/lib/components/upload/src/upload-list.js +24 -207
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue.d.ts +148 -44
- package/lib/components/upload/src/upload-list2.js +177 -0
- package/lib/components/upload/src/upload-list2.js.map +1 -0
- package/lib/components/upload/src/upload.d.ts +97 -0
- package/lib/components/upload/src/upload.js +104 -264
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +830 -292
- package/lib/components/upload/src/upload2.js +126 -0
- package/lib/components/upload/src/upload2.js.map +1 -0
- package/lib/components/upload/src/{useHandlers.d.ts → use-handlers.d.ts} +10 -13
- package/lib/components/upload/src/use-handlers.js +146 -0
- package/lib/components/upload/src/use-handlers.js.map +1 -0
- 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 +24 -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.d.ts +1 -0
- package/lib/tokens/index.js +4 -2
- package/lib/tokens/index.js.map +1 -1
- package/lib/tokens/upload.d.ts +5 -0
- package/lib/tokens/upload.js +8 -0
- package/lib/tokens/upload.js.map +1 -0
- 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/utils/typescript.d.ts +1 -0
- package/lib/utils/typescript.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/tags.json +1 -1
- package/theme-chalk/el-cascader.css +1 -1
- package/theme-chalk/el-dialog.css +1 -1
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/cascader-panel.scss +1 -1
- package/theme-chalk/src/cascader.scss +1 -1
- package/theme-chalk/src/common/transition.scss +2 -2
- package/theme-chalk/src/common/var.scss +1 -0
- package/theme-chalk/src/date-picker/date-table.scss +4 -4
- package/theme-chalk/src/dialog.scss +1 -1
- package/theme-chalk/src/dropdown.scss +5 -0
- package/theme-chalk/src/input.scss +12 -4
- package/theme-chalk/src/menu.scss +1 -1
- package/theme-chalk/src/option-item.scss +2 -2
- package/theme-chalk/src/page-header.scss +1 -1
- package/theme-chalk/src/pagination.scss +2 -2
- package/theme-chalk/src/select-v2.scss +8 -0
- package/theme-chalk/src/select.scss +0 -4
- package/theme-chalk/src/table.scss +2 -1
- 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/es/components/upload/src/index.mjs +0 -220
- package/es/components/upload/src/index.mjs.map +0 -1
- package/es/components/upload/src/index.vue.d.ts +0 -282
- package/es/components/upload/src/upload.type.d.ts +0 -72
- package/es/components/upload/src/upload.type.mjs +0 -2
- package/es/components/upload/src/upload.type.mjs.map +0 -1
- package/es/components/upload/src/useHandlers.mjs +0 -143
- package/es/components/upload/src/useHandlers.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
- package/lib/components/upload/src/index.js +0 -224
- package/lib/components/upload/src/index.js.map +0 -1
- package/lib/components/upload/src/index.vue.d.ts +0 -282
- package/lib/components/upload/src/upload.type.d.ts +0 -72
- package/lib/components/upload/src/upload.type.js +0 -3
- package/lib/components/upload/src/upload.type.js.map +0 -1
- package/lib/components/upload/src/useHandlers.js +0 -147
- package/lib/components/upload/src/useHandlers.js.map +0 -1
|
@@ -19,6 +19,7 @@ var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-hel
|
|
|
19
19
|
var types = require('../../../../utils/types.js');
|
|
20
20
|
var index$3 = require('../../../../hooks/use-locale/index.js');
|
|
21
21
|
var form = require('../../../../tokens/form.js');
|
|
22
|
+
var error = require('../../../../utils/error.js');
|
|
22
23
|
var index$4 = require('../../../../hooks/use-common-props/index.js');
|
|
23
24
|
var aria = require('../../../../constants/aria.js');
|
|
24
25
|
|
|
@@ -81,8 +82,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
81
82
|
],
|
|
82
83
|
setup(props, ctx) {
|
|
83
84
|
const { lang } = index$3.useLocale();
|
|
84
|
-
const elForm = vue.inject(form.
|
|
85
|
-
const elFormItem = vue.inject(form.
|
|
85
|
+
const elForm = vue.inject(form.formContextKey, {});
|
|
86
|
+
const elFormItem = vue.inject(form.formItemContextKey, {});
|
|
86
87
|
const elPopperOptions = vue.inject("ElPopperOptions", {});
|
|
87
88
|
const refPopper = vue.ref();
|
|
88
89
|
const inputRef = vue.ref();
|
|
@@ -98,7 +99,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
98
99
|
});
|
|
99
100
|
ctx.emit("blur");
|
|
100
101
|
blurInput();
|
|
101
|
-
props.validateEvent && ((_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur"));
|
|
102
|
+
props.validateEvent && ((_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => error.debugWarn(err)));
|
|
102
103
|
} else {
|
|
103
104
|
valueOnOpen.value = props.modelValue;
|
|
104
105
|
}
|
|
@@ -107,7 +108,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
107
108
|
var _a;
|
|
108
109
|
if (isClear || !valueEquals(val, valueOnOpen.value)) {
|
|
109
110
|
ctx.emit("change", val);
|
|
110
|
-
props.validateEvent && ((_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change"));
|
|
111
|
+
props.validateEvent && ((_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err)));
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
114
|
const emitInput = (val) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n $attrs.class || undefined,\n ]\"\n :style=\"$attrs.style || undefined\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: string | number | Date,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (\n date: string | number | Date,\n format: string,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const onBeforeShow = () => {\n pickerActualVisible.value = true\n }\n\n const onShow = () => {\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onBeforeShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["isEmpty","dayjs","defineComponent","ElInput","ElTooltip","ElIcon","timePickerDefaultProps","useLocale","inject","elFormKey","elFormItemKey","ref","computed","unref","onClickOutside","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n $attrs.class || undefined,\n ]\"\n :style=\"$attrs.style || undefined\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: string | number | Date,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (\n date: string | number | Date,\n format: string,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(formContextKey, {} as FormContext)\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent &&\n elFormItem.validate?.('blur').catch((err) => debugWarn(err))\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent &&\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const onBeforeShow = () => {\n pickerActualVisible.value = true\n }\n\n const onShow = () => {\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onBeforeShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["isEmpty","dayjs","defineComponent","ElInput","ElTooltip","ElIcon","timePickerDefaultProps","useLocale","inject","formContextKey","formItemContextKey","ref","computed","unref","onClickOutside","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
@@ -705,7 +705,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
705
705
|
onClose: () => void;
|
|
706
706
|
}> & {} & {} & import("vue").ComponentCustomProperties) | undefined>;
|
|
707
707
|
inputRef: import("vue").Ref<ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | HTMLElement | undefined>;
|
|
708
|
-
pickerDisabled: import("vue").ComputedRef<boolean
|
|
708
|
+
pickerDisabled: import("vue").ComputedRef<boolean>;
|
|
709
709
|
onSetPickerOption: <T extends keyof PickerOptions>(e: [T, PickerOptions[T]]) => void;
|
|
710
710
|
onCalendarChange: (e: any) => void;
|
|
711
711
|
onPanelChange: (value: any, mode: any, view: any) => void;
|
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var index = require('../../button/index.js');
|
|
7
7
|
var index$1 = require('../../icon/index.js');
|
|
8
|
-
require('../../../tokens/index.js');
|
|
9
8
|
require('../../../constants/index.js');
|
|
10
9
|
require('../../../hooks/index.js');
|
|
10
|
+
require('../../../tokens/index.js');
|
|
11
11
|
var iconsVue = require('@element-plus/icons-vue');
|
|
12
|
+
require('../../../utils/index.js');
|
|
12
13
|
var transferPanel = require('./transfer-panel.js');
|
|
13
14
|
var useComputedData = require('./useComputedData.js');
|
|
14
15
|
var useCheckedChange = require('./useCheckedChange.js');
|
|
@@ -19,6 +20,7 @@ var event = require('../../../constants/event.js');
|
|
|
19
20
|
var index$2 = require('../../../hooks/use-locale/index.js');
|
|
20
21
|
var index$3 = require('../../../hooks/use-namespace/index.js');
|
|
21
22
|
var form = require('../../../tokens/form.js');
|
|
23
|
+
var error = require('../../../utils/error.js');
|
|
22
24
|
|
|
23
25
|
const _sfc_main = vue.defineComponent({
|
|
24
26
|
name: "ElTransfer",
|
|
@@ -93,7 +95,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
93
95
|
setup(props, { emit, slots }) {
|
|
94
96
|
const { t } = index$2.useLocale();
|
|
95
97
|
const ns = index$3.useNamespace("transfer");
|
|
96
|
-
const elFormItem = vue.inject(form.
|
|
98
|
+
const elFormItem = vue.inject(form.formItemContextKey, {});
|
|
97
99
|
const checkedState = vue.reactive({
|
|
98
100
|
leftChecked: [],
|
|
99
101
|
rightChecked: []
|
|
@@ -119,7 +121,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
119
121
|
const panelFilterPlaceholder = vue.computed(() => props.filterPlaceholder || t("el.transfer.filterPlaceholder"));
|
|
120
122
|
vue.watch(() => props.modelValue, () => {
|
|
121
123
|
var _a;
|
|
122
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
124
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err));
|
|
123
125
|
});
|
|
124
126
|
const optionRender = vue.computed(() => (option) => {
|
|
125
127
|
if (props.renderContent)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/transfer/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/transfer/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/tokens'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { debugWarn } from '@element-plus/utils'\nimport TransferPanel from './transfer-panel.vue'\nimport { useComputedData } from './useComputedData'\nimport {\n useCheckedChange,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n} from './useCheckedChange'\nimport { useMove } from './useMove'\nimport { CHANGE_EVENT } from './transfer'\n\nimport type { PropType, VNode } from 'vue'\nimport type { FormItemContext } from '@element-plus/tokens'\nimport type { DataItem, Format, Key, Props, TargetOrder } from './transfer'\n\ntype TransferType = InstanceType<typeof TransferPanel>\n\nexport default defineComponent({\n name: 'ElTransfer',\n\n components: {\n TransferPanel,\n ElButton,\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n\n props: {\n data: {\n type: Array as PropType<DataItem[]>,\n default: () => [],\n },\n titles: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n buttonTexts: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n filterPlaceholder: {\n type: String,\n default: '',\n },\n filterMethod: Function as PropType<\n (query: string, item: DataItem) => boolean\n >,\n leftDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n rightDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n renderContent: Function as PropType<(h, option) => VNode>,\n modelValue: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n format: {\n type: Object as PropType<Format>,\n default: () => ({}),\n },\n filterable: {\n type: Boolean,\n default: false,\n },\n props: {\n type: Object as PropType<Props>,\n default: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n },\n targetOrder: {\n type: String as PropType<TargetOrder>,\n default: 'original',\n validator: (val: string) => {\n return ['original', 'push', 'unshift'].includes(val)\n },\n },\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n ],\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('transfer')\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n\n const checkedState = reactive({\n leftChecked: [],\n rightChecked: [],\n })\n\n const { propsKey, sourceData, targetData } = useComputedData(props)\n\n const { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n )\n\n const { addToLeft, addToRight } = useMove(\n props,\n checkedState,\n propsKey,\n emit\n )\n\n const leftPanel = ref<TransferType>()\n const rightPanel = ref<TransferType>()\n\n const clearQuery = (which: 'left' | 'right') => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n }\n\n const hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\n const leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n )\n\n const rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n )\n\n const panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n )\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n )\n\n const optionRender = computed(() => (option) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n if (slots.default) return slots.default({ option })\n\n return h('span', option[props.props.label] || option[props.props.key])\n })\n\n return {\n ns,\n sourceData,\n targetData,\n onSourceCheckedChange,\n onTargetCheckedChange,\n addToLeft,\n addToRight,\n\n ...toRefs(checkedState),\n\n hasButtonTexts,\n leftPanelTitle,\n rightPanelTitle,\n panelFilterPlaceholder,\n clearQuery,\n leftPanel,\n rightPanel,\n\n optionRender,\n }\n },\n})\n</script>\n"],"names":["defineComponent","TransferPanel","ElButton","ElIcon","ArrowLeft","ArrowRight","UPDATE_MODEL_EVENT","CHANGE_EVENT","LEFT_CHECK_CHANGE_EVENT","RIGHT_CHECK_CHANGE_EVENT","useLocale","useNamespace","inject","formItemContextKey","reactive","useComputedData","useCheckedChange","useMove","ref","computed"],"mappings":"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"}
|