@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete3.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {
|
|
1
|
+
{"version":3,"file":"autocomplete3.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record<string, any>[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable<AutocompleteData> | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n },\n teleported: useTooltipContentProps.teleported,\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type AutocompleteProps = ExtractPropTypes<typeof autocompleteProps>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: { value: any }) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType<typeof Autocomplete>\n"],"names":[],"mappings":";;;;;;;;AAaY,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE;AACZ,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,KAAK;AACL,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE,sBAAsB,CAAC,UAAU;AAC/C,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC3C,EAAE,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAClC;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineComponent, useAttrs as useAttrs$1, ref, computed, nextTick, onMounted, openBlock, createBlock, unref, isRef, withCtx, createElementVNode, normalizeClass, normalizeStyle, createVNode, createElementBlock, Fragment, renderList, renderSlot, createTextVNode, toDisplayString, mergeProps, withKeys, withModifiers, createSlots } from 'vue';
|
|
2
2
|
import { debounce } from 'lodash-unified';
|
|
3
3
|
import { onClickOutside } from '@vueuse/core';
|
|
4
|
+
import { Loading } from '@element-plus/icons-vue';
|
|
4
5
|
import '../../../hooks/index2.mjs';
|
|
5
6
|
import '../../../utils/index2.mjs';
|
|
6
7
|
import '../../../constants/index2.mjs';
|
|
@@ -8,15 +9,14 @@ import { ElInput } from '../../input/index2.mjs';
|
|
|
8
9
|
import { ElScrollbar } from '../../scrollbar/index2.mjs';
|
|
9
10
|
import { ElTooltip } from '../../tooltip/index2.mjs';
|
|
10
11
|
import { ElIcon } from '../../icon/index2.mjs';
|
|
11
|
-
import { Loading } from '@element-plus/icons-vue';
|
|
12
12
|
import { autocompleteProps, autocompleteEmits } from './autocomplete3.mjs';
|
|
13
13
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
14
|
-
import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
|
|
15
14
|
import { useAttrs } from '../../../hooks/use-attrs/index2.mjs';
|
|
15
|
+
import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
|
|
16
16
|
import { generateId } from '../../../utils/rand2.mjs';
|
|
17
17
|
import { isArray } from '@vue/shared';
|
|
18
18
|
import { throwError } from '../../../utils/error2.mjs';
|
|
19
|
-
import { UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
|
|
19
|
+
import { INPUT_EVENT, UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event2.mjs';
|
|
20
20
|
|
|
21
21
|
const _hoisted_1 = ["aria-expanded", "aria-owns"];
|
|
22
22
|
const _hoisted_2 = { key: 0 };
|
|
@@ -32,68 +32,60 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
32
32
|
setup(__props, { expose, emit }) {
|
|
33
33
|
const props = __props;
|
|
34
34
|
const COMPONENT_NAME = "ElAutocomplete";
|
|
35
|
+
const attrs = useAttrs();
|
|
36
|
+
const rawAttrs = useAttrs$1();
|
|
35
37
|
const ns = useNamespace("autocomplete");
|
|
38
|
+
const inputRef = ref();
|
|
39
|
+
const regionRef = ref();
|
|
40
|
+
const popperRef = ref();
|
|
41
|
+
const listboxRef = ref();
|
|
36
42
|
let isClear = false;
|
|
37
|
-
const attrs = useAttrs();
|
|
38
|
-
const compAttrs = useAttrs$1();
|
|
39
43
|
const suggestions = ref([]);
|
|
40
44
|
const highlightedIndex = ref(-1);
|
|
41
45
|
const dropdownWidth = ref("");
|
|
42
46
|
const activated = ref(false);
|
|
43
47
|
const suggestionDisabled = ref(false);
|
|
44
48
|
const loading = ref(false);
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const popperRef = ref();
|
|
48
|
-
const listboxRef = ref();
|
|
49
|
-
const listboxId = computed(() => {
|
|
50
|
-
return ns.b(String(generateId()));
|
|
51
|
-
});
|
|
52
|
-
const styles = computed(() => compAttrs.style);
|
|
49
|
+
const listboxId = computed(() => ns.b(String(generateId())));
|
|
50
|
+
const styles = computed(() => rawAttrs.style);
|
|
53
51
|
const suggestionVisible = computed(() => {
|
|
54
|
-
const isValidData =
|
|
52
|
+
const isValidData = suggestions.value.length > 0;
|
|
55
53
|
return (isValidData || loading.value) && activated.value;
|
|
56
54
|
});
|
|
57
|
-
const suggestionLoading = computed(() =>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
55
|
+
const suggestionLoading = computed(() => !props.hideLoading && loading.value);
|
|
56
|
+
const onSuggestionShow = async () => {
|
|
57
|
+
await nextTick();
|
|
58
|
+
if (suggestionVisible.value) {
|
|
59
|
+
dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
|
|
60
|
+
}
|
|
66
61
|
};
|
|
67
62
|
const getData = async (queryString) => {
|
|
68
|
-
if (suggestionDisabled.value)
|
|
63
|
+
if (suggestionDisabled.value)
|
|
69
64
|
return;
|
|
70
|
-
|
|
71
|
-
loading.value = true;
|
|
72
|
-
const cb = (suggestionsArg) => {
|
|
65
|
+
const cb = (suggestionList) => {
|
|
73
66
|
loading.value = false;
|
|
74
|
-
if (suggestionDisabled.value)
|
|
67
|
+
if (suggestionDisabled.value)
|
|
75
68
|
return;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
suggestions.value = suggestionsArg;
|
|
69
|
+
if (isArray(suggestionList)) {
|
|
70
|
+
suggestions.value = suggestionList;
|
|
79
71
|
highlightedIndex.value = props.highlightFirstItem ? 0 : -1;
|
|
80
72
|
} else {
|
|
81
73
|
throwError(COMPONENT_NAME, "autocomplete suggestions must be an array");
|
|
82
74
|
}
|
|
83
75
|
};
|
|
76
|
+
loading.value = true;
|
|
84
77
|
if (isArray(props.fetchSuggestions)) {
|
|
85
78
|
cb(props.fetchSuggestions);
|
|
86
79
|
} else {
|
|
87
80
|
const result = await props.fetchSuggestions(queryString, cb);
|
|
88
|
-
if (isArray(result))
|
|
81
|
+
if (isArray(result))
|
|
89
82
|
cb(result);
|
|
90
|
-
}
|
|
91
83
|
}
|
|
92
84
|
};
|
|
93
85
|
const debouncedGetData = debounce(getData, props.debounce);
|
|
94
86
|
const handleInput = (value) => {
|
|
95
|
-
const valuePresented =
|
|
96
|
-
emit(
|
|
87
|
+
const valuePresented = !!value;
|
|
88
|
+
emit(INPUT_EVENT, value);
|
|
97
89
|
emit(UPDATE_MODEL_EVENT, value);
|
|
98
90
|
suggestionDisabled.value = false;
|
|
99
91
|
activated.value || (activated.value = isClear && valuePresented);
|
|
@@ -108,7 +100,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
108
100
|
debouncedGetData(value);
|
|
109
101
|
};
|
|
110
102
|
const handleChange = (value) => {
|
|
111
|
-
emit(
|
|
103
|
+
emit(CHANGE_EVENT, value);
|
|
112
104
|
};
|
|
113
105
|
const handleFocus = (evt) => {
|
|
114
106
|
activated.value = true;
|
|
@@ -126,21 +118,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
126
118
|
emit(UPDATE_MODEL_EVENT, "");
|
|
127
119
|
emit("clear");
|
|
128
120
|
};
|
|
129
|
-
const handleKeyEnter = () => {
|
|
121
|
+
const handleKeyEnter = async () => {
|
|
130
122
|
if (suggestionVisible.value && highlightedIndex.value >= 0 && highlightedIndex.value < suggestions.value.length) {
|
|
131
123
|
handleSelect(suggestions.value[highlightedIndex.value]);
|
|
132
124
|
} else if (props.selectWhenUnmatched) {
|
|
133
125
|
emit("select", { value: props.modelValue });
|
|
134
|
-
nextTick(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
126
|
+
await nextTick();
|
|
127
|
+
suggestions.value = [];
|
|
128
|
+
highlightedIndex.value = -1;
|
|
138
129
|
}
|
|
139
130
|
};
|
|
140
|
-
const handleKeyEscape = (
|
|
131
|
+
const handleKeyEscape = (evt) => {
|
|
141
132
|
if (suggestionVisible.value) {
|
|
142
|
-
|
|
143
|
-
|
|
133
|
+
evt.preventDefault();
|
|
134
|
+
evt.stopPropagation();
|
|
144
135
|
close();
|
|
145
136
|
}
|
|
146
137
|
};
|
|
@@ -151,19 +142,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
151
142
|
var _a;
|
|
152
143
|
(_a = inputRef.value) == null ? void 0 : _a.focus();
|
|
153
144
|
};
|
|
154
|
-
const handleSelect = (item) => {
|
|
155
|
-
emit(
|
|
145
|
+
const handleSelect = async (item) => {
|
|
146
|
+
emit(INPUT_EVENT, item[props.valueKey]);
|
|
156
147
|
emit(UPDATE_MODEL_EVENT, item[props.valueKey]);
|
|
157
148
|
emit("select", item);
|
|
158
|
-
nextTick(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
});
|
|
149
|
+
await nextTick();
|
|
150
|
+
suggestions.value = [];
|
|
151
|
+
highlightedIndex.value = -1;
|
|
162
152
|
};
|
|
163
153
|
const highlight = (index) => {
|
|
164
|
-
if (!suggestionVisible.value || loading.value)
|
|
154
|
+
if (!suggestionVisible.value || loading.value)
|
|
165
155
|
return;
|
|
166
|
-
}
|
|
167
156
|
if (index < 0) {
|
|
168
157
|
highlightedIndex.value = -1;
|
|
169
158
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete4.mjs","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":["useCompAttrs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete4.mjs","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":["useRawAttrs"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import '../../../utils/index2.mjs';
|
|
|
2
2
|
import '../../../constants/index2.mjs';
|
|
3
3
|
import { buildProps, definePropType } from '../../../utils/vue/props2.mjs';
|
|
4
4
|
import { componentSizes } from '../../../constants/size2.mjs';
|
|
5
|
+
import { isNumber } from '@vueuse/core';
|
|
5
6
|
import { iconPropType } from '../../../utils/vue/icon2.mjs';
|
|
6
7
|
|
|
7
8
|
const avatarProps = buildProps({
|
|
@@ -9,7 +10,7 @@ const avatarProps = buildProps({
|
|
|
9
10
|
type: [Number, String],
|
|
10
11
|
values: componentSizes,
|
|
11
12
|
default: "",
|
|
12
|
-
validator: (val) =>
|
|
13
|
+
validator: (val) => isNumber(val)
|
|
13
14
|
},
|
|
14
15
|
shape: {
|
|
15
16
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar3.mjs","sources":["../../../../../../packages/components/avatar/src/avatar.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"avatar3.mjs","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":[],"mappings":";;;;;;;AAOY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,QAAQ,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,EAAE,YAAY;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,EAAE,cAAc,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.mjs","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.mjs","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;;;;"}
|
|
@@ -56,6 +56,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
56
56
|
emit("click", event);
|
|
57
57
|
};
|
|
58
58
|
const handleScrollThrottled = useThrottleFn(handleScroll, 300);
|
|
59
|
+
useEventListener(container, "scroll", handleScrollThrottled);
|
|
59
60
|
onMounted(() => {
|
|
60
61
|
var _a;
|
|
61
62
|
container.value = document;
|
|
@@ -67,7 +68,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
67
68
|
}
|
|
68
69
|
container.value = el.value;
|
|
69
70
|
}
|
|
70
|
-
useEventListener(container, "scroll", handleScrollThrottled);
|
|
71
71
|
});
|
|
72
72
|
return (_ctx, _cache) => {
|
|
73
73
|
return openBlock(), createBlock(Transition, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtop4.mjs","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.mjs","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AASA,IAAA,MAAA,EAAA,GAAA,aAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAA,SAAA,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,GAAA,eAAA,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,GAAA,aAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AAEA,IAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,qBAAA,CAAA,CAAA;AACA,IAAA,SAAA,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,UACA,UAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, getCurrentInstance, inject, ref, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, toDisplayString } from 'vue';
|
|
1
|
+
import { defineComponent, getCurrentInstance, inject, toRefs, ref, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, toDisplayString } from 'vue';
|
|
2
2
|
import { ElIcon } from '../../icon/index2.mjs';
|
|
3
3
|
import '../../../tokens/index2.mjs';
|
|
4
4
|
import '../../../hooks/index2.mjs';
|
|
@@ -16,10 +16,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16
16
|
setup(__props) {
|
|
17
17
|
const props = __props;
|
|
18
18
|
const instance = getCurrentInstance();
|
|
19
|
-
const
|
|
20
|
-
const breadcrumbInjection = inject(breadcrumbKey, {});
|
|
19
|
+
const breadcrumbContext = inject(breadcrumbKey, void 0);
|
|
21
20
|
const ns = useNamespace("breadcrumb");
|
|
22
|
-
const { separator, separatorIcon } =
|
|
21
|
+
const { separator, separatorIcon } = toRefs(breadcrumbContext);
|
|
22
|
+
const router = instance.appContext.config.globalProperties.$router;
|
|
23
23
|
const link = ref();
|
|
24
24
|
const onClick = () => {
|
|
25
25
|
if (!props.to || !router)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-item4.mjs","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.mjs","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":[],"mappings":";;;;;;;;;;;;;;;;;AAkCA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,MAAA,CAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,GAAA,MAAA,CAAA,iBAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,OAAA,CAAA;AAEA,IAAA,MAAA,OAAA,GAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import '../../../utils/index2.mjs';
|
|
2
2
|
import '../../../constants/index2.mjs';
|
|
3
|
+
import { isArray, isDate } from '@vue/shared';
|
|
3
4
|
import { buildProps, definePropType } from '../../../utils/vue/props2.mjs';
|
|
4
|
-
import { UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
|
|
5
|
+
import { UPDATE_MODEL_EVENT, INPUT_EVENT } from '../../../constants/event2.mjs';
|
|
5
6
|
|
|
7
|
+
const isValidRange = (range) => isArray(range) && range.length === 2 && range.every((item) => isDate(item));
|
|
6
8
|
const calendarProps = buildProps({
|
|
7
9
|
modelValue: {
|
|
8
10
|
type: Date
|
|
9
11
|
},
|
|
10
12
|
range: {
|
|
11
13
|
type: definePropType(Array),
|
|
12
|
-
validator:
|
|
14
|
+
validator: isValidRange
|
|
13
15
|
}
|
|
14
16
|
});
|
|
15
17
|
const calendarEmits = {
|
|
16
|
-
[UPDATE_MODEL_EVENT]: (value) => value
|
|
17
|
-
|
|
18
|
+
[UPDATE_MODEL_EVENT]: (value) => isDate(value),
|
|
19
|
+
[INPUT_EVENT]: (value) => isDate(value)
|
|
18
20
|
};
|
|
19
21
|
|
|
20
22
|
export { calendarEmits, calendarProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar3.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"calendar3.mjs","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":[],"mappings":";;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AACzC;;;;"}
|
|
@@ -3,11 +3,13 @@ import dayjs from 'dayjs';
|
|
|
3
3
|
import { ElButtonGroup, ElButton } from '../../button/index2.mjs';
|
|
4
4
|
import '../../../hooks/index2.mjs';
|
|
5
5
|
import '../../../utils/index2.mjs';
|
|
6
|
+
import '../../../constants/index2.mjs';
|
|
6
7
|
import DateTable from './date-table4.mjs';
|
|
7
8
|
import { calendarProps, calendarEmits } from './calendar3.mjs';
|
|
8
9
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
9
10
|
import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
|
|
10
11
|
import { useLocale } from '../../../hooks/use-locale/index2.mjs';
|
|
12
|
+
import { INPUT_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
|
|
11
13
|
import { debugWarn } from '../../../utils/error2.mjs';
|
|
12
14
|
|
|
13
15
|
const __default__ = {
|
|
@@ -24,22 +26,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
24
26
|
const { t, lang } = useLocale();
|
|
25
27
|
const selectedDay = ref();
|
|
26
28
|
const now = dayjs().locale(lang.value);
|
|
27
|
-
const prevMonthDayjs = computed(() => {
|
|
28
|
-
return date.value.subtract(1, "month").date(1);
|
|
29
|
-
});
|
|
30
|
-
const nextMonthDayjs = computed(() => {
|
|
31
|
-
return date.value.add(1, "month").date(1);
|
|
32
|
-
});
|
|
33
|
-
const prevYearDayjs = computed(() => {
|
|
34
|
-
return date.value.subtract(1, "year").date(1);
|
|
35
|
-
});
|
|
36
|
-
const nextYearDayjs = computed(() => {
|
|
37
|
-
return date.value.add(1, "year").date(1);
|
|
38
|
-
});
|
|
39
|
-
const i18nDate = computed(() => {
|
|
40
|
-
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
41
|
-
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
42
|
-
});
|
|
43
29
|
const realSelectedDay = computed({
|
|
44
30
|
get() {
|
|
45
31
|
if (!props.modelValue)
|
|
@@ -51,8 +37,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
51
37
|
return;
|
|
52
38
|
selectedDay.value = val;
|
|
53
39
|
const result = val.toDate();
|
|
54
|
-
emit(
|
|
55
|
-
emit(
|
|
40
|
+
emit(INPUT_EVENT, result);
|
|
41
|
+
emit(UPDATE_MODEL_EVENT, result);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const validatedRange = computed(() => {
|
|
45
|
+
if (!props.range)
|
|
46
|
+
return [];
|
|
47
|
+
const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value));
|
|
48
|
+
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
49
|
+
if (startDayjs.isAfter(endDayjs)) {
|
|
50
|
+
debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
if (startDayjs.isSame(endDayjs, "month")) {
|
|
54
|
+
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
55
|
+
} else {
|
|
56
|
+
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
57
|
+
debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
56
61
|
}
|
|
57
62
|
});
|
|
58
63
|
const date = computed(() => {
|
|
@@ -67,6 +72,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
67
72
|
return dayjs(props.modelValue).locale(lang.value);
|
|
68
73
|
}
|
|
69
74
|
});
|
|
75
|
+
const prevMonthDayjs = computed(() => date.value.subtract(1, "month").date(1));
|
|
76
|
+
const nextMonthDayjs = computed(() => date.value.add(1, "month").date(1));
|
|
77
|
+
const prevYearDayjs = computed(() => date.value.subtract(1, "year").date(1));
|
|
78
|
+
const nextYearDayjs = computed(() => date.value.add(1, "year").date(1));
|
|
79
|
+
const i18nDate = computed(() => {
|
|
80
|
+
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
81
|
+
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
82
|
+
});
|
|
70
83
|
const calculateValidatedDateRange = (startDayjs, endDayjs) => {
|
|
71
84
|
const firstDay = startDayjs.startOf("week");
|
|
72
85
|
const lastDay = endDayjs.endOf("week");
|
|
@@ -100,25 +113,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
100
113
|
return [];
|
|
101
114
|
}
|
|
102
115
|
};
|
|
103
|
-
const validatedRange = computed(() => {
|
|
104
|
-
if (!props.range)
|
|
105
|
-
return [];
|
|
106
|
-
const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value));
|
|
107
|
-
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
108
|
-
if (startDayjs.isAfter(endDayjs)) {
|
|
109
|
-
debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
110
|
-
return [];
|
|
111
|
-
}
|
|
112
|
-
if (startDayjs.isSame(endDayjs, "month")) {
|
|
113
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
114
|
-
} else {
|
|
115
|
-
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
116
|
-
debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
117
|
-
return [];
|
|
118
|
-
}
|
|
119
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
116
|
const pickDay = (day) => {
|
|
123
117
|
realSelectedDay.value = day;
|
|
124
118
|
};
|