@element-plus/nightly 0.0.20260121 → 0.0.20260122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +7123 -8339
- package/dist/index.full.min.js +19 -19
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +23 -23
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +7121 -8337
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix.mjs +1 -1
- package/es/components/affix/src/affix.vue2.mjs +2 -9
- package/es/components/affix/src/affix.vue2.mjs.map +1 -1
- package/es/components/alert/src/alert.vue2.mjs +2 -11
- package/es/components/alert/src/alert.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link.vue2.mjs +2 -4
- package/es/components/anchor/src/anchor-link.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor.vue2.mjs +2 -11
- package/es/components/anchor/src/anchor.vue2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue2.mjs +5 -62
- package/es/components/autocomplete/src/autocomplete.vue2.mjs.map +1 -1
- package/es/components/avatar/src/avatar.vue2.mjs +2 -10
- package/es/components/avatar/src/avatar.vue2.mjs.map +1 -1
- package/es/components/backtop/src/backtop.vue2.mjs +2 -7
- package/es/components/backtop/src/backtop.vue2.mjs.map +1 -1
- package/es/components/badge/src/badge.vue2.mjs +2 -12
- package/es/components/badge/src/badge.vue2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.vue2.mjs +2 -4
- package/es/components/breadcrumb/src/breadcrumb-item.vue2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.vue2.mjs +2 -4
- package/es/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
- package/es/components/button/src/button-group.vue2.mjs +2 -5
- package/es/components/button/src/button-group.vue2.mjs.map +1 -1
- package/es/components/button/src/button.vue2.mjs +3 -23
- package/es/components/button/src/button.vue2.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue2.mjs +2 -7
- package/es/components/calendar/src/calendar.vue2.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue2.mjs +2 -7
- package/es/components/calendar/src/date-table.vue2.mjs.map +1 -1
- package/es/components/calendar/src/select-controller.vue2.mjs +2 -5
- package/es/components/calendar/src/select-controller.vue2.mjs.map +1 -1
- package/es/components/card/src/card.vue2.mjs +2 -9
- package/es/components/card/src/card.vue2.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item.vue2.mjs +2 -4
- package/es/components/carousel/src/carousel-item.vue2.mjs.map +1 -1
- package/es/components/carousel/src/carousel.vue2.mjs +2 -16
- package/es/components/carousel/src/carousel.vue2.mjs.map +1 -1
- package/es/components/cascader/src/cascader.vue2.mjs +4 -45
- package/es/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue2.mjs +2 -8
- package/es/components/cascader-panel/src/index.vue2.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag.vue2.mjs +2 -6
- package/es/components/check-tag/src/check-tag.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue2.mjs +3 -22
- package/es/components/checkbox/src/checkbox-button.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue2.mjs +2 -16
- package/es/components/checkbox/src/checkbox-group.vue2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.mjs +1 -1
- package/es/components/checkbox/src/checkbox.vue2.mjs +3 -22
- package/es/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
- package/es/components/col/src/col.vue2.mjs +2 -12
- package/es/components/col/src/col.vue2.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item.vue2.mjs +3 -8
- package/es/components/collapse/src/collapse-item.vue2.mjs.map +1 -1
- package/es/components/collapse/src/collapse.vue2.mjs +2 -7
- package/es/components/collapse/src/collapse.vue2.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue2.mjs +3 -22
- package/es/components/color-picker/src/color-picker.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel.vue2.mjs +2 -10
- package/es/components/color-picker-panel/src/color-picker-panel.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/alpha-slider.vue2.mjs +2 -5
- package/es/components/color-picker-panel/src/components/alpha-slider.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/hue-slider.vue2.mjs +2 -5
- package/es/components/color-picker-panel/src/components/hue-slider.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/predefine.vue2.mjs +2 -6
- package/es/components/color-picker-panel/src/components/predefine.vue2.mjs.map +1 -1
- package/es/components/color-picker-panel/src/components/sv-panel.vue2.mjs +2 -4
- package/es/components/color-picker-panel/src/components/sv-panel.vue2.mjs.map +1 -1
- package/es/components/countdown/src/countdown.vue2.mjs +2 -9
- package/es/components/countdown/src/countdown.vue2.mjs.map +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.mjs +8 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/description.vue2.mjs +2 -9
- package/es/components/descriptions/src/description.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.vue2.mjs +2 -3
- package/es/components/descriptions/src/descriptions-row.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.vue2.mjs +3 -16
- package/es/components/dialog/src/dialog-content.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue2.mjs +3 -35
- package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
- package/es/components/divider/src/divider.vue2.mjs +2 -5
- package/es/components/divider/src/divider.vue2.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs +3 -48
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/empty/src/empty.vue2.mjs +2 -5
- package/es/components/empty/src/empty.vue2.mjs.map +1 -1
- package/es/components/form/src/form-item.vue2.mjs +2 -14
- package/es/components/form/src/form-item.vue2.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs +2 -19
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/icon/src/icon.vue2.mjs +2 -4
- package/es/components/icon/src/icon.vue2.mjs.map +1 -1
- package/es/components/image/src/image.vue2.mjs +2 -21
- package/es/components/image/src/image.vue2.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue2.mjs +2 -16
- package/es/components/image-viewer/src/image-viewer.vue2.mjs.map +1 -1
- package/es/components/input/src/input.mjs +1 -1
- package/es/components/input/src/input.vue2.mjs +3 -38
- package/es/components/input/src/input.vue2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue2.mjs +2 -23
- package/es/components/input-number/src/input-number.vue2.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag.vue2.mjs +3 -31
- package/es/components/input-tag/src/input-tag.vue2.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs +2 -9
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown.vue2.mjs +2 -8
- package/es/components/mention/src/mention-dropdown.vue2.mjs.map +1 -1
- package/es/components/mention/src/mention.vue2.mjs +5 -62
- package/es/components/mention/src/mention.vue2.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group.vue2.mjs +2 -3
- package/es/components/menu/src/menu-item-group.vue2.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue2.mjs +2 -6
- package/es/components/menu/src/menu-item.vue2.mjs.map +1 -1
- package/es/components/message/src/message.vue2.mjs +3 -20
- package/es/components/message/src/message.vue2.mjs.map +1 -1
- package/es/components/notification/src/notification.vue2.mjs +3 -20
- package/es/components/notification/src/notification.vue2.mjs.map +1 -1
- package/es/components/page-header/src/page-header.vue2.mjs +2 -7
- package/es/components/page-header/src/page-header.vue2.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue2.mjs +2 -19
- package/es/components/popconfirm/src/popconfirm.vue2.mjs.map +1 -1
- package/es/components/popover/src/popover.vue2.mjs +3 -28
- package/es/components/popover/src/popover.vue2.mjs.map +1 -1
- package/es/components/popper/src/content.mjs +1 -1
- package/es/components/popper/src/content.vue2.mjs +3 -30
- package/es/components/popper/src/content.vue2.mjs.map +1 -1
- package/es/components/popper/src/popper.vue2.mjs +2 -3
- package/es/components/popper/src/popper.vue2.mjs.map +1 -1
- package/es/components/popper/src/trigger.vue2.mjs +2 -13
- package/es/components/popper/src/trigger.vue2.mjs.map +1 -1
- package/es/components/progress/src/progress.vue2.mjs +2 -16
- package/es/components/progress/src/progress.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio-button.vue2.mjs +3 -12
- package/es/components/radio/src/radio-button.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio-group.vue2.mjs +3 -18
- package/es/components/radio/src/radio-group.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio.vue2.mjs +3 -13
- package/es/components/radio/src/radio.vue2.mjs.map +1 -1
- package/es/components/rate/src/rate.vue2.mjs +2 -31
- package/es/components/rate/src/rate.vue2.mjs.map +1 -1
- package/es/components/result/src/result.vue2.mjs +2 -6
- package/es/components/result/src/result.vue2.mjs.map +1 -1
- package/es/components/row/src/row.vue2.mjs +2 -6
- package/es/components/row/src/row.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/bar.vue2.mjs +2 -4
- package/es/components/scrollbar/src/bar.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue2.mjs +2 -20
- package/es/components/scrollbar/src/scrollbar.vue2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb.vue2.mjs +2 -7
- package/es/components/scrollbar/src/thumb.vue2.mjs.map +1 -1
- package/es/components/segmented/src/segmented.vue2.mjs +2 -14
- package/es/components/segmented/src/segmented.vue2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item.vue2.mjs +2 -3
- package/es/components/skeleton/src/skeleton-item.vue2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.vue2.mjs +2 -7
- package/es/components/skeleton/src/skeleton.vue2.mjs.map +1 -1
- package/es/components/splitter/src/split-panel.vue2.mjs +2 -8
- package/es/components/splitter/src/split-panel.vue2.mjs.map +1 -1
- package/es/components/splitter/src/splitter.vue2.mjs +2 -5
- package/es/components/splitter/src/splitter.vue2.mjs.map +1 -1
- package/es/components/statistic/src/statistic.vue2.mjs +2 -11
- package/es/components/statistic/src/statistic.vue2.mjs.map +1 -1
- package/es/components/steps/src/item.vue2.mjs +2 -6
- package/es/components/steps/src/item.vue2.mjs.map +1 -1
- package/es/components/steps/src/steps.vue2.mjs +2 -10
- package/es/components/steps/src/steps.vue2.mjs.map +1 -1
- package/es/components/switch/src/switch.vue2.mjs +2 -23
- package/es/components/switch/src/switch.vue2.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue2.mjs +2 -4
- package/es/components/tabs/src/tab-bar.vue2.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue2.mjs +2 -7
- package/es/components/tabs/src/tab-pane.vue2.mjs.map +1 -1
- package/es/components/tag/src/tag.vue2.mjs +2 -11
- package/es/components/tag/src/tag.vue2.mjs.map +1 -1
- package/es/components/text/src/text.vue2.mjs +2 -7
- package/es/components/text/src/text.vue2.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue2.mjs +2 -24
- package/es/components/time-select/src/time-select.vue2.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item.vue2.mjs +2 -11
- package/es/components/timeline/src/timeline-item.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/content.vue2.mjs +3 -40
- package/es/components/tooltip/src/content.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue2.mjs +3 -64
- package/es/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.vue2.mjs +3 -19
- package/es/components/tooltip/src/trigger.vue2.mjs.map +1 -1
- package/es/components/tour/src/content.vue2.mjs +2 -9
- package/es/components/tour/src/content.vue2.mjs.map +1 -1
- package/es/components/tour/src/mask.vue2.mjs +2 -7
- package/es/components/tour/src/mask.vue2.mjs.map +1 -1
- package/es/components/tour/src/step.vue2.mjs +2 -16
- package/es/components/tour/src/step.vue2.mjs.map +1 -1
- package/es/components/tour/src/tour.vue2.mjs +2 -18
- package/es/components/tour/src/tour.vue2.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue2.mjs +2 -17
- package/es/components/transfer/src/transfer-panel.vue2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue2.mjs +2 -21
- package/es/components/transfer/src/transfer.vue2.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue2.mjs +2 -13
- package/es/components/tree-v2/src/tree-node.vue2.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue2.mjs +2 -30
- package/es/components/tree-v2/src/tree.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-content.vue2.mjs +3 -28
- package/es/components/upload/src/upload-content.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger.vue2.mjs +2 -5
- package/es/components/upload/src/upload-dragger.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue2.mjs +2 -10
- package/es/components/upload/src/upload-list.vue2.mjs.map +1 -1
- package/es/components/upload/src/upload.vue2.mjs +3 -31
- package/es/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/components/watermark/src/watermark.vue2.mjs +2 -11
- package/es/components/watermark/src/watermark.vue2.mjs.map +1 -1
- package/es/hooks/use-model-toggle/index.mjs +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.js +1 -1
- package/lib/components/affix/src/affix.vue2.js +2 -9
- package/lib/components/affix/src/affix.vue2.js.map +1 -1
- package/lib/components/alert/src/alert.vue2.js +2 -11
- package/lib/components/alert/src/alert.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor-link.vue2.js +2 -4
- package/lib/components/anchor/src/anchor-link.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor.vue2.js +2 -11
- package/lib/components/anchor/src/anchor.vue2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue2.js +2 -59
- package/lib/components/autocomplete/src/autocomplete.vue2.js.map +1 -1
- package/lib/components/avatar/src/avatar.vue2.js +2 -10
- package/lib/components/avatar/src/avatar.vue2.js.map +1 -1
- package/lib/components/backtop/src/backtop.vue2.js +2 -7
- package/lib/components/backtop/src/backtop.vue2.js.map +1 -1
- package/lib/components/badge/src/badge.vue2.js +2 -12
- package/lib/components/badge/src/badge.vue2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item.vue2.js +2 -4
- package/lib/components/breadcrumb/src/breadcrumb-item.vue2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.vue2.js +2 -4
- package/lib/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
- package/lib/components/button/src/button-group.vue2.js +2 -5
- package/lib/components/button/src/button-group.vue2.js.map +1 -1
- package/lib/components/button/src/button.vue2.js +2 -22
- package/lib/components/button/src/button.vue2.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue2.js +2 -7
- package/lib/components/calendar/src/calendar.vue2.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue2.js +2 -7
- package/lib/components/calendar/src/date-table.vue2.js.map +1 -1
- package/lib/components/calendar/src/select-controller.vue2.js +2 -5
- package/lib/components/calendar/src/select-controller.vue2.js.map +1 -1
- package/lib/components/card/src/card.vue2.js +2 -9
- package/lib/components/card/src/card.vue2.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.vue2.js +2 -4
- package/lib/components/carousel/src/carousel-item.vue2.js.map +1 -1
- package/lib/components/carousel/src/carousel.vue2.js +2 -16
- package/lib/components/carousel/src/carousel.vue2.js.map +1 -1
- package/lib/components/cascader/src/cascader.vue2.js +2 -43
- package/lib/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue2.js +2 -8
- package/lib/components/cascader-panel/src/index.vue2.js.map +1 -1
- package/lib/components/check-tag/src/check-tag.vue2.js +2 -6
- package/lib/components/check-tag/src/check-tag.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue2.js +2 -21
- package/lib/components/checkbox/src/checkbox-button.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue2.js +2 -16
- package/lib/components/checkbox/src/checkbox-group.vue2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.js +1 -1
- package/lib/components/checkbox/src/checkbox.vue2.js +2 -21
- package/lib/components/checkbox/src/checkbox.vue2.js.map +1 -1
- package/lib/components/col/src/col.vue2.js +2 -12
- package/lib/components/col/src/col.vue2.js.map +1 -1
- package/lib/components/collapse/src/collapse-item.vue2.js +2 -7
- package/lib/components/collapse/src/collapse-item.vue2.js.map +1 -1
- package/lib/components/collapse/src/collapse.vue2.js +2 -7
- package/lib/components/collapse/src/collapse.vue2.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue2.js +2 -21
- package/lib/components/color-picker/src/color-picker.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel.vue2.js +2 -10
- package/lib/components/color-picker-panel/src/color-picker-panel.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/alpha-slider.vue2.js +2 -5
- package/lib/components/color-picker-panel/src/components/alpha-slider.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/hue-slider.vue2.js +2 -5
- package/lib/components/color-picker-panel/src/components/hue-slider.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/predefine.vue2.js +2 -6
- package/lib/components/color-picker-panel/src/components/predefine.vue2.js.map +1 -1
- package/lib/components/color-picker-panel/src/components/sv-panel.vue2.js +2 -4
- package/lib/components/color-picker-panel/src/components/sv-panel.vue2.js.map +1 -1
- package/lib/components/countdown/src/countdown.vue2.js +2 -9
- package/lib/components/countdown/src/countdown.vue2.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.js +8 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue2.js.map +1 -1
- package/lib/components/descriptions/src/description.vue2.js +2 -9
- package/lib/components/descriptions/src/description.vue2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.vue2.js +2 -3
- package/lib/components/descriptions/src/descriptions-row.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.vue2.js +2 -15
- package/lib/components/dialog/src/dialog-content.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue2.js +2 -34
- package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
- package/lib/components/divider/src/divider.vue2.js +2 -5
- package/lib/components/divider/src/divider.vue2.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +2 -47
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/empty/src/empty.vue2.js +2 -5
- package/lib/components/empty/src/empty.vue2.js.map +1 -1
- package/lib/components/form/src/form-item.vue2.js +2 -14
- package/lib/components/form/src/form-item.vue2.js.map +1 -1
- package/lib/components/form/src/form.vue2.js +2 -19
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/icon/src/icon.vue2.js +2 -4
- package/lib/components/icon/src/icon.vue2.js.map +1 -1
- package/lib/components/image/src/image.vue2.js +2 -21
- package/lib/components/image/src/image.vue2.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue2.js +2 -16
- package/lib/components/image-viewer/src/image-viewer.vue2.js.map +1 -1
- package/lib/components/input/src/input.js +1 -1
- package/lib/components/input/src/input.vue2.js +2 -37
- package/lib/components/input/src/input.vue2.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue2.js +2 -23
- package/lib/components/input-number/src/input-number.vue2.js.map +1 -1
- package/lib/components/input-tag/src/input-tag.vue2.js +2 -30
- package/lib/components/input-tag/src/input-tag.vue2.js.map +1 -1
- package/lib/components/link/src/link.vue2.js +2 -9
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown.vue2.js +2 -8
- package/lib/components/mention/src/mention-dropdown.vue2.js.map +1 -1
- package/lib/components/mention/src/mention.vue2.js +2 -59
- package/lib/components/mention/src/mention.vue2.js.map +1 -1
- package/lib/components/menu/src/menu-item-group.vue2.js +2 -3
- package/lib/components/menu/src/menu-item-group.vue2.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue2.js +2 -6
- package/lib/components/menu/src/menu-item.vue2.js.map +1 -1
- package/lib/components/message/src/message.vue2.js +2 -19
- package/lib/components/message/src/message.vue2.js.map +1 -1
- package/lib/components/notification/src/notification.vue2.js +2 -19
- package/lib/components/notification/src/notification.vue2.js.map +1 -1
- package/lib/components/page-header/src/page-header.vue2.js +2 -7
- package/lib/components/page-header/src/page-header.vue2.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue2.js +2 -19
- package/lib/components/popconfirm/src/popconfirm.vue2.js.map +1 -1
- package/lib/components/popover/src/popover.vue2.js +2 -27
- package/lib/components/popover/src/popover.vue2.js.map +1 -1
- package/lib/components/popper/src/content.js +1 -1
- package/lib/components/popper/src/content.vue2.js +2 -29
- package/lib/components/popper/src/content.vue2.js.map +1 -1
- package/lib/components/popper/src/popper.vue2.js +2 -3
- package/lib/components/popper/src/popper.vue2.js.map +1 -1
- package/lib/components/popper/src/trigger.vue2.js +2 -13
- package/lib/components/popper/src/trigger.vue2.js.map +1 -1
- package/lib/components/progress/src/progress.vue2.js +2 -16
- package/lib/components/progress/src/progress.vue2.js.map +1 -1
- package/lib/components/radio/src/radio-button.vue2.js +2 -11
- package/lib/components/radio/src/radio-button.vue2.js.map +1 -1
- package/lib/components/radio/src/radio-group.vue2.js +2 -17
- package/lib/components/radio/src/radio-group.vue2.js.map +1 -1
- package/lib/components/radio/src/radio.vue2.js +2 -12
- package/lib/components/radio/src/radio.vue2.js.map +1 -1
- package/lib/components/rate/src/rate.vue2.js +2 -31
- package/lib/components/rate/src/rate.vue2.js.map +1 -1
- package/lib/components/result/src/result.vue2.js +2 -6
- package/lib/components/result/src/result.vue2.js.map +1 -1
- package/lib/components/row/src/row.vue2.js +2 -6
- package/lib/components/row/src/row.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/bar.vue2.js +2 -4
- package/lib/components/scrollbar/src/bar.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue2.js +2 -20
- package/lib/components/scrollbar/src/scrollbar.vue2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb.vue2.js +2 -7
- package/lib/components/scrollbar/src/thumb.vue2.js.map +1 -1
- package/lib/components/segmented/src/segmented.vue2.js +2 -14
- package/lib/components/segmented/src/segmented.vue2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item.vue2.js +2 -3
- package/lib/components/skeleton/src/skeleton-item.vue2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.vue2.js +2 -7
- package/lib/components/skeleton/src/skeleton.vue2.js.map +1 -1
- package/lib/components/splitter/src/split-panel.vue2.js +2 -8
- package/lib/components/splitter/src/split-panel.vue2.js.map +1 -1
- package/lib/components/splitter/src/splitter.vue2.js +2 -5
- package/lib/components/splitter/src/splitter.vue2.js.map +1 -1
- package/lib/components/statistic/src/statistic.vue2.js +2 -11
- package/lib/components/statistic/src/statistic.vue2.js.map +1 -1
- package/lib/components/steps/src/item.vue2.js +2 -6
- package/lib/components/steps/src/item.vue2.js.map +1 -1
- package/lib/components/steps/src/steps.vue2.js +2 -10
- package/lib/components/steps/src/steps.vue2.js.map +1 -1
- package/lib/components/switch/src/switch.vue2.js +2 -23
- package/lib/components/switch/src/switch.vue2.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue2.js +2 -4
- package/lib/components/tabs/src/tab-bar.vue2.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue2.js +2 -7
- package/lib/components/tabs/src/tab-pane.vue2.js.map +1 -1
- package/lib/components/tag/src/tag.vue2.js +2 -11
- package/lib/components/tag/src/tag.vue2.js.map +1 -1
- package/lib/components/text/src/text.vue2.js +2 -7
- package/lib/components/text/src/text.vue2.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue2.js +2 -24
- package/lib/components/time-select/src/time-select.vue2.js.map +1 -1
- package/lib/components/timeline/src/timeline-item.vue2.js +2 -11
- package/lib/components/timeline/src/timeline-item.vue2.js.map +1 -1
- package/lib/components/tooltip/src/content.vue2.js +2 -39
- package/lib/components/tooltip/src/content.vue2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue2.js +2 -63
- package/lib/components/tooltip/src/tooltip.vue2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.vue2.js +2 -18
- package/lib/components/tooltip/src/trigger.vue2.js.map +1 -1
- package/lib/components/tour/src/content.vue2.js +2 -9
- package/lib/components/tour/src/content.vue2.js.map +1 -1
- package/lib/components/tour/src/mask.vue2.js +2 -7
- package/lib/components/tour/src/mask.vue2.js.map +1 -1
- package/lib/components/tour/src/step.vue2.js +2 -16
- package/lib/components/tour/src/step.vue2.js.map +1 -1
- package/lib/components/tour/src/tour.vue2.js +2 -18
- package/lib/components/tour/src/tour.vue2.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue2.js +2 -17
- package/lib/components/transfer/src/transfer-panel.vue2.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue2.js +2 -21
- package/lib/components/transfer/src/transfer.vue2.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue2.js +2 -13
- package/lib/components/tree-v2/src/tree-node.vue2.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue2.js +2 -30
- package/lib/components/tree-v2/src/tree.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-content.vue2.js +2 -27
- package/lib/components/upload/src/upload-content.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-dragger.vue2.js +2 -5
- package/lib/components/upload/src/upload-dragger.vue2.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue2.js +2 -10
- package/lib/components/upload/src/upload-list.vue2.js.map +1 -1
- package/lib/components/upload/src/upload.vue2.js +2 -30
- package/lib/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/components/watermark/src/watermark.vue2.js +2 -11
- package/lib/components/watermark/src/watermark.vue2.js.map +1 -1
- package/lib/hooks/use-model-toggle/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div>\n <upload-list\n v-if=\"isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n <template #append>\n <upload-content ref=\"uploadRef\" v-bind=\"uploadContentProps\">\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n </template>\n </upload-list>\n\n <upload-content\n v-if=\"!isPictureCard || (isPictureCard && !showFileList)\"\n ref=\"uploadRef\"\n v-bind=\"uploadContentProps\"\n >\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n\n <slot v-if=\"$slots.trigger\" />\n <slot name=\"tip\" />\n <upload-list\n v-if=\"!isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n </upload-list>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, provide, shallowRef, toRef } from 'vue'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadContextKey } from './constants'\nimport UploadList from './upload-list.vue'\nimport UploadContent from './upload-content.vue'\nimport { useHandlers } from './use-handlers'\nimport { uploadPropsDefaults } from './upload'\n\nimport type { UploadProps } from './upload'\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\n\ndefineOptions({\n name: 'ElUpload',\n})\n\nconst props = withDefaults(defineProps<UploadProps>(), uploadPropsDefaults)\n\nconst disabled = useFormDisabled()\n\nconst uploadRef = shallowRef<UploadContentInstance>()\nconst {\n abort,\n submit,\n clearFiles,\n uploadFiles,\n handleStart,\n handleError,\n handleRemove,\n handleSuccess,\n handleProgress,\n revokeFileObjectURL,\n} = useHandlers(props, uploadRef)\n\nconst isPictureCard = computed(() => props.listType === 'picture-card')\n\nconst uploadContentProps = computed<UploadContentProps>(() => ({\n ...props,\n fileList: uploadFiles.value,\n onStart: handleStart,\n onProgress: handleProgress,\n onSuccess: handleSuccess,\n onError: handleError,\n onRemove: handleRemove,\n}))\n\nonBeforeUnmount(() => {\n uploadFiles.value.forEach(revokeFileObjectURL)\n})\n\nprovide(uploadContextKey, {\n accept: toRef(props, 'accept'),\n})\n\ndefineExpose({\n /** @description cancel upload request */\n abort,\n /** @description upload the file list manually */\n submit,\n /** @description clear the file list */\n clearFiles,\n /** @description select the file manually */\n handleStart,\n /** @description remove the file manually */\n handleRemove,\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","UploadList","_unref","_createVNode","UploadContent","_mergeProps","$slots","_renderSlot","_openBlock"],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div>\n <upload-list\n v-if=\"isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n <template #append>\n <upload-content ref=\"uploadRef\" v-bind=\"uploadContentProps\">\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n </template>\n </upload-list>\n\n <upload-content\n v-if=\"!isPictureCard || (isPictureCard && !showFileList)\"\n ref=\"uploadRef\"\n v-bind=\"uploadContentProps\"\n >\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n\n <slot v-if=\"$slots.trigger\" />\n <slot name=\"tip\" />\n <upload-list\n v-if=\"!isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n </upload-list>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, provide, shallowRef, toRef } from 'vue'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadContextKey } from './constants'\nimport UploadList from './upload-list.vue'\nimport UploadContent from './upload-content.vue'\nimport { useHandlers } from './use-handlers'\nimport { uploadPropsDefaults } from './upload'\n\nimport type { UploadProps } from './upload'\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\n\ndefineOptions({\n name: 'ElUpload',\n})\n\nconst props = withDefaults(defineProps<UploadProps>(), uploadPropsDefaults)\n\nconst disabled = useFormDisabled()\n\nconst uploadRef = shallowRef<UploadContentInstance>()\nconst {\n abort,\n submit,\n clearFiles,\n uploadFiles,\n handleStart,\n handleError,\n handleRemove,\n handleSuccess,\n handleProgress,\n revokeFileObjectURL,\n} = useHandlers(props, uploadRef)\n\nconst isPictureCard = computed(() => props.listType === 'picture-card')\n\nconst uploadContentProps = computed<UploadContentProps>(() => ({\n ...props,\n fileList: uploadFiles.value,\n onStart: handleStart,\n onProgress: handleProgress,\n onSuccess: handleSuccess,\n onError: handleError,\n onRemove: handleRemove,\n}))\n\nonBeforeUnmount(() => {\n uploadFiles.value.forEach(revokeFileObjectURL)\n})\n\nprovide(uploadContextKey, {\n accept: toRef(props, 'accept'),\n})\n\ndefineExpose({\n /** @description cancel upload request */\n abort,\n /** @description upload the file list manually */\n submit,\n /** @description clear the file list */\n clearFiles,\n /** @description select the file manually */\n handleStart,\n /** @description remove the file manually */\n handleRemove,\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","UploadList","_unref","_createVNode","UploadContent","_mergeProps","$slots","_renderSlot","_openBlock"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { watermarkProps } from './watermark.mjs';
|
|
1
2
|
import { defineComponent, computed, shallowRef, ref, onMounted, watch, onBeforeUnmount, createElementBlock, openBlock, normalizeStyle, renderSlot } from 'vue';
|
|
2
3
|
import { useMutationObserver } from '@vueuse/core';
|
|
3
4
|
import { reRendering, getPixelRatio, getStyleStr } from './utils.mjs';
|
|
@@ -10,17 +11,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
10
11
|
name: "ElWatermark"
|
|
11
12
|
},
|
|
12
13
|
__name: "watermark",
|
|
13
|
-
props:
|
|
14
|
-
zIndex: { type: Number, required: false, default: 9 },
|
|
15
|
-
rotate: { type: Number, required: false, default: -22 },
|
|
16
|
-
width: { type: Number, required: false },
|
|
17
|
-
height: { type: Number, required: false },
|
|
18
|
-
image: { type: String, required: false },
|
|
19
|
-
content: { type: [String, Array], required: false, default: "Element Plus" },
|
|
20
|
-
font: { type: Object, required: false },
|
|
21
|
-
gap: { type: Array, required: false, default: () => [100, 100] },
|
|
22
|
-
offset: { type: Array, required: false }
|
|
23
|
-
},
|
|
14
|
+
props: watermarkProps,
|
|
24
15
|
setup(__props) {
|
|
25
16
|
const style = {
|
|
26
17
|
position: "relative"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watermark.vue2.mjs","sources":["../../../../../../packages/components/watermark/src/watermark.vue"],"sourcesContent":["<template>\n <div ref=\"containerRef\" :style=\"[style]\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { useMutationObserver } from '@vueuse/core'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getPixelRatio, getStyleStr, reRendering } from './utils'\nimport useClips from './useClips'\n\nimport type { WatermarkProps } from './watermark'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElWatermark',\n})\n\nconst style: CSSProperties = {\n position: 'relative',\n}\n\nconst props = withDefaults(defineProps<WatermarkProps>(), {\n zIndex: 9,\n rotate: -22,\n content: 'Element Plus',\n gap: () => [100, 100],\n})\nconst fontGap = computed(() => props.font?.fontGap ?? 3)\nconst color = computed(() => props.font?.color ?? 'rgba(0,0,0,.15)')\nconst fontSize = computed(() => props.font?.fontSize ?? 16)\nconst fontWeight = computed(() => props.font?.fontWeight ?? 'normal')\nconst fontStyle = computed(() => props.font?.fontStyle ?? 'normal')\nconst fontFamily = computed(() => props.font?.fontFamily ?? 'sans-serif')\nconst textAlign = computed(() => props.font?.textAlign ?? 'center')\nconst textBaseline = computed(() => props.font?.textBaseline ?? 'hanging')\n\nconst gapX = computed(() => props.gap[0])\nconst gapY = computed(() => props.gap[1])\nconst gapXCenter = computed(() => gapX.value / 2)\nconst gapYCenter = computed(() => gapY.value / 2)\nconst offsetLeft = computed(() => props.offset?.[0] ?? gapXCenter.value)\nconst offsetTop = computed(() => props.offset?.[1] ?? gapYCenter.value)\n\nconst getMarkStyle = () => {\n const markStyle: CSSProperties = {\n zIndex: props.zIndex,\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n backgroundRepeat: 'repeat',\n }\n\n /** Calculate the style of the offset */\n let positionLeft = offsetLeft.value - gapXCenter.value\n let positionTop = offsetTop.value - gapYCenter.value\n if (positionLeft > 0) {\n markStyle.left = `${positionLeft}px`\n markStyle.width = `calc(100% - ${positionLeft}px)`\n positionLeft = 0\n }\n if (positionTop > 0) {\n markStyle.top = `${positionTop}px`\n markStyle.height = `calc(100% - ${positionTop}px)`\n positionTop = 0\n }\n markStyle.backgroundPosition = `${positionLeft}px ${positionTop}px`\n\n return markStyle\n}\n\nconst containerRef = shallowRef<HTMLDivElement | null>(null)\nconst watermarkRef = shallowRef<HTMLDivElement>()\nconst stopObservation = ref(false)\n\nconst destroyWatermark = () => {\n if (watermarkRef.value) {\n watermarkRef.value.remove()\n watermarkRef.value = undefined\n }\n}\nconst appendWatermark = (base64Url: string, markWidth: number) => {\n if (containerRef.value && watermarkRef.value) {\n stopObservation.value = true\n watermarkRef.value.setAttribute(\n 'style',\n getStyleStr({\n ...getMarkStyle(),\n backgroundImage: `url('${base64Url}')`,\n backgroundSize: `${Math.floor(markWidth)}px`,\n })\n )\n containerRef.value?.append(watermarkRef.value)\n // Delayed execution\n setTimeout(() => {\n stopObservation.value = false\n })\n }\n}\n\n/**\n * Get the width and height of the watermark. The default values are as follows\n * Image: [120, 64]; Content: It's calculated by content;\n */\nconst getMarkSize = (ctx: CanvasRenderingContext2D) => {\n let defaultWidth = 120\n let defaultHeight = 64\n let space = 0\n\n const { image, content, width, height, rotate } = props\n\n if (!image && ctx.measureText) {\n ctx.font = `${Number(fontSize.value)}px ${fontFamily.value}`\n\n const contents = isArray(content) ? content : [content]\n let maxWidth = 0\n let maxHeight = 0\n\n contents.forEach((item) => {\n const {\n width,\n fontBoundingBoxAscent,\n fontBoundingBoxDescent,\n actualBoundingBoxAscent,\n actualBoundingBoxDescent,\n } = ctx.measureText(item!)\n // Using `actualBoundingBoxAscent` to be compatible with lower version browsers (eg: Firefox < 116)\n const height = isUndefined(fontBoundingBoxAscent)\n ? actualBoundingBoxAscent + actualBoundingBoxDescent\n : fontBoundingBoxAscent + fontBoundingBoxDescent\n\n if (width > maxWidth) maxWidth = Math.ceil(width)\n if (height > maxHeight) maxHeight = Math.ceil(height)\n })\n\n defaultWidth = maxWidth\n defaultHeight =\n maxHeight * contents.length + (contents.length - 1) * fontGap.value\n\n const angle = (Math.PI / 180) * Number(rotate)\n space = Math.ceil(Math.abs(Math.sin(angle) * defaultHeight) / 2)\n\n defaultWidth += space\n }\n\n return [width ?? defaultWidth, height ?? defaultHeight, space] as const\n}\n\nconst getClips = useClips()\n\nconst renderWatermark = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const image = props.image\n const content = props.content\n const rotate = props.rotate\n\n if (ctx) {\n if (!watermarkRef.value) {\n watermarkRef.value = document.createElement('div')\n }\n\n const ratio = getPixelRatio()\n const [markWidth, markHeight, space] = getMarkSize(ctx)\n\n const drawCanvas = (\n drawContent?: NonNullable<WatermarkProps['content']> | HTMLImageElement\n ) => {\n const [textClips, clipWidth] = getClips(\n drawContent || '',\n rotate,\n ratio,\n markWidth,\n markHeight,\n {\n color: color.value,\n fontSize: fontSize.value,\n fontStyle: fontStyle.value,\n fontWeight: fontWeight.value,\n fontFamily: fontFamily.value,\n fontGap: fontGap.value,\n textAlign: textAlign.value,\n textBaseline: textBaseline.value,\n },\n gapX.value,\n gapY.value,\n space\n )\n\n appendWatermark(textClips, clipWidth)\n }\n\n if (image) {\n const img = new Image()\n img.onload = () => {\n drawCanvas(img)\n }\n img.onerror = () => {\n drawCanvas(content)\n }\n img.crossOrigin = 'anonymous'\n img.referrerPolicy = 'no-referrer'\n img.src = image\n } else {\n drawCanvas(content)\n }\n }\n}\n\nonMounted(() => {\n renderWatermark()\n})\n\nwatch(\n () => props,\n () => {\n renderWatermark()\n },\n {\n deep: true,\n flush: 'post',\n }\n)\n\nonBeforeUnmount(() => {\n destroyWatermark()\n})\n\nconst onMutate = (mutations: MutationRecord[]) => {\n if (stopObservation.value) {\n return\n }\n mutations.forEach((mutation) => {\n if (reRendering(mutation, watermarkRef.value)) {\n destroyWatermark()\n renderWatermark()\n }\n })\n}\n\nuseMutationObserver(containerRef, onMutate, {\n attributes: true,\n subtree: true,\n childList: true,\n})\n</script>\n"],"names":["width","height","_createElementBlock","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watermark.vue2.mjs","sources":["../../../../../../packages/components/watermark/src/watermark.vue"],"sourcesContent":["<template>\n <div ref=\"containerRef\" :style=\"[style]\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { useMutationObserver } from '@vueuse/core'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getPixelRatio, getStyleStr, reRendering } from './utils'\nimport useClips from './useClips'\n\nimport type { WatermarkProps } from './watermark'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElWatermark',\n})\n\nconst style: CSSProperties = {\n position: 'relative',\n}\n\nconst props = withDefaults(defineProps<WatermarkProps>(), {\n zIndex: 9,\n rotate: -22,\n content: 'Element Plus',\n gap: () => [100, 100],\n})\nconst fontGap = computed(() => props.font?.fontGap ?? 3)\nconst color = computed(() => props.font?.color ?? 'rgba(0,0,0,.15)')\nconst fontSize = computed(() => props.font?.fontSize ?? 16)\nconst fontWeight = computed(() => props.font?.fontWeight ?? 'normal')\nconst fontStyle = computed(() => props.font?.fontStyle ?? 'normal')\nconst fontFamily = computed(() => props.font?.fontFamily ?? 'sans-serif')\nconst textAlign = computed(() => props.font?.textAlign ?? 'center')\nconst textBaseline = computed(() => props.font?.textBaseline ?? 'hanging')\n\nconst gapX = computed(() => props.gap[0])\nconst gapY = computed(() => props.gap[1])\nconst gapXCenter = computed(() => gapX.value / 2)\nconst gapYCenter = computed(() => gapY.value / 2)\nconst offsetLeft = computed(() => props.offset?.[0] ?? gapXCenter.value)\nconst offsetTop = computed(() => props.offset?.[1] ?? gapYCenter.value)\n\nconst getMarkStyle = () => {\n const markStyle: CSSProperties = {\n zIndex: props.zIndex,\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n backgroundRepeat: 'repeat',\n }\n\n /** Calculate the style of the offset */\n let positionLeft = offsetLeft.value - gapXCenter.value\n let positionTop = offsetTop.value - gapYCenter.value\n if (positionLeft > 0) {\n markStyle.left = `${positionLeft}px`\n markStyle.width = `calc(100% - ${positionLeft}px)`\n positionLeft = 0\n }\n if (positionTop > 0) {\n markStyle.top = `${positionTop}px`\n markStyle.height = `calc(100% - ${positionTop}px)`\n positionTop = 0\n }\n markStyle.backgroundPosition = `${positionLeft}px ${positionTop}px`\n\n return markStyle\n}\n\nconst containerRef = shallowRef<HTMLDivElement | null>(null)\nconst watermarkRef = shallowRef<HTMLDivElement>()\nconst stopObservation = ref(false)\n\nconst destroyWatermark = () => {\n if (watermarkRef.value) {\n watermarkRef.value.remove()\n watermarkRef.value = undefined\n }\n}\nconst appendWatermark = (base64Url: string, markWidth: number) => {\n if (containerRef.value && watermarkRef.value) {\n stopObservation.value = true\n watermarkRef.value.setAttribute(\n 'style',\n getStyleStr({\n ...getMarkStyle(),\n backgroundImage: `url('${base64Url}')`,\n backgroundSize: `${Math.floor(markWidth)}px`,\n })\n )\n containerRef.value?.append(watermarkRef.value)\n // Delayed execution\n setTimeout(() => {\n stopObservation.value = false\n })\n }\n}\n\n/**\n * Get the width and height of the watermark. The default values are as follows\n * Image: [120, 64]; Content: It's calculated by content;\n */\nconst getMarkSize = (ctx: CanvasRenderingContext2D) => {\n let defaultWidth = 120\n let defaultHeight = 64\n let space = 0\n\n const { image, content, width, height, rotate } = props\n\n if (!image && ctx.measureText) {\n ctx.font = `${Number(fontSize.value)}px ${fontFamily.value}`\n\n const contents = isArray(content) ? content : [content]\n let maxWidth = 0\n let maxHeight = 0\n\n contents.forEach((item) => {\n const {\n width,\n fontBoundingBoxAscent,\n fontBoundingBoxDescent,\n actualBoundingBoxAscent,\n actualBoundingBoxDescent,\n } = ctx.measureText(item!)\n // Using `actualBoundingBoxAscent` to be compatible with lower version browsers (eg: Firefox < 116)\n const height = isUndefined(fontBoundingBoxAscent)\n ? actualBoundingBoxAscent + actualBoundingBoxDescent\n : fontBoundingBoxAscent + fontBoundingBoxDescent\n\n if (width > maxWidth) maxWidth = Math.ceil(width)\n if (height > maxHeight) maxHeight = Math.ceil(height)\n })\n\n defaultWidth = maxWidth\n defaultHeight =\n maxHeight * contents.length + (contents.length - 1) * fontGap.value\n\n const angle = (Math.PI / 180) * Number(rotate)\n space = Math.ceil(Math.abs(Math.sin(angle) * defaultHeight) / 2)\n\n defaultWidth += space\n }\n\n return [width ?? defaultWidth, height ?? defaultHeight, space] as const\n}\n\nconst getClips = useClips()\n\nconst renderWatermark = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const image = props.image\n const content = props.content\n const rotate = props.rotate\n\n if (ctx) {\n if (!watermarkRef.value) {\n watermarkRef.value = document.createElement('div')\n }\n\n const ratio = getPixelRatio()\n const [markWidth, markHeight, space] = getMarkSize(ctx)\n\n const drawCanvas = (\n drawContent?: NonNullable<WatermarkProps['content']> | HTMLImageElement\n ) => {\n const [textClips, clipWidth] = getClips(\n drawContent || '',\n rotate,\n ratio,\n markWidth,\n markHeight,\n {\n color: color.value,\n fontSize: fontSize.value,\n fontStyle: fontStyle.value,\n fontWeight: fontWeight.value,\n fontFamily: fontFamily.value,\n fontGap: fontGap.value,\n textAlign: textAlign.value,\n textBaseline: textBaseline.value,\n },\n gapX.value,\n gapY.value,\n space\n )\n\n appendWatermark(textClips, clipWidth)\n }\n\n if (image) {\n const img = new Image()\n img.onload = () => {\n drawCanvas(img)\n }\n img.onerror = () => {\n drawCanvas(content)\n }\n img.crossOrigin = 'anonymous'\n img.referrerPolicy = 'no-referrer'\n img.src = image\n } else {\n drawCanvas(content)\n }\n }\n}\n\nonMounted(() => {\n renderWatermark()\n})\n\nwatch(\n () => props,\n () => {\n renderWatermark()\n },\n {\n deep: true,\n flush: 'post',\n }\n)\n\nonBeforeUnmount(() => {\n destroyWatermark()\n})\n\nconst onMutate = (mutations: MutationRecord[]) => {\n if (stopObservation.value) {\n return\n }\n mutations.forEach((mutation) => {\n if (reRendering(mutation, watermarkRef.value)) {\n destroyWatermark()\n renderWatermark()\n }\n })\n}\n\nuseMutationObserver(containerRef, onMutate, {\n attributes: true,\n subtree: true,\n childList: true,\n})\n</script>\n"],"names":["width","height","_createElementBlock","_renderSlot"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getCurrentInstance, computed, watch, onMounted } from 'vue';
|
|
2
2
|
import { buildProp, definePropType } from '../../utils/vue/props/runtime.mjs';
|
|
3
|
-
import { isBoolean } from '../../utils/types.mjs';
|
|
4
3
|
import { isClient } from '@vueuse/core';
|
|
5
4
|
import { isFunction } from '@vue/shared';
|
|
5
|
+
import { isBoolean } from '../../utils/types.mjs';
|
|
6
6
|
|
|
7
7
|
const _prop = buildProp({
|
|
8
8
|
type: definePropType(Boolean),
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20260122";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260122'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var teleport = require('../../teleport/src/teleport.js');
|
|
4
|
+
var types = require('../../../utils/types.js');
|
|
4
5
|
var event = require('../../../constants/event.js');
|
|
5
6
|
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
6
|
-
var types = require('../../../utils/types.js');
|
|
7
7
|
|
|
8
8
|
const affixProps = runtime.buildProps({
|
|
9
9
|
/**
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var affix = require('./affix.js');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
var core = require('@vueuse/core');
|
|
7
8
|
var index$1 = require('../../teleport/index.js');
|
|
8
|
-
var affix = require('./affix.js');
|
|
9
9
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
10
10
|
var scroll = require('../../../utils/dom/scroll.js');
|
|
11
11
|
var style = require('../../../utils/dom/style.js');
|
|
@@ -18,14 +18,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
name: COMPONENT_NAME
|
|
19
19
|
},
|
|
20
20
|
__name: "affix",
|
|
21
|
-
props:
|
|
22
|
-
zIndex: { type: null, required: false, default: 100 },
|
|
23
|
-
target: { type: String, required: false, default: "" },
|
|
24
|
-
offset: { type: Number, required: false, default: 0 },
|
|
25
|
-
position: { type: String, required: false, default: "top" },
|
|
26
|
-
teleported: { type: Boolean, required: false },
|
|
27
|
-
appendTo: { type: null, required: false, default: "body" }
|
|
28
|
-
},
|
|
21
|
+
props: affix.affixProps,
|
|
29
22
|
emits: affix.affixEmits,
|
|
30
23
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
31
24
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":";;;;;;;;;;;;;;AAkCA,MAAM,cAAA,GAAiB,SAAA
|
|
1
|
+
{"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var alert = require('./alert.js');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
var index$1 = require('../../icon/index.js');
|
|
7
|
-
var alert = require('./alert.js');
|
|
8
8
|
var vnode = require('../../../utils/vue/vnode.js');
|
|
9
9
|
var icon = require('../../../utils/vue/icon.js');
|
|
10
10
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
@@ -14,16 +14,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
14
14
|
name: "ElAlert"
|
|
15
15
|
},
|
|
16
16
|
__name: "alert",
|
|
17
|
-
props:
|
|
18
|
-
title: { type: String, required: false, default: "" },
|
|
19
|
-
description: { type: String, required: false, default: "" },
|
|
20
|
-
type: { type: null, required: false, default: "info" },
|
|
21
|
-
closable: { type: Boolean, required: false, default: true },
|
|
22
|
-
closeText: { type: String, required: false, default: "" },
|
|
23
|
-
showIcon: { type: Boolean, required: false },
|
|
24
|
-
center: { type: Boolean, required: false },
|
|
25
|
-
effect: { type: String, required: false, default: "light" }
|
|
26
|
-
},
|
|
17
|
+
props: alert.alertProps,
|
|
27
18
|
emits: alert.alertEmits,
|
|
28
19
|
setup(__props, { emit: __emit }) {
|
|
29
20
|
const { Close } = icon.TypeComponents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.vue2.js","sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"visible\"\n :class=\"[ns.b(), ns.m(type), ns.is('center', center), ns.is(effect)]\"\n role=\"alert\"\n >\n <el-icon\n v-if=\"showIcon && ($slots.icon || iconComponent)\"\n :class=\"[ns.e('icon'), ns.is('big', hasDesc)]\"\n >\n <slot name=\"icon\">\n <component :is=\"iconComponent\" />\n </slot>\n </el-icon>\n\n <div :class=\"ns.e('content')\">\n <span\n v-if=\"title || $slots.title\"\n :class=\"[ns.e('title'), { 'with-description': hasDesc }]\"\n >\n <slot name=\"title\">{{ title }}</slot>\n </span>\n <p v-if=\"hasDesc\" :class=\"ns.e('description')\">\n <slot>\n {{ description }}\n </slot>\n </p>\n <template v-if=\"closable\">\n <div\n v-if=\"closeText\"\n :class=\"[ns.e('close-btn'), ns.is('customed')]\"\n @click=\"close\"\n >\n {{ closeText }}\n </div>\n <el-icon v-else :class=\"ns.e('close-btn')\" @click=\"close\">\n <Close />\n </el-icon>\n </template>\n </div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n TypeComponents,\n TypeComponentsMap,\n flattedChildren,\n isComment,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertEmits } from './alert'\n\nimport type { AlertProps } from './alert'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElAlert',\n})\n\nconst props = withDefaults(defineProps<AlertProps>(), {\n title: '',\n description: '',\n type: 'info',\n closable: true,\n closeText: '',\n effect: 'light',\n})\nconst emit = defineEmits(alertEmits)\nconst slots = useSlots()\n\nconst ns = useNamespace('alert')\n\nconst visible = ref(true)\n\nconst iconComponent = computed(() => TypeComponentsMap[props.type])\n\nconst hasDesc = computed(() => {\n if (props.description) return true\n const slotContent = slots.default?.()\n if (!slotContent) return false\n\n const children = flattedChildren(slotContent)\n return children.some((child) => !isComment(child))\n})\n\nconst close = (evt: MouseEvent) => {\n visible.value = false\n emit('close', evt)\n}\n</script>\n"],"names":["TypeComponents","useSlots","useNamespace","ref","computed","TypeComponentsMap","flattedChildren","isComment","_createBlock","_Transition","_unref","_createElementVNode","_normalizeClass","$slots","ElIcon","_renderSlot","_openBlock","_resolveDynamicComponent","_createElementBlock","_Fragment","_createVNode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"alert.vue2.js","sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"visible\"\n :class=\"[ns.b(), ns.m(type), ns.is('center', center), ns.is(effect)]\"\n role=\"alert\"\n >\n <el-icon\n v-if=\"showIcon && ($slots.icon || iconComponent)\"\n :class=\"[ns.e('icon'), ns.is('big', hasDesc)]\"\n >\n <slot name=\"icon\">\n <component :is=\"iconComponent\" />\n </slot>\n </el-icon>\n\n <div :class=\"ns.e('content')\">\n <span\n v-if=\"title || $slots.title\"\n :class=\"[ns.e('title'), { 'with-description': hasDesc }]\"\n >\n <slot name=\"title\">{{ title }}</slot>\n </span>\n <p v-if=\"hasDesc\" :class=\"ns.e('description')\">\n <slot>\n {{ description }}\n </slot>\n </p>\n <template v-if=\"closable\">\n <div\n v-if=\"closeText\"\n :class=\"[ns.e('close-btn'), ns.is('customed')]\"\n @click=\"close\"\n >\n {{ closeText }}\n </div>\n <el-icon v-else :class=\"ns.e('close-btn')\" @click=\"close\">\n <Close />\n </el-icon>\n </template>\n </div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n TypeComponents,\n TypeComponentsMap,\n flattedChildren,\n isComment,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertEmits } from './alert'\n\nimport type { AlertProps } from './alert'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElAlert',\n})\n\nconst props = withDefaults(defineProps<AlertProps>(), {\n title: '',\n description: '',\n type: 'info',\n closable: true,\n closeText: '',\n effect: 'light',\n})\nconst emit = defineEmits(alertEmits)\nconst slots = useSlots()\n\nconst ns = useNamespace('alert')\n\nconst visible = ref(true)\n\nconst iconComponent = computed(() => TypeComponentsMap[props.type])\n\nconst hasDesc = computed(() => {\n if (props.description) return true\n const slotContent = slots.default?.()\n if (!slotContent) return false\n\n const children = flattedChildren(slotContent)\n return children.some((child) => !isComment(child))\n})\n\nconst close = (evt: MouseEvent) => {\n visible.value = false\n emit('close', evt)\n}\n</script>\n"],"names":["TypeComponents","useSlots","useNamespace","ref","computed","TypeComponentsMap","flattedChildren","isComment","_createBlock","_Transition","_unref","_createElementVNode","_normalizeClass","$slots","ElIcon","_renderSlot","_openBlock","_resolveDynamicComponent","_createElementBlock","_Fragment","_createVNode"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var anchorLink = require('./anchor-link.js');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
var constants = require('./constants.js');
|
|
7
8
|
|
|
@@ -11,10 +12,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
11
12
|
name: "ElAnchorLink"
|
|
12
13
|
},
|
|
13
14
|
__name: "anchor-link",
|
|
14
|
-
props:
|
|
15
|
-
title: { type: String, required: false },
|
|
16
|
-
href: { type: String, required: false, default: void 0 }
|
|
17
|
-
},
|
|
15
|
+
props: anchorLink.anchorLinkProps,
|
|
18
16
|
setup(__props) {
|
|
19
17
|
const props = __props;
|
|
20
18
|
const linkRef = vue.ref(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-link.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('item')\">\n <a ref=\"linkRef\" :class=\"cls\" :href=\"href\" @click=\"handleClick\">\n <slot>{{ title }}</slot>\n </a>\n <div\n v-if=\"$slots['sub-link'] && direction === 'vertical'\"\n :class=\"ns.e('list')\"\n >\n <slot name=\"sub-link\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { anchorKey } from './constants'\n\nimport type { AnchorLinkProps } from './anchor-link'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = withDefaults(defineProps<AnchorLinkProps>(), {\n href: undefined,\n})\n\nconst linkRef = ref<HTMLElement | null>(null)\n\nconst {\n ns,\n direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick: contextHandleClick,\n} = inject(anchorKey)!\n\nconst cls = computed(() => [\n ns.e('link'),\n ns.is('active', currentAnchor.value === props.href),\n])\n\nconst handleClick = (e: MouseEvent) => {\n contextHandleClick(e, props.href)\n}\n\nwatch(\n () => props.href,\n (val, oldVal) => {\n nextTick(() => {\n if (oldVal) removeLink(oldVal)\n if (val) {\n addLink({\n href: val,\n el: linkRef.value!,\n })\n }\n })\n }\n)\n\nonMounted(() => {\n const { href } = props\n if (href) {\n addLink({\n href,\n el: linkRef.value!,\n })\n }\n})\n\nonBeforeUnmount(() => {\n const { href } = props\n if (href) {\n removeLink(href)\n }\n})\n</script>\n"],"names":["ref","inject","anchorKey","computed","watch","nextTick","onMounted","onBeforeUnmount","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","$slots"],"mappings":"
|
|
1
|
+
{"version":3,"file":"anchor-link.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('item')\">\n <a ref=\"linkRef\" :class=\"cls\" :href=\"href\" @click=\"handleClick\">\n <slot>{{ title }}</slot>\n </a>\n <div\n v-if=\"$slots['sub-link'] && direction === 'vertical'\"\n :class=\"ns.e('list')\"\n >\n <slot name=\"sub-link\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { anchorKey } from './constants'\n\nimport type { AnchorLinkProps } from './anchor-link'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = withDefaults(defineProps<AnchorLinkProps>(), {\n href: undefined,\n})\n\nconst linkRef = ref<HTMLElement | null>(null)\n\nconst {\n ns,\n direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick: contextHandleClick,\n} = inject(anchorKey)!\n\nconst cls = computed(() => [\n ns.e('link'),\n ns.is('active', currentAnchor.value === props.href),\n])\n\nconst handleClick = (e: MouseEvent) => {\n contextHandleClick(e, props.href)\n}\n\nwatch(\n () => props.href,\n (val, oldVal) => {\n nextTick(() => {\n if (oldVal) removeLink(oldVal)\n if (val) {\n addLink({\n href: val,\n el: linkRef.value!,\n })\n }\n })\n }\n)\n\nonMounted(() => {\n const { href } = props\n if (href) {\n addLink({\n href,\n el: linkRef.value!,\n })\n }\n})\n\nonBeforeUnmount(() => {\n const { href } = props\n if (href) {\n removeLink(href)\n }\n})\n</script>\n"],"names":["ref","inject","anchorKey","computed","watch","nextTick","onMounted","onBeforeUnmount","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","$slots"],"mappings":";;;;;;;;;;;;;;;;AAgCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAE5C,IAAA,MAAM;AAAA,MACJ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAa;AAAA,KACf,GAAIC,WAAOC,mBAAS,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,aAAS,MAAM;AAAA,MACzB,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,GAAG,EAAA,CAAG,QAAA,EAAU,aAAA,CAAc,KAAA,KAAU,MAAM,IAAI;AAAA,KACnD,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,MAAA,kBAAA,CAAmB,CAAA,EAAG,MAAM,IAAI,CAAA;AAAA,IAClC,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,CAAC,KAAK,MAAA,KAAW;AACf,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAA,aAAmB,MAAM,CAAA;AAC7B,UAAA,IAAI,GAAA,EAAK;AACP,YAAA,OAAA,CAAQ;AAAA,cACN,IAAA,EAAM,GAAA;AAAA,cACN,IAAI,OAAA,CAAQ;AAAA,aACb,CAAA;AAAA,UACH;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,KACF;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,OAAA,CAAQ;AAAA,UACN,IAAA;AAAA,UACA,IAAI,OAAA,CAAQ;AAAA,SACb,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAAA,IACF,CAAC,CAAA;;8BArFCC,sBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UAVA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;UACfC,uBAEI,GAAA,EAAA;AAAA,qBAFG,SAAA;AAAA,YAAJ,GAAA,EAAI,OAAA;AAAA,YAAW,KAAA,qBAAO,GAAA,CAAA,KAAG,CAAA;AAAA,YAAG,MAAM,OAAA,CAAA,IAAA;AAAA,YAAO,OAAA,EAAO;AAAA;YACjDC,eAAwB,IAAA,wBAAxB,MAAwB;AAAA;oCAAf,QAAA,KAAK,CAAA;AAAA,gBAAA;AAAA;AAAA;AAAA;;UAGRC,IAAAA,CAAAA,sBAAsBH,UAAA,SAAA,CAAA,KAAS,UAAA,qBADvCF,sBAAA;AAAA,YAKM,KAAA;AAAA,YAAA;AAAA;cAHH,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;cAEZE,cAAA,CAAwB,IAAA,CAAA,MAAA,EAAA,UAAA;AAAA;;;;;;;;;;;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var anchor = require('./anchor.js');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
var core = require('@vueuse/core');
|
|
7
|
-
var anchor = require('./anchor.js');
|
|
8
8
|
var constants = require('./constants.js');
|
|
9
9
|
var throttleByRaf = require('../../../utils/throttleByRaf.js');
|
|
10
10
|
var element = require('../../../utils/dom/element.js');
|
|
@@ -19,16 +19,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
19
19
|
name: "ElAnchor"
|
|
20
20
|
},
|
|
21
21
|
__name: "anchor",
|
|
22
|
-
props:
|
|
23
|
-
container: { type: null, required: false },
|
|
24
|
-
offset: { type: Number, required: false, default: 0 },
|
|
25
|
-
bound: { type: Number, required: false, default: 15 },
|
|
26
|
-
duration: { type: Number, required: false, default: 300 },
|
|
27
|
-
marker: { type: Boolean, required: false, default: true },
|
|
28
|
-
type: { type: String, required: false, default: "default" },
|
|
29
|
-
direction: { type: String, required: false, default: "vertical" },
|
|
30
|
-
selectScrollTop: { type: Boolean, required: false }
|
|
31
|
-
},
|
|
22
|
+
props: anchor.anchorProps,
|
|
32
23
|
emits: anchor.anchorEmits,
|
|
33
24
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
34
25
|
const props = __props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorProps } from './anchor'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = withDefaults(defineProps<AnchorProps>(), {\n offset: 0,\n bound: 15,\n duration: 300,\n marker: true,\n type: 'default',\n direction: 'vertical',\n})\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorProps } from './anchor'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = withDefaults(defineProps<AnchorProps>(), {\n offset: 0,\n bound: 15,\n duration: 300,\n marker: true,\n type: 'default',\n direction: 'vertical',\n})\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var autocomplete = require('./autocomplete.js');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
var lodashUnified = require('lodash-unified');
|
|
7
8
|
var core = require('@vueuse/core');
|
|
@@ -10,7 +11,6 @@ var index$3 = require('../../input/index.js');
|
|
|
10
11
|
var index$4 = require('../../scrollbar/index.js');
|
|
11
12
|
var index$2 = require('../../tooltip/index.js');
|
|
12
13
|
var index$5 = require('../../icon/index.js');
|
|
13
|
-
var autocomplete = require('./autocomplete.js');
|
|
14
14
|
var input = require('../../input/src/input.js');
|
|
15
15
|
var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
|
|
16
16
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
@@ -31,64 +31,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
31
31
|
inheritAttrs: false
|
|
32
32
|
},
|
|
33
33
|
__name: "autocomplete",
|
|
34
|
-
props:
|
|
35
|
-
valueKey: { type: String, required: false },
|
|
36
|
-
modelValue: { type: [String, Number], required: false },
|
|
37
|
-
debounce: { type: Number, required: false },
|
|
38
|
-
placement: { type: String, required: false },
|
|
39
|
-
fetchSuggestions: { type: [Function, Array], required: false },
|
|
40
|
-
popperClass: { type: null, required: false },
|
|
41
|
-
popperStyle: { type: null, required: false },
|
|
42
|
-
triggerOnFocus: { type: Boolean, required: false },
|
|
43
|
-
selectWhenUnmatched: { type: Boolean, required: false },
|
|
44
|
-
hideLoading: { type: Boolean, required: false },
|
|
45
|
-
teleported: { type: Boolean, required: false },
|
|
46
|
-
appendTo: { type: null, required: false },
|
|
47
|
-
highlightFirstItem: { type: Boolean, required: false },
|
|
48
|
-
fitInputWidth: { type: Boolean, required: false },
|
|
49
|
-
loopNavigation: { type: Boolean, required: false },
|
|
50
|
-
id: { type: String, required: false },
|
|
51
|
-
size: { type: null, required: false },
|
|
52
|
-
disabled: { type: Boolean, required: false },
|
|
53
|
-
modelModifiers: { type: Object, required: false },
|
|
54
|
-
maxlength: { type: [String, Number], required: false },
|
|
55
|
-
minlength: { type: [String, Number], required: false },
|
|
56
|
-
type: { type: String, required: false },
|
|
57
|
-
resize: { type: String, required: false },
|
|
58
|
-
autosize: { type: [Object, Boolean], required: false },
|
|
59
|
-
autocomplete: { type: String, required: false },
|
|
60
|
-
formatter: { type: Function, required: false },
|
|
61
|
-
parser: { type: Function, required: false },
|
|
62
|
-
placeholder: { type: String, required: false },
|
|
63
|
-
form: { type: String, required: false },
|
|
64
|
-
readonly: { type: Boolean, required: false },
|
|
65
|
-
clearable: { type: Boolean, required: false },
|
|
66
|
-
clearIcon: { type: null, required: false },
|
|
67
|
-
showPassword: { type: Boolean, required: false },
|
|
68
|
-
showWordLimit: { type: Boolean, required: false },
|
|
69
|
-
wordLimitPosition: { type: String, required: false },
|
|
70
|
-
suffixIcon: { type: null, required: false },
|
|
71
|
-
prefixIcon: { type: null, required: false },
|
|
72
|
-
containerRole: { type: String, required: false },
|
|
73
|
-
tabindex: { type: [String, Number], required: false },
|
|
74
|
-
validateEvent: { type: Boolean, required: false },
|
|
75
|
-
inputStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
|
|
76
|
-
autofocus: { type: Boolean, required: false },
|
|
77
|
-
rows: { type: Number, required: false },
|
|
78
|
-
ariaLabel: { type: String, required: false },
|
|
79
|
-
inputmode: { type: null, required: false },
|
|
80
|
-
name: { type: String, required: false }
|
|
81
|
-
}, {
|
|
82
|
-
...input.inputPropsDefaults,
|
|
83
|
-
valueKey: "value",
|
|
84
|
-
modelValue: "",
|
|
85
|
-
debounce: 300,
|
|
86
|
-
placement: "bottom-start",
|
|
87
|
-
fetchSuggestions: shared.NOOP,
|
|
88
|
-
triggerOnFocus: true,
|
|
89
|
-
loopNavigation: true,
|
|
90
|
-
teleported: true
|
|
91
|
-
}),
|
|
34
|
+
props: autocomplete.autocompleteProps,
|
|
92
35
|
emits: autocomplete.autocompleteEmits,
|
|
93
36
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
94
37
|
const props = __props;
|