@element-plus/nightly 0.0.20260121 → 0.0.20260122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +7123 -8339
- package/dist/index.full.min.js +19 -19
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +23 -23
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +7121 -8337
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix.mjs +1 -1
- package/es/components/affix/src/affix.vue2.mjs +2 -9
- package/es/components/affix/src/affix.vue2.mjs.map +1 -1
- package/es/components/alert/src/alert.vue2.mjs +2 -11
- package/es/components/alert/src/alert.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link.vue2.mjs +2 -4
- package/es/components/anchor/src/anchor-link.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor.vue2.mjs +2 -11
- package/es/components/anchor/src/anchor.vue2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue2.mjs +5 -62
- package/es/components/autocomplete/src/autocomplete.vue2.mjs.map +1 -1
- package/es/components/avatar/src/avatar.vue2.mjs +2 -10
- package/es/components/avatar/src/avatar.vue2.mjs.map +1 -1
- package/es/components/backtop/src/backtop.vue2.mjs +2 -7
- package/es/components/backtop/src/backtop.vue2.mjs.map +1 -1
- package/es/components/badge/src/badge.vue2.mjs +2 -12
- package/es/components/badge/src/badge.vue2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.vue2.mjs +2 -4
- package/es/components/breadcrumb/src/breadcrumb-item.vue2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.vue2.mjs +2 -4
- package/es/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
- package/es/components/button/src/button-group.vue2.mjs +2 -5
- package/es/components/button/src/button-group.vue2.mjs.map +1 -1
- package/es/components/button/src/button.vue2.mjs +3 -23
- package/es/components/button/src/button.vue2.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue2.mjs +2 -7
- package/es/components/calendar/src/calendar.vue2.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue2.mjs +2 -7
- package/es/components/calendar/src/date-table.vue2.mjs.map +1 -1
- package/es/components/calendar/src/select-controller.vue2.mjs +2 -5
- package/es/components/calendar/src/select-controller.vue2.mjs.map +1 -1
- package/es/components/card/src/card.vue2.mjs +2 -9
- package/es/components/card/src/card.vue2.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item.vue2.mjs +2 -4
- package/es/components/carousel/src/carousel-item.vue2.mjs.map +1 -1
- package/es/components/carousel/src/carousel.vue2.mjs +2 -16
- package/es/components/carousel/src/carousel.vue2.mjs.map +1 -1
- package/es/components/cascader/src/cascader.vue2.mjs +4 -45
- package/es/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue2.mjs +2 -8
- package/es/components/cascader-panel/src/index.vue2.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag.vue2.mjs +2 -6
- package/es/components/check-tag/src/check-tag.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue2.mjs +3 -22
- package/es/components/checkbox/src/checkbox-button.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue2.mjs +2 -16
- package/es/components/checkbox/src/checkbox-group.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.mjs +1 -1
- package/es/components/checkbox/src/checkbox.vue2.mjs +3 -22
- package/es/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
- package/es/components/col/src/col.vue2.mjs +2 -12
- package/es/components/col/src/col.vue2.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item.vue2.mjs +3 -8
- package/es/components/collapse/src/collapse-item.vue2.mjs.map +1 -1
- package/es/components/collapse/src/collapse.vue2.mjs +2 -7
- package/es/components/collapse/src/collapse.vue2.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue2.mjs +3 -22
- package/es/components/color-picker/src/color-picker.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel.vue2.mjs +2 -10
- package/es/components/color-picker-panel/src/color-picker-panel.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/alpha-slider.vue2.mjs +2 -5
- package/es/components/color-picker-panel/src/components/alpha-slider.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/hue-slider.vue2.mjs +2 -5
- package/es/components/color-picker-panel/src/components/hue-slider.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/predefine.vue2.mjs +2 -6
- package/es/components/color-picker-panel/src/components/predefine.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/sv-panel.vue2.mjs +2 -4
- package/es/components/color-picker-panel/src/components/sv-panel.vue2.mjs.map +1 -1
- package/es/components/countdown/src/countdown.vue2.mjs +2 -9
- package/es/components/countdown/src/countdown.vue2.mjs.map +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.mjs +8 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/description.vue2.mjs +2 -9
- package/es/components/descriptions/src/description.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.vue2.mjs +2 -3
- package/es/components/descriptions/src/descriptions-row.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.vue2.mjs +3 -16
- package/es/components/dialog/src/dialog-content.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue2.mjs +3 -35
- package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
- package/es/components/divider/src/divider.vue2.mjs +2 -5
- package/es/components/divider/src/divider.vue2.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs +3 -48
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/empty/src/empty.vue2.mjs +2 -5
- package/es/components/empty/src/empty.vue2.mjs.map +1 -1
- package/es/components/form/src/form-item.vue2.mjs +2 -14
- package/es/components/form/src/form-item.vue2.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs +2 -19
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/icon/src/icon.vue2.mjs +2 -4
- package/es/components/icon/src/icon.vue2.mjs.map +1 -1
- package/es/components/image/src/image.vue2.mjs +2 -21
- package/es/components/image/src/image.vue2.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue2.mjs +2 -16
- package/es/components/image-viewer/src/image-viewer.vue2.mjs.map +1 -1
- package/es/components/input/src/input.mjs +1 -1
- package/es/components/input/src/input.vue2.mjs +3 -38
- package/es/components/input/src/input.vue2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue2.mjs +2 -23
- package/es/components/input-number/src/input-number.vue2.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag.vue2.mjs +3 -31
- package/es/components/input-tag/src/input-tag.vue2.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs +2 -9
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown.vue2.mjs +2 -8
- package/es/components/mention/src/mention-dropdown.vue2.mjs.map +1 -1
- package/es/components/mention/src/mention.vue2.mjs +5 -62
- package/es/components/mention/src/mention.vue2.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group.vue2.mjs +2 -3
- package/es/components/menu/src/menu-item-group.vue2.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue2.mjs +2 -6
- package/es/components/menu/src/menu-item.vue2.mjs.map +1 -1
- package/es/components/message/src/message.vue2.mjs +3 -20
- package/es/components/message/src/message.vue2.mjs.map +1 -1
- package/es/components/notification/src/notification.vue2.mjs +3 -20
- package/es/components/notification/src/notification.vue2.mjs.map +1 -1
- package/es/components/page-header/src/page-header.vue2.mjs +2 -7
- package/es/components/page-header/src/page-header.vue2.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue2.mjs +2 -19
- package/es/components/popconfirm/src/popconfirm.vue2.mjs.map +1 -1
- package/es/components/popover/src/popover.vue2.mjs +3 -28
- package/es/components/popover/src/popover.vue2.mjs.map +1 -1
- package/es/components/popper/src/content.mjs +1 -1
- package/es/components/popper/src/content.vue2.mjs +3 -30
- package/es/components/popper/src/content.vue2.mjs.map +1 -1
- package/es/components/popper/src/popper.vue2.mjs +2 -3
- package/es/components/popper/src/popper.vue2.mjs.map +1 -1
- package/es/components/popper/src/trigger.vue2.mjs +2 -13
- package/es/components/popper/src/trigger.vue2.mjs.map +1 -1
- package/es/components/progress/src/progress.vue2.mjs +2 -16
- package/es/components/progress/src/progress.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio-button.vue2.mjs +3 -12
- package/es/components/radio/src/radio-button.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio-group.vue2.mjs +3 -18
- package/es/components/radio/src/radio-group.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio.vue2.mjs +3 -13
- package/es/components/radio/src/radio.vue2.mjs.map +1 -1
- package/es/components/rate/src/rate.vue2.mjs +2 -31
- package/es/components/rate/src/rate.vue2.mjs.map +1 -1
- package/es/components/result/src/result.vue2.mjs +2 -6
- package/es/components/result/src/result.vue2.mjs.map +1 -1
- package/es/components/row/src/row.vue2.mjs +2 -6
- package/es/components/row/src/row.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/bar.vue2.mjs +2 -4
- package/es/components/scrollbar/src/bar.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue2.mjs +2 -20
- package/es/components/scrollbar/src/scrollbar.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb.vue2.mjs +2 -7
- package/es/components/scrollbar/src/thumb.vue2.mjs.map +1 -1
- package/es/components/segmented/src/segmented.vue2.mjs +2 -14
- package/es/components/segmented/src/segmented.vue2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item.vue2.mjs +2 -3
- package/es/components/skeleton/src/skeleton-item.vue2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.vue2.mjs +2 -7
- package/es/components/skeleton/src/skeleton.vue2.mjs.map +1 -1
- package/es/components/splitter/src/split-panel.vue2.mjs +2 -8
- package/es/components/splitter/src/split-panel.vue2.mjs.map +1 -1
- package/es/components/splitter/src/splitter.vue2.mjs +2 -5
- package/es/components/splitter/src/splitter.vue2.mjs.map +1 -1
- package/es/components/statistic/src/statistic.vue2.mjs +2 -11
- package/es/components/statistic/src/statistic.vue2.mjs.map +1 -1
- package/es/components/steps/src/item.vue2.mjs +2 -6
- package/es/components/steps/src/item.vue2.mjs.map +1 -1
- package/es/components/steps/src/steps.vue2.mjs +2 -10
- package/es/components/steps/src/steps.vue2.mjs.map +1 -1
- package/es/components/switch/src/switch.vue2.mjs +2 -23
- package/es/components/switch/src/switch.vue2.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue2.mjs +2 -4
- package/es/components/tabs/src/tab-bar.vue2.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue2.mjs +2 -7
- package/es/components/tabs/src/tab-pane.vue2.mjs.map +1 -1
- package/es/components/tag/src/tag.vue2.mjs +2 -11
- package/es/components/tag/src/tag.vue2.mjs.map +1 -1
- package/es/components/text/src/text.vue2.mjs +2 -7
- package/es/components/text/src/text.vue2.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue2.mjs +2 -24
- package/es/components/time-select/src/time-select.vue2.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item.vue2.mjs +2 -11
- package/es/components/timeline/src/timeline-item.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/content.vue2.mjs +3 -40
- package/es/components/tooltip/src/content.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue2.mjs +3 -64
- package/es/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.vue2.mjs +3 -19
- package/es/components/tooltip/src/trigger.vue2.mjs.map +1 -1
- package/es/components/tour/src/content.vue2.mjs +2 -9
- package/es/components/tour/src/content.vue2.mjs.map +1 -1
- package/es/components/tour/src/mask.vue2.mjs +2 -7
- package/es/components/tour/src/mask.vue2.mjs.map +1 -1
- package/es/components/tour/src/step.vue2.mjs +2 -16
- package/es/components/tour/src/step.vue2.mjs.map +1 -1
- package/es/components/tour/src/tour.vue2.mjs +2 -18
- package/es/components/tour/src/tour.vue2.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue2.mjs +2 -17
- package/es/components/transfer/src/transfer-panel.vue2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue2.mjs +2 -21
- package/es/components/transfer/src/transfer.vue2.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue2.mjs +2 -13
- package/es/components/tree-v2/src/tree-node.vue2.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue2.mjs +2 -30
- package/es/components/tree-v2/src/tree.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-content.vue2.mjs +3 -28
- package/es/components/upload/src/upload-content.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger.vue2.mjs +2 -5
- package/es/components/upload/src/upload-dragger.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue2.mjs +2 -10
- package/es/components/upload/src/upload-list.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload.vue2.mjs +3 -31
- package/es/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/components/watermark/src/watermark.vue2.mjs +2 -11
- package/es/components/watermark/src/watermark.vue2.mjs.map +1 -1
- package/es/hooks/use-model-toggle/index.mjs +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/affix/src/affix.js +1 -1
- package/lib/components/affix/src/affix.vue2.js +2 -9
- package/lib/components/affix/src/affix.vue2.js.map +1 -1
- package/lib/components/alert/src/alert.vue2.js +2 -11
- package/lib/components/alert/src/alert.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor-link.vue2.js +2 -4
- package/lib/components/anchor/src/anchor-link.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor.vue2.js +2 -11
- package/lib/components/anchor/src/anchor.vue2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue2.js +2 -59
- package/lib/components/autocomplete/src/autocomplete.vue2.js.map +1 -1
- package/lib/components/avatar/src/avatar.vue2.js +2 -10
- package/lib/components/avatar/src/avatar.vue2.js.map +1 -1
- package/lib/components/backtop/src/backtop.vue2.js +2 -7
- package/lib/components/backtop/src/backtop.vue2.js.map +1 -1
- package/lib/components/badge/src/badge.vue2.js +2 -12
- package/lib/components/badge/src/badge.vue2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item.vue2.js +2 -4
- package/lib/components/breadcrumb/src/breadcrumb-item.vue2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.vue2.js +2 -4
- package/lib/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
- package/lib/components/button/src/button-group.vue2.js +2 -5
- package/lib/components/button/src/button-group.vue2.js.map +1 -1
- package/lib/components/button/src/button.vue2.js +2 -22
- package/lib/components/button/src/button.vue2.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue2.js +2 -7
- package/lib/components/calendar/src/calendar.vue2.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue2.js +2 -7
- package/lib/components/calendar/src/date-table.vue2.js.map +1 -1
- package/lib/components/calendar/src/select-controller.vue2.js +2 -5
- package/lib/components/calendar/src/select-controller.vue2.js.map +1 -1
- package/lib/components/card/src/card.vue2.js +2 -9
- package/lib/components/card/src/card.vue2.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.vue2.js +2 -4
- package/lib/components/carousel/src/carousel-item.vue2.js.map +1 -1
- package/lib/components/carousel/src/carousel.vue2.js +2 -16
- package/lib/components/carousel/src/carousel.vue2.js.map +1 -1
- package/lib/components/cascader/src/cascader.vue2.js +2 -43
- package/lib/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue2.js +2 -8
- package/lib/components/cascader-panel/src/index.vue2.js.map +1 -1
- package/lib/components/check-tag/src/check-tag.vue2.js +2 -6
- package/lib/components/check-tag/src/check-tag.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue2.js +2 -21
- package/lib/components/checkbox/src/checkbox-button.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue2.js +2 -16
- package/lib/components/checkbox/src/checkbox-group.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.js +1 -1
- package/lib/components/checkbox/src/checkbox.vue2.js +2 -21
- package/lib/components/checkbox/src/checkbox.vue2.js.map +1 -1
- package/lib/components/col/src/col.vue2.js +2 -12
- package/lib/components/col/src/col.vue2.js.map +1 -1
- package/lib/components/collapse/src/collapse-item.vue2.js +2 -7
- package/lib/components/collapse/src/collapse-item.vue2.js.map +1 -1
- package/lib/components/collapse/src/collapse.vue2.js +2 -7
- package/lib/components/collapse/src/collapse.vue2.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue2.js +2 -21
- package/lib/components/color-picker/src/color-picker.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel.vue2.js +2 -10
- package/lib/components/color-picker-panel/src/color-picker-panel.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/alpha-slider.vue2.js +2 -5
- package/lib/components/color-picker-panel/src/components/alpha-slider.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/hue-slider.vue2.js +2 -5
- package/lib/components/color-picker-panel/src/components/hue-slider.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/predefine.vue2.js +2 -6
- package/lib/components/color-picker-panel/src/components/predefine.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/sv-panel.vue2.js +2 -4
- package/lib/components/color-picker-panel/src/components/sv-panel.vue2.js.map +1 -1
- package/lib/components/countdown/src/countdown.vue2.js +2 -9
- package/lib/components/countdown/src/countdown.vue2.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.js +8 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.js.map +1 -1
- package/lib/components/descriptions/src/description.vue2.js +2 -9
- package/lib/components/descriptions/src/description.vue2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.vue2.js +2 -3
- package/lib/components/descriptions/src/descriptions-row.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.vue2.js +2 -15
- package/lib/components/dialog/src/dialog-content.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue2.js +2 -34
- package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
- package/lib/components/divider/src/divider.vue2.js +2 -5
- package/lib/components/divider/src/divider.vue2.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +2 -47
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/empty/src/empty.vue2.js +2 -5
- package/lib/components/empty/src/empty.vue2.js.map +1 -1
- package/lib/components/form/src/form-item.vue2.js +2 -14
- package/lib/components/form/src/form-item.vue2.js.map +1 -1
- package/lib/components/form/src/form.vue2.js +2 -19
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/icon/src/icon.vue2.js +2 -4
- package/lib/components/icon/src/icon.vue2.js.map +1 -1
- package/lib/components/image/src/image.vue2.js +2 -21
- package/lib/components/image/src/image.vue2.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue2.js +2 -16
- package/lib/components/image-viewer/src/image-viewer.vue2.js.map +1 -1
- package/lib/components/input/src/input.js +1 -1
- package/lib/components/input/src/input.vue2.js +2 -37
- package/lib/components/input/src/input.vue2.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue2.js +2 -23
- package/lib/components/input-number/src/input-number.vue2.js.map +1 -1
- package/lib/components/input-tag/src/input-tag.vue2.js +2 -30
- package/lib/components/input-tag/src/input-tag.vue2.js.map +1 -1
- package/lib/components/link/src/link.vue2.js +2 -9
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown.vue2.js +2 -8
- package/lib/components/mention/src/mention-dropdown.vue2.js.map +1 -1
- package/lib/components/mention/src/mention.vue2.js +2 -59
- package/lib/components/mention/src/mention.vue2.js.map +1 -1
- package/lib/components/menu/src/menu-item-group.vue2.js +2 -3
- package/lib/components/menu/src/menu-item-group.vue2.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue2.js +2 -6
- package/lib/components/menu/src/menu-item.vue2.js.map +1 -1
- package/lib/components/message/src/message.vue2.js +2 -19
- package/lib/components/message/src/message.vue2.js.map +1 -1
- package/lib/components/notification/src/notification.vue2.js +2 -19
- package/lib/components/notification/src/notification.vue2.js.map +1 -1
- package/lib/components/page-header/src/page-header.vue2.js +2 -7
- package/lib/components/page-header/src/page-header.vue2.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue2.js +2 -19
- package/lib/components/popconfirm/src/popconfirm.vue2.js.map +1 -1
- package/lib/components/popover/src/popover.vue2.js +2 -27
- package/lib/components/popover/src/popover.vue2.js.map +1 -1
- package/lib/components/popper/src/content.js +1 -1
- package/lib/components/popper/src/content.vue2.js +2 -29
- package/lib/components/popper/src/content.vue2.js.map +1 -1
- package/lib/components/popper/src/popper.vue2.js +2 -3
- package/lib/components/popper/src/popper.vue2.js.map +1 -1
- package/lib/components/popper/src/trigger.vue2.js +2 -13
- package/lib/components/popper/src/trigger.vue2.js.map +1 -1
- package/lib/components/progress/src/progress.vue2.js +2 -16
- package/lib/components/progress/src/progress.vue2.js.map +1 -1
- package/lib/components/radio/src/radio-button.vue2.js +2 -11
- package/lib/components/radio/src/radio-button.vue2.js.map +1 -1
- package/lib/components/radio/src/radio-group.vue2.js +2 -17
- package/lib/components/radio/src/radio-group.vue2.js.map +1 -1
- package/lib/components/radio/src/radio.vue2.js +2 -12
- package/lib/components/radio/src/radio.vue2.js.map +1 -1
- package/lib/components/rate/src/rate.vue2.js +2 -31
- package/lib/components/rate/src/rate.vue2.js.map +1 -1
- package/lib/components/result/src/result.vue2.js +2 -6
- package/lib/components/result/src/result.vue2.js.map +1 -1
- package/lib/components/row/src/row.vue2.js +2 -6
- package/lib/components/row/src/row.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/bar.vue2.js +2 -4
- package/lib/components/scrollbar/src/bar.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue2.js +2 -20
- package/lib/components/scrollbar/src/scrollbar.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb.vue2.js +2 -7
- package/lib/components/scrollbar/src/thumb.vue2.js.map +1 -1
- package/lib/components/segmented/src/segmented.vue2.js +2 -14
- package/lib/components/segmented/src/segmented.vue2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item.vue2.js +2 -3
- package/lib/components/skeleton/src/skeleton-item.vue2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.vue2.js +2 -7
- package/lib/components/skeleton/src/skeleton.vue2.js.map +1 -1
- package/lib/components/splitter/src/split-panel.vue2.js +2 -8
- package/lib/components/splitter/src/split-panel.vue2.js.map +1 -1
- package/lib/components/splitter/src/splitter.vue2.js +2 -5
- package/lib/components/splitter/src/splitter.vue2.js.map +1 -1
- package/lib/components/statistic/src/statistic.vue2.js +2 -11
- package/lib/components/statistic/src/statistic.vue2.js.map +1 -1
- package/lib/components/steps/src/item.vue2.js +2 -6
- package/lib/components/steps/src/item.vue2.js.map +1 -1
- package/lib/components/steps/src/steps.vue2.js +2 -10
- package/lib/components/steps/src/steps.vue2.js.map +1 -1
- package/lib/components/switch/src/switch.vue2.js +2 -23
- package/lib/components/switch/src/switch.vue2.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue2.js +2 -4
- package/lib/components/tabs/src/tab-bar.vue2.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue2.js +2 -7
- package/lib/components/tabs/src/tab-pane.vue2.js.map +1 -1
- package/lib/components/tag/src/tag.vue2.js +2 -11
- package/lib/components/tag/src/tag.vue2.js.map +1 -1
- package/lib/components/text/src/text.vue2.js +2 -7
- package/lib/components/text/src/text.vue2.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue2.js +2 -24
- package/lib/components/time-select/src/time-select.vue2.js.map +1 -1
- package/lib/components/timeline/src/timeline-item.vue2.js +2 -11
- package/lib/components/timeline/src/timeline-item.vue2.js.map +1 -1
- package/lib/components/tooltip/src/content.vue2.js +2 -39
- package/lib/components/tooltip/src/content.vue2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue2.js +2 -63
- package/lib/components/tooltip/src/tooltip.vue2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.vue2.js +2 -18
- package/lib/components/tooltip/src/trigger.vue2.js.map +1 -1
- package/lib/components/tour/src/content.vue2.js +2 -9
- package/lib/components/tour/src/content.vue2.js.map +1 -1
- package/lib/components/tour/src/mask.vue2.js +2 -7
- package/lib/components/tour/src/mask.vue2.js.map +1 -1
- package/lib/components/tour/src/step.vue2.js +2 -16
- package/lib/components/tour/src/step.vue2.js.map +1 -1
- package/lib/components/tour/src/tour.vue2.js +2 -18
- package/lib/components/tour/src/tour.vue2.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue2.js +2 -17
- package/lib/components/transfer/src/transfer-panel.vue2.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue2.js +2 -21
- package/lib/components/transfer/src/transfer.vue2.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue2.js +2 -13
- package/lib/components/tree-v2/src/tree-node.vue2.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue2.js +2 -30
- package/lib/components/tree-v2/src/tree.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-content.vue2.js +2 -27
- package/lib/components/upload/src/upload-content.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-dragger.vue2.js +2 -5
- package/lib/components/upload/src/upload-dragger.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue2.js +2 -10
- package/lib/components/upload/src/upload-list.vue2.js.map +1 -1
- package/lib/components/upload/src/upload.vue2.js +2 -30
- package/lib/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/components/watermark/src/watermark.vue2.js +2 -11
- package/lib/components/watermark/src/watermark.vue2.js.map +1 -1
- package/lib/hooks/use-model-toggle/index.js +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/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-panel.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","_createTextVNode","_toDisplayString","_createBlock","_Fragment","_renderList","_renderSlot"],"mappings":"
|
|
1
|
+
{"version":3,"file":"transfer-panel.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","_createTextVNode","_toDisplayString","_createBlock","_Fragment","_renderList","_renderSlot"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { transferEmits, transferProps } from './transfer.mjs';
|
|
1
2
|
import { defineComponent, useSlots, reactive, ref, computed, watch, h, Comment, createElementBlock, openBlock, normalizeClass, unref, createVNode, createElementVNode, withCtx, renderSlot, createCommentVNode, toDisplayString } from 'vue';
|
|
2
3
|
import { ElButton } from '../../button/index.mjs';
|
|
3
4
|
import { ElIcon } from '../../icon/index.mjs';
|
|
4
5
|
import { ArrowLeft, ArrowRight } from '@element-plus/icons-vue';
|
|
5
|
-
import { transferEmits } from './transfer.mjs';
|
|
6
6
|
import _sfc_main$1 from './transfer-panel.vue2.mjs';
|
|
7
7
|
import { useComputedData } from './composables/use-computed-data.mjs';
|
|
8
8
|
import { useMove } from './composables/use-move.mjs';
|
|
@@ -21,26 +21,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
name: "ElTransfer"
|
|
22
22
|
},
|
|
23
23
|
__name: "transfer",
|
|
24
|
-
props:
|
|
25
|
-
data: { type: Array, required: false, default: () => [] },
|
|
26
|
-
titles: { type: Array, required: false, default: () => [] },
|
|
27
|
-
buttonTexts: { type: Array, required: false, default: () => [] },
|
|
28
|
-
filterPlaceholder: { type: String, required: false },
|
|
29
|
-
filterMethod: { type: Function, required: false },
|
|
30
|
-
leftDefaultChecked: { type: Array, required: false, default: () => [] },
|
|
31
|
-
rightDefaultChecked: { type: Array, required: false, default: () => [] },
|
|
32
|
-
renderContent: { type: Function, required: false },
|
|
33
|
-
modelValue: { type: Array, required: false, default: () => [] },
|
|
34
|
-
format: { type: Object, required: false, default: () => ({}) },
|
|
35
|
-
filterable: { type: Boolean, required: false },
|
|
36
|
-
props: { type: Object, required: false, default: () => ({
|
|
37
|
-
label: "label",
|
|
38
|
-
key: "key",
|
|
39
|
-
disabled: "disabled"
|
|
40
|
-
}) },
|
|
41
|
-
targetOrder: { type: String, required: false, default: "original" },
|
|
42
|
-
validateEvent: { type: Boolean, required: false, default: true }
|
|
43
|
-
},
|
|
24
|
+
props: transferProps,
|
|
44
25
|
emits: transferEmits,
|
|
45
26
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
46
27
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { Comment, computed, h, reactive, ref, useSlots, watch } from 'vue'\nimport { debugWarn, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = useSlots()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\nconst optionRender = computed(() => (option: TransferDataItem) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createVNode","TransferPanel","_renderSlot","_createElementVNode","_openBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transfer.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { Comment, computed, h, reactive, ref, useSlots, watch } from 'vue'\nimport { debugWarn, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = useSlots()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\nconst optionRender = computed(() => (option: TransferDataItem) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createVNode","TransferPanel","_renderSlot","_createElementVNode","_openBlock"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { treeNodeEmits, treeNodeProps, ROOT_TREE_INJECTION_KEY, NODE_CONTEXTMENU } from './virtual-tree.mjs';
|
|
1
2
|
import { defineComponent, inject, computed, createElementBlock, openBlock, withModifiers, normalizeClass, unref, createElementVNode, normalizeStyle, createBlock, createCommentVNode, createVNode, withCtx, resolveDynamicComponent } from 'vue';
|
|
2
3
|
import { ElIcon } from '../../icon/index.mjs';
|
|
3
4
|
import { CaretRight } from '@element-plus/icons-vue';
|
|
4
5
|
import { ElCheckbox } from '../../checkbox/index.mjs';
|
|
5
6
|
import ElNodeContent from './tree-node-content.mjs';
|
|
6
|
-
import { treeNodeEmits, ROOT_TREE_INJECTION_KEY, EMPTY_NODE, NODE_CONTEXTMENU } from './virtual-tree.mjs';
|
|
7
|
-
import { mutable } from '../../../utils/typescript.mjs';
|
|
8
7
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
9
8
|
import { isFunction, isString } from '@vue/shared';
|
|
10
9
|
|
|
@@ -14,17 +13,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14
13
|
name: "ElTreeNode"
|
|
15
14
|
},
|
|
16
15
|
__name: "tree-node",
|
|
17
|
-
props:
|
|
18
|
-
node: { type: Object, required: false, default: () => mutable(EMPTY_NODE) },
|
|
19
|
-
expanded: { type: Boolean, required: false },
|
|
20
|
-
checked: { type: Boolean, required: false },
|
|
21
|
-
indeterminate: { type: Boolean, required: false },
|
|
22
|
-
showCheckbox: { type: Boolean, required: false },
|
|
23
|
-
disabled: { type: Boolean, required: false },
|
|
24
|
-
current: { type: Boolean, required: false },
|
|
25
|
-
hiddenExpandIcon: { type: Boolean, required: false },
|
|
26
|
-
itemSize: { type: Number, required: false, default: 26 }
|
|
27
|
-
},
|
|
16
|
+
props: treeNodeProps,
|
|
28
17
|
emits: treeNodeEmits,
|
|
29
18
|
setup(__props, { emit: __emit }) {
|
|
30
19
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node.vue2.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', current),\n ns.is('focusable', !disabled),\n ns.is('checked', !disabled && checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"disabled\"\n :aria-checked=\"checked\"\n :data-key=\"node?.key\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragover.prevent\n @dragenter.prevent\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{\n paddingLeft: `${(node.level - 1) * indent}px`,\n height: itemSize + 'px',\n }\"\n >\n <el-icon\n v-if=\"icon\"\n :class=\"[\n ns.is('leaf', !!node?.isLeaf),\n ns.is('hidden', hiddenExpandIcon),\n {\n expanded: !node?.isLeaf && expanded,\n },\n ns.be('node', 'expand-icon'),\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"icon\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"checked\"\n :indeterminate=\"indeterminate\"\n :disabled=\"disabled\"\n @change=\"handleCheckChange\"\n @click.stop\n />\n <el-node-content :node=\"{ ...node, expanded }\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { CaretRight } from '@element-plus/icons-vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString, mutable } from '@element-plus/utils'\nimport ElNodeContent from './tree-node-content'\nimport {\n EMPTY_NODE,\n NODE_CONTEXTMENU,\n ROOT_TREE_INJECTION_KEY,\n treeNodeEmits,\n} from './virtual-tree'\n\nimport type { TreeNode, TreeNodeProps } from './types'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElTreeNode',\n})\n\nconst props = withDefaults(defineProps<TreeNodeProps>(), {\n node: () => mutable(EMPTY_NODE),\n itemSize: 26,\n})\nconst emit = defineEmits(treeNodeEmits)\n\nconst tree = inject(ROOT_TREE_INJECTION_KEY)\nconst ns = useNamespace('tree')\n\nconst indent = computed(() => tree?.props.indent ?? 16)\nconst icon = computed(() => tree?.props.icon ?? CaretRight)\n\nconst getNodeClass = (node: TreeNode) => {\n const nodeClassFunc = tree?.props.props?.class\n if (!nodeClassFunc) return {}\n\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n return isString(className) ? { [className]: true } : className\n}\n\nconst handleClick = (e: MouseEvent) => {\n emit('click', props.node, e)\n}\nconst handleDrop = (e: DragEvent) => {\n emit('drop', props.node, e)\n}\nconst handleExpandIconClick = () => {\n emit('toggle', props.node)\n}\nconst handleCheckChange = (value: CheckboxValueType) => {\n emit('check', props.node, value)\n}\n\nconst handleContextMenu = (event: Event) => {\n if (tree?.instance?.vnode?.props?.['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree?.ctx.emit(NODE_CONTEXTMENU, event, props.node?.data, props.node)\n}\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_createBlock","_openBlock","_resolveDynamicComponent","_createVNode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree-node.vue2.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', current),\n ns.is('focusable', !disabled),\n ns.is('checked', !disabled && checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"disabled\"\n :aria-checked=\"checked\"\n :data-key=\"node?.key\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragover.prevent\n @dragenter.prevent\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{\n paddingLeft: `${(node.level - 1) * indent}px`,\n height: itemSize + 'px',\n }\"\n >\n <el-icon\n v-if=\"icon\"\n :class=\"[\n ns.is('leaf', !!node?.isLeaf),\n ns.is('hidden', hiddenExpandIcon),\n {\n expanded: !node?.isLeaf && expanded,\n },\n ns.be('node', 'expand-icon'),\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"icon\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"checked\"\n :indeterminate=\"indeterminate\"\n :disabled=\"disabled\"\n @change=\"handleCheckChange\"\n @click.stop\n />\n <el-node-content :node=\"{ ...node, expanded }\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { CaretRight } from '@element-plus/icons-vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString, mutable } from '@element-plus/utils'\nimport ElNodeContent from './tree-node-content'\nimport {\n EMPTY_NODE,\n NODE_CONTEXTMENU,\n ROOT_TREE_INJECTION_KEY,\n treeNodeEmits,\n} from './virtual-tree'\n\nimport type { TreeNode, TreeNodeProps } from './types'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElTreeNode',\n})\n\nconst props = withDefaults(defineProps<TreeNodeProps>(), {\n node: () => mutable(EMPTY_NODE),\n itemSize: 26,\n})\nconst emit = defineEmits(treeNodeEmits)\n\nconst tree = inject(ROOT_TREE_INJECTION_KEY)\nconst ns = useNamespace('tree')\n\nconst indent = computed(() => tree?.props.indent ?? 16)\nconst icon = computed(() => tree?.props.icon ?? CaretRight)\n\nconst getNodeClass = (node: TreeNode) => {\n const nodeClassFunc = tree?.props.props?.class\n if (!nodeClassFunc) return {}\n\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n return isString(className) ? { [className]: true } : className\n}\n\nconst handleClick = (e: MouseEvent) => {\n emit('click', props.node, e)\n}\nconst handleDrop = (e: DragEvent) => {\n emit('drop', props.node, e)\n}\nconst handleExpandIconClick = () => {\n emit('toggle', props.node)\n}\nconst handleCheckChange = (value: CheckboxValueType) => {\n emit('check', props.node, value)\n}\n\nconst handleContextMenu = (event: Event) => {\n if (tree?.instance?.vnode?.props?.['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree?.ctx.emit(NODE_CONTEXTMENU, event, props.node?.data, props.node)\n}\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_createBlock","_openBlock","_resolveDynamicComponent","_createVNode"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { treeEmits, treeProps, ROOT_TREE_INJECTION_KEY } from './virtual-tree.mjs';
|
|
1
2
|
import { defineComponent, useSlots, computed, provide, getCurrentInstance, createElementBlock, openBlock, normalizeClass, unref, createBlock, withCtx, normalizeStyle, renderSlot, createElementVNode, toDisplayString } from 'vue';
|
|
2
3
|
import { useTree } from './composables/useTree.mjs';
|
|
3
4
|
import _sfc_main$1 from './tree-node.vue2.mjs';
|
|
4
|
-
import { treeEmits, ROOT_TREE_INJECTION_KEY, TreeOptionsEnum } from './virtual-tree.mjs';
|
|
5
5
|
import FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';
|
|
6
|
-
import { mutable } from '../../../utils/typescript.mjs';
|
|
7
6
|
import { formItemContextKey } from '../../form/src/constants.mjs';
|
|
8
7
|
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
9
8
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
@@ -13,34 +12,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13
12
|
name: "ElTreeV2"
|
|
14
13
|
},
|
|
15
14
|
__name: "tree",
|
|
16
|
-
props:
|
|
17
|
-
data: { type: Array, required: false, default: () => mutable([]) },
|
|
18
|
-
emptyText: { type: String, required: false },
|
|
19
|
-
height: { type: Number, required: false, default: 200 },
|
|
20
|
-
props: { type: Object, required: false, default: () => mutable({
|
|
21
|
-
children: TreeOptionsEnum.CHILDREN,
|
|
22
|
-
label: TreeOptionsEnum.LABEL,
|
|
23
|
-
disabled: TreeOptionsEnum.DISABLED,
|
|
24
|
-
value: TreeOptionsEnum.KEY,
|
|
25
|
-
class: TreeOptionsEnum.CLASS
|
|
26
|
-
}) },
|
|
27
|
-
highlightCurrent: { type: Boolean, required: false },
|
|
28
|
-
showCheckbox: { type: Boolean, required: false },
|
|
29
|
-
defaultCheckedKeys: { type: Array, required: false, default: () => mutable([]) },
|
|
30
|
-
checkStrictly: { type: Boolean, required: false },
|
|
31
|
-
defaultExpandedKeys: { type: Array, required: false, default: () => mutable([]) },
|
|
32
|
-
indent: { type: Number, required: false, default: 16 },
|
|
33
|
-
itemSize: { type: Number, required: false, default: 26 },
|
|
34
|
-
icon: { type: null, required: false },
|
|
35
|
-
expandOnClickNode: { type: Boolean, required: false, default: true },
|
|
36
|
-
checkOnClickNode: { type: Boolean, required: false },
|
|
37
|
-
checkOnClickLeaf: { type: Boolean, required: false, default: true },
|
|
38
|
-
currentNodeKey: { type: [String, Number], required: false },
|
|
39
|
-
accordion: { type: Boolean, required: false },
|
|
40
|
-
filterMethod: { type: Function, required: false },
|
|
41
|
-
perfMode: { type: Boolean, required: false, default: true },
|
|
42
|
-
scrollbarAlwaysOn: { type: Boolean, required: false }
|
|
43
|
-
},
|
|
15
|
+
props: treeProps,
|
|
44
16
|
emits: treeEmits,
|
|
45
17
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
46
18
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), { [ns.m('highlight-current')]: highlightCurrent }]\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n ref=\"listRef\"\n :class-name=\"ns.b('virtual-list')\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"treeNodeSize\"\n :perf-mode=\"perfMode\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"data[index].expanded\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :item-size=\"treeNodeSize\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n @drop=\"handleNodeDrop\"\n />\n </template>\n </fixed-size-list>\n <div v-else :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, provide, useSlots } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport {\n ROOT_TREE_INJECTION_KEY,\n TreeOptionsEnum,\n treeEmits,\n} from './virtual-tree'\nimport { mutable } from '@element-plus/utils'\n\nimport type { TreeProps } from './types'\n\ndefineOptions({\n name: 'ElTreeV2',\n})\n\nconst props = withDefaults(defineProps<TreeProps>(), {\n data: () => mutable([]),\n height: 200,\n props: () =>\n mutable({\n children: TreeOptionsEnum.CHILDREN,\n label: TreeOptionsEnum.LABEL,\n disabled: TreeOptionsEnum.DISABLED,\n value: TreeOptionsEnum.KEY,\n class: TreeOptionsEnum.CLASS,\n }),\n defaultCheckedKeys: () => mutable([]),\n defaultExpandedKeys: () => mutable([]),\n indent: 16,\n itemSize: 26,\n expandOnClickNode: true,\n checkOnClickLeaf: true,\n perfMode: true,\n})\nconst emit = defineEmits(treeEmits)\n\nconst slots = useSlots()\n\nconst treeNodeSize = computed(() => props.itemSize)\n\nprovide(ROOT_TREE_INJECTION_KEY, {\n ctx: {\n emit,\n slots,\n },\n props,\n instance: getCurrentInstance()!,\n})\nprovide(formItemContextKey, undefined)\nconst { t } = useLocale()\nconst ns = useNamespace('tree')\nconst {\n flattenTree,\n isNotEmpty,\n listRef,\n toggleExpand,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n // expose\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n} = useTree(props, emit)\n\ndefineExpose({\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createBlock","ElTreeNode","_renderSlot","_createElementVNode","_toDisplayString"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), { [ns.m('highlight-current')]: highlightCurrent }]\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n ref=\"listRef\"\n :class-name=\"ns.b('virtual-list')\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"treeNodeSize\"\n :perf-mode=\"perfMode\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"data[index].expanded\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :item-size=\"treeNodeSize\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n @drop=\"handleNodeDrop\"\n />\n </template>\n </fixed-size-list>\n <div v-else :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, provide, useSlots } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport {\n ROOT_TREE_INJECTION_KEY,\n TreeOptionsEnum,\n treeEmits,\n} from './virtual-tree'\nimport { mutable } from '@element-plus/utils'\n\nimport type { TreeProps } from './types'\n\ndefineOptions({\n name: 'ElTreeV2',\n})\n\nconst props = withDefaults(defineProps<TreeProps>(), {\n data: () => mutable([]),\n height: 200,\n props: () =>\n mutable({\n children: TreeOptionsEnum.CHILDREN,\n label: TreeOptionsEnum.LABEL,\n disabled: TreeOptionsEnum.DISABLED,\n value: TreeOptionsEnum.KEY,\n class: TreeOptionsEnum.CLASS,\n }),\n defaultCheckedKeys: () => mutable([]),\n defaultExpandedKeys: () => mutable([]),\n indent: 16,\n itemSize: 26,\n expandOnClickNode: true,\n checkOnClickLeaf: true,\n perfMode: true,\n})\nconst emit = defineEmits(treeEmits)\n\nconst slots = useSlots()\n\nconst treeNodeSize = computed(() => props.itemSize)\n\nprovide(ROOT_TREE_INJECTION_KEY, {\n ctx: {\n emit,\n slots,\n },\n props,\n instance: getCurrentInstance()!,\n})\nprovide(formItemContextKey, undefined)\nconst { t } = useLocale()\nconst ns = useNamespace('tree')\nconst {\n flattenTree,\n isNotEmpty,\n listRef,\n toggleExpand,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n // expose\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n} = useTree(props, emit)\n\ndefineExpose({\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createBlock","ElTreeNode","_renderSlot","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { uploadContentProps } from './upload-content.mjs';
|
|
2
|
+
import { defineComponent, shallowRef, createElementBlock, openBlock, withKeys, unref, normalizeClass, withModifiers, createBlock, renderSlot, createElementVNode, withCtx } from 'vue';
|
|
2
3
|
import { cloneDeep, isEqual } from 'lodash-unified';
|
|
3
4
|
import _sfc_main$1 from './upload-dragger.vue2.mjs';
|
|
4
5
|
import { genFileId } from './upload.mjs';
|
|
5
|
-
import { uploadContentPropsDefaults } from './upload-content.mjs';
|
|
6
6
|
import { entriesOf } from '../../../utils/objects.mjs';
|
|
7
7
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
8
8
|
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
|
@@ -16,32 +16,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16
16
|
inheritAttrs: false
|
|
17
17
|
},
|
|
18
18
|
__name: "upload-content",
|
|
19
|
-
props:
|
|
20
|
-
beforeUpload: { type: Function, required: false },
|
|
21
|
-
onRemove: { type: Function, required: false },
|
|
22
|
-
onStart: { type: Function, required: false },
|
|
23
|
-
onSuccess: { type: Function, required: false },
|
|
24
|
-
onProgress: { type: Function, required: false },
|
|
25
|
-
onError: { type: Function, required: false },
|
|
26
|
-
onExceed: { type: Function, required: false },
|
|
27
|
-
action: { type: String, required: false },
|
|
28
|
-
headers: { type: null, required: false },
|
|
29
|
-
method: { type: String, required: false },
|
|
30
|
-
data: { type: [Promise, Function], required: false, skipCheck: true },
|
|
31
|
-
multiple: { type: Boolean, required: false },
|
|
32
|
-
name: { type: String, required: false },
|
|
33
|
-
drag: { type: Boolean, required: false },
|
|
34
|
-
withCredentials: { type: Boolean, required: false },
|
|
35
|
-
showFileList: { type: Boolean, required: false },
|
|
36
|
-
accept: { type: String, required: false },
|
|
37
|
-
fileList: { type: Array, required: false },
|
|
38
|
-
autoUpload: { type: Boolean, required: false },
|
|
39
|
-
listType: { type: String, required: false },
|
|
40
|
-
httpRequest: { type: Function, required: false },
|
|
41
|
-
disabled: { type: Boolean, required: false },
|
|
42
|
-
limit: { type: Number, required: false },
|
|
43
|
-
directory: { type: Boolean, required: false }
|
|
44
|
-
}, uploadContentPropsDefaults),
|
|
19
|
+
props: uploadContentProps,
|
|
45
20
|
setup(__props, { expose: __expose }) {
|
|
46
21
|
const props = __props;
|
|
47
22
|
const ns = useNamespace("upload");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-content.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(listType),\n ns.is('drag', drag),\n ns.is('disabled', disabled),\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger\n :disabled=\"disabled\"\n :directory=\"directory\"\n @file=\"uploadFiles\"\n >\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n :webkitdirectory=\"directory || undefined\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { cloneDeep, isEqual } from 'lodash-unified'\nimport { entriesOf, isFunction, isPlainObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { genFileId } from './upload'\nimport { uploadContentPropsDefaults } from './upload-content'\n\nimport type { UploadContentProps } from './upload-content'\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<UploadContentProps>(),\n uploadContentPropsDefaults\n)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile): Promise<void> => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n let beforeData: UploadContentProps['data'] = {}\n\n try {\n // origin data: Handle data changes after synchronization tasks are executed\n const originData = props.data\n const beforeUploadPromise = props.beforeUpload(rawFile)\n beforeData = isPlainObject(props.data) ? cloneDeep(props.data) : props.data\n hookResult = await beforeUploadPromise\n if (isPlainObject(props.data) && isEqual(originData, beforeData)) {\n beforeData = cloneDeep(props.data)\n }\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n }),\n beforeData\n )\n}\n\nconst resolveData = async (\n data: UploadContentProps['data'],\n rawFile: UploadRawFile\n): Promise<Record<string, any>> => {\n if (isFunction(data)) {\n return data(rawFile)\n }\n\n return data!\n}\n\nconst doUpload = async (\n rawFile: UploadRawFile,\n beforeData?: UploadContentProps['data']\n) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n try {\n beforeData = await resolveData(beforeData ?? data, rawFile)\n } catch {\n props.onRemove(rawFile)\n return\n }\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data: beforeData,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createBlock","UploadDragger","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload-content.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(listType),\n ns.is('drag', drag),\n ns.is('disabled', disabled),\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger\n :disabled=\"disabled\"\n :directory=\"directory\"\n @file=\"uploadFiles\"\n >\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n :webkitdirectory=\"directory || undefined\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { cloneDeep, isEqual } from 'lodash-unified'\nimport { entriesOf, isFunction, isPlainObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { genFileId } from './upload'\nimport { uploadContentPropsDefaults } from './upload-content'\n\nimport type { UploadContentProps } from './upload-content'\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<UploadContentProps>(),\n uploadContentPropsDefaults\n)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile): Promise<void> => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n let beforeData: UploadContentProps['data'] = {}\n\n try {\n // origin data: Handle data changes after synchronization tasks are executed\n const originData = props.data\n const beforeUploadPromise = props.beforeUpload(rawFile)\n beforeData = isPlainObject(props.data) ? cloneDeep(props.data) : props.data\n hookResult = await beforeUploadPromise\n if (isPlainObject(props.data) && isEqual(originData, beforeData)) {\n beforeData = cloneDeep(props.data)\n }\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n }),\n beforeData\n )\n}\n\nconst resolveData = async (\n data: UploadContentProps['data'],\n rawFile: UploadRawFile\n): Promise<Record<string, any>> => {\n if (isFunction(data)) {\n return data(rawFile)\n }\n\n return data!\n}\n\nconst doUpload = async (\n rawFile: UploadRawFile,\n beforeData?: UploadContentProps['data']\n) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n try {\n beforeData = await resolveData(beforeData ?? data, rawFile)\n } catch {\n props.onRemove(rawFile)\n return\n }\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data: beforeData,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createBlock","UploadDragger","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger.mjs';
|
|
1
2
|
import { defineComponent, inject, ref, createElementBlock, openBlock, withModifiers, normalizeClass, unref, renderSlot } from 'vue';
|
|
2
3
|
import { throwError } from '../../../utils/error.mjs';
|
|
3
4
|
import { flatten } from 'lodash-unified';
|
|
4
5
|
import { uploadContextKey } from './constants.mjs';
|
|
5
|
-
import { uploadDraggerEmits } from './upload-dragger.mjs';
|
|
6
6
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
7
7
|
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
|
8
8
|
|
|
@@ -12,10 +12,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
12
12
|
name: COMPONENT_NAME
|
|
13
13
|
},
|
|
14
14
|
__name: "upload-dragger",
|
|
15
|
-
props:
|
|
16
|
-
disabled: { type: Boolean, required: false, default: void 0 },
|
|
17
|
-
directory: { type: Boolean, required: false }
|
|
18
|
-
},
|
|
15
|
+
props: uploadDraggerProps,
|
|
19
16
|
emits: uploadDraggerEmits,
|
|
20
17
|
setup(__props, { emit: __emit }) {
|
|
21
18
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-dragger.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { flatten } from 'lodash-unified'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits } from './upload-dragger'\n\nimport type { UploadDraggerProps } from './upload-dragger'\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = withDefaults(defineProps<UploadDraggerProps>(), {\n disabled: undefined,\n})\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst getFile = (entry: FileSystemFileEntry): Promise<File> => {\n return new Promise((resolve, reject) => entry.file(resolve, reject))\n}\n\nconst getAllFiles = async (\n entry: FileSystemEntry\n): Promise<UploadRawFile[]> => {\n try {\n if (entry.isFile) {\n const file = (await getFile(\n entry as FileSystemFileEntry\n )) as UploadRawFile\n file.isDirectory = false\n return [file]\n }\n if (entry.isDirectory) {\n const dirReader = (entry as FileSystemDirectoryEntry).createReader()\n const getEntries = (): Promise<FileSystemEntry[]> => {\n return new Promise((resolve, reject) =>\n dirReader.readEntries(resolve, reject)\n )\n }\n\n const entries: FileSystemEntry[] = []\n let readEntries = await getEntries()\n /**\n * In Chromium-based browsers, readEntries() will only return the first 100 FileSystemEntry instances.\n * https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries#:~:text=In%20Chromium%2Dbased%20browsers%2C%20readEntries()%20will%20only%20return%20the%20first%20100%20FileSystemEntry%20instances.%20In%20order%20to%20obtain%20all%20of%20the%20instances%2C%20readEntries()%20must%20be%20called%20multiple%20times.\n */\n while (readEntries.length > 0) {\n entries.push(...readEntries)\n readEntries = await getEntries()\n }\n\n const filePromises = entries.map((entry) =>\n getAllFiles(entry).catch(() => [])\n )\n\n const files = await Promise.all(filePromises)\n return flatten(files)\n }\n } catch {\n return []\n }\n return []\n}\n\nconst onDrop = async (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n\n if (props.directory) {\n const entries = Array.from(items)\n .map((item) => item?.webkitGetAsEntry?.())\n .filter((entry) => entry) as FileSystemEntry[]\n\n const allFiles = await Promise.all(entries.map(getAllFiles))\n emit('file', flatten(allFiles))\n return\n }\n\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":["entry","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":";;;;;;;;AAuBA,MAAM,cAAA,GAAiB,cAAA
|
|
1
|
+
{"version":3,"file":"upload-dragger.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { flatten } from 'lodash-unified'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits } from './upload-dragger'\n\nimport type { UploadDraggerProps } from './upload-dragger'\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = withDefaults(defineProps<UploadDraggerProps>(), {\n disabled: undefined,\n})\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst getFile = (entry: FileSystemFileEntry): Promise<File> => {\n return new Promise((resolve, reject) => entry.file(resolve, reject))\n}\n\nconst getAllFiles = async (\n entry: FileSystemEntry\n): Promise<UploadRawFile[]> => {\n try {\n if (entry.isFile) {\n const file = (await getFile(\n entry as FileSystemFileEntry\n )) as UploadRawFile\n file.isDirectory = false\n return [file]\n }\n if (entry.isDirectory) {\n const dirReader = (entry as FileSystemDirectoryEntry).createReader()\n const getEntries = (): Promise<FileSystemEntry[]> => {\n return new Promise((resolve, reject) =>\n dirReader.readEntries(resolve, reject)\n )\n }\n\n const entries: FileSystemEntry[] = []\n let readEntries = await getEntries()\n /**\n * In Chromium-based browsers, readEntries() will only return the first 100 FileSystemEntry instances.\n * https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries#:~:text=In%20Chromium%2Dbased%20browsers%2C%20readEntries()%20will%20only%20return%20the%20first%20100%20FileSystemEntry%20instances.%20In%20order%20to%20obtain%20all%20of%20the%20instances%2C%20readEntries()%20must%20be%20called%20multiple%20times.\n */\n while (readEntries.length > 0) {\n entries.push(...readEntries)\n readEntries = await getEntries()\n }\n\n const filePromises = entries.map((entry) =>\n getAllFiles(entry).catch(() => [])\n )\n\n const files = await Promise.all(filePromises)\n return flatten(files)\n }\n } catch {\n return []\n }\n return []\n}\n\nconst onDrop = async (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n\n if (props.directory) {\n const entries = Array.from(items)\n .map((item) => item?.webkitGetAsEntry?.())\n .filter((entry) => entry) as FileSystemEntry[]\n\n const allFiles = await Promise.all(entries.map(getAllFiles))\n emit('file', flatten(allFiles))\n return\n }\n\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":["entry","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
import { uploadListEmits, uploadListProps } from './upload-list.mjs';
|
|
1
2
|
import { defineComponent, ref, computed, createBlock, openBlock, TransitionGroup, unref, normalizeClass, withCtx, createElementBlock, renderSlot, Fragment, renderList, withKeys, createCommentVNode, createElementVNode, withModifiers, createVNode, toDisplayString, normalizeStyle } from 'vue';
|
|
2
3
|
import { ElIcon } from '../../icon/index.mjs';
|
|
3
4
|
import { Document, CircleCheck, Check, Close, ZoomIn, Delete } from '@element-plus/icons-vue';
|
|
4
5
|
import { ElProgress } from '../../progress/index.mjs';
|
|
5
|
-
import { uploadListEmits } from './upload-list.mjs';
|
|
6
|
-
import { NOOP } from '@vue/shared';
|
|
7
|
-
import { mutable } from '../../../utils/typescript.mjs';
|
|
8
6
|
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
9
7
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
10
8
|
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
|
@@ -20,13 +18,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
20
18
|
name: "ElUploadList"
|
|
21
19
|
},
|
|
22
20
|
__name: "upload-list",
|
|
23
|
-
props:
|
|
24
|
-
files: { type: Array, required: false, default: () => mutable([]) },
|
|
25
|
-
disabled: { type: Boolean, required: false, default: void 0 },
|
|
26
|
-
handlePreview: { type: Function, required: false, default: NOOP },
|
|
27
|
-
listType: { type: String, required: false, default: "text" },
|
|
28
|
-
crossorigin: { type: String, required: false }
|
|
29
|
-
},
|
|
21
|
+
props: uploadListProps,
|
|
30
22
|
emits: uploadListEmits,
|
|
31
23
|
setup(__props, { emit: __emit }) {
|
|
32
24
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-list.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group tag=\"ul\" :class=\"containerKls\" :name=\"nsList.b()\">\n <li\n v-for=\"(file, index) in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\" :index=\"index\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n :crossorigin=\"crossorigin\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\">\n <Document />\n </el-icon>\n <span\n :class=\"nsUpload.be('list', 'item-file-name')\"\n :title=\"file.name\"\n >\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\">\n <Delete />\n </el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadListEmits } from './upload-list'\nimport { NOOP, mutable } from '@element-plus/utils'\n\nimport type { UploadListProps } from './upload-list'\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\nconst props = withDefaults(defineProps<UploadListProps>(), {\n files: () => mutable([]),\n disabled: undefined,\n handlePreview: NOOP,\n listType: 'text',\n})\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\nconst disabled = useFormDisabled()\n\nconst focusing = ref(false)\n\nconst containerKls = computed(() => [\n nsUpload.b('list'),\n nsUpload.bm('list', props.listType),\n nsUpload.is('disabled', disabled.value),\n])\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":["_createBlock","_TransitionGroup","_unref","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_withKeys","_renderSlot","_createElementVNode","_withModifiers","_createVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload-list.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group tag=\"ul\" :class=\"containerKls\" :name=\"nsList.b()\">\n <li\n v-for=\"(file, index) in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\" :index=\"index\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n :crossorigin=\"crossorigin\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\">\n <Document />\n </el-icon>\n <span\n :class=\"nsUpload.be('list', 'item-file-name')\"\n :title=\"file.name\"\n >\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\">\n <Delete />\n </el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadListEmits } from './upload-list'\nimport { NOOP, mutable } from '@element-plus/utils'\n\nimport type { UploadListProps } from './upload-list'\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\nconst props = withDefaults(defineProps<UploadListProps>(), {\n files: () => mutable([]),\n disabled: undefined,\n handlePreview: NOOP,\n listType: 'text',\n})\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\nconst disabled = useFormDisabled()\n\nconst focusing = ref(false)\n\nconst containerKls = computed(() => [\n nsUpload.b('list'),\n nsUpload.bm('list', props.listType),\n nsUpload.is('disabled', disabled.value),\n])\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":["_createBlock","_TransitionGroup","_unref","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_withKeys","_renderSlot","_createElementVNode","_withModifiers","_createVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { uploadProps } from './upload.mjs';
|
|
2
|
+
import { defineComponent, shallowRef, computed, onBeforeUnmount, provide, toRef, createElementBlock, openBlock, createBlock, createCommentVNode, renderSlot, unref, createSlots, withCtx, createVNode, mergeProps } from 'vue';
|
|
2
3
|
import { uploadContextKey } from './constants.mjs';
|
|
3
4
|
import _sfc_main$1 from './upload-list.vue2.mjs';
|
|
4
5
|
import _sfc_main$2 from './upload-content.vue2.mjs';
|
|
5
6
|
import { useHandlers } from './use-handlers.mjs';
|
|
6
|
-
import { uploadPropsDefaults } from './upload.mjs';
|
|
7
7
|
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
|
8
8
|
|
|
9
9
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -11,35 +11,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11
11
|
name: "ElUpload"
|
|
12
12
|
},
|
|
13
13
|
__name: "upload",
|
|
14
|
-
props:
|
|
15
|
-
beforeUpload: { type: Function, required: false },
|
|
16
|
-
beforeRemove: { type: Function, required: false },
|
|
17
|
-
onRemove: { type: Function, required: false },
|
|
18
|
-
onChange: { type: Function, required: false },
|
|
19
|
-
onPreview: { type: Function, required: false },
|
|
20
|
-
onSuccess: { type: Function, required: false },
|
|
21
|
-
onProgress: { type: Function, required: false },
|
|
22
|
-
onError: { type: Function, required: false },
|
|
23
|
-
onExceed: { type: Function, required: false },
|
|
24
|
-
crossorigin: { type: String, required: false },
|
|
25
|
-
action: { type: String, required: false },
|
|
26
|
-
headers: { type: null, required: false },
|
|
27
|
-
method: { type: String, required: false },
|
|
28
|
-
data: { type: [Promise, Function], required: false, skipCheck: true },
|
|
29
|
-
multiple: { type: Boolean, required: false },
|
|
30
|
-
name: { type: String, required: false },
|
|
31
|
-
drag: { type: Boolean, required: false },
|
|
32
|
-
withCredentials: { type: Boolean, required: false },
|
|
33
|
-
showFileList: { type: Boolean, required: false },
|
|
34
|
-
accept: { type: String, required: false },
|
|
35
|
-
fileList: { type: Array, required: false },
|
|
36
|
-
autoUpload: { type: Boolean, required: false },
|
|
37
|
-
listType: { type: String, required: false },
|
|
38
|
-
httpRequest: { type: Function, required: false },
|
|
39
|
-
disabled: { type: Boolean, required: false },
|
|
40
|
-
limit: { type: Number, required: false },
|
|
41
|
-
directory: { type: Boolean, required: false }
|
|
42
|
-
}, uploadPropsDefaults),
|
|
14
|
+
props: uploadProps,
|
|
43
15
|
setup(__props, { expose: __expose }) {
|
|
44
16
|
const props = __props;
|
|
45
17
|
const disabled = useFormDisabled();
|