@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
|
@@ -619,8 +619,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
619
619
|
type: string;
|
|
620
620
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
621
621
|
disabled: boolean;
|
|
622
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
623
622
|
label: string;
|
|
623
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
624
624
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
625
625
|
autosize: boolean | {
|
|
626
626
|
minRows?: number | undefined;
|
|
@@ -674,7 +674,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
674
674
|
onCompositionstart?: ((evt: CompositionEvent) => any) | undefined;
|
|
675
675
|
onCompositionupdate?: ((evt: CompositionEvent) => any) | undefined;
|
|
676
676
|
onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
|
|
677
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "size" | "disabled" | "
|
|
677
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "size" | "disabled" | "label" | "modelValue" | "resize" | "autosize" | "autocomplete" | "placeholder" | "form" | "readonly" | "clearable" | "showPassword" | "showWordLimit" | "suffixIcon" | "prefixIcon" | "tabindex" | "validateEvent" | "inputStyle">;
|
|
678
678
|
$attrs: {
|
|
679
679
|
[x: string]: unknown;
|
|
680
680
|
};
|
|
@@ -805,8 +805,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
805
805
|
type: string;
|
|
806
806
|
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
|
|
807
807
|
disabled: boolean;
|
|
808
|
-
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
809
808
|
label: string;
|
|
809
|
+
modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
|
|
810
810
|
resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
|
|
811
811
|
autosize: boolean | {
|
|
812
812
|
minRows?: number | undefined;
|
|
@@ -1313,7 +1313,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1313
1313
|
wrapStyle: import("vue").StyleValue;
|
|
1314
1314
|
wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1315
1315
|
viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1316
|
-
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1316
|
+
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
|
|
1317
1317
|
tag: string;
|
|
1318
1318
|
minSize: number;
|
|
1319
1319
|
noresize: boolean;
|
|
@@ -1324,7 +1324,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1324
1324
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
|
|
1325
1325
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1326
1326
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1327
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1327
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
1328
1328
|
readonly noresize: BooleanConstructor;
|
|
1329
1329
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
1330
1330
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -1358,7 +1358,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1358
1358
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
|
|
1359
1359
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1360
1360
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1361
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1361
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
1362
1362
|
readonly noresize: BooleanConstructor;
|
|
1363
1363
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
1364
1364
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -1411,7 +1411,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1411
1411
|
wrapStyle: import("vue").StyleValue;
|
|
1412
1412
|
wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1413
1413
|
viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1414
|
-
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
|
|
1414
|
+
viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
|
|
1415
1415
|
tag: string;
|
|
1416
1416
|
minSize: number;
|
|
1417
1417
|
noresize: boolean;
|
|
@@ -1442,7 +1442,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1442
1442
|
readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
|
|
1443
1443
|
readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1444
1444
|
readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1445
|
-
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
|
|
1445
|
+
readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
|
|
1446
1446
|
readonly noresize: BooleanConstructor;
|
|
1447
1447
|
readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
|
|
1448
1448
|
readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
@@ -1493,7 +1493,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1493
1493
|
searchInputValue: Ref<string>;
|
|
1494
1494
|
presentTags: Ref<Tag[]>;
|
|
1495
1495
|
suggestions: Ref<CascaderNode[]>;
|
|
1496
|
-
isDisabled: ComputedRef<boolean
|
|
1496
|
+
isDisabled: ComputedRef<boolean>;
|
|
1497
1497
|
isOnComposition: Ref<boolean>;
|
|
1498
1498
|
realSize: ComputedRef<"default" | "small" | "large">;
|
|
1499
1499
|
tagSize: ComputedRef<"default" | "small">;
|
|
@@ -11,6 +11,7 @@ var validator = require('../../../utils/vue/validator.js');
|
|
|
11
11
|
var event = require('../../../constants/event.js');
|
|
12
12
|
var index = require('../../../hooks/use-common-props/index.js');
|
|
13
13
|
var index$1 = require('../../../hooks/use-namespace/index.js');
|
|
14
|
+
var error = require('../../../utils/error.js');
|
|
14
15
|
|
|
15
16
|
const _sfc_main = vue.defineComponent({
|
|
16
17
|
name: "ElCheckboxGroup",
|
|
@@ -73,7 +74,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
73
74
|
});
|
|
74
75
|
vue.watch(() => props.modelValue, () => {
|
|
75
76
|
var _a;
|
|
76
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
77
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err));
|
|
77
78
|
});
|
|
78
79
|
return () => {
|
|
79
80
|
return vue.h(props.tag, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n watch,\n provide,\n nextTick,\n toRefs,\n h,\n renderSlot,\n} from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isValidComponentSize } from '@element-plus/utils'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport { useCheckboxGroup } from './useCheckbox'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElCheckboxGroup',\n\n props: {\n modelValue: {\n type: Array,\n default: () => [],\n },\n disabled: Boolean,\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n fill: {\n type: String,\n default: undefined,\n },\n textColor: {\n type: String,\n default: undefined,\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT, 'change'],\n\n setup(props, { emit, slots }) {\n const { elFormItem } = useCheckboxGroup()\n const checkboxGroupSize = useSize()\n const ns = useNamespace('checkbox')\n\n const changeEvent = (value) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => {\n emit('change', value)\n })\n }\n\n const modelValue = computed({\n get() {\n return props.modelValue\n },\n set(val) {\n changeEvent(val)\n },\n })\n\n provide('CheckboxGroup', {\n name: 'ElCheckboxGroup',\n modelValue,\n ...toRefs(props),\n checkboxGroupSize,\n changeEvent,\n })\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change')\n }\n )\n return () => {\n return h(\n props.tag,\n {\n class: ns.b('group'),\n role: 'group',\n 'aria-label': 'checkbox-group',\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n</script>\n"],"names":["defineComponent","isValidComponentSize","UPDATE_MODEL_EVENT","useCheckboxGroup","useSize","useNamespace","computed","toRefs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n watch,\n provide,\n nextTick,\n toRefs,\n h,\n renderSlot,\n} from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn, isValidComponentSize } from '@element-plus/utils'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport { useCheckboxGroup } from './useCheckbox'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElCheckboxGroup',\n\n props: {\n modelValue: {\n type: Array,\n default: () => [],\n },\n disabled: Boolean,\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n fill: {\n type: String,\n default: undefined,\n },\n textColor: {\n type: String,\n default: undefined,\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT, 'change'],\n\n setup(props, { emit, slots }) {\n const { elFormItem } = useCheckboxGroup()\n const checkboxGroupSize = useSize()\n const ns = useNamespace('checkbox')\n\n const changeEvent = (value) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => {\n emit('change', value)\n })\n }\n\n const modelValue = computed({\n get() {\n return props.modelValue\n },\n set(val) {\n changeEvent(val)\n },\n })\n\n provide('CheckboxGroup', {\n name: 'ElCheckboxGroup',\n modelValue,\n ...toRefs(props),\n checkboxGroupSize,\n changeEvent,\n })\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n )\n return () => {\n return h(\n props.tag,\n {\n class: ns.b('group'),\n role: 'group',\n 'aria-label': 'checkbox-group',\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n</script>\n"],"names":["defineComponent","isValidComponentSize","UPDATE_MODEL_EVENT","useCheckboxGroup","useSize","useNamespace","computed","toRefs"],"mappings":";;;;;;;;;;;;;;;MAmBK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,UAAU;AAAA,IACV,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,OAAO,CAACC,0BAAoB;AAAA,EAE5B,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,eAAeC;AACvB,UAAM,oBAAoBC;AAC1B,UAAM,KAAKC,qBAAa;AAExB,UAAM,cAAc,CAAC,UAAU;AAC7B,WAAKH,0BAAoB;AACzB,mBAAS,MAAM;AACb,aAAK,UAAU;AAAA;AAAA;AAInB,UAAM,aAAaI,aAAS;AAAA,MAC1B,MAAM;AACJ,eAAO,MAAM;AAAA;AAAA,MAEf,IAAI,KAAK;AACP,oBAAY;AAAA;AAAA;AAIhB,gBAAQ,iBAAiB;AAAA,MACvB,MAAM;AAAA,MACN;AAAA,SACGC,WAAO;AAAA,MACV;AAAA,MACA;AAAA;AAGF,cACE,MAAM,MAAM,YACZ,MAAM;AACJ;AAAyD;AAG7D;AACE;AAEE,mBACS,KAAK;AAAA,QACZ;AAAM,QACN;AAAc;AAEG;AAAA;AAAA;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExtractPropTypes } from 'vue';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FormContext, FormItemContext } from 'element-plus/es/tokens';
|
|
3
3
|
import type { ICheckboxGroupInstance } from './checkbox.type';
|
|
4
4
|
export declare const useCheckboxProps: {
|
|
5
5
|
modelValue: {
|
|
@@ -31,9 +31,9 @@ export declare type IUseCheckboxProps = ExtractPropTypes<typeof useCheckboxProps
|
|
|
31
31
|
export declare const useCheckboxGroup: () => {
|
|
32
32
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
33
33
|
checkboxGroup: ICheckboxGroupInstance;
|
|
34
|
-
elForm:
|
|
35
|
-
elFormItemSize: import("vue").ComputedRef<"default" | "small" | "large"
|
|
36
|
-
elFormItem:
|
|
34
|
+
elForm: FormContext;
|
|
35
|
+
elFormItemSize: import("vue").ComputedRef<"default" | "small" | "large">;
|
|
36
|
+
elFormItem: FormItemContext;
|
|
37
37
|
};
|
|
38
38
|
export declare const useCheckbox: (props: IUseCheckboxProps) => {
|
|
39
39
|
isChecked: import("vue").ComputedRef<boolean>;
|
|
@@ -7,9 +7,11 @@ var shared = require('@vue/shared');
|
|
|
7
7
|
require('../../../constants/index.js');
|
|
8
8
|
require('../../../tokens/index.js');
|
|
9
9
|
require('../../../hooks/index.js');
|
|
10
|
+
require('../../../utils/index.js');
|
|
10
11
|
var form = require('../../../tokens/form.js');
|
|
11
12
|
var event = require('../../../constants/event.js');
|
|
12
13
|
var index = require('../../../hooks/use-common-props/index.js');
|
|
14
|
+
var error = require('../../../utils/error.js');
|
|
13
15
|
|
|
14
16
|
const useCheckboxProps = {
|
|
15
17
|
modelValue: {
|
|
@@ -38,8 +40,8 @@ const useCheckboxProps = {
|
|
|
38
40
|
size: String
|
|
39
41
|
};
|
|
40
42
|
const useCheckboxGroup = () => {
|
|
41
|
-
const elForm = vue.inject(form.
|
|
42
|
-
const elFormItem = vue.inject(form.
|
|
43
|
+
const elForm = vue.inject(form.formContextKey, {});
|
|
44
|
+
const elFormItem = vue.inject(form.formItemContextKey, {});
|
|
43
45
|
const checkboxGroup = vue.inject("CheckboxGroup", {});
|
|
44
46
|
const isGroup = vue.computed(() => checkboxGroup && (checkboxGroup == null ? void 0 : checkboxGroup.name) === "ElCheckboxGroup");
|
|
45
47
|
const elFormItemSize = vue.computed(() => {
|
|
@@ -150,7 +152,7 @@ const useEvent = (props, { isLimitExceeded }) => {
|
|
|
150
152
|
}
|
|
151
153
|
vue.watch(() => props.modelValue, () => {
|
|
152
154
|
var _a;
|
|
153
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
155
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err));
|
|
154
156
|
});
|
|
155
157
|
return {
|
|
156
158
|
handleChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckbox.js","sources":["../../../../../../packages/components/checkbox/src/useCheckbox.ts"],"sourcesContent":["import { ref, computed, inject, getCurrentInstance, watch } from 'vue'\nimport { toTypeString } from '@vue/shared'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\n\nimport { useSize } from '@element-plus/hooks'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { ICheckboxGroupInstance } from './checkbox.type'\n\nexport const useCheckboxProps = {\n modelValue: {\n type: [Boolean, Number, String],\n default: () => undefined,\n },\n label: {\n type: [String, Boolean, Number, Object],\n },\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: {\n type: String,\n default: undefined,\n },\n trueLabel: {\n type: [String, Number],\n default: undefined,\n },\n falseLabel: {\n type: [String, Number],\n default: undefined,\n },\n tabindex: [String, Number],\n size: String,\n}\n\nexport type IUseCheckboxProps = ExtractPropTypes<typeof useCheckboxProps>\n\nexport const useCheckboxGroup = () => {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const checkboxGroup = inject<ICheckboxGroupInstance>('CheckboxGroup', {})\n const isGroup = computed(\n () => checkboxGroup && checkboxGroup?.name === 'ElCheckboxGroup'\n )\n const elFormItemSize = computed(() => {\n return elFormItem.size\n })\n return {\n isGroup,\n checkboxGroup,\n elForm,\n elFormItemSize,\n elFormItem,\n }\n}\n\nconst useModel = (props: IUseCheckboxProps) => {\n const selfModel = ref(false)\n const { emit } = getCurrentInstance()\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitExceeded = ref(false)\n const model = computed({\n get() {\n return isGroup.value\n ? checkboxGroup.modelValue?.value\n : props.modelValue ?? selfModel.value\n },\n\n set(val: unknown) {\n if (isGroup.value && Array.isArray(val)) {\n isLimitExceeded.value =\n checkboxGroup.max !== undefined &&\n val.length > checkboxGroup.max.value\n isLimitExceeded.value === false && checkboxGroup?.changeEvent?.(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n selfModel.value = val as boolean\n }\n },\n })\n\n return {\n model,\n isLimitExceeded,\n }\n}\n\nconst useCheckboxStatus = (\n props: IUseCheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const focus = ref(false)\n const size = useSize(checkboxGroup?.checkboxGroupSize, { prop: true })\n const isChecked = computed<boolean>(() => {\n const value = model.value\n if (toTypeString(value) === '[object Boolean]') {\n return value\n } else if (Array.isArray(value)) {\n return value.includes(props.label)\n } else if (value !== null && value !== undefined) {\n return value === props.trueLabel\n } else {\n return !!value\n }\n })\n\n const checkboxSize = useSize(\n computed(() =>\n isGroup.value ? checkboxGroup?.checkboxGroupSize?.value : undefined\n )\n )\n\n return {\n isChecked,\n focus,\n size,\n checkboxSize,\n }\n}\n\nconst useDisabled = (\n props: IUseCheckboxProps,\n {\n model,\n isChecked,\n }: Partial<ReturnType<typeof useModel>> &\n Partial<ReturnType<typeof useCheckboxStatus>>\n) => {\n const { elForm, isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitDisabled = computed(() => {\n const max = checkboxGroup.max?.value\n const min = checkboxGroup.min?.value\n return (\n (!!(max || min) && model.value.length >= max && !isChecked.value) ||\n (model.value.length <= min && isChecked.value)\n )\n })\n const isDisabled = computed(() => {\n const disabled = props.disabled || elForm.disabled\n return (\n (isGroup.value\n ? checkboxGroup.disabled?.value || disabled || isLimitDisabled.value\n : props.disabled || elForm.disabled) ?? false\n )\n })\n\n return {\n isDisabled,\n isLimitDisabled,\n }\n}\n\nconst setStoreValue = (\n props: IUseCheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n function addToStore() {\n if (Array.isArray(model.value) && !model.value.includes(props.label)) {\n model.value.push(props.label)\n } else {\n model.value = props.trueLabel || true\n }\n }\n props.checked && addToStore()\n}\n\nconst useEvent = (\n props: IUseCheckboxProps,\n { isLimitExceeded }: Partial<ReturnType<typeof useModel>>\n) => {\n const { elFormItem } = useCheckboxGroup()\n const { emit } = getCurrentInstance()\n function handleChange(e: InputEvent) {\n if (isLimitExceeded.value) return\n const target = e.target as HTMLInputElement\n const value = target.checked\n ? props.trueLabel ?? true\n : props.falseLabel ?? false\n\n emit('change', value, e)\n }\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change')\n }\n )\n\n return {\n handleChange,\n }\n}\n\nexport const useCheckbox = (props: IUseCheckboxProps) => {\n const { model, isLimitExceeded } = useModel(props)\n const { focus, size, isChecked, checkboxSize } = useCheckboxStatus(props, {\n model,\n })\n const { isDisabled } = useDisabled(props, { model, isChecked })\n const { handleChange } = useEvent(props, { isLimitExceeded })\n\n setStoreValue(props, { model })\n\n return {\n isChecked,\n isDisabled,\n checkboxSize,\n model,\n handleChange,\n focus,\n size,\n }\n}\n"],"names":["inject","elFormKey","elFormItemKey","computed","ref","getCurrentInstance","UPDATE_MODEL_EVENT","useSize","toTypeString","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCheckbox.js","sources":["../../../../../../packages/components/checkbox/src/useCheckbox.ts"],"sourcesContent":["import { ref, computed, inject, getCurrentInstance, watch } from 'vue'\nimport { toTypeString } from '@vue/shared'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport { useSize } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type { ICheckboxGroupInstance } from './checkbox.type'\n\nexport const useCheckboxProps = {\n modelValue: {\n type: [Boolean, Number, String],\n default: () => undefined,\n },\n label: {\n type: [String, Boolean, Number, Object],\n },\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: {\n type: String,\n default: undefined,\n },\n trueLabel: {\n type: [String, Number],\n default: undefined,\n },\n falseLabel: {\n type: [String, Number],\n default: undefined,\n },\n tabindex: [String, Number],\n size: String,\n}\n\nexport type IUseCheckboxProps = ExtractPropTypes<typeof useCheckboxProps>\n\nexport const useCheckboxGroup = () => {\n const elForm = inject(formContextKey, {} as FormContext)\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n const checkboxGroup = inject<ICheckboxGroupInstance>('CheckboxGroup', {})\n const isGroup = computed(\n () => checkboxGroup && checkboxGroup?.name === 'ElCheckboxGroup'\n )\n const elFormItemSize = computed(() => {\n return elFormItem.size\n })\n return {\n isGroup,\n checkboxGroup,\n elForm,\n elFormItemSize,\n elFormItem,\n }\n}\n\nconst useModel = (props: IUseCheckboxProps) => {\n const selfModel = ref(false)\n const { emit } = getCurrentInstance()\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitExceeded = ref(false)\n const model = computed({\n get() {\n return isGroup.value\n ? checkboxGroup.modelValue?.value\n : props.modelValue ?? selfModel.value\n },\n\n set(val: unknown) {\n if (isGroup.value && Array.isArray(val)) {\n isLimitExceeded.value =\n checkboxGroup.max !== undefined &&\n val.length > checkboxGroup.max.value\n isLimitExceeded.value === false && checkboxGroup?.changeEvent?.(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n selfModel.value = val as boolean\n }\n },\n })\n\n return {\n model,\n isLimitExceeded,\n }\n}\n\nconst useCheckboxStatus = (\n props: IUseCheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const focus = ref(false)\n const size = useSize(checkboxGroup?.checkboxGroupSize, { prop: true })\n const isChecked = computed<boolean>(() => {\n const value = model.value\n if (toTypeString(value) === '[object Boolean]') {\n return value\n } else if (Array.isArray(value)) {\n return value.includes(props.label)\n } else if (value !== null && value !== undefined) {\n return value === props.trueLabel\n } else {\n return !!value\n }\n })\n\n const checkboxSize = useSize(\n computed(() =>\n isGroup.value ? checkboxGroup?.checkboxGroupSize?.value : undefined\n )\n )\n\n return {\n isChecked,\n focus,\n size,\n checkboxSize,\n }\n}\n\nconst useDisabled = (\n props: IUseCheckboxProps,\n {\n model,\n isChecked,\n }: Partial<ReturnType<typeof useModel>> &\n Partial<ReturnType<typeof useCheckboxStatus>>\n) => {\n const { elForm, isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitDisabled = computed(() => {\n const max = checkboxGroup.max?.value\n const min = checkboxGroup.min?.value\n return (\n (!!(max || min) && model.value.length >= max && !isChecked.value) ||\n (model.value.length <= min && isChecked.value)\n )\n })\n const isDisabled = computed(() => {\n const disabled = props.disabled || elForm.disabled\n return (\n (isGroup.value\n ? checkboxGroup.disabled?.value || disabled || isLimitDisabled.value\n : props.disabled || elForm.disabled) ?? false\n )\n })\n\n return {\n isDisabled,\n isLimitDisabled,\n }\n}\n\nconst setStoreValue = (\n props: IUseCheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n function addToStore() {\n if (Array.isArray(model.value) && !model.value.includes(props.label)) {\n model.value.push(props.label)\n } else {\n model.value = props.trueLabel || true\n }\n }\n props.checked && addToStore()\n}\n\nconst useEvent = (\n props: IUseCheckboxProps,\n { isLimitExceeded }: Partial<ReturnType<typeof useModel>>\n) => {\n const { elFormItem } = useCheckboxGroup()\n const { emit } = getCurrentInstance()\n function handleChange(e: InputEvent) {\n if (isLimitExceeded.value) return\n const target = e.target as HTMLInputElement\n const value = target.checked\n ? props.trueLabel ?? true\n : props.falseLabel ?? false\n\n emit('change', value, e)\n }\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n )\n\n return {\n handleChange,\n }\n}\n\nexport const useCheckbox = (props: IUseCheckboxProps) => {\n const { model, isLimitExceeded } = useModel(props)\n const { focus, size, isChecked, checkboxSize } = useCheckboxStatus(props, {\n model,\n })\n const { isDisabled } = useDisabled(props, { model, isChecked })\n const { handleChange } = useEvent(props, { isLimitExceeded })\n\n setStoreValue(props, { model })\n\n return {\n isChecked,\n isDisabled,\n checkboxSize,\n model,\n handleChange,\n focus,\n size,\n }\n}\n"],"names":["inject","formContextKey","formItemContextKey","computed","ref","getCurrentInstance","UPDATE_MODEL_EVENT","useSize","toTypeString","watch","debugWarn"],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ var index$5 = require('../../../hooks/use-locale/index.js');
|
|
|
28
28
|
var index$6 = require('../../../hooks/use-namespace/index.js');
|
|
29
29
|
var form = require('../../../tokens/form.js');
|
|
30
30
|
var index$7 = require('../../../hooks/use-common-props/index.js');
|
|
31
|
+
var error = require('../../../utils/error.js');
|
|
31
32
|
|
|
32
33
|
const _sfc_main = vue.defineComponent({
|
|
33
34
|
name: "ElColorPicker",
|
|
@@ -62,8 +63,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
62
63
|
setup(props, { emit }) {
|
|
63
64
|
const { t } = index$5.useLocale();
|
|
64
65
|
const ns = index$6.useNamespace("color");
|
|
65
|
-
const elForm = vue.inject(form.
|
|
66
|
-
const elFormItem = vue.inject(form.
|
|
66
|
+
const elForm = vue.inject(form.formContextKey, {});
|
|
67
|
+
const elFormItem = vue.inject(form.formItemContextKey, {});
|
|
67
68
|
const hue = vue.ref(null);
|
|
68
69
|
const svPanel = vue.ref(null);
|
|
69
70
|
const alpha = vue.ref(null);
|
|
@@ -142,7 +143,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
142
143
|
const value = color$1.value;
|
|
143
144
|
emit(event.UPDATE_MODEL_EVENT, value);
|
|
144
145
|
emit("change", value);
|
|
145
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
146
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err));
|
|
146
147
|
debounceSetShowPicker(false);
|
|
147
148
|
vue.nextTick(() => {
|
|
148
149
|
const newColor = new color["default"]({
|
|
@@ -161,7 +162,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
161
162
|
emit(event.UPDATE_MODEL_EVENT, null);
|
|
162
163
|
emit("change", null);
|
|
163
164
|
if (props.modelValue !== null) {
|
|
164
|
-
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
165
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => error.debugWarn(err));
|
|
165
166
|
}
|
|
166
167
|
resetColor();
|
|
167
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/color-picker/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"svPanel\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n size=\"small\"\n type=\"text\"\n :class=\"ns.be('dropdown', 'link-btn')\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :class=\"[\n ns.b('picker'),\n ns.is('disabled', colorDisabled),\n ns.bm('picker', colorSize),\n ]\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\"></div>\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { ClickOutside } from '@element-plus/directives'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport { useLocale, useSize, useNamespace } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElInput from '@element-plus/components/input'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isValidComponentSize } from '@element-plus/utils'\nimport { Close, ArrowDown } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './color'\nimport { OPTIONS_KEY } from './useOption'\n\nimport type { PropType } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { IUseOptions } from './useOption'\n\nexport default defineComponent({\n name: 'ElColorPicker',\n components: {\n ElButton,\n ElTooltip,\n ElInput,\n ElIcon,\n Close,\n ArrowDown,\n SvPanel,\n HueSlider,\n AlphaSlider,\n Predefine,\n },\n directives: {\n ClickOutside,\n },\n props: {\n modelValue: String,\n showAlpha: Boolean,\n colorFormat: String,\n disabled: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n popperClass: String,\n predefine: Array,\n },\n emits: ['change', 'active-change', UPDATE_MODEL_EVENT],\n setup(props, { emit }) {\n const { t } = useLocale()\n const ns = useNamespace('color')\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const hue = ref(null)\n const svPanel = ref(null)\n const alpha = ref(null)\n const popper = ref(null)\n // data\n const color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat,\n value: props.modelValue,\n })\n )\n const showPicker = ref(false)\n const showPanelColor = ref(false)\n const customInput = ref('')\n // computed\n const displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n })\n const colorSize = useSize()\n const colorDisabled = computed(() => {\n return !!(props.disabled || elForm.disabled)\n })\n\n const currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n })\n // watch\n watch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n color.fromString(newVal)\n }\n }\n )\n watch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n emit('active-change', val)\n }\n )\n\n watch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n )\n\n // methods\n function displayedRgb(color, showAlpha) {\n if (!(color instanceof Color)) {\n throw Error('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n }\n\n function setShowPicker(value) {\n showPicker.value = value\n }\n\n const debounceSetShowPicker = debounce(setShowPicker, 100)\n\n function hide() {\n debounceSetShowPicker(false)\n resetColor()\n }\n\n function resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n showPanelColor.value = false\n }\n })\n }\n\n function handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n }\n\n function handleConfirm() {\n color.fromString(customInput.value)\n }\n\n function confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n elFormItem.validate?.('change')\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat,\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n }\n\n function clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null) {\n elFormItem.validate?.('change')\n }\n resetColor()\n }\n\n onMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n })\n watch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n svPanel.value?.update()\n alpha.value?.update()\n })\n }\n )\n\n provide<IUseOptions>(OPTIONS_KEY, {\n currentColor,\n })\n\n return {\n color: color as Color,\n colorDisabled,\n colorSize,\n displayedColor,\n showPanelColor,\n showPicker,\n customInput,\n handleConfirm,\n hide,\n handleTrigger,\n clear,\n confirmValue,\n t,\n ns,\n hue,\n svPanel,\n alpha,\n popper,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElButton","ElTooltip","ElInput","ElIcon","Close","ArrowDown","SvPanel","HueSlider","AlphaSlider","Predefine","ClickOutside","isValidComponentSize","UPDATE_MODEL_EVENT","useLocale","useNamespace","inject","elFormKey","elFormItemKey","ref","color","reactive","Color","computed","useSize","debounce","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/color-picker/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"svPanel\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n size=\"small\"\n type=\"text\"\n :class=\"ns.be('dropdown', 'link-btn')\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :class=\"[\n ns.b('picker'),\n ns.is('disabled', colorDisabled),\n ns.bm('picker', colorSize),\n ]\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\"></div>\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { ClickOutside } from '@element-plus/directives'\nimport { formItemContextKey, formContextKey } from '@element-plus/tokens'\nimport { useLocale, useSize, useNamespace } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElInput from '@element-plus/components/input'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn, isValidComponentSize } from '@element-plus/utils'\nimport { Close, ArrowDown } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './color'\nimport { OPTIONS_KEY } from './useOption'\nimport type { PropType } from 'vue'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { IUseOptions } from './useOption'\n\nexport default defineComponent({\n name: 'ElColorPicker',\n components: {\n ElButton,\n ElTooltip,\n ElInput,\n ElIcon,\n Close,\n ArrowDown,\n SvPanel,\n HueSlider,\n AlphaSlider,\n Predefine,\n },\n directives: {\n ClickOutside,\n },\n props: {\n modelValue: String,\n showAlpha: Boolean,\n colorFormat: String,\n disabled: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n popperClass: String,\n predefine: Array,\n },\n emits: ['change', 'active-change', UPDATE_MODEL_EVENT],\n setup(props, { emit }) {\n const { t } = useLocale()\n const ns = useNamespace('color')\n const elForm = inject(formContextKey, {} as FormContext)\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n\n const hue = ref(null)\n const svPanel = ref(null)\n const alpha = ref(null)\n const popper = ref(null)\n // data\n const color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat,\n value: props.modelValue,\n })\n )\n const showPicker = ref(false)\n const showPanelColor = ref(false)\n const customInput = ref('')\n // computed\n const displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n })\n const colorSize = useSize()\n const colorDisabled = computed(() => {\n return !!(props.disabled || elForm.disabled)\n })\n\n const currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n })\n // watch\n watch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n color.fromString(newVal)\n }\n }\n )\n watch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n emit('active-change', val)\n }\n )\n\n watch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n )\n\n // methods\n function displayedRgb(color, showAlpha) {\n if (!(color instanceof Color)) {\n throw Error('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n }\n\n function setShowPicker(value) {\n showPicker.value = value\n }\n\n const debounceSetShowPicker = debounce(setShowPicker, 100)\n\n function hide() {\n debounceSetShowPicker(false)\n resetColor()\n }\n\n function resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n showPanelColor.value = false\n }\n })\n }\n\n function handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n }\n\n function handleConfirm() {\n color.fromString(customInput.value)\n }\n\n function confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat,\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n }\n\n function clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null) {\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n resetColor()\n }\n\n onMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n })\n watch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n svPanel.value?.update()\n alpha.value?.update()\n })\n }\n )\n\n provide<IUseOptions>(OPTIONS_KEY, {\n currentColor,\n })\n\n return {\n color: color as Color,\n colorDisabled,\n colorSize,\n displayedColor,\n showPanelColor,\n showPicker,\n customInput,\n handleConfirm,\n hide,\n handleTrigger,\n clear,\n confirmValue,\n t,\n ns,\n hue,\n svPanel,\n alpha,\n popper,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElButton","ElTooltip","ElInput","ElIcon","Close","ArrowDown","SvPanel","HueSlider","AlphaSlider","Predefine","ClickOutside","isValidComponentSize","UPDATE_MODEL_EVENT","useLocale","useNamespace","inject","formContextKey","formItemContextKey","ref","color","reactive","Color","computed","useSize","debounce","_normalizeClass"],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
|
|
|
19
19
|
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
|
|
20
20
|
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
|
|
21
21
|
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
22
|
+
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
22
23
|
}, {
|
|
23
24
|
ns: {
|
|
24
25
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -625,6 +626,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
|
|
|
625
626
|
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
|
|
626
627
|
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
|
|
627
628
|
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
629
|
+
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
628
630
|
}>> & {
|
|
629
631
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
630
632
|
"onVisible-change"?: ((...args: any[]) => any) | undefined;
|
|
@@ -632,6 +634,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
|
|
|
632
634
|
}, {
|
|
633
635
|
type: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown>;
|
|
634
636
|
size: string;
|
|
637
|
+
disabled: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
635
638
|
effect: string;
|
|
636
639
|
placement: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
637
640
|
popperClass: string;
|
|
@@ -34,6 +34,7 @@ export declare const dropdownProps: {
|
|
|
34
34
|
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
|
|
35
35
|
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
|
|
36
36
|
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
37
|
+
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
37
38
|
};
|
|
38
39
|
export declare const dropdownItemProps: {
|
|
39
40
|
readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipTriggerProps,\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport type { Options } from '@popperjs/core'\n\nimport type { ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ComponentInternalInstance, ComputedRef } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = buildProps({\n trigger: useTooltipTriggerProps.trigger,\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n type: {\n type: definePropType<ButtonType>(String),\n },\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: definePropType<number | string>([Number, String]),\n default: 0,\n },\n maxHeight: {\n type: definePropType<number | string>([Number, String]),\n default: '',\n },\n popperClass: {\n type: String,\n default: '',\n },\n} as const)\n\nexport const dropdownItemProps = buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n textValue: String,\n icon: {\n type: iconPropType,\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n"],"names":["buildProps","useTooltipTriggerProps","useTooltipContentProps","definePropType","iconPropType","EVENT_CODE","createCollectionWithScope"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipTriggerProps,\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport type { Options } from '@popperjs/core'\n\nimport type { ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ComponentInternalInstance, ComputedRef } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = buildProps({\n trigger: useTooltipTriggerProps.trigger,\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n type: {\n type: definePropType<ButtonType>(String),\n },\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: definePropType<number | string>([Number, String]),\n default: 0,\n },\n maxHeight: {\n type: definePropType<number | string>([Number, String]),\n default: '',\n },\n popperClass: {\n type: String,\n default: '',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n} as const)\n\nexport const dropdownItemProps = buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n textValue: String,\n icon: {\n type: iconPropType,\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n"],"names":["buildProps","useTooltipTriggerProps","useTooltipContentProps","definePropType","iconPropType","EVENT_CODE","createCollectionWithScope"],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
20
|
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
|
|
21
21
|
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
|
|
22
22
|
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
23
|
+
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
23
24
|
}, {
|
|
24
25
|
ns: {
|
|
25
26
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -626,6 +627,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
626
627
|
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
|
|
627
628
|
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
|
|
628
629
|
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
630
|
+
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
|
|
629
631
|
}>> & {
|
|
630
632
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
631
633
|
"onVisible-change"?: ((...args: any[]) => any) | undefined;
|
|
@@ -633,6 +635,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
633
635
|
}, {
|
|
634
636
|
type: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown>;
|
|
635
637
|
size: string;
|
|
638
|
+
disabled: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
636
639
|
effect: string;
|
|
637
640
|
placement: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
638
641
|
popperClass: string;
|
|
@@ -137,7 +137,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
137
137
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
138
138
|
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
139
139
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
140
|
-
class: vue.normalizeClass(_ctx.ns.b())
|
|
140
|
+
class: vue.normalizeClass([_ctx.ns.b(), _ctx.ns.is("disabled", _ctx.disabled)])
|
|
141
141
|
}, [
|
|
142
142
|
vue.createVNode(_component_el_tooltip, {
|
|
143
143
|
ref: "popperRef",
|
|
@@ -155,6 +155,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
155
155
|
"stop-popper-mouse-event": false,
|
|
156
156
|
"virtual-ref": _ctx.triggeringElementRef,
|
|
157
157
|
"virtual-triggering": _ctx.splitButton,
|
|
158
|
+
disabled: _ctx.disabled,
|
|
158
159
|
"append-to-body": "",
|
|
159
160
|
pure: "",
|
|
160
161
|
transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
|
|
@@ -211,25 +212,27 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
211
212
|
], 2)
|
|
212
213
|
])
|
|
213
214
|
} : void 0
|
|
214
|
-
]), 1032, ["effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "show-after", "virtual-ref", "virtual-triggering", "transition"]),
|
|
215
|
+
]), 1032, ["effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition"]),
|
|
215
216
|
_ctx.splitButton ? (vue.openBlock(), vue.createBlock(_component_el_button_group, { key: 0 }, {
|
|
216
217
|
default: vue.withCtx(() => [
|
|
217
218
|
vue.createVNode(_component_el_button, {
|
|
218
219
|
ref: "referenceElementRef",
|
|
219
220
|
size: _ctx.dropdownSize,
|
|
220
221
|
type: _ctx.type,
|
|
222
|
+
disabled: _ctx.disabled,
|
|
221
223
|
onClick: _ctx.handlerMainButtonClick
|
|
222
224
|
}, {
|
|
223
225
|
default: vue.withCtx(() => [
|
|
224
226
|
vue.renderSlot(_ctx.$slots, "default")
|
|
225
227
|
]),
|
|
226
228
|
_: 3
|
|
227
|
-
}, 8, ["size", "type", "onClick"]),
|
|
229
|
+
}, 8, ["size", "type", "disabled", "onClick"]),
|
|
228
230
|
vue.createVNode(_component_el_button, {
|
|
229
231
|
ref: "triggeringElementRef",
|
|
230
232
|
size: _ctx.dropdownSize,
|
|
231
233
|
type: _ctx.type,
|
|
232
|
-
class: vue.normalizeClass(_ctx.ns.e("caret-button"))
|
|
234
|
+
class: vue.normalizeClass(_ctx.ns.e("caret-button")),
|
|
235
|
+
disabled: _ctx.disabled
|
|
233
236
|
}, {
|
|
234
237
|
default: vue.withCtx(() => [
|
|
235
238
|
vue.createVNode(_component_el_icon, {
|
|
@@ -242,7 +245,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
242
245
|
}, 8, ["class"])
|
|
243
246
|
]),
|
|
244
247
|
_: 1
|
|
245
|
-
}, 8, ["size", "type", "class"])
|
|
248
|
+
}, 8, ["size", "type", "class", "disabled"])
|
|
246
249
|
]),
|
|
247
250
|
_: 3
|
|
248
251
|
})) : vue.createCommentVNode("v-if", true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsGA,MAAM,EAAE,aAAa,kBAAkBA;AAEvC,MAAK,YAAaC,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVD;AAAA,iBACAE;AAAA,IACA;AAAA,iBACAC;AAAA,0BACAC;AAAA,eACAC;AAAA,wBACAC;AAAA,YACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,uBAAuBC;AAC7B,UAAM,sBAAsBA;AAC5B,UAAM,YAAYA,QAA2C;AAC7D,UAAM,aAAaA,QAAwB;AAC3C,UAAM,YAAYA,QAAI;AACtB,UAAM,eAAeA,QAAmB;AACxC,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,YAAYC,aAAwB;AAAO,MAC/C,WAAWC,cAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqBD,aAAS,MAAM,CAAC,GAAG,EAAE,aAAa;AAE7D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAGE;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AA9IE,oDA3EmB,eAAe;AAAA;;AAoDzB;AAlDP;AACK;AACa;AACL,MAChB;AAAkB,MAClB;AAAY,MACZ;AAAa,MACb;AAAW,MACX,yBAAkB;AAAa,MAC/B;AAAwC,MACxC;AAAS,MACT;AAAY,MACZ,2BAAyB;AAAA,MACzB;AAAa,MACb;AAAoB,MACpB;AAAU,MACX;AAAA,MACA;AAAA,MACC;AAA4B,MAC7B;AAAA,MACC;AAAW,MACX,QAAI;AAAO;MAED;AAoBM,qBAAA;AAAA;AAlBT;AACS,eACTC;AAAA;AACa;4BAEjB;AAYgB;AAAA;AAZD;AAAyB;;AAWd;AAAA;AATf;AACU,kCACL;AAAA;AACY,kBACvB;AAAa;;AAIW;AAAA;AADM;AAAA;AAAA;;;;;;;;;;;;;;;;AAMR;AAGvB;AAAA,YAFA;AAAO;YACXA;AAAuB;;;;;AAwBT;AAVJ;AAAA,eAPN;AAAA;AACG;AACA,uBACI;AAAA,UACV;AAAO;;AAEe,wBAAA;AAAA;AAAA;;;AAUb;AAPN,UACH;AAAM;AACA,4CACI,EAAC;AAAA,UACX;AAAU;;AAE4C;AAAA;AAAlC;;AAAwB;AAAA;AAAA;;;;;;;;;;;;;;;;;;"}
|