element-plus 2.2.9 → 2.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -5
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1038 -928
- package/dist/index.full.min.js +16 -16
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +17 -17
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1641 -1531
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/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/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +29 -4
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.js.map +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.min.mjs.map +1 -1
- package/dist/locale/ko.mjs +29 -4
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/carousel/index.d.ts +1 -0
- package/es/components/carousel/src/carousel.vue.d.ts +1 -0
- package/es/components/carousel/src/carousel2.mjs +8 -0
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/cascader/src/index.mjs +10 -10
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/checkbox/index.d.ts +4 -4
- package/es/components/checkbox/src/checkbox-group.mjs +1 -1
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +10 -9
- package/es/components/color-picker/index.d.ts +216 -0
- package/es/components/color-picker/src/components/alpha-slider.mjs +10 -6
- package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/alpha-slider.vue.d.ts +18 -0
- package/es/components/color-picker/src/components/hue-slider.mjs +10 -6
- package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/hue-slider.vue.d.ts +18 -0
- package/es/components/color-picker/src/components/predefine.mjs +21 -11
- package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
- package/es/components/color-picker/src/components/predefine.vue.d.ts +18 -0
- package/es/components/color-picker/src/components/sv-panel.mjs +19 -13
- package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
- package/es/components/color-picker/src/components/sv-panel.vue.d.ts +18 -0
- package/es/components/color-picker/src/draggable.mjs +10 -12
- package/es/components/color-picker/src/draggable.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +0 -1
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/color-picker/src/index.vue.d.ts +108 -0
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +21 -8
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +5 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
- package/es/components/date-picker/src/panel-utils.d.ts +10 -4
- package/es/components/descriptions/index.d.ts +82 -54
- package/es/components/descriptions/index.mjs +2 -1
- package/es/components/descriptions/index.mjs.map +1 -1
- package/es/components/descriptions/src/description.d.ts +15 -0
- package/es/components/descriptions/src/description.mjs +32 -0
- package/es/components/descriptions/src/description.mjs.map +1 -0
- package/es/components/descriptions/src/description.vue.d.ts +106 -0
- package/es/components/descriptions/src/description2.mjs +127 -0
- package/es/components/descriptions/src/description2.mjs.map +1 -0
- package/es/components/descriptions/src/descriptions-cell.mjs +4 -4
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.d.ts +3 -0
- package/es/components/descriptions/src/descriptions-row.mjs +7 -71
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.vue.d.ts +28 -7
- package/es/components/descriptions/src/descriptions-row2.mjs +69 -0
- package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -0
- package/es/components/descriptions/src/token.d.ts +1 -1
- package/es/components/descriptions/src/token.mjs +2 -2
- package/es/components/descriptions/src/token.mjs.map +1 -1
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/dropdown/src/useDropdown.mjs +3 -3
- package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
- package/es/components/dropdown/style/css.d.ts +2 -1
- package/es/components/dropdown/style/css.mjs +2 -1
- package/es/components/dropdown/style/css.mjs.map +1 -1
- package/es/components/dropdown/style/index.d.ts +2 -1
- package/es/components/dropdown/style/index.mjs +2 -1
- package/es/components/dropdown/style/index.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs +1 -1
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/image/index.d.ts +4 -1
- package/es/components/image/src/image.d.ts +1 -0
- package/es/components/image/src/image.mjs +2 -1
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +4 -1
- package/es/components/image/src/image2.mjs +1 -0
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/index.mjs +1 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +3 -3
- package/es/components/menu/src/menu.mjs +12 -10
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/message/src/method.mjs +3 -1
- package/es/components/message/src/method.mjs.map +1 -1
- package/es/components/message/style/css.d.ts +1 -0
- package/es/components/message/style/css.mjs +1 -0
- package/es/components/message/style/css.mjs.map +1 -1
- package/es/components/message/style/index.d.ts +1 -0
- package/es/components/message/style/index.mjs +1 -0
- package/es/components/message/style/index.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs +2 -3
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +1 -1
- package/es/components/notification/src/notify.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +0 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +0 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +2 -5
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/index.d.ts +20 -0
- package/es/components/popover/src/popover.d.ts +11 -5
- package/es/components/popover/src/popover.mjs +3 -0
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover.vue.d.ts +20 -0
- package/es/components/popover/src/popover2.mjs +7 -2
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +4 -4
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs +2 -1
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +4 -10
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +3 -1
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/select/src/option.mjs +4 -4
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/select.mjs +3 -4
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +0 -2
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +4 -5
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +2 -1
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/slider/index.d.ts +5 -0
- package/es/components/slider/src/button.vue.d.ts +1 -0
- package/es/components/slider/src/button2.mjs +12 -11
- package/es/components/slider/src/button2.mjs.map +1 -1
- package/es/components/slider/src/composables/use-slide.d.ts +4 -0
- package/es/components/slider/src/composables/use-slider-button.d.ts +1 -0
- package/es/components/slider/src/composables/use-slider-button.mjs +4 -1
- package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
- package/es/components/slider/src/marker.mjs +1 -1
- package/es/components/slider/src/marker.mjs.map +1 -1
- package/es/components/slider/src/slider.vue.d.ts +5 -0
- package/es/components/space/src/space.mjs +33 -25
- package/es/components/space/src/space.mjs.map +1 -1
- package/es/components/steps/src/item2.mjs +1 -1
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/table/index.d.ts +23 -33
- package/es/components/table/src/filter-panel.mjs +0 -1
- package/es/components/table/src/filter-panel.mjs.map +1 -1
- package/es/components/table/src/table/defaults.d.ts +2 -2
- package/es/components/table/src/table/defaults.mjs +1 -3
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.d.ts +21 -31
- package/es/components/table/src/table/style-helper.mjs +73 -97
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-header/event-helper.mjs +5 -9
- package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
- package/es/components/table/src/table-layout.d.ts +1 -5
- package/es/components/table/src/table-layout.mjs +3 -52
- package/es/components/table/src/table-layout.mjs.map +1 -1
- package/es/components/table/src/table.mjs +30 -34
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +23 -33
- package/es/components/table/src/util.d.ts +1 -1
- package/es/components/table/src/util.mjs +8 -19
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/table-v2/index.d.ts +1 -1
- package/es/components/table-v2/src/components/header.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +1 -1
- package/es/components/table-v2/src/table-v2.d.ts +1 -1
- package/es/components/tabs/src/tab-nav.mjs +5 -4
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +6 -6
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +3 -3
- package/es/components/tooltip/src/tooltip2.mjs +2 -2
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +23 -35
- package/es/components/transfer/src/transfer-panel.vue.d.ts +4 -4
- package/es/components/transfer/src/transfer.d.ts +2 -1
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue.d.ts +68 -81
- package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
- package/es/components/tree/src/model/useKeydown.mjs +3 -7
- package/es/components/tree/src/model/useKeydown.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +3 -2
- package/es/components/upload/src/use-handlers.mjs +1 -1
- package/es/components/upload/src/use-handlers.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
- package/es/directives/click-outside/index.mjs.map +1 -1
- package/es/directives/index.d.ts +0 -1
- package/es/directives/index.mjs +0 -1
- package/es/directives/index.mjs.map +1 -1
- package/es/directives/mousewheel/index.mjs.map +1 -1
- package/es/directives/repeat-click/index.d.ts +2 -2
- package/es/directives/repeat-click/index.mjs +13 -13
- package/es/directives/repeat-click/index.mjs.map +1 -1
- package/es/directives/trap-focus/index.d.ts +1 -1
- package/es/directives/trap-focus/index.mjs +2 -3
- package/es/directives/trap-focus/index.mjs.map +1 -1
- package/es/hooks/use-escape-keydown/index.mjs +6 -6
- package/es/hooks/use-escape-keydown/index.mjs.map +1 -1
- package/es/hooks/use-floating/index.d.ts +1 -1
- package/es/hooks/use-floating/index.mjs.map +1 -1
- package/es/hooks/use-lockscreen/index.mjs +9 -5
- package/es/hooks/use-lockscreen/index.mjs.map +1 -1
- package/es/hooks/use-model-toggle/index.d.ts +2 -0
- package/es/hooks/use-model-toggle/index.mjs +2 -1
- package/es/hooks/use-model-toggle/index.mjs.map +1 -1
- package/es/hooks/use-namespace/index.mjs +6 -2
- package/es/hooks/use-namespace/index.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/locale/lang/ko.d.ts +25 -0
- package/es/locale/lang/ko.mjs +28 -3
- package/es/locale/lang/ko.mjs.map +1 -1
- package/es/make-installer.mjs.map +1 -1
- package/es/utils/dom/aria.d.ts +2 -3
- package/es/utils/dom/aria.mjs.map +1 -1
- package/es/utils/dom/event.d.ts +0 -6
- package/es/utils/dom/event.mjs +1 -20
- package/es/utils/dom/event.mjs.map +1 -1
- package/es/utils/dom/index.mjs +1 -1
- package/es/utils/dom/scroll.d.ts +1 -1
- package/es/utils/dom/scroll.mjs +2 -2
- package/es/utils/dom/scroll.mjs.map +1 -1
- package/es/utils/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/carousel/index.d.ts +1 -0
- package/lib/components/carousel/src/carousel.vue.d.ts +1 -0
- package/lib/components/carousel/src/carousel2.js +8 -0
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/cascader/src/index.js +10 -10
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/checkbox/index.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox-group.js +1 -1
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +10 -9
- package/lib/components/color-picker/index.d.ts +216 -0
- package/lib/components/color-picker/src/components/alpha-slider.js +10 -6
- package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/alpha-slider.vue.d.ts +18 -0
- package/lib/components/color-picker/src/components/hue-slider.js +10 -6
- package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/hue-slider.vue.d.ts +18 -0
- package/lib/components/color-picker/src/components/predefine.js +20 -10
- package/lib/components/color-picker/src/components/predefine.js.map +1 -1
- package/lib/components/color-picker/src/components/predefine.vue.d.ts +18 -0
- package/lib/components/color-picker/src/components/sv-panel.js +18 -12
- package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
- package/lib/components/color-picker/src/components/sv-panel.vue.d.ts +18 -0
- package/lib/components/color-picker/src/draggable.js +15 -17
- package/lib/components/color-picker/src/draggable.js.map +1 -1
- package/lib/components/color-picker/src/index.js +0 -1
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/color-picker/src/index.vue.d.ts +108 -0
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +21 -8
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +5 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
- package/lib/components/date-picker/src/panel-utils.d.ts +10 -4
- package/lib/components/descriptions/index.d.ts +82 -54
- package/lib/components/descriptions/index.js +4 -2
- package/lib/components/descriptions/index.js.map +1 -1
- package/lib/components/descriptions/src/description.d.ts +15 -0
- package/lib/components/descriptions/src/description.js +36 -0
- package/lib/components/descriptions/src/description.js.map +1 -0
- package/lib/components/descriptions/src/description.vue.d.ts +106 -0
- package/lib/components/descriptions/src/description2.js +131 -0
- package/lib/components/descriptions/src/description2.js.map +1 -0
- package/lib/components/descriptions/src/descriptions-cell.js +3 -3
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.d.ts +3 -0
- package/lib/components/descriptions/src/descriptions-row.js +7 -71
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.vue.d.ts +28 -7
- package/lib/components/descriptions/src/descriptions-row2.js +73 -0
- package/lib/components/descriptions/src/descriptions-row2.js.map +1 -0
- package/lib/components/descriptions/src/token.d.ts +1 -1
- package/lib/components/descriptions/src/token.js +2 -2
- package/lib/components/descriptions/src/token.js.map +1 -1
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/dropdown/src/useDropdown.js +3 -3
- package/lib/components/dropdown/src/useDropdown.js.map +1 -1
- package/lib/components/dropdown/style/css.d.ts +2 -1
- package/lib/components/dropdown/style/css.js +2 -1
- package/lib/components/dropdown/style/css.js.map +1 -1
- package/lib/components/dropdown/style/index.d.ts +2 -1
- package/lib/components/dropdown/style/index.js +2 -1
- package/lib/components/dropdown/style/index.js.map +1 -1
- package/lib/components/form/src/form-item2.js +1 -1
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/image/index.d.ts +4 -1
- package/lib/components/image/src/image.d.ts +1 -0
- package/lib/components/image/src/image.js +2 -1
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +4 -1
- package/lib/components/image/src/image2.js +1 -0
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/index.js +2 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/menu/src/menu.js +13 -11
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/message/src/method.js +3 -1
- package/lib/components/message/src/method.js.map +1 -1
- package/lib/components/message/style/css.d.ts +1 -0
- package/lib/components/message/style/css.js +1 -0
- package/lib/components/message/style/css.js.map +1 -1
- package/lib/components/message/style/index.d.ts +1 -0
- package/lib/components/message/style/index.js +1 -0
- package/lib/components/message/style/index.js.map +1 -1
- package/lib/components/message-box/src/index.js +2 -3
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/notification/src/notify.js +1 -1
- package/lib/components/notification/src/notify.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +0 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +0 -1
- package/lib/components/popconfirm/src/popconfirm2.js +2 -5
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/index.d.ts +20 -0
- package/lib/components/popover/src/popover.d.ts +11 -5
- package/lib/components/popover/src/popover.js +3 -0
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +20 -0
- package/lib/components/popover/src/popover2.js +6 -1
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/popper/src/content2.js +4 -4
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/rate/src/rate2.js +2 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +2 -8
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +3 -1
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/select/src/option.js +4 -4
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/select.js +3 -4
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/useSelect.js +0 -2
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/select.js +4 -5
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +2 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/slider/index.d.ts +5 -0
- package/lib/components/slider/src/button.vue.d.ts +1 -0
- package/lib/components/slider/src/button2.js +11 -10
- package/lib/components/slider/src/button2.js.map +1 -1
- package/lib/components/slider/src/composables/use-slide.d.ts +4 -0
- package/lib/components/slider/src/composables/use-slider-button.d.ts +1 -0
- package/lib/components/slider/src/composables/use-slider-button.js +4 -1
- package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
- package/lib/components/slider/src/marker.js +1 -1
- package/lib/components/slider/src/marker.js.map +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +5 -0
- package/lib/components/space/src/space.js +32 -24
- package/lib/components/space/src/space.js.map +1 -1
- package/lib/components/steps/src/item2.js +1 -1
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/table/index.d.ts +23 -33
- package/lib/components/table/src/filter-panel.js +0 -1
- package/lib/components/table/src/filter-panel.js.map +1 -1
- package/lib/components/table/src/table/defaults.d.ts +2 -2
- package/lib/components/table/src/table/defaults.js +1 -3
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +21 -31
- package/lib/components/table/src/table/style-helper.js +72 -96
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-header/event-helper.js +5 -9
- package/lib/components/table/src/table-header/event-helper.js.map +1 -1
- package/lib/components/table/src/table-layout.d.ts +1 -5
- package/lib/components/table/src/table-layout.js +3 -52
- package/lib/components/table/src/table-layout.js.map +1 -1
- package/lib/components/table/src/table.js +30 -34
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +23 -33
- package/lib/components/table/src/util.d.ts +1 -1
- package/lib/components/table/src/util.js +8 -19
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/table-v2/index.d.ts +1 -1
- package/lib/components/table-v2/src/components/header.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +1 -1
- package/lib/components/table-v2/src/table-v2.d.ts +1 -1
- package/lib/components/tabs/src/tab-nav.js +5 -4
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +6 -6
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +2 -2
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/transfer/index.d.ts +23 -35
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +4 -4
- package/lib/components/transfer/src/transfer.d.ts +2 -1
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue.d.ts +68 -81
- package/lib/components/tree/src/model/useDragNode.js.map +1 -1
- package/lib/components/tree/src/model/useKeydown.js +2 -6
- package/lib/components/tree/src/model/useKeydown.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +3 -2
- package/lib/components/upload/src/use-handlers.js +1 -1
- package/lib/components/upload/src/use-handlers.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/index.d.ts +0 -1
- package/lib/directives/index.js +0 -2
- package/lib/directives/index.js.map +1 -1
- package/lib/directives/mousewheel/index.js.map +1 -1
- package/lib/directives/repeat-click/index.d.ts +2 -2
- package/lib/directives/repeat-click/index.js +13 -13
- package/lib/directives/repeat-click/index.js.map +1 -1
- package/lib/directives/trap-focus/index.d.ts +1 -1
- package/lib/directives/trap-focus/index.js +2 -3
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-escape-keydown/index.js +6 -6
- package/lib/hooks/use-escape-keydown/index.js.map +1 -1
- package/lib/hooks/use-floating/index.d.ts +1 -1
- package/lib/hooks/use-floating/index.js.map +1 -1
- package/lib/hooks/use-lockscreen/index.js +9 -5
- package/lib/hooks/use-lockscreen/index.js.map +1 -1
- package/lib/hooks/use-model-toggle/index.d.ts +2 -0
- package/lib/hooks/use-model-toggle/index.js +2 -1
- package/lib/hooks/use-model-toggle/index.js.map +1 -1
- package/lib/hooks/use-namespace/index.js +6 -2
- package/lib/hooks/use-namespace/index.js.map +1 -1
- package/lib/index.js +81 -81
- package/lib/locale/lang/ko.d.ts +25 -0
- package/lib/locale/lang/ko.js +28 -3
- package/lib/locale/lang/ko.js.map +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/utils/dom/aria.d.ts +2 -3
- package/lib/utils/dom/aria.js.map +1 -1
- package/lib/utils/dom/event.d.ts +0 -6
- package/lib/utils/dom/event.js +0 -22
- package/lib/utils/dom/event.js.map +1 -1
- package/lib/utils/dom/index.js +0 -3
- package/lib/utils/dom/index.js.map +1 -1
- package/lib/utils/dom/scroll.d.ts +1 -1
- package/lib/utils/dom/scroll.js +2 -2
- package/lib/utils/dom/scroll.js.map +1 -1
- package/lib/utils/index.js +0 -3
- package/lib/utils/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +3 -3
- package/tags.json +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-message-box.css +1 -1
- package/theme-chalk/el-message.css +1 -1
- package/theme-chalk/el-rate.css +1 -1
- package/theme-chalk/el-select-dropdown-v2.css +1 -1
- package/theme-chalk/el-select-dropdown.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-slider.css +1 -1
- package/theme-chalk/el-table-v2.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/common/var.scss +1 -2
- package/theme-chalk/src/date-picker/picker.scss +4 -5
- package/theme-chalk/src/menu.scss +1 -0
- package/theme-chalk/src/message-box.scss +3 -1
- package/theme-chalk/src/message.scss +4 -4
- package/theme-chalk/src/rate.scss +1 -0
- package/theme-chalk/src/select-dropdown-v2.scss +3 -3
- package/theme-chalk/src/select-dropdown.scss +2 -2
- package/theme-chalk/src/slider.scss +2 -0
- package/theme-chalk/src/table-v2.scss +3 -0
- package/theme-chalk/src/table.scss +7 -1
- package/theme-chalk/src/tabs.scss +1 -1
- package/web-types.json +1 -1
- package/es/components/descriptions/src/index.mjs +0 -160
- package/es/components/descriptions/src/index.mjs.map +0 -1
- package/es/components/descriptions/src/index.vue.d.ts +0 -80
- package/es/directives/resize/index.d.ts +0 -3
- package/es/directives/resize/index.mjs +0 -18
- package/es/directives/resize/index.mjs.map +0 -1
- package/lib/components/descriptions/src/index.js +0 -164
- package/lib/components/descriptions/src/index.js.map +0 -1
- package/lib/components/descriptions/src/index.vue.d.ts +0 -80
- package/lib/directives/resize/index.d.ts +0 -3
- package/lib/directives/resize/index.js +0 -22
- package/lib/directives/resize/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.mjs","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n withDirectives,\n} from 'vue'\nimport { Resize } from '@element-plus/directives'\nimport ElIcon from '@element-plus/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport Menubar from './utils/menu-bar'\nimport ElMenuCollapseTransition from './menu-collapse-transition.vue'\nimport ElSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuItemClicked, MenuProvider, SubMenuProvider } from './types'\nimport type { NavigationFailure, Router } from 'vue-router'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n Array.isArray(indexPath) && indexPath.every((path) => isString(path))\n\nexport const menuEmits = {\n close: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n open: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n select: (\n index: string,\n indexPath: string[],\n item: MenuItemClicked,\n routerResult?: Promise<void | NavigationFailure>\n ) =>\n isString(index) &&\n checkIndexPath(indexPath) &&\n isObject(item) &&\n (routerResult === undefined || routerResult instanceof Promise),\n}\nexport type MenuEmits = typeof menuEmits\n\nexport default defineComponent({\n name: 'ElMenu',\n\n props: menuProps,\n emits: menuEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n emit('open', index, indexPath)\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n emit('close', index, indexPath)\n }\n\n const handleSubMenuClick: MenuProvider['handleSubMenuClick'] = ({\n index,\n indexPath,\n }) => {\n const isOpened = openedMenus.value.includes(index)\n\n if (isOpened) {\n closeMenu(index, indexPath)\n } else {\n openMenu(index, indexPath)\n }\n }\n\n const handleMenuItemClick: MenuProvider['handleMenuItemClick'] = (\n menuItem\n ) => {\n if (props.mode === 'horizontal' || props.collapse) {\n openedMenus.value = []\n }\n\n const { index, indexPath } = menuItem\n if (index === undefined || indexPath === undefined) return\n\n if (props.router && router) {\n const route = menuItem.route || index\n const routerResult = router.push(route).then((res) => {\n if (!res) activeIndex.value = index\n return res\n })\n emit(\n 'select',\n index,\n indexPath,\n { index, indexPath, route },\n routerResult\n )\n } else {\n activeIndex.value = index\n emit('select', index, indexPath, { index, indexPath })\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n initMenu()\n } else {\n activeIndex.value = val\n }\n }\n const handleResize = () => {\n nextTick(() => instance.proxy!.$forceUpdate())\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(items.value, () => initMenu())\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0,\n })\n }\n\n // lifecycle\n onMounted(() => {\n initMenu()\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n expose({\n open,\n close: closeMenu,\n handleResize,\n })\n }\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n const useVNodeResize = (vnode: VNode) =>\n props.mode === 'horizontal'\n ? withDirectives(vnode, [[Resize, handleResize]])\n : vnode\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n ElSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props, 0)\n\n const resizeMenu = (vNode: VNode) =>\n props.ellipsis ? useVNodeResize(vNode) : vNode\n\n const vMenu = resizeMenu(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m('collapse')]: props.collapse,\n },\n },\n [...slot, ...vShowMore]\n )\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(ElMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["Menubar","ElSubMenu"],"mappings":";;;;;;;;;;;;;;;;AA4BY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACH,MAAM,cAAc,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,SAAS,GAAG;AACzB,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC;AAC3E,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC;AAC1E,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,YAAY,YAAY,OAAO,CAAC;AAClL,EAAE;AACF,WAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACxC,IAAI,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AAC1C,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACvE,IAAI,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AACxC,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1G,IAAI,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;AACvC,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;AACxF,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ;AACtE,QAAQ,OAAO;AACf,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AAC7C,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACnC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAQ,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AACtD,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC3C,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC3C,QAAQ,OAAO;AACf,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE;AAC9B,QAAQ,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACrC,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC5C,MAAM,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACpB,QAAQ,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,OAAO;AACP,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,MAAM,kBAAkB,GAAG,CAAC;AAChC,MAAM,KAAK;AACX,MAAM,SAAS;AACf,KAAK,KAAK;AACV,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACpC,OAAO,MAAM;AACb,QAAQ,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACnC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,mBAAmB,GAAG,CAAC,QAAQ,KAAK;AAC9C,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE;AACzD,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;AAC5C,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,KAAK,CAAC;AAClD,QAAQ,OAAO;AACf,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;AAC9C,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;AAC9D,UAAU,IAAI,CAAC,GAAG;AAClB,YAAY,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;AACtC,UAAU,OAAO,GAAG,CAAC;AACrB,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;AACpF,OAAO,MAAM;AACb,QAAQ,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/D,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACvC,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;AACtC,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC/H,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,MAAM;AACb,QAAQ,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;AAChC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,MAAM;AAC/B,MAAM,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC;AACN,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,KAAK;AACxD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACvC,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACvC,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,QAAQ,EAAE,CAAC,CAAC;AACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK;AAC3C,MAAM,IAAI,KAAK;AACf,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AACnC,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK;AACtC,QAAQ,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK;AACpC,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACvC,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,KAAK;AACvC,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,OAAO,CAAC;AACR,MAAM,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;AACnC,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,cAAc;AACtB,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,mBAAmB;AAC3B,QAAQ,kBAAkB;AAC1B,OAAO,CAAC,CAAC,CAAC;AACV,MAAM,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC;AAChC,QAAQ,KAAK,EAAE,CAAC;AAChB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,QAAQ,EAAE,CAAC;AACjB,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACvC,QAAQ,IAAIA,MAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/D,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC9B,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpD,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACzD,OAAO,CAAC;AACR,MAAM,MAAM,CAAC;AACb,QAAQ,IAAI;AACZ,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,YAAY;AACpB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAChC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC3C,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAS,MAAM;AACf,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC5H,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzB,MAAM,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AACjG,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAC3B,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7K,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AACnD,QAAQ,MAAM,aAAa,GAAG,EAAE,CAAC;AACjC,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1F,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC5F,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAC9E,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC;AAC1B,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC;AAC3B,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACxC,UAAU,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AAC7C,UAAU,IAAI,SAAS,IAAI,SAAS,GAAG,aAAa,EAAE;AACtD,YAAY,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;AACnC,WAAW;AACX,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,QAAQ,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;AAC7E,UAAU,IAAI,GAAG,WAAW,CAAC;AAC7B,UAAU,SAAS,CAAC,IAAI,CAAC,CAAC,CAACC,OAAS,EAAE;AACtC,YAAY,KAAK,EAAE,eAAe;AAClC,YAAY,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5C,WAAW,EAAE;AACb,YAAY,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE;AACnC,cAAc,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7C,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,YAAY,OAAO,EAAE,MAAM,QAAQ;AACnC,WAAW,CAAC,CAAC,CAAC;AACd,SAAS;AACT,OAAO;AACP,MAAM,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACnF,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;AACvC,QAAQ,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnC,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK;AAC5B,QAAQ,KAAK,EAAE;AACf,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI;AAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI;AACtC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ;AAChD,SAAS;AACT,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AACjE,QAAQ,OAAO,CAAC,CAAC,wBAAwB,EAAE,MAAM,KAAK,CAAC,CAAC;AACxD,OAAO;AACP,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"menu.mjs","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport ElIcon from '@element-plus/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport Menubar from './utils/menu-bar'\nimport ElMenuCollapseTransition from './menu-collapse-transition.vue'\nimport ElSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuItemClicked, MenuProvider, SubMenuProvider } from './types'\nimport type { NavigationFailure, Router } from 'vue-router'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\nimport type { UseResizeObserverReturn } from '@vueuse/core'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n Array.isArray(indexPath) && indexPath.every((path) => isString(path))\n\nexport const menuEmits = {\n close: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n open: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n select: (\n index: string,\n indexPath: string[],\n item: MenuItemClicked,\n routerResult?: Promise<void | NavigationFailure>\n ) =>\n isString(index) &&\n checkIndexPath(indexPath) &&\n isObject(item) &&\n (routerResult === undefined || routerResult instanceof Promise),\n}\nexport type MenuEmits = typeof menuEmits\n\nexport default defineComponent({\n name: 'ElMenu',\n\n props: menuProps,\n emits: menuEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n emit('open', index, indexPath)\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n emit('close', index, indexPath)\n }\n\n const handleSubMenuClick: MenuProvider['handleSubMenuClick'] = ({\n index,\n indexPath,\n }) => {\n const isOpened = openedMenus.value.includes(index)\n\n if (isOpened) {\n closeMenu(index, indexPath)\n } else {\n openMenu(index, indexPath)\n }\n }\n\n const handleMenuItemClick: MenuProvider['handleMenuItemClick'] = (\n menuItem\n ) => {\n if (props.mode === 'horizontal' || props.collapse) {\n openedMenus.value = []\n }\n\n const { index, indexPath } = menuItem\n if (index === undefined || indexPath === undefined) return\n\n if (props.router && router) {\n const route = menuItem.route || index\n const routerResult = router.push(route).then((res) => {\n if (!res) activeIndex.value = index\n return res\n })\n emit(\n 'select',\n index,\n indexPath,\n { index, indexPath, route },\n routerResult\n )\n } else {\n activeIndex.value = index\n emit('select', index, indexPath, { index, indexPath })\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n } else {\n activeIndex.value = val\n }\n }\n\n const handleResize = () => {\n nextTick(() => instance.proxy!.$forceUpdate())\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n watch(items.value, initMenu)\n\n let resizeStopper: UseResizeObserverReturn['stop']\n watchEffect(() => {\n if (props.mode === 'horizontal' && props.ellipsis)\n resizeStopper = useResizeObserver(menu, handleResize).stop\n else resizeStopper?.()\n })\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0,\n })\n }\n\n // lifecycle\n onMounted(() => {\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n expose({\n open,\n close: closeMenu,\n handleResize,\n })\n }\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n ElSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props, 0)\n\n const vMenu = h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m('collapse')]: props.collapse,\n },\n },\n [...slot, ...vShowMore]\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(ElMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["Menubar","ElSubMenu"],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@ const normalizeOptions = (params) => {
|
|
|
18
18
|
...messageDefaults,
|
|
19
19
|
...options
|
|
20
20
|
};
|
|
21
|
-
if (
|
|
21
|
+
if (!normalized.appendTo) {
|
|
22
|
+
normalized.appendTo = document.body;
|
|
23
|
+
} else if (isString(normalized.appendTo)) {
|
|
22
24
|
let appendTo = document.querySelector(normalized.appendTo);
|
|
23
25
|
if (!isElement(appendTo)) {
|
|
24
26
|
debugWarn("ElMessage", "the appendTo option is not an HTMLElement. Falling back to document.body.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.mjs","sources":["../../../../../../packages/components/message/src/method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageDefaults, messageTypes } from './message'\nimport { instances } from './instance'\n\nimport type { MessageContext } from './instance'\nimport type { AppContext } from 'vue'\nimport type {\n Message,\n MessageFn,\n MessageHandler,\n MessageOptions,\n MessageParams,\n MessageParamsNormalized,\n messageType,\n} from './message'\n\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst normalizeOptions = (params?: MessageParams) => {\n const options: MessageOptions =\n !params || isString(params) || isVNode(params) || isFunction(params)\n ? { message: params }\n : params\n\n const normalized = {\n ...messageDefaults,\n ...options,\n }\n\n if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo)\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n normalized.appendTo = appendTo\n }\n\n return normalized as MessageParamsNormalized\n}\n\nconst closeMessage = (instance: MessageContext) => {\n const idx = instances.indexOf(instance)\n if (idx === -1) return\n\n instances.splice(idx, 1)\n const { handler } = instance\n handler.close()\n}\n\nconst createMessage = (\n { appendTo, ...options }: MessageParamsNormalized,\n context?: AppContext | null\n): MessageContext => {\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n\n const container = document.createElement('div')\n\n const props = {\n ...options,\n zIndex: nextZIndex() + options.zIndex,\n id,\n onClose: () => {\n userOnClose?.()\n closeMessage(instance)\n },\n\n // clean message element preventing mem leak\n onDestroy: () => {\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n render(null, container)\n },\n }\n const vnode = createVNode(\n MessageConstructor,\n props,\n isFunction(props.message) || isVNode(props.message)\n ? { default: props.message }\n : null\n )\n vnode.appContext = context || message._context\n\n render(vnode, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n appendTo.appendChild(container.firstElementChild!)\n\n const vm = vnode.component!\n\n const handler: MessageHandler = {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n vm.exposeProxy!.visible = false\n },\n }\n\n const instance: MessageContext = {\n id,\n vnode,\n vm,\n handler,\n props: (vnode.component as any).props,\n }\n\n return instance\n}\n\nconst message: MessageFn &\n Partial<Message> & { _context: AppContext | null } = (\n options = {},\n context\n) => {\n if (!isClient) return { close: () => undefined }\n\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n const normalized = normalizeOptions(options)\n\n if (normalized.grouping && instances.length) {\n const instance = instances.find(\n ({ vnode: vm }) => vm.props?.message === normalized.message\n )\n if (instance) {\n instance.props.repeatNum += 1\n instance.props.type = normalized.type\n return instance.handler\n }\n }\n\n const instance = createMessage(normalized, context)\n\n instances.push(instance)\n return instance.handler\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options)\n return message({ ...normalized, type }, appContext)\n }\n})\n\nexport function closeAll(type?: messageType): void {\n for (const instance of instances) {\n if (!type || type === instance.props.type) {\n instance.handler.close()\n }\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":[],"mappings":";;;;;;;;;;;;;AAeA,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AACrC,EAAE,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AACtH,EAAE,MAAM,UAAU,GAAG;AACrB,IAAI,GAAG,eAAe;AACtB,IAAI,GAAG,OAAO;AACd,GAAG,CAAC;AACJ,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"method.mjs","sources":["../../../../../../packages/components/message/src/method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageDefaults, messageTypes } from './message'\nimport { instances } from './instance'\n\nimport type { MessageContext } from './instance'\nimport type { AppContext } from 'vue'\nimport type {\n Message,\n MessageFn,\n MessageHandler,\n MessageOptions,\n MessageParams,\n MessageParamsNormalized,\n messageType,\n} from './message'\n\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst normalizeOptions = (params?: MessageParams) => {\n const options: MessageOptions =\n !params || isString(params) || isVNode(params) || isFunction(params)\n ? { message: params }\n : params\n\n const normalized = {\n ...messageDefaults,\n ...options,\n }\n\n if (!normalized.appendTo) {\n normalized.appendTo = document.body\n } else if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo)\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n normalized.appendTo = appendTo\n }\n\n return normalized as MessageParamsNormalized\n}\n\nconst closeMessage = (instance: MessageContext) => {\n const idx = instances.indexOf(instance)\n if (idx === -1) return\n\n instances.splice(idx, 1)\n const { handler } = instance\n handler.close()\n}\n\nconst createMessage = (\n { appendTo, ...options }: MessageParamsNormalized,\n context?: AppContext | null\n): MessageContext => {\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n\n const container = document.createElement('div')\n\n const props = {\n ...options,\n zIndex: nextZIndex() + options.zIndex,\n id,\n onClose: () => {\n userOnClose?.()\n closeMessage(instance)\n },\n\n // clean message element preventing mem leak\n onDestroy: () => {\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n render(null, container)\n },\n }\n const vnode = createVNode(\n MessageConstructor,\n props,\n isFunction(props.message) || isVNode(props.message)\n ? { default: props.message }\n : null\n )\n vnode.appContext = context || message._context\n\n render(vnode, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n appendTo.appendChild(container.firstElementChild!)\n\n const vm = vnode.component!\n\n const handler: MessageHandler = {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n vm.exposeProxy!.visible = false\n },\n }\n\n const instance: MessageContext = {\n id,\n vnode,\n vm,\n handler,\n props: (vnode.component as any).props,\n }\n\n return instance\n}\n\nconst message: MessageFn &\n Partial<Message> & { _context: AppContext | null } = (\n options = {},\n context\n) => {\n if (!isClient) return { close: () => undefined }\n\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n const normalized = normalizeOptions(options)\n\n if (normalized.grouping && instances.length) {\n const instance = instances.find(\n ({ vnode: vm }) => vm.props?.message === normalized.message\n )\n if (instance) {\n instance.props.repeatNum += 1\n instance.props.type = normalized.type\n return instance.handler\n }\n }\n\n const instance = createMessage(normalized, context)\n\n instances.push(instance)\n return instance.handler\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options)\n return message({ ...normalized, type }, appContext)\n }\n})\n\nexport function closeAll(type?: messageType): void {\n for (const instance of instances) {\n if (!type || type === instance.props.type) {\n instance.handler.close()\n }\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -18,7 +18,6 @@ import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
|
|
|
18
18
|
import { useId } from '../../../hooks/use-id/index.mjs';
|
|
19
19
|
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
20
20
|
import { useDraggable } from '../../../hooks/use-draggable/index.mjs';
|
|
21
|
-
import { on, off } from '../../../utils/dom/event.mjs';
|
|
22
21
|
import { useSameTarget } from '../../../hooks/use-same-target/index.mjs';
|
|
23
22
|
import { useLockscreen } from '../../../hooks/use-lockscreen/index.mjs';
|
|
24
23
|
import { useRestoreActive } from '../../../hooks/use-restore-active/index.mjs';
|
|
@@ -178,12 +177,12 @@ const _sfc_main = defineComponent({
|
|
|
178
177
|
onMounted(async () => {
|
|
179
178
|
await nextTick();
|
|
180
179
|
if (props.closeOnHashChange) {
|
|
181
|
-
|
|
180
|
+
window.addEventListener("hashchange", doClose);
|
|
182
181
|
}
|
|
183
182
|
});
|
|
184
183
|
onBeforeUnmount(() => {
|
|
185
184
|
if (props.closeOnHashChange) {
|
|
186
|
-
|
|
185
|
+
window.removeEventListener("hashchange", doClose);
|
|
187
186
|
}
|
|
188
187
|
});
|
|
189
188
|
function doClose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/message-box/src/index.vue"],"sourcesContent":["<template>\n <transition name=\"fade-in-linear\" @after-leave=\"$emit('vanish')\">\n <el-overlay\n v-show=\"visible\"\n :z-index=\"zIndex\"\n :overlay-class=\"[ns.is('message-box'), modalClass]\"\n :mask=\"modal\"\n >\n <div\n role=\"dialog\"\n :aria-label=\"title\"\n aria-modal=\"true\"\n :aria-describedby=\"!showInput ? contentId : undefined\"\n :class=\"`${ns.namespace.value}-overlay-message-box`\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"rootRef\"\n :focus-start-el=\"focusStartRef\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"rootRef\"\n :class=\"[\n ns.b(),\n customClass,\n ns.is('draggable', draggable),\n { [ns.m('center')]: center },\n ]\"\n :style=\"customStyle\"\n tabindex=\"-1\"\n @click.stop=\"\"\n >\n <div\n v-if=\"title !== null && title !== undefined\"\n ref=\"headerRef\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <el-icon\n v-if=\"iconComponent && center\"\n :class=\"[ns.e('status'), typeClass]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <span>{{ title }}</span>\n </div>\n <button\n v-if=\"showClose\"\n type=\"button\"\n :class=\"ns.e('headerbtn')\"\n :aria-label=\"t('el.messagebox.close')\"\n @click=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n @keydown.prevent.enter=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n >\n <el-icon :class=\"ns.e('close')\">\n <close />\n </el-icon>\n </button>\n </div>\n <div :id=\"contentId\" :class=\"ns.e('content')\">\n <div :class=\"ns.e('container')\">\n <el-icon\n v-if=\"iconComponent && !center && hasMessage\"\n :class=\"[ns.e('status'), typeClass]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <div v-if=\"hasMessage\" :class=\"ns.e('message')\">\n <slot>\n <component\n :is=\"showInput ? 'label' : 'p'\"\n v-if=\"!dangerouslyUseHTMLString\"\n :for=\"showInput ? inputId : undefined\"\n >\n {{ !dangerouslyUseHTMLString ? message : '' }}\n </component>\n <component\n :is=\"showInput ? 'label' : 'p'\"\n v-else\n :for=\"showInput ? inputId : undefined\"\n v-html=\"message\"\n />\n </slot>\n </div>\n </div>\n <div v-show=\"showInput\" :class=\"ns.e('input')\">\n <el-input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :type=\"inputType\"\n :placeholder=\"inputPlaceholder\"\n :aria-invalid=\"validateError\"\n :class=\"{ invalid: validateError }\"\n @keydown.enter=\"handleInputEnter\"\n />\n <div\n :class=\"ns.e('errormsg')\"\n :style=\"{\n visibility: !!editorErrorMessage ? 'visible' : 'hidden',\n }\"\n >\n {{ editorErrorMessage }}\n </div>\n </div>\n </div>\n <div :class=\"ns.e('btns')\">\n <el-button\n v-if=\"showCancelButton\"\n :loading=\"cancelButtonLoading\"\n :class=\"[cancelButtonClass]\"\n :round=\"roundButton\"\n :size=\"btnSize\"\n @click=\"handleAction('cancel')\"\n @keydown.prevent.enter=\"handleAction('cancel')\"\n >\n {{ cancelButtonText || t('el.messagebox.cancel') }}\n </el-button>\n <el-button\n v-show=\"showConfirmButton\"\n ref=\"confirmRef\"\n type=\"primary\"\n :loading=\"confirmButtonLoading\"\n :class=\"[confirmButtonClasses]\"\n :round=\"roundButton\"\n :disabled=\"confirmButtonDisabled\"\n :size=\"btnSize\"\n @click=\"handleAction('confirm')\"\n @keydown.prevent.enter=\"handleAction('confirm')\"\n >\n {{ confirmButtonText || t('el.messagebox.confirm') }}\n </el-button>\n </div>\n </div>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport { TrapFocus } from '@element-plus/directives'\nimport {\n useDraggable,\n useId,\n useLocale,\n useLockscreen,\n useNamespace,\n useRestoreActive,\n useSameTarget,\n useSize,\n useZIndex,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport {\n TypeComponents,\n TypeComponentsMap,\n isValidComponentSize,\n off,\n on,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\n\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type {\n Action,\n MessageBoxState,\n MessageBoxType,\n} from './message-box.type'\n\nexport default defineComponent({\n name: 'ElMessageBox',\n directives: {\n TrapFocus,\n },\n components: {\n ElButton,\n ElFocusTrap,\n ElInput,\n ElOverlay,\n ElIcon,\n ...TypeComponents,\n },\n inheritAttrs: false,\n props: {\n buttonSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n closeOnHashChange: {\n type: Boolean,\n default: true,\n },\n center: Boolean,\n draggable: Boolean,\n roundButton: {\n default: false,\n type: Boolean,\n },\n container: {\n type: String, // default append to body\n default: 'body',\n },\n boxType: {\n type: String as PropType<MessageBoxType>,\n default: '',\n },\n },\n emits: ['vanish', 'action'],\n setup(props, { emit }) {\n // const popup = usePopup(props, doClose)\n const { t } = useLocale()\n const ns = useNamespace('message-box')\n const visible = ref(false)\n const { nextZIndex } = useZIndex()\n // s represents state\n const state = reactive<MessageBoxState>({\n // autofocus element when open message-box\n autofocus: true,\n beforeClose: null,\n callback: null,\n cancelButtonText: '',\n cancelButtonClass: '',\n confirmButtonText: '',\n confirmButtonClass: '',\n customClass: '',\n customStyle: {},\n dangerouslyUseHTMLString: false,\n distinguishCancelAndClose: false,\n icon: '',\n inputPattern: null,\n inputPlaceholder: '',\n inputType: 'text',\n inputValue: null,\n inputValidator: null,\n inputErrorMessage: '',\n message: null,\n modalFade: true,\n modalClass: '',\n showCancelButton: false,\n showConfirmButton: true,\n type: '',\n title: undefined,\n showInput: false,\n action: '' as Action,\n confirmButtonLoading: false,\n cancelButtonLoading: false,\n confirmButtonDisabled: false,\n editorErrorMessage: '',\n // refer to: https://github.com/ElemeFE/element/commit/2999279ae34ef10c373ca795c87b020ed6753eed\n // seemed ok for now without this state.\n // isOnComposition: false, // temporary remove\n validateError: false,\n zIndex: nextZIndex(),\n })\n\n const typeClass = computed(() => {\n const type = state.type\n return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n })\n\n const contentId = useId()\n const inputId = useId()\n\n const btnSize = useSize(\n computed(() => props.buttonSize),\n { prop: true, form: true, formItem: true }\n )\n\n const iconComponent = computed(\n () => state.icon || TypeComponentsMap[state.type] || ''\n )\n const hasMessage = computed(() => !!state.message)\n const rootRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const focusStartRef = ref<HTMLElement>()\n const inputRef = ref<ComponentPublicInstance>()\n const confirmRef = ref<ComponentPublicInstance>()\n\n const confirmButtonClasses = computed(() => state.confirmButtonClass)\n\n watch(\n () => state.inputValue,\n async (val) => {\n await nextTick()\n if (props.boxType === 'prompt' && val !== null) {\n validate()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => visible.value,\n (val) => {\n if (val) {\n if (props.boxType !== 'prompt') {\n if (state.autofocus) {\n focusStartRef.value = confirmRef.value?.$el ?? rootRef.value\n } else {\n focusStartRef.value = rootRef.value\n }\n }\n state.zIndex = nextZIndex()\n }\n if (props.boxType !== 'prompt') return\n if (val) {\n nextTick().then(() => {\n if (inputRef.value && inputRef.value.$el) {\n if (state.autofocus) {\n focusStartRef.value = getInputElement() ?? rootRef.value\n } else {\n focusStartRef.value = rootRef.value\n }\n }\n })\n } else {\n state.editorErrorMessage = ''\n state.validateError = false\n }\n }\n )\n\n const draggable = computed(() => props.draggable)\n useDraggable(rootRef, headerRef, draggable)\n\n onMounted(async () => {\n await nextTick()\n if (props.closeOnHashChange) {\n on(window, 'hashchange', doClose)\n }\n })\n\n onBeforeUnmount(() => {\n if (props.closeOnHashChange) {\n off(window, 'hashchange', doClose)\n }\n })\n\n function doClose() {\n if (!visible.value) return\n visible.value = false\n nextTick(() => {\n if (state.action) emit('action', state.action)\n })\n }\n\n const handleWrapperClick = () => {\n if (props.closeOnClickModal) {\n handleAction(state.distinguishCancelAndClose ? 'close' : 'cancel')\n }\n }\n\n const overlayEvent = useSameTarget(handleWrapperClick)\n\n const handleInputEnter = (e: KeyboardEvent) => {\n if (state.inputType !== 'textarea') {\n e.preventDefault()\n return handleAction('confirm')\n }\n }\n\n const handleAction = (action: Action) => {\n if (props.boxType === 'prompt' && action === 'confirm' && !validate()) {\n return\n }\n\n state.action = action\n\n if (state.beforeClose) {\n state.beforeClose?.(action, state, doClose)\n } else {\n doClose()\n }\n }\n\n const validate = () => {\n if (props.boxType === 'prompt') {\n const inputPattern = state.inputPattern\n if (inputPattern && !inputPattern.test(state.inputValue || '')) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n const inputValidator = state.inputValidator\n if (typeof inputValidator === 'function') {\n const validateResult = inputValidator(state.inputValue)\n if (validateResult === false) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n if (typeof validateResult === 'string') {\n state.editorErrorMessage = validateResult\n state.validateError = true\n return false\n }\n }\n }\n state.editorErrorMessage = ''\n state.validateError = false\n return true\n }\n\n const getInputElement = () => {\n const inputRefs = inputRef.value.$refs\n return (inputRefs.input || inputRefs.textarea) as HTMLElement\n }\n\n const handleClose = () => {\n handleAction('close')\n }\n\n // when close on press escape is disabled, pressing esc should not callout\n // any other message box and close any other dialog-ish elements\n // e.g. Dialog has a close on press esc feature, and when it closes, it calls\n // props.beforeClose method to make a intermediate state by callout a message box\n // for some verification or alerting. then if we allow global event liek this\n // to dispatch, it could callout another message box.\n const onCloseRequested = () => {\n if (props.closeOnPressEscape) {\n handleClose()\n }\n }\n\n // locks the screen to prevent scroll\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n // restore to prev active element.\n useRestoreActive(visible)\n\n return {\n ...toRefs(state),\n ns,\n overlayEvent,\n visible,\n hasMessage,\n typeClass,\n contentId,\n inputId,\n btnSize,\n iconComponent,\n confirmButtonClasses,\n rootRef,\n focusStartRef,\n headerRef,\n inputRef,\n confirmRef,\n doClose, // for outside usage\n handleClose, // for out side usage\n onCloseRequested,\n handleWrapperClick,\n handleInputEnter,\n handleAction,\n t,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Transition","_withCtx","_withDirectives","_createVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_withModifiers","_createElementBlock","_createCommentVNode","_toDisplayString","_withKeys","_renderSlot","_resolveDynamicComponent","_createTextVNode","_vShow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/message-box/src/index.vue"],"sourcesContent":["<template>\n <transition name=\"fade-in-linear\" @after-leave=\"$emit('vanish')\">\n <el-overlay\n v-show=\"visible\"\n :z-index=\"zIndex\"\n :overlay-class=\"[ns.is('message-box'), modalClass]\"\n :mask=\"modal\"\n >\n <div\n role=\"dialog\"\n :aria-label=\"title\"\n aria-modal=\"true\"\n :aria-describedby=\"!showInput ? contentId : undefined\"\n :class=\"`${ns.namespace.value}-overlay-message-box`\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"rootRef\"\n :focus-start-el=\"focusStartRef\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"rootRef\"\n :class=\"[\n ns.b(),\n customClass,\n ns.is('draggable', draggable),\n { [ns.m('center')]: center },\n ]\"\n :style=\"customStyle\"\n tabindex=\"-1\"\n @click.stop=\"\"\n >\n <div\n v-if=\"title !== null && title !== undefined\"\n ref=\"headerRef\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <el-icon\n v-if=\"iconComponent && center\"\n :class=\"[ns.e('status'), typeClass]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <span>{{ title }}</span>\n </div>\n <button\n v-if=\"showClose\"\n type=\"button\"\n :class=\"ns.e('headerbtn')\"\n :aria-label=\"t('el.messagebox.close')\"\n @click=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n @keydown.prevent.enter=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n >\n <el-icon :class=\"ns.e('close')\">\n <close />\n </el-icon>\n </button>\n </div>\n <div :id=\"contentId\" :class=\"ns.e('content')\">\n <div :class=\"ns.e('container')\">\n <el-icon\n v-if=\"iconComponent && !center && hasMessage\"\n :class=\"[ns.e('status'), typeClass]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <div v-if=\"hasMessage\" :class=\"ns.e('message')\">\n <slot>\n <component\n :is=\"showInput ? 'label' : 'p'\"\n v-if=\"!dangerouslyUseHTMLString\"\n :for=\"showInput ? inputId : undefined\"\n >\n {{ !dangerouslyUseHTMLString ? message : '' }}\n </component>\n <component\n :is=\"showInput ? 'label' : 'p'\"\n v-else\n :for=\"showInput ? inputId : undefined\"\n v-html=\"message\"\n />\n </slot>\n </div>\n </div>\n <div v-show=\"showInput\" :class=\"ns.e('input')\">\n <el-input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :type=\"inputType\"\n :placeholder=\"inputPlaceholder\"\n :aria-invalid=\"validateError\"\n :class=\"{ invalid: validateError }\"\n @keydown.enter=\"handleInputEnter\"\n />\n <div\n :class=\"ns.e('errormsg')\"\n :style=\"{\n visibility: !!editorErrorMessage ? 'visible' : 'hidden',\n }\"\n >\n {{ editorErrorMessage }}\n </div>\n </div>\n </div>\n <div :class=\"ns.e('btns')\">\n <el-button\n v-if=\"showCancelButton\"\n :loading=\"cancelButtonLoading\"\n :class=\"[cancelButtonClass]\"\n :round=\"roundButton\"\n :size=\"btnSize\"\n @click=\"handleAction('cancel')\"\n @keydown.prevent.enter=\"handleAction('cancel')\"\n >\n {{ cancelButtonText || t('el.messagebox.cancel') }}\n </el-button>\n <el-button\n v-show=\"showConfirmButton\"\n ref=\"confirmRef\"\n type=\"primary\"\n :loading=\"confirmButtonLoading\"\n :class=\"[confirmButtonClasses]\"\n :round=\"roundButton\"\n :disabled=\"confirmButtonDisabled\"\n :size=\"btnSize\"\n @click=\"handleAction('confirm')\"\n @keydown.prevent.enter=\"handleAction('confirm')\"\n >\n {{ confirmButtonText || t('el.messagebox.confirm') }}\n </el-button>\n </div>\n </div>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport { TrapFocus } from '@element-plus/directives'\nimport {\n useDraggable,\n useId,\n useLocale,\n useLockscreen,\n useNamespace,\n useRestoreActive,\n useSameTarget,\n useSize,\n useZIndex,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport {\n TypeComponents,\n TypeComponentsMap,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\n\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type {\n Action,\n MessageBoxState,\n MessageBoxType,\n} from './message-box.type'\n\nexport default defineComponent({\n name: 'ElMessageBox',\n directives: {\n TrapFocus,\n },\n components: {\n ElButton,\n ElFocusTrap,\n ElInput,\n ElOverlay,\n ElIcon,\n ...TypeComponents,\n },\n inheritAttrs: false,\n props: {\n buttonSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n closeOnHashChange: {\n type: Boolean,\n default: true,\n },\n center: Boolean,\n draggable: Boolean,\n roundButton: {\n default: false,\n type: Boolean,\n },\n container: {\n type: String, // default append to body\n default: 'body',\n },\n boxType: {\n type: String as PropType<MessageBoxType>,\n default: '',\n },\n },\n emits: ['vanish', 'action'],\n setup(props, { emit }) {\n // const popup = usePopup(props, doClose)\n const { t } = useLocale()\n const ns = useNamespace('message-box')\n const visible = ref(false)\n const { nextZIndex } = useZIndex()\n // s represents state\n const state = reactive<MessageBoxState>({\n // autofocus element when open message-box\n autofocus: true,\n beforeClose: null,\n callback: null,\n cancelButtonText: '',\n cancelButtonClass: '',\n confirmButtonText: '',\n confirmButtonClass: '',\n customClass: '',\n customStyle: {},\n dangerouslyUseHTMLString: false,\n distinguishCancelAndClose: false,\n icon: '',\n inputPattern: null,\n inputPlaceholder: '',\n inputType: 'text',\n inputValue: null,\n inputValidator: null,\n inputErrorMessage: '',\n message: null,\n modalFade: true,\n modalClass: '',\n showCancelButton: false,\n showConfirmButton: true,\n type: '',\n title: undefined,\n showInput: false,\n action: '' as Action,\n confirmButtonLoading: false,\n cancelButtonLoading: false,\n confirmButtonDisabled: false,\n editorErrorMessage: '',\n // refer to: https://github.com/ElemeFE/element/commit/2999279ae34ef10c373ca795c87b020ed6753eed\n // seemed ok for now without this state.\n // isOnComposition: false, // temporary remove\n validateError: false,\n zIndex: nextZIndex(),\n })\n\n const typeClass = computed(() => {\n const type = state.type\n return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n })\n\n const contentId = useId()\n const inputId = useId()\n\n const btnSize = useSize(\n computed(() => props.buttonSize),\n { prop: true, form: true, formItem: true }\n )\n\n const iconComponent = computed(\n () => state.icon || TypeComponentsMap[state.type] || ''\n )\n const hasMessage = computed(() => !!state.message)\n const rootRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const focusStartRef = ref<HTMLElement>()\n const inputRef = ref<ComponentPublicInstance>()\n const confirmRef = ref<ComponentPublicInstance>()\n\n const confirmButtonClasses = computed(() => state.confirmButtonClass)\n\n watch(\n () => state.inputValue,\n async (val) => {\n await nextTick()\n if (props.boxType === 'prompt' && val !== null) {\n validate()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => visible.value,\n (val) => {\n if (val) {\n if (props.boxType !== 'prompt') {\n if (state.autofocus) {\n focusStartRef.value = confirmRef.value?.$el ?? rootRef.value\n } else {\n focusStartRef.value = rootRef.value\n }\n }\n state.zIndex = nextZIndex()\n }\n if (props.boxType !== 'prompt') return\n if (val) {\n nextTick().then(() => {\n if (inputRef.value && inputRef.value.$el) {\n if (state.autofocus) {\n focusStartRef.value = getInputElement() ?? rootRef.value\n } else {\n focusStartRef.value = rootRef.value\n }\n }\n })\n } else {\n state.editorErrorMessage = ''\n state.validateError = false\n }\n }\n )\n\n const draggable = computed(() => props.draggable)\n useDraggable(rootRef, headerRef, draggable)\n\n onMounted(async () => {\n await nextTick()\n if (props.closeOnHashChange) {\n window.addEventListener('hashchange', doClose)\n }\n })\n\n onBeforeUnmount(() => {\n if (props.closeOnHashChange) {\n window.removeEventListener('hashchange', doClose)\n }\n })\n\n function doClose() {\n if (!visible.value) return\n visible.value = false\n nextTick(() => {\n if (state.action) emit('action', state.action)\n })\n }\n\n const handleWrapperClick = () => {\n if (props.closeOnClickModal) {\n handleAction(state.distinguishCancelAndClose ? 'close' : 'cancel')\n }\n }\n\n const overlayEvent = useSameTarget(handleWrapperClick)\n\n const handleInputEnter = (e: KeyboardEvent) => {\n if (state.inputType !== 'textarea') {\n e.preventDefault()\n return handleAction('confirm')\n }\n }\n\n const handleAction = (action: Action) => {\n if (props.boxType === 'prompt' && action === 'confirm' && !validate()) {\n return\n }\n\n state.action = action\n\n if (state.beforeClose) {\n state.beforeClose?.(action, state, doClose)\n } else {\n doClose()\n }\n }\n\n const validate = () => {\n if (props.boxType === 'prompt') {\n const inputPattern = state.inputPattern\n if (inputPattern && !inputPattern.test(state.inputValue || '')) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n const inputValidator = state.inputValidator\n if (typeof inputValidator === 'function') {\n const validateResult = inputValidator(state.inputValue)\n if (validateResult === false) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n if (typeof validateResult === 'string') {\n state.editorErrorMessage = validateResult\n state.validateError = true\n return false\n }\n }\n }\n state.editorErrorMessage = ''\n state.validateError = false\n return true\n }\n\n const getInputElement = () => {\n const inputRefs = inputRef.value.$refs\n return (inputRefs.input || inputRefs.textarea) as HTMLElement\n }\n\n const handleClose = () => {\n handleAction('close')\n }\n\n // when close on press escape is disabled, pressing esc should not callout\n // any other message box and close any other dialog-ish elements\n // e.g. Dialog has a close on press esc feature, and when it closes, it calls\n // props.beforeClose method to make a intermediate state by callout a message box\n // for some verification or alerting. then if we allow global event liek this\n // to dispatch, it could callout another message box.\n const onCloseRequested = () => {\n if (props.closeOnPressEscape) {\n handleClose()\n }\n }\n\n // locks the screen to prevent scroll\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n // restore to prev active element.\n useRestoreActive(visible)\n\n return {\n ...toRefs(state),\n ns,\n overlayEvent,\n visible,\n hasMessage,\n typeClass,\n contentId,\n inputId,\n btnSize,\n iconComponent,\n confirmButtonClasses,\n rootRef,\n focusStartRef,\n headerRef,\n inputRef,\n confirmRef,\n doClose, // for outside usage\n handleClose, // for out side usage\n onCloseRequested,\n handleWrapperClick,\n handleInputEnter,\n handleAction,\n t,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Transition","_withCtx","_withDirectives","_createVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_withModifiers","_createElementBlock","_createCommentVNode","_toDisplayString","_withKeys","_renderSlot","_resolveDynamicComponent","_createTextVNode","_vShow"],"mappings":"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"}
|
|
@@ -34,9 +34,9 @@ const notify = function(options = {}, context = null) {
|
|
|
34
34
|
const id = `notification_${seed++}`;
|
|
35
35
|
const userOnClose = options.onClose;
|
|
36
36
|
const props = {
|
|
37
|
+
...options,
|
|
37
38
|
zIndex: nextZIndex(),
|
|
38
39
|
offset: verticalOffset,
|
|
39
|
-
...options,
|
|
40
40
|
id,
|
|
41
41
|
onClose: () => {
|
|
42
42
|
close(id, position, userOnClose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { useZIndex } from '@element-plus/hooks'\nimport { debugWarn, isElement, isString, isVNode } from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> & { _context: AppContext | null } =\n function (options = {}, context: AppContext | null = null) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const { nextZIndex } = useZIndex()\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n // default options end\n zIndex: nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n vm.appContext = context ?? notify._context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n }\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\nnotify._context = null\n\nexport default notify as Notify\n"],"names":[],"mappings":";;;;;;;;;;;AAMA,MAAM,aAAa,GAAG;AACtB,EAAE,UAAU,EAAE,EAAE;AAChB,EAAE,WAAW,EAAE,EAAE;AACjB,EAAE,aAAa,EAAE,EAAE;AACnB,EAAE,cAAc,EAAE,EAAE;AACpB,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,IAAI,IAAI,GAAG,CAAC,CAAC;AACR,MAAC,MAAM,GAAG,SAAS,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE;AACtD,EAAE,IAAI,CAAC,QAAQ;AACf,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;AACnC,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACvD,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;AACnD,EAAE,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;AAC3C,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,IAAI,QAAQ,CAAC;AAC3F,GAAG,CAAC,CAAC;AACL,EAAE,cAAc,IAAI,QAAQ,CAAC;AAC7B,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;AACrC,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,MAAM,EAAE,UAAU,EAAE;AACxB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,GAAG,OAAO;AACd,IAAI,EAAE;AACN,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACvC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,GAAG,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACzC,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxD,GAAG;AACH,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5B,IAAI,SAAS,CAAC,gBAAgB,EAAE,2EAA2E,CAAC,CAAC;AAC7G,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC7B,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;AAClF,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO;AAChC,GAAG,GAAG,IAAI,CAAC,CAAC;AACZ,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC9D,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM;AAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACxB,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;AACpD,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,MAAM;AACjB,MAAM,CAAC;AACP,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACzC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE;AACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACpC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,KAAK;AACnC,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACzD,MAAM,OAAO,GAAG;AAChB,QAAQ,OAAO,EAAE,OAAO;AACxB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,MAAM,GAAG,OAAO;AAChB,MAAM,IAAI;AACV,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACI,SAAS,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;AACjD,EAAE,MAAM,qBAAqB,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AACxD,EAAE,MAAM,GAAG,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK;AAC/D,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AACxE,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;AAChB,IAAI,OAAO;AACX,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAC5C,EAAE,IAAI,CAAC,EAAE;AACT,IAAI,OAAO;AACX,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACjD,EAAE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC;AAC3C,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvC,EAAE,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAM,CAAC;AAC3C,EAAE,IAAI,GAAG,GAAG,CAAC;AACb,IAAI,OAAO;AACX,EAAE,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAClC,IAAI,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,GAAG,QAAQ,CAAC;AACtF,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AACjC,GAAG;AACH,CAAC;AACM,SAAS,QAAQ,GAAG;AAC3B,EAAE,KAAK,MAAM,qBAAqB,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AACpE,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK;AAC9C,MAAM,CAAC;AACP,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACzC,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI;;;;"}
|
|
1
|
+
{"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { useZIndex } from '@element-plus/hooks'\nimport { debugWarn, isElement, isString, isVNode } from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> & { _context: AppContext | null } =\n function (options = {}, context: AppContext | null = null) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const { nextZIndex } = useZIndex()\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n ...options,\n zIndex: nextZIndex(),\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n vm.appContext = context ?? notify._context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n }\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\nnotify._context = null\n\nexport default notify as Notify\n"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,6 @@ export declare const ElPopconfirm: import("element-plus/es/utils").SFCWithInstal
|
|
|
71
71
|
};
|
|
72
72
|
tooltipRef: import("vue").Ref<any>;
|
|
73
73
|
hidePopper: () => void;
|
|
74
|
-
handleCallback: () => void;
|
|
75
74
|
confirm: (e: Event) => void;
|
|
76
75
|
cancel: (e: Event) => void;
|
|
77
76
|
finalConfirmButtonText: import("vue").ComputedRef<string>;
|
|
@@ -71,7 +71,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
71
|
};
|
|
72
72
|
tooltipRef: import("vue").Ref<any>;
|
|
73
73
|
hidePopper: () => void;
|
|
74
|
-
handleCallback: () => void;
|
|
75
74
|
confirm: (e: Event) => void;
|
|
76
75
|
cancel: (e: Event) => void;
|
|
77
76
|
finalConfirmButtonText: import("vue").ComputedRef<string>;
|
|
@@ -23,18 +23,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
23
23
|
var _a, _b;
|
|
24
24
|
(_b = (_a = tooltipRef.value) == null ? void 0 : _a.onClose) == null ? void 0 : _b.call(_a);
|
|
25
25
|
};
|
|
26
|
-
const handleCallback = () => {
|
|
27
|
-
hidePopper();
|
|
28
|
-
};
|
|
29
26
|
const confirm = (e) => {
|
|
30
27
|
var _a;
|
|
31
28
|
(_a = props.onConfirm) == null ? void 0 : _a.call(props, e);
|
|
32
|
-
|
|
29
|
+
hidePopper();
|
|
33
30
|
};
|
|
34
31
|
const cancel = (e) => {
|
|
35
32
|
var _a;
|
|
36
33
|
(_a = props.onCancel) == null ? void 0 : _a.call(props, e);
|
|
37
|
-
|
|
34
|
+
hidePopper();
|
|
38
35
|
};
|
|
39
36
|
const finalConfirmButtonText = computed(() => props.confirmButtonText || t("el.popconfirm.confirmButtonText"));
|
|
40
37
|
const finalCancelButtonText = computed(() => props.cancelButtonText || t("el.popconfirm.cancelButtonText"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"teleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button\n size=\"small\"\n :type=\"cancelButtonType === 'text' ? '' : cancelButtonType\"\n :text=\"cancelButtonType === 'text'\"\n @click=\"cancel\"\n >\n {{ finalCancelButtonText }}\n </el-button>\n <el-button\n size=\"small\"\n :type=\"confirmButtonType === 'text' ? '' : confirmButtonType\"\n :text=\"confirmButtonType === 'text'\"\n @click=\"confirm\"\n >\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopconfirm',\n})\n\nconst props = defineProps(popconfirmProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('popconfirm')\nconst tooltipRef = ref<TooltipInstance>()\n\nconst hidePopper = () => {\n tooltipRef.value?.onClose?.()\n}\n\nconst
|
|
1
|
+
{"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"teleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button\n size=\"small\"\n :type=\"cancelButtonType === 'text' ? '' : cancelButtonType\"\n :text=\"cancelButtonType === 'text'\"\n @click=\"cancel\"\n >\n {{ finalCancelButtonText }}\n </el-button>\n <el-button\n size=\"small\"\n :type=\"confirmButtonType === 'text' ? '' : confirmButtonType\"\n :text=\"confirmButtonType === 'text'\"\n @click=\"confirm\"\n >\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopconfirm',\n})\n\nconst props = defineProps(popconfirmProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('popconfirm')\nconst tooltipRef = ref<TooltipInstance>()\n\nconst hidePopper = () => {\n tooltipRef.value?.onClose?.()\n}\n\nconst confirm = (e: Event) => {\n props.onConfirm?.(e)\n hidePopper()\n}\nconst cancel = (e: Event) => {\n props.onCancel?.(e)\n hidePopper()\n}\n\nconst finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n)\nconst finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiEA,IAAA,MAAA,EAAA,MAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AAEA,IAAA,MAAA,aAAA,MAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAEA,KAAA,CAAA;AACA,IAAA,MAAA,iBAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MACA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,UAAA,EAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,CAAA,CAAA,KAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAEA,MAAA,CAAA,EAAA,0BAAA,GACA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAEA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -139,6 +139,12 @@ export declare const ElPopover: import("element-plus/es/utils").SFCWithInstall<i
|
|
|
139
139
|
readonly autoClose: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
140
140
|
readonly showArrow: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
141
141
|
readonly persistent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
142
|
+
readonly 'onUpdate:visible': {
|
|
143
|
+
readonly type: import("vue").PropType<(visible: boolean) => void>;
|
|
144
|
+
readonly required: false;
|
|
145
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
146
|
+
__epPropKey: true;
|
|
147
|
+
};
|
|
142
148
|
}, {
|
|
143
149
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
144
150
|
readonly trigger: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => ("focus" | "hover" | "click" | "contextmenu" | ("focus" | "hover" | "click" | "contextmenu")[]) & {}) | (() => "focus" | "hover" | "click" | "contextmenu" | ("focus" | "hover" | "click" | "contextmenu")[]) | ((new (...args: any[]) => ("focus" | "hover" | "click" | "contextmenu" | ("focus" | "hover" | "click" | "contextmenu")[]) & {}) | (() => "focus" | "hover" | "click" | "contextmenu" | ("focus" | "hover" | "click" | "contextmenu")[]))[], unknown, unknown, "hover", boolean>;
|
|
@@ -280,6 +286,12 @@ export declare const ElPopover: import("element-plus/es/utils").SFCWithInstall<i
|
|
|
280
286
|
readonly autoClose: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
281
287
|
readonly showArrow: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
282
288
|
readonly persistent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
289
|
+
readonly 'onUpdate:visible': {
|
|
290
|
+
readonly type: import("vue").PropType<(visible: boolean) => void>;
|
|
291
|
+
readonly required: false;
|
|
292
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
293
|
+
__epPropKey: true;
|
|
294
|
+
};
|
|
283
295
|
}>> & {
|
|
284
296
|
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
285
297
|
"onBefore-enter"?: (() => any) | undefined;
|
|
@@ -288,6 +300,8 @@ export declare const ElPopover: import("element-plus/es/utils").SFCWithInstall<i
|
|
|
288
300
|
"onAfter-leave"?: (() => any) | undefined;
|
|
289
301
|
}>>;
|
|
290
302
|
emit: ((event: "update:visible", value: boolean) => void) & ((event: "before-enter") => void) & ((event: "before-leave") => void) & ((event: "after-enter") => void) & ((event: "after-leave") => void);
|
|
303
|
+
updateEventKeyRaw: "onUpdate:visible";
|
|
304
|
+
onUpdateVisible: import("vue").ComputedRef<(((visible: boolean) => void) & ((value: boolean) => any)) | undefined>;
|
|
291
305
|
ns: {
|
|
292
306
|
namespace: import("vue").ComputedRef<string>;
|
|
293
307
|
b: (blockSuffix?: string) => string;
|
|
@@ -5141,6 +5155,12 @@ export declare const ElPopover: import("element-plus/es/utils").SFCWithInstall<i
|
|
|
5141
5155
|
readonly autoClose: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
5142
5156
|
readonly showArrow: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5143
5157
|
readonly persistent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5158
|
+
readonly 'onUpdate:visible': {
|
|
5159
|
+
readonly type: import("vue").PropType<(visible: boolean) => void>;
|
|
5160
|
+
readonly required: false;
|
|
5161
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
5162
|
+
__epPropKey: true;
|
|
5163
|
+
};
|
|
5144
5164
|
}>> & {
|
|
5145
5165
|
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
5146
5166
|
"onBefore-enter"?: (() => any) | undefined;
|