@element-plus/nightly 0.0.20220528 → 0.0.20220529
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 +652 -727
- package/dist/index.full.min.js +15 -15
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +18 -18
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +653 -728
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix3.mjs +5 -2
- package/es/components/affix/src/affix3.mjs.map +1 -1
- package/es/components/alert/src/alert4.mjs +5 -2
- package/es/components/alert/src/alert4.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete3.mjs +3 -3
- package/es/components/autocomplete/src/autocomplete3.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete4.mjs +41 -52
- package/es/components/autocomplete/src/autocomplete4.mjs.map +1 -1
- package/es/components/avatar/src/avatar3.mjs +2 -1
- package/es/components/avatar/src/avatar3.mjs.map +1 -1
- package/es/components/backtop/src/backtop3.mjs.map +1 -1
- package/es/components/backtop/src/backtop4.mjs +1 -1
- package/es/components/backtop/src/backtop4.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item4.mjs +4 -4
- package/es/components/breadcrumb/src/breadcrumb-item4.mjs.map +1 -1
- package/es/components/calendar/src/calendar3.mjs +6 -4
- package/es/components/calendar/src/calendar3.mjs.map +1 -1
- package/es/components/calendar/src/calendar4.mjs +31 -37
- package/es/components/calendar/src/calendar4.mjs.map +1 -1
- package/es/components/calendar/src/date-table4.mjs.map +1 -1
- package/es/components/card/src/card3.mjs +1 -0
- package/es/components/card/src/card3.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag3.mjs +3 -1
- package/es/components/check-tag/src/check-tag3.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag4.mjs +3 -1
- package/es/components/check-tag/src/check-tag4.mjs.map +1 -1
- package/es/components/collapse-transition/src/collapse-transition2.mjs +62 -62
- package/es/components/collapse-transition/src/collapse-transition2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs.map +1 -1
- package/es/components/image-viewer/index.mjs +1 -1
- package/es/components/image-viewer/index2.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer.mjs +1 -1
- package/es/components/image-viewer/src/image-viewer3.mjs +399 -34
- package/es/components/image-viewer/src/image-viewer3.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer4.mjs +34 -399
- package/es/components/image-viewer/src/image-viewer4.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input-number/src/input-number4.mjs +90 -118
- package/es/components/input-number/src/input-number4.mjs.map +1 -1
- package/es/components/progress/src/progress3.mjs.map +1 -1
- package/es/components/progress/src/progress4.mjs +124 -153
- package/es/components/progress/src/progress4.mjs.map +1 -1
- package/es/components/rate/src/rate3.mjs +8 -11
- package/es/components/rate/src/rate3.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs +2 -2
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip3.mjs +3 -1
- package/es/components/tooltip/src/tooltip3.mjs.map +1 -1
- package/es/directives/repeat-click/index2.mjs +2 -2
- package/es/directives/repeat-click/index2.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/packages/components/alert/index.d.ts +3 -3
- package/es/packages/components/alert/src/alert.vue.d.ts +3 -3
- package/es/packages/components/autocomplete/index.d.ts +32 -30
- package/es/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
- package/es/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
- package/es/packages/components/backtop/src/backtop.d.ts +2 -0
- package/es/packages/components/breadcrumb/index.d.ts +8 -8
- package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
- package/es/packages/components/calendar/index.d.ts +3 -3
- package/es/packages/components/calendar/src/calendar.vue.d.ts +3 -3
- package/es/packages/components/card/index.d.ts +3 -3
- package/es/packages/components/card/src/card.d.ts +1 -1
- package/es/packages/components/card/src/card.vue.d.ts +3 -3
- package/es/packages/components/cascader/index.d.ts +18 -18
- package/es/packages/components/cascader/src/index.vue.d.ts +9 -9
- package/es/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/es/packages/components/date-picker/src/utils.d.ts +1 -1
- package/es/packages/components/dropdown/index.d.ts +9 -9
- package/es/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
- package/es/packages/components/input-number/index.d.ts +471 -109
- package/es/packages/components/input-number/src/input-number.vue.d.ts +471 -110
- package/es/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
- package/es/packages/components/popconfirm/index.d.ts +14 -14
- package/es/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
- package/es/packages/components/popover/index.d.ts +22 -22
- package/es/packages/components/popover/src/index.vue.d.ts +11 -11
- package/es/packages/components/popover/src/popover.d.ts +1 -1
- package/es/packages/components/progress/index.d.ts +66 -18
- package/es/packages/components/progress/src/progress.d.ts +5 -4
- package/es/packages/components/progress/src/progress.vue.d.ts +93 -44
- package/es/packages/components/rate/index.d.ts +13 -13
- package/es/packages/components/rate/src/rate.d.ts +4 -4
- package/es/packages/components/rate/src/rate.vue.d.ts +13 -13
- package/es/packages/components/select/index.d.ts +9 -9
- package/es/packages/components/select/src/select.vue.d.ts +9 -9
- package/es/packages/components/select/src/useSelect.d.ts +9 -9
- package/es/packages/components/select-v2/index.d.ts +18 -18
- package/es/packages/components/select-v2/src/select.vue.d.ts +9 -9
- package/es/packages/components/select-v2/src/useSelect.d.ts +9 -9
- package/es/packages/components/table/src/filter-panel.vue.d.ts +9 -9
- package/es/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
- package/es/packages/components/time-select/index.d.ts +36 -36
- package/es/packages/components/time-select/src/time-select.vue.d.ts +18 -18
- package/es/packages/components/tooltip/index.d.ts +5 -5
- package/es/packages/components/tooltip/src/content.vue.d.ts +2 -2
- package/es/packages/components/tooltip/src/tooltip.d.ts +2 -2
- package/es/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
- package/es/packages/components/upload/index.d.ts +66 -18
- package/es/packages/components/upload/src/upload-list.vue.d.ts +66 -18
- package/es/packages/components/upload/src/upload.vue.d.ts +66 -18
- package/es/packages/version.d.ts +1 -1
- package/es/version2.mjs +1 -1
- package/es/version2.mjs.map +1 -1
- package/lib/components/affix/src/affix3.js +5 -2
- package/lib/components/affix/src/affix3.js.map +1 -1
- package/lib/components/alert/src/alert4.js +5 -2
- package/lib/components/alert/src/alert4.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete3.js +2 -2
- package/lib/components/autocomplete/src/autocomplete3.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete4.js +42 -53
- package/lib/components/autocomplete/src/autocomplete4.js.map +1 -1
- package/lib/components/avatar/src/avatar3.js +2 -1
- package/lib/components/avatar/src/avatar3.js.map +1 -1
- package/lib/components/backtop/src/backtop3.js.map +1 -1
- package/lib/components/backtop/src/backtop4.js +1 -1
- package/lib/components/backtop/src/backtop4.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item4.js +3 -3
- package/lib/components/breadcrumb/src/breadcrumb-item4.js.map +1 -1
- package/lib/components/calendar/src/calendar3.js +5 -3
- package/lib/components/calendar/src/calendar3.js.map +1 -1
- package/lib/components/calendar/src/calendar4.js +31 -37
- package/lib/components/calendar/src/calendar4.js.map +1 -1
- package/lib/components/calendar/src/date-table4.js.map +1 -1
- package/lib/components/card/src/card3.js +1 -0
- package/lib/components/card/src/card3.js.map +1 -1
- package/lib/components/check-tag/src/check-tag3.js +3 -1
- package/lib/components/check-tag/src/check-tag3.js.map +1 -1
- package/lib/components/check-tag/src/check-tag4.js +3 -1
- package/lib/components/check-tag/src/check-tag4.js.map +1 -1
- package/lib/components/collapse-transition/src/collapse-transition2.js +61 -61
- package/lib/components/collapse-transition/src/collapse-transition2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js.map +1 -1
- package/lib/components/image-viewer/index.js +1 -1
- package/lib/components/image-viewer/index2.js +2 -2
- package/lib/components/image-viewer/src/image-viewer.js +1 -1
- package/lib/components/image-viewer/src/image-viewer3.js +399 -35
- package/lib/components/image-viewer/src/image-viewer3.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer4.js +35 -399
- package/lib/components/image-viewer/src/image-viewer4.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input-number/src/input-number4.js +95 -123
- package/lib/components/input-number/src/input-number4.js.map +1 -1
- package/lib/components/progress/src/progress3.js.map +1 -1
- package/lib/components/progress/src/progress4.js +125 -154
- package/lib/components/progress/src/progress4.js.map +1 -1
- package/lib/components/rate/src/rate3.js +7 -10
- package/lib/components/rate/src/rate3.js.map +1 -1
- package/lib/components/tooltip/src/tooltip3.js +7 -5
- package/lib/components/tooltip/src/tooltip3.js.map +1 -1
- package/lib/directives/repeat-click/index2.js +2 -2
- package/lib/directives/repeat-click/index2.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/packages/components/alert/index.d.ts +3 -3
- package/lib/packages/components/alert/src/alert.vue.d.ts +3 -3
- package/lib/packages/components/autocomplete/index.d.ts +32 -30
- package/lib/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
- package/lib/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
- package/lib/packages/components/backtop/src/backtop.d.ts +2 -0
- package/lib/packages/components/breadcrumb/index.d.ts +8 -8
- package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
- package/lib/packages/components/calendar/index.d.ts +3 -3
- package/lib/packages/components/calendar/src/calendar.vue.d.ts +3 -3
- package/lib/packages/components/card/index.d.ts +3 -3
- package/lib/packages/components/card/src/card.d.ts +1 -1
- package/lib/packages/components/card/src/card.vue.d.ts +3 -3
- package/lib/packages/components/cascader/index.d.ts +18 -18
- package/lib/packages/components/cascader/src/index.vue.d.ts +9 -9
- package/lib/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/lib/packages/components/date-picker/src/utils.d.ts +1 -1
- package/lib/packages/components/dropdown/index.d.ts +9 -9
- package/lib/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
- package/lib/packages/components/input-number/index.d.ts +471 -109
- package/lib/packages/components/input-number/src/input-number.vue.d.ts +471 -110
- package/lib/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
- package/lib/packages/components/popconfirm/index.d.ts +14 -14
- package/lib/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
- package/lib/packages/components/popover/index.d.ts +22 -22
- package/lib/packages/components/popover/src/index.vue.d.ts +11 -11
- package/lib/packages/components/popover/src/popover.d.ts +1 -1
- package/lib/packages/components/progress/index.d.ts +66 -18
- package/lib/packages/components/progress/src/progress.d.ts +5 -4
- package/lib/packages/components/progress/src/progress.vue.d.ts +93 -44
- package/lib/packages/components/rate/index.d.ts +13 -13
- package/lib/packages/components/rate/src/rate.d.ts +4 -4
- package/lib/packages/components/rate/src/rate.vue.d.ts +13 -13
- package/lib/packages/components/select/index.d.ts +9 -9
- package/lib/packages/components/select/src/select.vue.d.ts +9 -9
- package/lib/packages/components/select/src/useSelect.d.ts +9 -9
- package/lib/packages/components/select-v2/index.d.ts +18 -18
- package/lib/packages/components/select-v2/src/select.vue.d.ts +9 -9
- package/lib/packages/components/select-v2/src/useSelect.d.ts +9 -9
- package/lib/packages/components/table/src/filter-panel.vue.d.ts +9 -9
- package/lib/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
- package/lib/packages/components/time-select/index.d.ts +36 -36
- package/lib/packages/components/time-select/src/time-select.vue.d.ts +18 -18
- package/lib/packages/components/tooltip/index.d.ts +5 -5
- package/lib/packages/components/tooltip/src/content.vue.d.ts +2 -2
- package/lib/packages/components/tooltip/src/tooltip.d.ts +2 -2
- package/lib/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
- package/lib/packages/components/upload/index.d.ts +66 -18
- package/lib/packages/components/upload/src/upload-list.vue.d.ts +66 -18
- package/lib/packages/components/upload/src/upload.vue.d.ts +66 -18
- package/lib/packages/version.d.ts +1 -1
- package/lib/version2.js +1 -1
- package/lib/version2.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var lodashUnified = require('lodash-unified');
|
|
7
7
|
var core = require('@vueuse/core');
|
|
8
|
+
var iconsVue = require('@element-plus/icons-vue');
|
|
8
9
|
require('../../../hooks/index2.js');
|
|
9
10
|
require('../../../utils/index2.js');
|
|
10
11
|
require('../../../constants/index2.js');
|
|
@@ -12,11 +13,10 @@ var index$5 = require('../../input/index2.js');
|
|
|
12
13
|
var index$3 = require('../../scrollbar/index2.js');
|
|
13
14
|
var index$2 = require('../../tooltip/index2.js');
|
|
14
15
|
var index$4 = require('../../icon/index2.js');
|
|
15
|
-
var iconsVue = require('@element-plus/icons-vue');
|
|
16
16
|
var autocomplete = require('./autocomplete3.js');
|
|
17
17
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
18
|
-
var index = require('../../../hooks/use-
|
|
19
|
-
var index$1 = require('../../../hooks/use-
|
|
18
|
+
var index = require('../../../hooks/use-attrs/index2.js');
|
|
19
|
+
var index$1 = require('../../../hooks/use-namespace/index2.js');
|
|
20
20
|
var rand = require('../../../utils/rand2.js');
|
|
21
21
|
var shared = require('@vue/shared');
|
|
22
22
|
var error = require('../../../utils/error2.js');
|
|
@@ -36,68 +36,60 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
36
36
|
setup(__props, { expose, emit }) {
|
|
37
37
|
const props = __props;
|
|
38
38
|
const COMPONENT_NAME = "ElAutocomplete";
|
|
39
|
-
const
|
|
39
|
+
const attrs = index.useAttrs();
|
|
40
|
+
const rawAttrs = vue.useAttrs();
|
|
41
|
+
const ns = index$1.useNamespace("autocomplete");
|
|
42
|
+
const inputRef = vue.ref();
|
|
43
|
+
const regionRef = vue.ref();
|
|
44
|
+
const popperRef = vue.ref();
|
|
45
|
+
const listboxRef = vue.ref();
|
|
40
46
|
let isClear = false;
|
|
41
|
-
const attrs = index$1.useAttrs();
|
|
42
|
-
const compAttrs = vue.useAttrs();
|
|
43
47
|
const suggestions = vue.ref([]);
|
|
44
48
|
const highlightedIndex = vue.ref(-1);
|
|
45
49
|
const dropdownWidth = vue.ref("");
|
|
46
50
|
const activated = vue.ref(false);
|
|
47
51
|
const suggestionDisabled = vue.ref(false);
|
|
48
52
|
const loading = vue.ref(false);
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const popperRef = vue.ref();
|
|
52
|
-
const listboxRef = vue.ref();
|
|
53
|
-
const listboxId = vue.computed(() => {
|
|
54
|
-
return ns.b(String(rand.generateId()));
|
|
55
|
-
});
|
|
56
|
-
const styles = vue.computed(() => compAttrs.style);
|
|
53
|
+
const listboxId = vue.computed(() => ns.b(String(rand.generateId())));
|
|
54
|
+
const styles = vue.computed(() => rawAttrs.style);
|
|
57
55
|
const suggestionVisible = vue.computed(() => {
|
|
58
|
-
const isValidData =
|
|
56
|
+
const isValidData = suggestions.value.length > 0;
|
|
59
57
|
return (isValidData || loading.value) && activated.value;
|
|
60
58
|
});
|
|
61
|
-
const suggestionLoading = vue.computed(() =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
59
|
+
const suggestionLoading = vue.computed(() => !props.hideLoading && loading.value);
|
|
60
|
+
const onSuggestionShow = async () => {
|
|
61
|
+
await vue.nextTick();
|
|
62
|
+
if (suggestionVisible.value) {
|
|
63
|
+
dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
|
|
64
|
+
}
|
|
70
65
|
};
|
|
71
66
|
const getData = async (queryString) => {
|
|
72
|
-
if (suggestionDisabled.value)
|
|
67
|
+
if (suggestionDisabled.value)
|
|
73
68
|
return;
|
|
74
|
-
|
|
75
|
-
loading.value = true;
|
|
76
|
-
const cb = (suggestionsArg) => {
|
|
69
|
+
const cb = (suggestionList) => {
|
|
77
70
|
loading.value = false;
|
|
78
|
-
if (suggestionDisabled.value)
|
|
71
|
+
if (suggestionDisabled.value)
|
|
79
72
|
return;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
suggestions.value = suggestionsArg;
|
|
73
|
+
if (shared.isArray(suggestionList)) {
|
|
74
|
+
suggestions.value = suggestionList;
|
|
83
75
|
highlightedIndex.value = props.highlightFirstItem ? 0 : -1;
|
|
84
76
|
} else {
|
|
85
77
|
error.throwError(COMPONENT_NAME, "autocomplete suggestions must be an array");
|
|
86
78
|
}
|
|
87
79
|
};
|
|
80
|
+
loading.value = true;
|
|
88
81
|
if (shared.isArray(props.fetchSuggestions)) {
|
|
89
82
|
cb(props.fetchSuggestions);
|
|
90
83
|
} else {
|
|
91
84
|
const result = await props.fetchSuggestions(queryString, cb);
|
|
92
|
-
if (shared.isArray(result))
|
|
85
|
+
if (shared.isArray(result))
|
|
93
86
|
cb(result);
|
|
94
|
-
}
|
|
95
87
|
}
|
|
96
88
|
};
|
|
97
89
|
const debouncedGetData = lodashUnified.debounce(getData, props.debounce);
|
|
98
90
|
const handleInput = (value) => {
|
|
99
|
-
const valuePresented =
|
|
100
|
-
emit(
|
|
91
|
+
const valuePresented = !!value;
|
|
92
|
+
emit(event.INPUT_EVENT, value);
|
|
101
93
|
emit(event.UPDATE_MODEL_EVENT, value);
|
|
102
94
|
suggestionDisabled.value = false;
|
|
103
95
|
activated.value || (activated.value = isClear && valuePresented);
|
|
@@ -112,7 +104,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
112
104
|
debouncedGetData(value);
|
|
113
105
|
};
|
|
114
106
|
const handleChange = (value) => {
|
|
115
|
-
emit(
|
|
107
|
+
emit(event.CHANGE_EVENT, value);
|
|
116
108
|
};
|
|
117
109
|
const handleFocus = (evt) => {
|
|
118
110
|
activated.value = true;
|
|
@@ -130,21 +122,20 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
130
122
|
emit(event.UPDATE_MODEL_EVENT, "");
|
|
131
123
|
emit("clear");
|
|
132
124
|
};
|
|
133
|
-
const handleKeyEnter = () => {
|
|
125
|
+
const handleKeyEnter = async () => {
|
|
134
126
|
if (suggestionVisible.value && highlightedIndex.value >= 0 && highlightedIndex.value < suggestions.value.length) {
|
|
135
127
|
handleSelect(suggestions.value[highlightedIndex.value]);
|
|
136
128
|
} else if (props.selectWhenUnmatched) {
|
|
137
129
|
emit("select", { value: props.modelValue });
|
|
138
|
-
vue.nextTick(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
});
|
|
130
|
+
await vue.nextTick();
|
|
131
|
+
suggestions.value = [];
|
|
132
|
+
highlightedIndex.value = -1;
|
|
142
133
|
}
|
|
143
134
|
};
|
|
144
|
-
const handleKeyEscape = (
|
|
135
|
+
const handleKeyEscape = (evt) => {
|
|
145
136
|
if (suggestionVisible.value) {
|
|
146
|
-
|
|
147
|
-
|
|
137
|
+
evt.preventDefault();
|
|
138
|
+
evt.stopPropagation();
|
|
148
139
|
close();
|
|
149
140
|
}
|
|
150
141
|
};
|
|
@@ -155,19 +146,17 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
155
146
|
var _a;
|
|
156
147
|
(_a = inputRef.value) == null ? void 0 : _a.focus();
|
|
157
148
|
};
|
|
158
|
-
const handleSelect = (item) => {
|
|
159
|
-
emit(
|
|
149
|
+
const handleSelect = async (item) => {
|
|
150
|
+
emit(event.INPUT_EVENT, item[props.valueKey]);
|
|
160
151
|
emit(event.UPDATE_MODEL_EVENT, item[props.valueKey]);
|
|
161
152
|
emit("select", item);
|
|
162
|
-
vue.nextTick(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
});
|
|
153
|
+
await vue.nextTick();
|
|
154
|
+
suggestions.value = [];
|
|
155
|
+
highlightedIndex.value = -1;
|
|
166
156
|
};
|
|
167
157
|
const highlight = (index) => {
|
|
168
|
-
if (!suggestionVisible.value || loading.value)
|
|
158
|
+
if (!suggestionVisible.value || loading.value)
|
|
169
159
|
return;
|
|
170
|
-
}
|
|
171
160
|
if (index < 0) {
|
|
172
161
|
highlightedIndex.value = -1;
|
|
173
162
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete4.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useCompAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst ns = useNamespace('autocomplete')\nlet isClear = false\nconst attrs = useAttrs()\nconst compAttrs = useCompAttrs()\nconst suggestions = ref<any[]>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nconst listboxId = computed(() => {\n return ns.b(String(generateId()))\n})\nconst styles = computed(() => compAttrs.style as StyleValue)\nconst suggestionVisible = computed(() => {\n const isValidData = isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\nconst suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n})\n\nconst onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n const cb = (suggestionsArg: any[]) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) {\n cb(result)\n }\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\nconst handleInput = (value: string) => {\n const valuePresented = Boolean(value)\n\n emit('input', value)\n emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\nconst handleChange = (value: string) => {\n emit('change', value)\n}\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\nconst handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n}\nconst handleKeyEscape = (e) => {\n if (suggestionVisible.value) {\n e.preventDefault()\n e.stopPropagation()\n close()\n }\n}\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = (item: any) => {\n emit('input', item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n}\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useNamespace","useAttrs","useCompAttrs","ref","computed","generateId","isArray","nextTick","throwError","debounce","UPDATE_MODEL_EVENT","onClickOutside","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete4.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet isClear = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\n\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useAttrs","useRawAttrs","useNamespace","ref","computed","generateId","nextTick","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onMounted"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ require('../../../utils/index2.js');
|
|
|
6
6
|
require('../../../constants/index2.js');
|
|
7
7
|
var props = require('../../../utils/vue/props2.js');
|
|
8
8
|
var size = require('../../../constants/size2.js');
|
|
9
|
+
var core = require('@vueuse/core');
|
|
9
10
|
var icon = require('../../../utils/vue/icon2.js');
|
|
10
11
|
|
|
11
12
|
const avatarProps = props.buildProps({
|
|
@@ -13,7 +14,7 @@ const avatarProps = props.buildProps({
|
|
|
13
14
|
type: [Number, String],
|
|
14
15
|
values: size.componentSizes,
|
|
15
16
|
default: "",
|
|
16
|
-
validator: (val) =>
|
|
17
|
+
validator: (val) => core.isNumber(val)
|
|
17
18
|
},
|
|
18
19
|
shape: {
|
|
19
20
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar3.js","sources":["../../../../../../packages/components/avatar/src/avatar.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"avatar3.js","sources":["../../../../../../packages/components/avatar/src/avatar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ObjectFitProperty } from 'csstype'\nimport type Avatar from './avatar.vue'\n\nexport const avatarProps = buildProps({\n size: {\n type: [Number, String],\n values: componentSizes,\n default: '',\n validator: (val: unknown): val is number => isNumber(val),\n },\n shape: {\n type: String,\n values: ['circle', 'square'],\n default: 'circle',\n },\n icon: {\n type: iconPropType,\n },\n src: {\n type: String,\n default: '',\n },\n alt: String,\n srcSet: String,\n fit: {\n type: definePropType<ObjectFitProperty>(String),\n default: 'cover',\n },\n} as const)\nexport type AvatarProps = ExtractPropTypes<typeof avatarProps>\n\nexport const avatarEmits = {\n error: (evt: Event) => evt instanceof Event,\n}\nexport type AvatarEmits = typeof avatarEmits\n\nexport type AvatarInstance = InstanceType<typeof Avatar>\n"],"names":["buildProps","componentSizes","isNumber","iconPropType","definePropType"],"mappings":";;;;;;;;;;;AAOY,MAAC,WAAW,GAAGA,gBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,EAAEC,mBAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,CAAC,GAAG,KAAKC,aAAQ,CAAC,GAAG,CAAC;AACrC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAChC,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAEC,oBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACtC;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtop3.js","sources":["../../../../../../packages/components/backtop/src/backtop.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const backtopProps = {\n visibilityHeight: {\n type: Number,\n default: 200,\n },\n target: {\n type: String,\n default: '',\n },\n right: {\n type: Number,\n default: 40,\n },\n bottom: {\n type: Number,\n default: 40,\n },\n} as const\nexport type BacktopProps = ExtractPropTypes<typeof backtopProps>\n\nexport const backtopEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type BacktopEmits = typeof backtopEmits\n"],"names":[],"mappings":";;;;AAAY,MAAC,YAAY,GAAG;AAC5B,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE;AACU,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;;"}
|
|
1
|
+
{"version":3,"file":"backtop3.js","sources":["../../../../../../packages/components/backtop/src/backtop.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport type Backtop from './backtop.vue'\n\nexport const backtopProps = {\n visibilityHeight: {\n type: Number,\n default: 200,\n },\n target: {\n type: String,\n default: '',\n },\n right: {\n type: Number,\n default: 40,\n },\n bottom: {\n type: Number,\n default: 40,\n },\n} as const\nexport type BacktopProps = ExtractPropTypes<typeof backtopProps>\n\nexport const backtopEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type BacktopEmits = typeof backtopEmits\n\nexport type BacktopInstance = InstanceType<typeof Backtop>\n"],"names":[],"mappings":";;;;AAAY,MAAC,YAAY,GAAG;AAC5B,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE;AACU,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;;"}
|
|
@@ -60,6 +60,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
60
|
emit("click", event);
|
|
61
61
|
};
|
|
62
62
|
const handleScrollThrottled = core.useThrottleFn(handleScroll, 300);
|
|
63
|
+
core.useEventListener(container, "scroll", handleScrollThrottled);
|
|
63
64
|
vue.onMounted(() => {
|
|
64
65
|
var _a;
|
|
65
66
|
container.value = document;
|
|
@@ -71,7 +72,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
72
|
}
|
|
72
73
|
container.value = el.value;
|
|
73
74
|
}
|
|
74
|
-
core.useEventListener(container, "scroll", handleScrollThrottled);
|
|
75
75
|
});
|
|
76
76
|
return (_ctx, _cache) => {
|
|
77
77
|
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtop4.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\
|
|
1
|
+
{"version":3,"file":"backtop4.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\ndefineOptions({\n name: 'ElBacktop',\n})\n\nconst props = defineProps(backtopProps)\nconst emit = defineEmits(backtopEmits)\n\nconst ns = useNamespace('backtop')\nconst el = shallowRef<HTMLElement>()\nconst container = shallowRef<Document | HTMLElement>()\nconst visible = ref(false)\n\nconst backTopStyle = computed(() => ({\n right: `${props.right}px`,\n bottom: `${props.bottom}px`,\n}))\n\nconst scrollToTop = () => {\n // TODO: use https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo, with behavior: 'smooth'\n\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n}\nconst handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n}\nconst handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n}\n\nconst handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\nuseEventListener(container, 'scroll', handleScrollThrottled)\nonMounted(() => {\n container.value = document\n el.value = document.documentElement\n\n if (props.target) {\n el.value = document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n})\n</script>\n"],"names":["useNamespace","shallowRef","ref","computed","easeInOutCubic","useThrottleFn","useEventListener","onMounted","throwError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AASA,IAAA,MAAA,EAAA,GAAAA,mBAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAAC,cAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAAA,cAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAAC,QAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAAC,aAAA,OAAA;AAAA,MACA,KAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,MAAA;AAGA,MAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA;AACA,MAAA,MAAA,SAAA,GAAA,KAAA,GAAA,EAAA,CAAA;AACA,MAAA,MAAA,UAAA,GAAA,GAAA,KAAA,CAAA,SAAA,CAAA;AACA,MAAA,MAAA,YAAA,MAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,UAAA,OAAA;AACA,QAAA,MAAA,QAAA,GAAA,CAAA,IAAA,CAAA,GAAA,EAAA,GAAA,SAAA,IAAA,GAAA,CAAA;AACA,QAAA,IAAA,WAAA,CAAA,EAAA;AACA,UAAA,EAAA,CAAA,KAAA,CAAA,SAAA,GAAA,UAAA,IAAA,CAAA,GAAAC,yBAAA,QAAA,CAAA,CAAA,CAAA;AACA,UAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,EAAA,CAAA,MAAA,SAAA,GAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AACA,MAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,gBAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,WAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,qBAAA,GAAAC,kBAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AAEA,IAAAC,qBAAA,CAAA,SAAA,EAAA,UAAA,qBAAA,CAAA,CAAA;AACA,IAAAC,aAAA,CAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,eAAA,GAAA,QAAA,CAAA;AAEA,MAAA,EAAA,CAAA,QAAA,QAAA,CAAA,eAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AACA,QAAA,EAAA,CAAA,KAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA,EAAA;AAAA,UACAC,gBAAA,CAAA,cAAA,EAAA,CAAA,uBAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACA,SAAA;AAAA,QACA,SAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAAA,OACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -20,10 +20,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
20
20
|
setup(__props) {
|
|
21
21
|
const props = __props;
|
|
22
22
|
const instance = vue.getCurrentInstance();
|
|
23
|
-
const
|
|
24
|
-
const breadcrumbInjection = vue.inject(breadcrumb.breadcrumbKey, {});
|
|
23
|
+
const breadcrumbContext = vue.inject(breadcrumb.breadcrumbKey, void 0);
|
|
25
24
|
const ns = index.useNamespace("breadcrumb");
|
|
26
|
-
const { separator, separatorIcon } =
|
|
25
|
+
const { separator, separatorIcon } = vue.toRefs(breadcrumbContext);
|
|
26
|
+
const router = instance.appContext.config.globalProperties.$router;
|
|
27
27
|
const link = vue.ref();
|
|
28
28
|
const onClick = () => {
|
|
29
29
|
if (!props.to || !router)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-item4.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span\n ref=\"link\"\n :class=\"[ns.e('inner'), ns.is('link', !!to)]\"\n role=\"link\"\n @click=\"onClick\"\n >\n <slot />\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, ref } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { breadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\
|
|
1
|
+
{"version":3,"file":"breadcrumb-item4.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span\n ref=\"link\"\n :class=\"[ns.e('inner'), ns.is('link', !!to)]\"\n role=\"link\"\n @click=\"onClick\"\n >\n <slot />\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, ref, toRefs } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { breadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\ndefineOptions({\n name: 'ElBreadcrumbItem',\n})\n\nconst props = defineProps(breadcrumbItemProps)\n\nconst instance = getCurrentInstance()!\nconst breadcrumbContext = inject(breadcrumbKey, undefined)!\nconst ns = useNamespace('breadcrumb')\n\nconst { separator, separatorIcon } = toRefs(breadcrumbContext)\nconst router = instance.appContext.config.globalProperties.$router as Router\n\nconst link = ref<HTMLSpanElement>()\n\nconst onClick = () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n}\n</script>\n"],"names":["getCurrentInstance","inject","breadcrumbKey","useNamespace","toRefs","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkCA,IAAA,MAAA,WAAAA,sBAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAAC,UAAA,CAAAC,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAAC,mBAAA,YAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,GAAAC,UAAA,CAAA,iBAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,OAAA,CAAA;AAEA,IAAA,MAAA,OAAAC,OAAA,EAAA,CAAA;AAEA,IAAA,MAAA,UAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QAAA,OAAA;AACA,MAAA,KAAA,CAAA,OAAA,GAAA,OAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,21 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
require('../../../utils/index2.js');
|
|
6
6
|
require('../../../constants/index2.js');
|
|
7
|
+
var shared = require('@vue/shared');
|
|
7
8
|
var props = require('../../../utils/vue/props2.js');
|
|
8
9
|
var event = require('../../../constants/event2.js');
|
|
9
10
|
|
|
11
|
+
const isValidRange = (range) => shared.isArray(range) && range.length === 2 && range.every((item) => shared.isDate(item));
|
|
10
12
|
const calendarProps = props.buildProps({
|
|
11
13
|
modelValue: {
|
|
12
14
|
type: Date
|
|
13
15
|
},
|
|
14
16
|
range: {
|
|
15
17
|
type: props.definePropType(Array),
|
|
16
|
-
validator:
|
|
18
|
+
validator: isValidRange
|
|
17
19
|
}
|
|
18
20
|
});
|
|
19
21
|
const calendarEmits = {
|
|
20
|
-
[event.UPDATE_MODEL_EVENT]: (value) => value
|
|
21
|
-
|
|
22
|
+
[event.UPDATE_MODEL_EVENT]: (value) => shared.isDate(value),
|
|
23
|
+
[event.INPUT_EVENT]: (value) => shared.isDate(value)
|
|
22
24
|
};
|
|
23
25
|
|
|
24
26
|
exports.calendarEmits = calendarEmits;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar3.js","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"calendar3.js","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":["isArray","isDate","buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAKA,cAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,aAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAGC,gBAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,oBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKH,aAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAACI,iBAAW,GAAG,CAAC,KAAK,KAAKJ,aAAM,CAAC,KAAK,CAAC;AACzC;;;;;"}
|
|
@@ -7,11 +7,13 @@ var dayjs = require('dayjs');
|
|
|
7
7
|
var index$2 = require('../../button/index2.js');
|
|
8
8
|
require('../../../hooks/index2.js');
|
|
9
9
|
require('../../../utils/index2.js');
|
|
10
|
+
require('../../../constants/index2.js');
|
|
10
11
|
var dateTable = require('./date-table4.js');
|
|
11
12
|
var calendar = require('./calendar3.js');
|
|
12
13
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
13
14
|
var index = require('../../../hooks/use-namespace/index2.js');
|
|
14
15
|
var index$1 = require('../../../hooks/use-locale/index2.js');
|
|
16
|
+
var event = require('../../../constants/event2.js');
|
|
15
17
|
var error = require('../../../utils/error2.js');
|
|
16
18
|
|
|
17
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -32,22 +34,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
32
34
|
const { t, lang } = index$1.useLocale();
|
|
33
35
|
const selectedDay = vue.ref();
|
|
34
36
|
const now = dayjs__default["default"]().locale(lang.value);
|
|
35
|
-
const prevMonthDayjs = vue.computed(() => {
|
|
36
|
-
return date.value.subtract(1, "month").date(1);
|
|
37
|
-
});
|
|
38
|
-
const nextMonthDayjs = vue.computed(() => {
|
|
39
|
-
return date.value.add(1, "month").date(1);
|
|
40
|
-
});
|
|
41
|
-
const prevYearDayjs = vue.computed(() => {
|
|
42
|
-
return date.value.subtract(1, "year").date(1);
|
|
43
|
-
});
|
|
44
|
-
const nextYearDayjs = vue.computed(() => {
|
|
45
|
-
return date.value.add(1, "year").date(1);
|
|
46
|
-
});
|
|
47
|
-
const i18nDate = vue.computed(() => {
|
|
48
|
-
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
49
|
-
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
50
|
-
});
|
|
51
37
|
const realSelectedDay = vue.computed({
|
|
52
38
|
get() {
|
|
53
39
|
if (!props.modelValue)
|
|
@@ -59,8 +45,27 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
59
45
|
return;
|
|
60
46
|
selectedDay.value = val;
|
|
61
47
|
const result = val.toDate();
|
|
62
|
-
emit(
|
|
63
|
-
emit(
|
|
48
|
+
emit(event.INPUT_EVENT, result);
|
|
49
|
+
emit(event.UPDATE_MODEL_EVENT, result);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const validatedRange = vue.computed(() => {
|
|
53
|
+
if (!props.range)
|
|
54
|
+
return [];
|
|
55
|
+
const rangeArrDayjs = props.range.map((_) => dayjs__default["default"](_).locale(lang.value));
|
|
56
|
+
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
57
|
+
if (startDayjs.isAfter(endDayjs)) {
|
|
58
|
+
error.debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
if (startDayjs.isSame(endDayjs, "month")) {
|
|
62
|
+
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
63
|
+
} else {
|
|
64
|
+
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
65
|
+
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
64
69
|
}
|
|
65
70
|
});
|
|
66
71
|
const date = vue.computed(() => {
|
|
@@ -75,6 +80,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
75
80
|
return dayjs__default["default"](props.modelValue).locale(lang.value);
|
|
76
81
|
}
|
|
77
82
|
});
|
|
83
|
+
const prevMonthDayjs = vue.computed(() => date.value.subtract(1, "month").date(1));
|
|
84
|
+
const nextMonthDayjs = vue.computed(() => date.value.add(1, "month").date(1));
|
|
85
|
+
const prevYearDayjs = vue.computed(() => date.value.subtract(1, "year").date(1));
|
|
86
|
+
const nextYearDayjs = vue.computed(() => date.value.add(1, "year").date(1));
|
|
87
|
+
const i18nDate = vue.computed(() => {
|
|
88
|
+
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
89
|
+
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
90
|
+
});
|
|
78
91
|
const calculateValidatedDateRange = (startDayjs, endDayjs) => {
|
|
79
92
|
const firstDay = startDayjs.startOf("week");
|
|
80
93
|
const lastDay = endDayjs.endOf("week");
|
|
@@ -108,25 +121,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
108
121
|
return [];
|
|
109
122
|
}
|
|
110
123
|
};
|
|
111
|
-
const validatedRange = vue.computed(() => {
|
|
112
|
-
if (!props.range)
|
|
113
|
-
return [];
|
|
114
|
-
const rangeArrDayjs = props.range.map((_) => dayjs__default["default"](_).locale(lang.value));
|
|
115
|
-
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
116
|
-
if (startDayjs.isAfter(endDayjs)) {
|
|
117
|
-
error.debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
118
|
-
return [];
|
|
119
|
-
}
|
|
120
|
-
if (startDayjs.isSame(endDayjs, "month")) {
|
|
121
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
122
|
-
} else {
|
|
123
|
-
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
124
|
-
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
125
|
-
return [];
|
|
126
|
-
}
|
|
127
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
124
|
const pickDay = (day) => {
|
|
131
125
|
realSelectedDay.value = day;
|
|
132
126
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar4.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\n\nconst { t, lang } = useLocale()\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n})\n\nconst nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n})\n\nconst prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n})\n\nconst nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n})\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","debugWarn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar4.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn"],"mappings":"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"}
|