@element-plus/nightly 0.0.20220218 → 0.0.20220222
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +845 -730
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +845 -730
- 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/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/autocomplete/src/index.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/src/button-group2.mjs.map +1 -1
- package/es/components/calendar/index.d.ts +1 -1
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/src/item.mjs.map +1 -1
- package/es/components/carousel/src/main.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +12 -2
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader/src/index.vue.d.ts +6 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
- package/es/components/collection/src/collection-item.mjs.map +1 -1
- package/es/components/collection/src/collection2.mjs.map +1 -1
- package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
- package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/config-provider/index.d.ts +3 -3
- package/es/components/config-provider/src/config-provider.d.ts +2 -1
- package/es/components/container/src/aside.mjs.map +1 -1
- package/es/components/container/src/container.mjs.map +1 -1
- package/es/components/container/src/footer.mjs.map +1 -1
- package/es/components/container/src/header.mjs.map +1 -1
- package/es/components/container/src/main.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
- package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/index.mjs.map +1 -1
- package/es/components/dialog/index.d.ts +199 -31
- package/es/components/dialog/index.mjs +2 -2
- package/es/components/dialog/index.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.d.ts +12 -0
- package/es/components/dialog/src/dialog-content.mjs +40 -0
- package/es/components/dialog/src/dialog-content.mjs.map +1 -0
- package/es/components/dialog/src/dialog-content.vue.d.ts +84 -0
- package/es/components/dialog/src/dialog-content2.mjs +84 -0
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -0
- package/es/components/dialog/src/dialog.d.ts +9 -7
- package/es/components/dialog/src/dialog.mjs +5 -30
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +236 -67
- package/es/components/dialog/src/dialog2.mjs +96 -122
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/dialog/src/token.d.ts +10 -0
- package/es/components/dialog/src/token.mjs +4 -0
- package/es/components/dialog/src/token.mjs.map +1 -0
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/drawer/index.d.ts +21 -17
- package/es/components/drawer/src/drawer.d.ts +9 -7
- package/es/components/drawer/src/drawer.vue.d.ts +21 -17
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +6 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -3
- package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
- package/es/components/dropdown/src/dropdown-item.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +6 -1
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/empty/src/empty2.mjs.map +1 -1
- package/es/components/empty/src/img-empty.mjs.map +1 -1
- package/es/components/focus-trap/src/focus-trap.mjs +19 -15
- package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/message/src/message2.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/total.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +3 -0
- package/es/components/popconfirm/src/popconfirm.d.ts +1 -0
- package/es/components/popconfirm/src/popconfirm.mjs +2 -1
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
- package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/index.d.ts +22 -2
- package/es/components/popover/src/index.mjs +19 -3
- package/es/components/popover/src/index.mjs.map +1 -1
- package/es/components/popover/src/index.vue.d.ts +11 -1
- package/es/components/popover/src/popover.d.ts +1 -0
- package/es/components/popover/src/popover.mjs +4 -0
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popper/src/arrow.mjs.map +1 -1
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/radio/src/radio2.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/select/index.d.ts +6 -1
- package/es/components/select/src/option-group.mjs.map +1 -1
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/select-dropdown.mjs.map +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +6 -1
- package/es/components/select/src/useSelect.d.ts +6 -1
- package/es/components/select-v2/index.d.ts +12 -2
- package/es/components/select-v2/src/group-item.mjs.map +1 -1
- package/es/components/select-v2/src/option-item.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +6 -1
- package/es/components/select-v2/src/useSelect.d.ts +6 -1
- package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/slider/src/button.mjs.map +1 -1
- package/es/components/slider/src/index.mjs.map +1 -1
- package/es/components/slot/src/only-child.mjs +3 -1
- package/es/components/slot/src/only-child.mjs.map +1 -1
- package/es/components/space/src/item.mjs.map +1 -1
- package/es/components/steps/src/index.mjs.map +1 -1
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +2 -2
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/src/filter-panel.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +6 -1
- package/es/components/table/src/table/style-helper.mjs +2 -2
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-footer/index.mjs +3 -1
- package/es/components/table/src/table-footer/index.mjs.map +1 -1
- package/es/components/table/src/table-layout.mjs +2 -5
- package/es/components/table/src/table-layout.mjs.map +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +6 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/index.d.ts +3 -0
- package/es/components/tooltip/src/content.mjs +20 -3
- package/es/components/tooltip/src/content.mjs.map +1 -1
- package/es/components/tooltip/src/content.vue.d.ts +1 -0
- package/es/components/tooltip/src/tokens.d.ts +2 -0
- package/es/components/tooltip/src/tokens.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +3 -0
- package/es/components/tooltip/src/tooltip2.mjs +10 -3
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +4 -4
- package/es/components/transfer/src/index.mjs.map +1 -1
- package/es/components/transfer/src/index.vue.d.ts +2 -2
- package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree-v2/index.d.ts +1 -1
- package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/defaults.d.ts +1 -1
- package/es/hooks/use-global-config/index.d.ts +1 -1
- package/es/hooks/use-model-toggle/index.d.ts +10 -7
- package/es/hooks/use-model-toggle/index.mjs +9 -7
- package/es/hooks/use-model-toggle/index.mjs.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/{locale.d.ts → locales.d.ts} +0 -0
- package/es/{locale.mjs → locales.mjs} +1 -1
- package/es/locales.mjs.map +1 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/autocomplete/src/index.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/src/button-group2.js.map +1 -1
- package/lib/components/calendar/index.d.ts +1 -1
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/src/item.js.map +1 -1
- package/lib/components/carousel/src/main.js.map +1 -1
- package/lib/components/cascader/index.d.ts +12 -2
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader/src/index.vue.d.ts +6 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
- package/lib/components/collection/src/collection-item.js.map +1 -1
- package/lib/components/collection/src/collection2.js.map +1 -1
- package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/predefine.js.map +1 -1
- package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/config-provider/index.d.ts +3 -3
- package/lib/components/config-provider/src/config-provider.d.ts +2 -1
- package/lib/components/container/src/aside.js.map +1 -1
- package/lib/components/container/src/container.js.map +1 -1
- package/lib/components/container/src/footer.js.map +1 -1
- package/lib/components/container/src/header.js.map +1 -1
- package/lib/components/container/src/main.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/index.js.map +1 -1
- package/lib/components/dialog/index.d.ts +199 -31
- package/lib/components/dialog/src/dialog-content.d.ts +12 -0
- package/lib/components/dialog/src/dialog-content.js +45 -0
- package/lib/components/dialog/src/dialog-content.js.map +1 -0
- package/lib/components/dialog/src/dialog-content.vue.d.ts +84 -0
- package/lib/components/dialog/src/dialog-content2.js +88 -0
- package/lib/components/dialog/src/dialog-content2.js.map +1 -0
- package/lib/components/dialog/src/dialog.d.ts +9 -7
- package/lib/components/dialog/src/dialog.js +5 -30
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +236 -67
- package/lib/components/dialog/src/dialog2.js +101 -127
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/dialog/src/token.d.ts +10 -0
- package/lib/components/dialog/src/token.js +8 -0
- package/lib/components/dialog/src/token.js.map +1 -0
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/drawer/index.d.ts +21 -17
- package/lib/components/drawer/src/drawer.d.ts +9 -7
- package/lib/components/drawer/src/drawer.vue.d.ts +21 -17
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +6 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js +3 -3
- package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
- package/lib/components/dropdown/src/dropdown-item.js +2 -2
- package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +6 -1
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/empty/src/empty2.js.map +1 -1
- package/lib/components/empty/src/img-empty.js.map +1 -1
- package/lib/components/focus-trap/src/focus-trap.js +18 -14
- package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/message/src/message2.js.map +1 -1
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/pager.js.map +1 -1
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/total.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +3 -0
- package/lib/components/popconfirm/src/popconfirm.d.ts +1 -0
- package/lib/components/popconfirm/src/popconfirm.js +2 -1
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
- package/lib/components/popconfirm/src/popconfirm2.js +2 -2
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/index.d.ts +22 -2
- package/lib/components/popover/src/index.js +19 -3
- package/lib/components/popover/src/index.js.map +1 -1
- package/lib/components/popover/src/index.vue.d.ts +11 -1
- package/lib/components/popover/src/popover.d.ts +1 -0
- package/lib/components/popover/src/popover.js +4 -0
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popper/src/arrow.js.map +1 -1
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/radio/src/radio2.js.map +1 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/select/index.d.ts +6 -1
- package/lib/components/select/src/option-group.js.map +1 -1
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/select-dropdown.js.map +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +6 -1
- package/lib/components/select/src/useSelect.d.ts +6 -1
- package/lib/components/select-v2/index.d.ts +12 -2
- package/lib/components/select-v2/src/group-item.js.map +1 -1
- package/lib/components/select-v2/src/option-item.js.map +1 -1
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +6 -1
- package/lib/components/select-v2/src/useSelect.d.ts +6 -1
- package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/slider/src/button.js.map +1 -1
- package/lib/components/slider/src/index.js.map +1 -1
- package/lib/components/slot/src/only-child.js +2 -0
- package/lib/components/slot/src/only-child.js.map +1 -1
- package/lib/components/space/src/item.js.map +1 -1
- package/lib/components/steps/src/index.js.map +1 -1
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/switch/src/switch2.js +2 -2
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/src/filter-panel.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +6 -1
- package/lib/components/table/src/table/style-helper.js +2 -2
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-footer/index.js +3 -1
- package/lib/components/table/src/table-footer/index.js.map +1 -1
- package/lib/components/table/src/table-layout.js +2 -5
- package/lib/components/table/src/table-layout.js.map +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/index.d.ts +3 -0
- package/lib/components/tooltip/src/content.js +20 -3
- package/lib/components/tooltip/src/content.js.map +1 -1
- package/lib/components/tooltip/src/content.vue.d.ts +1 -0
- package/lib/components/tooltip/src/tokens.d.ts +2 -0
- package/lib/components/tooltip/src/tokens.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -0
- package/lib/components/tooltip/src/tooltip2.js +10 -3
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/transfer/index.d.ts +4 -4
- package/lib/components/transfer/src/index.js.map +1 -1
- package/lib/components/transfer/src/index.vue.d.ts +2 -2
- package/lib/components/transfer/src/transfer-panel.js.map +1 -1
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree-v2/index.d.ts +1 -1
- package/lib/components/tree-v2/src/tree-node.js.map +1 -1
- package/lib/components/tree-v2/src/tree.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/defaults.d.ts +1 -1
- package/lib/hooks/use-global-config/index.d.ts +1 -1
- package/lib/hooks/use-model-toggle/index.d.ts +10 -7
- package/lib/hooks/use-model-toggle/index.js +9 -7
- package/lib/hooks/use-model-toggle/index.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/{locale.d.ts → locales.d.ts} +0 -0
- package/lib/{locale.js → locales.js} +1 -1
- package/lib/locales.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +5 -5
- package/tags.json +1 -1
- package/theme-chalk/base.css +1 -1
- package/theme-chalk/display.css +1 -1
- package/theme-chalk/el-button.css +1 -1
- package/theme-chalk/el-cascader.css +1 -1
- package/theme-chalk/el-checkbox-button.css +1 -1
- package/theme-chalk/el-dialog.css +1 -1
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-form.css +1 -1
- package/theme-chalk/el-input-number.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-reset.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-switch.css +1 -1
- package/theme-chalk/el-table-column.css +1 -1
- package/theme-chalk/el-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/button.scss +1 -1
- package/theme-chalk/src/cascader.scss +13 -12
- package/theme-chalk/src/checkbox-button.scss +1 -1
- package/theme-chalk/src/common/var.scss +38 -11
- package/theme-chalk/src/dark/vars.scss +6 -0
- package/theme-chalk/src/dialog.scss +6 -2
- package/theme-chalk/src/form.scss +2 -2
- package/theme-chalk/src/input-number.scss +6 -4
- package/theme-chalk/src/input.scss +140 -39
- package/theme-chalk/src/mixins/_button.scss +1 -1
- package/theme-chalk/src/mixins/_var.scss +9 -8
- package/theme-chalk/src/mixins/mixins.scss +8 -0
- package/theme-chalk/src/reset.scss +1 -1
- package/theme-chalk/src/select-v2.scss +2 -1
- package/theme-chalk/src/select.scss +12 -4
- package/theme-chalk/src/switch.scss +2 -0
- package/theme-chalk/src/var.scss +6 -0
- package/web-types.json +1 -1
- package/es/locale.mjs.map +0 -1
- package/lib/locale.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot></slot>\n </upload-dragger>\n </template>\n <template v-else>\n <slot></slot>\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n type=\"file\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n @change=\"handleChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { hasOwn } from '@element-plus/utils'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport ajax from './ajax'\nimport UploadDragger from './upload-dragger.vue'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { ListType, UploadFile, ElFile } from './upload.type'\n\ntype IFileHanlder = (\n file: Nullable<ElFile[]>,\n fileList?: UploadFile[]\n) => unknown\n\ntype AjaxEventListener = (e: ProgressEvent, file: ElFile) => unknown\n\nexport default defineComponent({\n components: {\n UploadDragger,\n },\n props: {\n type: {\n type: String,\n default: '',\n },\n action: {\n type: String,\n required: true,\n },\n name: {\n type: String,\n default: 'file',\n },\n data: {\n type: Object as PropType<Record<string, any>>,\n default: () => null,\n },\n headers: {\n type: Object as PropType<Nullable<Partial<Headers>>>,\n default: () => null,\n },\n method: {\n type: String,\n default: 'post',\n },\n withCredentials: {\n type: Boolean,\n default: false,\n },\n multiple: {\n type: Boolean as PropType<Nullable<boolean>>,\n default: null,\n },\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers\n accept: {\n type: String,\n default: '',\n },\n onStart: {\n type: Function as PropType<(file: File) => void>,\n default: NOOP as (file: File) => void,\n },\n onProgress: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n onSuccess: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n onError: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n beforeUpload: {\n type: Function as PropType<\n (file: File) => Promise<File | Blob> | boolean | unknown\n >,\n default: NOOP as (file: File) => void,\n },\n drag: {\n type: Boolean,\n default: false,\n },\n onPreview: {\n type: Function as PropType<IFileHanlder>,\n default: NOOP as IFileHanlder,\n },\n onRemove: {\n type: Function as PropType<\n (file: Nullable<FileList>, rawFile: ElFile) => void\n >,\n default: NOOP as (file: Nullable<FileList>, rawFile: ElFile) => void,\n },\n fileList: {\n type: Array as PropType<UploadFile[]>,\n default: () => [] as UploadFile[],\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n listType: {\n type: String as PropType<ListType>,\n default: 'text',\n },\n httpRequest: {\n type: Function as\n | PropType<typeof ajax>\n | PropType<(...args: unknown[]) => Promise<unknown>>,\n default: () => ajax,\n },\n disabled: Boolean,\n limit: {\n type: Number as PropType<Nullable<number>>,\n default: null,\n },\n onExceed: {\n type: Function as PropType<\n (files: FileList, fileList: UploadFile[]) => void\n >,\n default: NOOP,\n },\n },\n setup(props) {\n const reqs = ref({} as Record<string, XMLHttpRequest | Promise<any>>)\n const ns = useNamespace('upload')\n const mouseover = ref(false)\n const inputRef = ref(null as Nullable<HTMLInputElement>)\n\n function uploadFiles(files: FileList) {\n if (props.limit && props.fileList.length + files.length > props.limit) {\n props.onExceed(files, props.fileList)\n return\n }\n let postFiles = Array.from(files)\n if (!props.multiple) {\n postFiles = postFiles.slice(0, 1)\n }\n if (postFiles.length === 0) {\n return\n }\n postFiles.forEach((rawFile) => {\n props.onStart(rawFile)\n if (props.autoUpload) upload(rawFile as ElFile)\n })\n }\n\n function upload(rawFile: ElFile) {\n inputRef.value.value = null\n if (!props.beforeUpload) {\n return post(rawFile)\n }\n const before = props.beforeUpload(rawFile)\n if (before instanceof Promise) {\n before\n .then((processedFile) => {\n const fileType = Object.prototype.toString.call(processedFile)\n if (fileType === '[object File]' || fileType === '[object Blob]') {\n if (fileType === '[object Blob]') {\n processedFile = new File([processedFile], rawFile.name, {\n type: rawFile.type,\n })\n }\n for (const p in rawFile) {\n if (hasOwn(rawFile, p)) {\n processedFile[p] = rawFile[p]\n }\n }\n post(processedFile)\n } else {\n post(rawFile)\n }\n })\n .catch(() => {\n props.onRemove(null, rawFile)\n })\n } else if (before !== false) {\n post(rawFile)\n } else {\n props.onRemove(null, rawFile)\n }\n }\n function abort(file) {\n const _reqs = reqs.value\n if (file) {\n let uid = file\n if (file.uid) uid = file.uid\n if (_reqs[uid]) {\n ;(_reqs[uid] as XMLHttpRequest).abort()\n }\n } else {\n Object.keys(_reqs).forEach((uid) => {\n if (_reqs[uid]) (_reqs[uid] as XMLHttpRequest).abort()\n delete _reqs[uid]\n })\n }\n }\n\n function post(rawFile: ElFile) {\n const { uid } = rawFile\n const options = {\n headers: props.headers,\n withCredentials: props.withCredentials,\n file: rawFile,\n data: props.data,\n method: props.method,\n filename: props.name,\n action: props.action,\n onProgress: (e) => {\n props.onProgress(e, rawFile)\n },\n onSuccess: (res) => {\n props.onSuccess(res, rawFile)\n delete reqs.value[uid]\n },\n onError: (err) => {\n props.onError(err, rawFile)\n delete reqs.value[uid]\n },\n }\n const req = props.httpRequest(options)\n reqs.value[uid] = req\n if (req instanceof Promise) {\n req.then(options.onSuccess, options.onError)\n }\n }\n\n function handleChange(e: DragEvent) {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(files)\n }\n\n function handleClick() {\n if (!props.disabled) {\n inputRef.value.value = null\n inputRef.value.click()\n }\n }\n\n function handleKeydown() {\n handleClick()\n }\n\n return {\n ns,\n reqs,\n mouseover,\n inputRef,\n abort,\n post,\n handleChange,\n handleClick,\n handleKeydown,\n upload,\n uploadFiles,\n }\n },\n})\n</script>\n"],"names":["ajax","_openBlock","_withCtx","_renderSlot","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot></slot>\n </upload-dragger>\n </template>\n <template v-else>\n <slot></slot>\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n type=\"file\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n @change=\"handleChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { hasOwn } from '@element-plus/utils'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport ajax from './ajax'\nimport UploadDragger from './upload-dragger.vue'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { ListType, UploadFile, ElFile } from './upload.type'\n\ntype IFileHanlder = (\n file: Nullable<ElFile[]>,\n fileList?: UploadFile[]\n) => unknown\n\ntype AjaxEventListener = (e: ProgressEvent, file: ElFile) => unknown\n\nexport default defineComponent({\n components: {\n UploadDragger,\n },\n props: {\n type: {\n type: String,\n default: '',\n },\n action: {\n type: String,\n required: true,\n },\n name: {\n type: String,\n default: 'file',\n },\n data: {\n type: Object as PropType<Record<string, any>>,\n default: () => null,\n },\n headers: {\n type: Object as PropType<Nullable<Partial<Headers>>>,\n default: () => null,\n },\n method: {\n type: String,\n default: 'post',\n },\n withCredentials: {\n type: Boolean,\n default: false,\n },\n multiple: {\n type: Boolean as PropType<Nullable<boolean>>,\n default: null,\n },\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers\n accept: {\n type: String,\n default: '',\n },\n onStart: {\n type: Function as PropType<(file: File) => void>,\n default: NOOP as (file: File) => void,\n },\n onProgress: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n onSuccess: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n onError: {\n type: Function as PropType<AjaxEventListener>,\n default: NOOP as AjaxEventListener,\n },\n beforeUpload: {\n type: Function as PropType<\n (file: File) => Promise<File | Blob> | boolean | unknown\n >,\n default: NOOP as (file: File) => void,\n },\n drag: {\n type: Boolean,\n default: false,\n },\n onPreview: {\n type: Function as PropType<IFileHanlder>,\n default: NOOP as IFileHanlder,\n },\n onRemove: {\n type: Function as PropType<\n (file: Nullable<FileList>, rawFile: ElFile) => void\n >,\n default: NOOP as (file: Nullable<FileList>, rawFile: ElFile) => void,\n },\n fileList: {\n type: Array as PropType<UploadFile[]>,\n default: () => [] as UploadFile[],\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n listType: {\n type: String as PropType<ListType>,\n default: 'text',\n },\n httpRequest: {\n type: Function as\n | PropType<typeof ajax>\n | PropType<(...args: unknown[]) => Promise<unknown>>,\n default: () => ajax,\n },\n disabled: Boolean,\n limit: {\n type: Number as PropType<Nullable<number>>,\n default: null,\n },\n onExceed: {\n type: Function as PropType<\n (files: FileList, fileList: UploadFile[]) => void\n >,\n default: NOOP,\n },\n },\n setup(props) {\n const reqs = ref({} as Record<string, XMLHttpRequest | Promise<any>>)\n const ns = useNamespace('upload')\n const mouseover = ref(false)\n const inputRef = ref(null as Nullable<HTMLInputElement>)\n\n function uploadFiles(files: FileList) {\n if (props.limit && props.fileList.length + files.length > props.limit) {\n props.onExceed(files, props.fileList)\n return\n }\n let postFiles = Array.from(files)\n if (!props.multiple) {\n postFiles = postFiles.slice(0, 1)\n }\n if (postFiles.length === 0) {\n return\n }\n postFiles.forEach((rawFile) => {\n props.onStart(rawFile)\n if (props.autoUpload) upload(rawFile as ElFile)\n })\n }\n\n function upload(rawFile: ElFile) {\n inputRef.value.value = null\n if (!props.beforeUpload) {\n return post(rawFile)\n }\n const before = props.beforeUpload(rawFile)\n if (before instanceof Promise) {\n before\n .then((processedFile) => {\n const fileType = Object.prototype.toString.call(processedFile)\n if (fileType === '[object File]' || fileType === '[object Blob]') {\n if (fileType === '[object Blob]') {\n processedFile = new File([processedFile], rawFile.name, {\n type: rawFile.type,\n })\n }\n for (const p in rawFile) {\n if (hasOwn(rawFile, p)) {\n processedFile[p] = rawFile[p]\n }\n }\n post(processedFile)\n } else {\n post(rawFile)\n }\n })\n .catch(() => {\n props.onRemove(null, rawFile)\n })\n } else if (before !== false) {\n post(rawFile)\n } else {\n props.onRemove(null, rawFile)\n }\n }\n function abort(file) {\n const _reqs = reqs.value\n if (file) {\n let uid = file\n if (file.uid) uid = file.uid\n if (_reqs[uid]) {\n ;(_reqs[uid] as XMLHttpRequest).abort()\n }\n } else {\n Object.keys(_reqs).forEach((uid) => {\n if (_reqs[uid]) (_reqs[uid] as XMLHttpRequest).abort()\n delete _reqs[uid]\n })\n }\n }\n\n function post(rawFile: ElFile) {\n const { uid } = rawFile\n const options = {\n headers: props.headers,\n withCredentials: props.withCredentials,\n file: rawFile,\n data: props.data,\n method: props.method,\n filename: props.name,\n action: props.action,\n onProgress: (e) => {\n props.onProgress(e, rawFile)\n },\n onSuccess: (res) => {\n props.onSuccess(res, rawFile)\n delete reqs.value[uid]\n },\n onError: (err) => {\n props.onError(err, rawFile)\n delete reqs.value[uid]\n },\n }\n const req = props.httpRequest(options)\n reqs.value[uid] = req\n if (req instanceof Promise) {\n req.then(options.onSuccess, options.onError)\n }\n }\n\n function handleChange(e: DragEvent) {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(files)\n }\n\n function handleClick() {\n if (!props.disabled) {\n inputRef.value.value = null\n inputRef.value.click()\n }\n }\n\n function handleKeydown() {\n handleClick()\n }\n\n return {\n ns,\n reqs,\n mouseover,\n inputRef,\n abort,\n post,\n handleChange,\n handleClick,\n handleKeydown,\n upload,\n uploadFiles,\n }\n },\n})\n</script>\n"],"names":["ajax","_createElementBlock","_normalizeClass","_createBlock","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-hidden.mjs","sources":["../../../../../../packages/components/visual-hidden/src/visual-hidden.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\" :style=\"computedStyle\"> </span>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'ElVisuallyHidden',\n props: {\n style: {\n type: [String, Object, Array],\n },\n },\n setup(props) {\n return {\n computedStyle: computed(() => {\n return [\n props.style,\n {\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n },\n ] as any\n }),\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;AAOA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ;AAAA;AAAA;AAAA,EAG3B,MAAM,OAAO;AACX,WAAO;AAAA,MACL,eAAe,SAAS,MAAM;AAC5B,eAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,YACE,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
1
|
+
{"version":3,"file":"visual-hidden.mjs","sources":["../../../../../../packages/components/visual-hidden/src/visual-hidden.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\" :style=\"computedStyle\"> </span>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'ElVisuallyHidden',\n props: {\n style: {\n type: [String, Object, Array],\n },\n },\n setup(props) {\n return {\n computedStyle: computed(() => {\n return [\n props.style,\n {\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n },\n ] as any\n }),\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_mergeProps"],"mappings":";;;AAOA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ;AAAA;AAAA;AAAA,EAG3B,MAAM,OAAO;AACX,WAAO;AAAA,MACL,eAAe,SAAS,MAAM;AAC5B,eAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,YACE,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;sBA5BpBA,mBAAqD,QAArDC,WAAc,KAAuC,QAAjC,EAAG,OAAO,uBAAa;AAAA;;;;;"}
|
package/es/defaults.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
version: string;
|
|
3
3
|
install: (app: import("vue").App<any>, options?: Partial<import("vue").ExtractPropTypes<{
|
|
4
|
-
readonly locale: import("./utils").BuildPropReturn<import("./utils").PropWrapper<Language>, unknown, unknown, unknown, unknown>;
|
|
4
|
+
readonly locale: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("./locale").Language>, unknown, unknown, unknown, unknown>;
|
|
5
5
|
readonly size: import("./utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
|
|
6
6
|
readonly button: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("./components").ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
7
7
|
readonly message: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("./components").MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
@@ -4,7 +4,7 @@ import type { ConfigProviderContext } from 'element-plus/es/tokens';
|
|
|
4
4
|
export declare function useGlobalConfig<K extends keyof ConfigProviderContext, D extends ConfigProviderContext[K]>(key: K, defaultValue?: D): Ref<Exclude<ConfigProviderContext[K], undefined> | D>;
|
|
5
5
|
export declare function useGlobalConfig(): Ref<ConfigProviderContext>;
|
|
6
6
|
export declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App<any> | undefined, global?: boolean) => import("vue").ComputedRef<Partial<import("vue").ExtractPropTypes<{
|
|
7
|
-
readonly locale: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Language>, unknown, unknown, unknown, unknown>;
|
|
7
|
+
readonly locale: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("../../locale").Language>, unknown, unknown, unknown, unknown>;
|
|
8
8
|
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
|
|
9
9
|
readonly button: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("../..").ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
10
10
|
readonly message: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("../..").MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import type { Ref, ExtractPropTypes } from 'vue';
|
|
2
|
-
|
|
2
|
+
declare const _prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, false, never, never>;
|
|
3
|
+
declare const _event: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
|
|
4
|
+
declare type _UseModelToggleProps<T extends string> = {
|
|
5
|
+
[K in T]: typeof _prop;
|
|
6
|
+
} & {
|
|
7
|
+
[K in `onUpdate:${T}`]: typeof _event;
|
|
8
|
+
};
|
|
9
|
+
export declare const createModelToggleComposable: <T extends string>(name: T) => {
|
|
3
10
|
useModelToggle: ({ indicator, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide, }: ModelToggleParams) => {
|
|
4
11
|
hide: () => void;
|
|
5
12
|
show: () => void;
|
|
6
13
|
toggle: () => void;
|
|
7
14
|
};
|
|
8
|
-
useModelToggleProps:
|
|
9
|
-
[x: string]: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, false, never, never> | import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
|
|
10
|
-
};
|
|
15
|
+
useModelToggleProps: _UseModelToggleProps<T>;
|
|
11
16
|
useModelToggleEmits: string[];
|
|
12
17
|
};
|
|
13
18
|
declare const useModelToggle: ({ indicator, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide, }: ModelToggleParams) => {
|
|
14
19
|
hide: () => void;
|
|
15
20
|
show: () => void;
|
|
16
21
|
toggle: () => void;
|
|
17
|
-
}, useModelToggleProps:
|
|
18
|
-
[x: string]: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, false, never, never> | import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
|
|
19
|
-
}, useModelToggleEmits: string[];
|
|
22
|
+
}, useModelToggleProps: _UseModelToggleProps<"modelValue">, useModelToggleEmits: string[];
|
|
20
23
|
export { useModelToggle, useModelToggleEmits, useModelToggleProps };
|
|
21
24
|
export declare type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>;
|
|
22
25
|
export declare type ModelToggleParams = {
|
|
@@ -4,15 +4,17 @@ import { isClient, isBoolean } from '@vueuse/core';
|
|
|
4
4
|
import '../../utils/index.mjs';
|
|
5
5
|
import { buildProp, definePropType } from '../../utils/vue/props.mjs';
|
|
6
6
|
|
|
7
|
+
const _prop = buildProp({
|
|
8
|
+
type: definePropType(Boolean),
|
|
9
|
+
default: null
|
|
10
|
+
});
|
|
11
|
+
const _event = buildProp({
|
|
12
|
+
type: definePropType(Function)
|
|
13
|
+
});
|
|
7
14
|
const createModelToggleComposable = (name) => {
|
|
8
15
|
const useModelToggleProps2 = {
|
|
9
|
-
[name]:
|
|
10
|
-
|
|
11
|
-
default: null
|
|
12
|
-
}),
|
|
13
|
-
[`onUpdate:${name}`]: buildProp({
|
|
14
|
-
type: definePropType(Function)
|
|
15
|
-
})
|
|
16
|
+
[name]: _prop,
|
|
17
|
+
[`onUpdate:${name}`]: _event
|
|
16
18
|
};
|
|
17
19
|
const useModelToggleEmits2 = [`update:${name}`];
|
|
18
20
|
const useModelToggle2 = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, watch, onMounted } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { isClient } from '@vueuse/core'\nimport { isBoolean,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, watch, onMounted } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { isClient } from '@vueuse/core'\nimport { isBoolean, definePropType, buildProp } from '@element-plus/utils'\nimport type { RouteLocationNormalizedLoaded } from 'vue-router'\n\nimport type { Ref, ComponentPublicInstance, ExtractPropTypes } from 'vue'\n\nconst _prop = buildProp({\n type: definePropType<boolean | null>(Boolean),\n default: null,\n} as const)\nconst _event = buildProp({\n type: definePropType<(val: boolean) => void>(Function),\n} as const)\n\ntype _UseModelToggleProps<T extends string> = {\n [K in T]: typeof _prop\n} & {\n [K in `onUpdate:${T}`]: typeof _event\n}\n\nexport const createModelToggleComposable = <T extends string>(name: T) => {\n const useModelToggleProps = {\n [name]: _prop,\n [`onUpdate:${name}`]: _event,\n } as _UseModelToggleProps<T>\n\n const useModelToggleEmits = [`update:${name}`]\n\n const useModelToggle = ({\n indicator,\n shouldHideWhenRouteChanges,\n shouldProceed,\n onShow,\n onHide,\n }: ModelToggleParams) => {\n const instance = getCurrentInstance()!\n const props = instance.props as _UseModelToggleProps<T> & {\n disabled: boolean\n }\n const { emit } = instance\n\n const updateEventKey = `update:${name}`\n\n const hasUpdateHandler = computed(() =>\n isFunction(props[`onUpdate:${name}`])\n )\n // when it matches the default value we say this is absent\n // though this could be mistakenly passed from the user but we need to rule out that\n // condition\n const isModelBindingAbsent = computed(() => props[name] === null)\n\n const doShow = () => {\n if (indicator.value === true) {\n return\n }\n\n indicator.value = true\n if (isFunction(onShow)) {\n onShow()\n }\n }\n\n const doHide = () => {\n if (indicator.value === false) {\n return\n }\n\n indicator.value = false\n\n if (isFunction(onHide)) {\n onHide()\n }\n }\n\n const show = () => {\n if (\n props.disabled === true ||\n (isFunction(shouldProceed) && !shouldProceed())\n )\n return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, true)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doShow()\n }\n }\n\n const hide = () => {\n if (props.disabled === true || !isClient) return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, false)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doHide()\n }\n }\n\n const onChange = (val: boolean) => {\n if (!isBoolean(val)) return\n if (props.disabled && val) {\n if (hasUpdateHandler.value) {\n emit(updateEventKey, false)\n }\n } else if (indicator.value !== val) {\n if (val) {\n doShow()\n } else {\n doHide()\n }\n }\n }\n\n const toggle = () => {\n if (indicator.value) {\n hide()\n } else {\n show()\n }\n }\n\n watch(() => props[name], onChange as any)\n\n if (\n shouldHideWhenRouteChanges &&\n instance.appContext.config.globalProperties.$route !== undefined\n ) {\n watch(\n () => ({\n ...(\n instance.proxy as ComponentPublicInstance<{\n $route: RouteLocationNormalizedLoaded\n }>\n ).$route,\n }),\n () => {\n if (shouldHideWhenRouteChanges.value && indicator.value) {\n hide()\n }\n }\n )\n }\n\n onMounted(() => {\n onChange(props[name] as boolean)\n })\n\n return {\n hide,\n show,\n toggle,\n }\n }\n\n return {\n useModelToggle,\n useModelToggleProps,\n useModelToggleEmits,\n }\n}\n\nconst { useModelToggle, useModelToggleProps, useModelToggleEmits } =\n createModelToggleComposable('modelValue')\n\nexport { useModelToggle, useModelToggleEmits, useModelToggleProps }\n\nexport type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>\n\nexport type ModelToggleParams = {\n indicator: Ref<boolean>\n shouldHideWhenRouteChanges?: Ref<boolean>\n shouldProceed?: () => boolean\n onShow?: () => void\n onHide?: () => void\n}\n"],"names":[],"mappings":"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"}
|
package/es/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export * from 'element-plus/es/hooks';
|
|
|
5
5
|
export * from 'element-plus/es/tokens';
|
|
6
6
|
export { makeInstaller } from './make-installer';
|
|
7
7
|
export declare const install: (app: import("vue").App<any>, options?: Partial<import("vue").ExtractPropTypes<{
|
|
8
|
-
readonly locale: import("./utils").BuildPropReturn<import("./utils").PropWrapper<Language>, unknown, unknown, unknown, unknown>;
|
|
8
|
+
readonly locale: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("./locale").Language>, unknown, unknown, unknown, unknown>;
|
|
9
9
|
readonly size: import("./utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
|
|
10
10
|
readonly button: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("element-plus/es/components").ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
11
11
|
readonly message: import("./utils").BuildPropReturn<import("./utils").PropWrapper<import("element-plus/es/components").MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
File without changes
|
|
@@ -53,4 +53,4 @@ export { default as uzUz } from './locale/lang/uz-uz.mjs';
|
|
|
53
53
|
export { default as vi } from './locale/lang/vi.mjs';
|
|
54
54
|
export { default as zhCn } from './locale/lang/zh-cn.mjs';
|
|
55
55
|
export { default as zhTw } from './locale/lang/zh-tw.mjs';
|
|
56
|
-
//# sourceMappingURL=
|
|
56
|
+
//# sourceMappingURL=locales.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20220222";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220222'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`${ns.e('popper')} ${popperClass}`\"\n :teleported=\"compatTeleported\"\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 @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\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 >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\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=\"id\"\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=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(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\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\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, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\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: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\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 popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const ns = useNamespace('autocomplete')\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return ns.b(String(generateId()))\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\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(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const 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(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\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 inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n // deprecation in 2.1.0\n compatTeleported,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","useNamespace","useDeprecateAppendToBody","useAttrs","ref","computed","generateId","isArray","debounce","_normalizeClass","_withModifiers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`${ns.e('popper')} ${popperClass}`\"\n :teleported=\"compatTeleported\"\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 @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\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 >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\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=\"id\"\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=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(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\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\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, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\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: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\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 popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const ns = useNamespace('autocomplete')\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return ns.b(String(generateId()))\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\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(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const 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(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\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 inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n // deprecation in 2.1.0\n compatTeleported,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","useNamespace","useDeprecateAppendToBody","useAttrs","ref","computed","generateId","isArray","debounce","_openBlock","_normalizeClass"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar2.js","sources":["../../../../../../packages/components/avatar/src/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n v-if=\"(src || srcSet) && !hasLoadError\"\n :src=\"src\"\n :alt=\"alt\"\n :srcset=\"srcSet\"\n :style=\"fitStyle\"\n @error=\"handleError\"\n />\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot v-else></slot>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber, isString, addUnit } from '@element-plus/utils'\nimport { avatarEmits, avatarProps } from './avatar'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElAvatar',\n components: {\n ElIcon,\n },\n props: avatarProps,\n emits: avatarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('avatar')\n\n const hasLoadError = ref(false)\n\n const avatarClass = computed(() => {\n const { size, icon, shape } = props\n const classList = [ns.b()]\n if (isString(size)) classList.push(ns.m(size))\n if (icon) classList.push(ns.m('icon'))\n if (shape) classList.push(ns.m(shape))\n return classList\n })\n\n const sizeStyle = computed(() => {\n const { size } = props\n return isNumber(size)\n ? ({\n '--el-avatar-size': addUnit(size),\n } as CSSProperties)\n : undefined\n })\n\n const fitStyle = computed<CSSProperties>(() => ({\n objectFit: props.fit,\n }))\n\n // need reset hasLoadError to false if src changed\n watch(\n () => props.src,\n () => (hasLoadError.value = false)\n )\n\n function handleError(e: Event) {\n hasLoadError.value = true\n emit('error', e)\n }\n\n return {\n hasLoadError,\n avatarClass,\n sizeStyle,\n fitStyle,\n handleError,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","avatarProps","avatarEmits","useNamespace","ref","computed","isString","isNumber","addUnit","
|
|
1
|
+
{"version":3,"file":"avatar2.js","sources":["../../../../../../packages/components/avatar/src/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n v-if=\"(src || srcSet) && !hasLoadError\"\n :src=\"src\"\n :alt=\"alt\"\n :srcset=\"srcSet\"\n :style=\"fitStyle\"\n @error=\"handleError\"\n />\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot v-else></slot>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber, isString, addUnit } from '@element-plus/utils'\nimport { avatarEmits, avatarProps } from './avatar'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElAvatar',\n components: {\n ElIcon,\n },\n props: avatarProps,\n emits: avatarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('avatar')\n\n const hasLoadError = ref(false)\n\n const avatarClass = computed(() => {\n const { size, icon, shape } = props\n const classList = [ns.b()]\n if (isString(size)) classList.push(ns.m(size))\n if (icon) classList.push(ns.m('icon'))\n if (shape) classList.push(ns.m(shape))\n return classList\n })\n\n const sizeStyle = computed(() => {\n const { size } = props\n return isNumber(size)\n ? ({\n '--el-avatar-size': addUnit(size),\n } as CSSProperties)\n : undefined\n })\n\n const fitStyle = computed<CSSProperties>(() => ({\n objectFit: props.fit,\n }))\n\n // need reset hasLoadError to false if src changed\n watch(\n () => props.src,\n () => (hasLoadError.value = false)\n )\n\n function handleError(e: Event) {\n hasLoadError.value = true\n emit('error', e)\n }\n\n return {\n hasLoadError,\n avatarClass,\n sizeStyle,\n fitStyle,\n handleError,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","avatarProps","avatarEmits","useNamespace","ref","computed","isString","isNumber","addUnit","_createElementBlock","_normalizeClass","_normalizeStyle","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;;;;;;;AA0BA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,qBAAa;AAExB,UAAM,eAAeC,QAAI;AAEzB,UAAM,cAAcC,aAAS,MAAM;AACjC,YAAM,EAAE,MAAM,MAAM,UAAU;AAC9B,YAAM,YAAY,CAAC,GAAG;AACtB,UAAIC,gBAAS;AAAO,kBAAU,KAAK,GAAG,EAAE;AACxC,UAAI;AAAM,kBAAU,KAAK,GAAG,EAAE;AAC9B,UAAI;AAAO,kBAAU,KAAK,GAAG,EAAE;AAC/B,aAAO;AAAA;AAGT,UAAM,YAAYD,aAAS,MAAM;AAC/B,YAAM,EAAE,SAAS;AACjB,aAAOE,cAAS,QACX;AAAA,QACC,oBAAoBC,cAAQ;AAAA,UAE9B;AAAA;AAGN,UAAM,WAAWH,aAAwB;AAAO,MAC9C,WAAW,MAAM;AAAA;AAInB,cACE,MAAM,MAAM,KACZ,MAAO,aAAa,QAAQ;AAG9B,yBAAqB,GAAU;AAC7B,mBAAa,QAAQ;AACrB,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;0BA5EJI,uBAaO;AAAA,IAbA,OAAKC,mBAAE;AAAA,IAAc,OAAKC,mBAAE;AAAA;IAExB,aAAO,gBAAM,CAAM,sCAD5BF,uBAOE;AAAA;MALC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAKE,mBAAE;AAAA,MACP,SAAK,uCAAE;AAAA,gCAEU,8BAApBC,gBAEU;AAAA,2BADR,MAAwB;AAAA,0BAAxBA,gBAAwBC,4BAAR;AAAA;AAAA;UAElBC,eAAoB;AAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-item2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></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\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","breadcrumbItemProps","getCurrentInstance","inject","elBreadcrumbKey","useNamespace","ref","
|
|
1
|
+
{"version":3,"file":"breadcrumb-item2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></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\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","breadcrumbItemProps","getCurrentInstance","inject","elBreadcrumbKey","useNamespace","ref","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA;AAAA,EAGF,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAWC;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAASC,WAAOC,4BAAiB;AACvC,UAAM,KAAKC,qBAAa;AAExB,UAAM,OAAOC;AAEb,kBAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW;AAAQ,MACnB,eAAe;AAAQ;AAAA;AAAA;;;0BA3D3BC,uBAUO;AAAA,IAVA,OAAKC,mBAAE,QAAG,EAAC;AAAA;IAChBC,uBAEO;AAAA,MAFD,KAAI;AAAA,MAAQ,OAAKD,oBAAG,QAAG,EAAC,UAAW,QAAG,GAAE,UAAW;AAAA,MAAM,MAAK;AAAA;MAClEE,eAAa;AAAA;IAEA,uCAAfC,gBAEU;AAAA;MAFqB,OAAKH,mBAAE,QAAG,EAAC;AAAA;2BACxC,MAAiC;AAAA,0BAAjCG,gBAAiCC,4BAAjB;AAAA;AAAA;0CAElBL,uBAEO;AAAA;MAFO,OAAKC,mBAAE,QAAG,EAAC;AAAA,MAAe,MAAK;AAAA,2BACxC,iBAAS;AAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb.vue"],"sourcesContent":["<template>\n <div\n ref=\"breadcrumb\"\n :class=\"ns.b()\"\n aria-label=\"Breadcrumb\"\n role=\"navigation\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted } from 'vue'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbProps } from './breadcrumb'\n\nexport default defineComponent({\n name: 'ElBreadcrumb',\n props: breadcrumbProps,\n\n setup(props) {\n const ns = useNamespace('breadcrumb')\n const breadcrumb = ref<HTMLDivElement>()\n\n provide(elBreadcrumbKey, props)\n\n onMounted(() => {\n const items = breadcrumb.value!.querySelectorAll(`.${ns.e('item')}`)\n if (items.length) {\n items[items.length - 1].setAttribute('aria-current', 'page')\n }\n })\n\n return {\n ns,\n breadcrumb,\n }\n },\n})\n</script>\n"],"names":["defineComponent","breadcrumbProps","useNamespace","ref","elBreadcrumbKey","
|
|
1
|
+
{"version":3,"file":"breadcrumb2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb.vue"],"sourcesContent":["<template>\n <div\n ref=\"breadcrumb\"\n :class=\"ns.b()\"\n aria-label=\"Breadcrumb\"\n role=\"navigation\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted } from 'vue'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbProps } from './breadcrumb'\n\nexport default defineComponent({\n name: 'ElBreadcrumb',\n props: breadcrumbProps,\n\n setup(props) {\n const ns = useNamespace('breadcrumb')\n const breadcrumb = ref<HTMLDivElement>()\n\n provide(elBreadcrumbKey, props)\n\n onMounted(() => {\n const items = breadcrumb.value!.querySelectorAll(`.${ns.e('item')}`)\n if (items.length) {\n items[items.length - 1].setAttribute('aria-current', 'page')\n }\n })\n\n return {\n ns,\n breadcrumb,\n }\n },\n})\n</script>\n"],"names":["defineComponent","breadcrumbProps","useNamespace","ref","elBreadcrumbKey","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;AAkBA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAKC,mBAAa;AACxB,UAAM,aAAaC;AAEnB,gBAAQC,8BAAiB;AAEzB,kBAAU,MAAM;AACd,YAAM,QAAQ,WAAW,MAAO,iBAAiB,IAAI,GAAG,EAAE;AAC1D,UAAI,MAAM,QAAQ;AAChB,cAAM,MAAM,SAAS,GAAG,aAAa,gBAAgB;AAAA;AAAA;AAIzD,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;0BApCJC,uBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,mBAAE,QAAG;AAAA,IACX,cAAW;AAAA,IACX,MAAK;AAAA;IAELC,eAAa;AAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group2.js","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div :class=\"`${ns.b('group')}`\">\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRef } from 'vue'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { buttonGroupProps } from './button-group'\n\nexport default defineComponent({\n name: 'ElButtonGroup',\n props: buttonGroupProps,\n\n setup(props) {\n provide(\n buttonGroupContextKey,\n reactive({\n size: toRef(props, 'size'),\n type: toRef(props, 'type'),\n })\n )\n const ns = useNamespace('button')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","buttonGroupProps","buttonGroupContextKey","reactive","toRef","useNamespace","
|
|
1
|
+
{"version":3,"file":"button-group2.js","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div :class=\"`${ns.b('group')}`\">\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRef } from 'vue'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { buttonGroupProps } from './button-group'\n\nexport default defineComponent({\n name: 'ElButtonGroup',\n props: buttonGroupProps,\n\n setup(props) {\n provide(\n buttonGroupContextKey,\n reactive({\n size: toRef(props, 'size'),\n type: toRef(props, 'type'),\n })\n )\n const ns = useNamespace('button')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","buttonGroupProps","buttonGroupContextKey","reactive","toRef","useNamespace","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;AAWA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,gBACEC,8BACAC,aAAS;AAAA,MACP,MAAMC,UAAM,OAAO;AAAA,MACnB,MAAMA,UAAM,OAAO;AAAA;AAGvB,UAAM,KAAKC,mBAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;0BAxBJC,uBAEM;AAAA,IAFA,OAAKC,sBAAK,QAAG,EAAC;AAAA;IAClBC,eAAa;AAAA;;;;;;"}
|
|
@@ -9,7 +9,7 @@ export declare const ElCalendar: import("element-plus/es/utils").SFCWithInstall<
|
|
|
9
9
|
date: import("vue").ComputedRef<import("dayjs").Dayjs>;
|
|
10
10
|
validatedRange: import("vue").ComputedRef<[import("dayjs").Dayjs, import("dayjs").Dayjs][]>;
|
|
11
11
|
pickDay: (day: import("dayjs").Dayjs) => void;
|
|
12
|
-
selectDate: (type: "prev-month" | "next-month" | "prev-year" | "next-year"
|
|
12
|
+
selectDate: (type: "today" | "prev-month" | "next-month" | "prev-year" | "next-year") => void;
|
|
13
13
|
t: import("../..").Translator;
|
|
14
14
|
ns: {
|
|
15
15
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar2.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\"></slot>\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\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } 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 { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const 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 const 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\n const 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\n const 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 (firstMonth + 2 === lastMonth) {\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 'ElCalendar',\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\n const 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('ElCalendar', '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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\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\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","ElButton","ElButtonGroup","calendarProps","calendarEmits","useNamespace","useLocale","ref","dayjs","computed","_openBlock","_toDisplayString","_withCtx","_createSlots","_Fragment","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar2.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\"></slot>\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\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } 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 { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const 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 const 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\n const 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\n const 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 (firstMonth + 2 === lastMonth) {\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 'ElCalendar',\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\n const 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('ElCalendar', '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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\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\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","ElButton","ElButtonGroup","calendarProps","calendarEmits","useNamespace","useLocale","ref","dayjs","computed","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_Fragment","_createBlock"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["dayjs","localeData","rangeArr","defineComponent","dateTableProps","dateTableEmits","useLocale","useNamespace","computed","
|
|
1
|
+
{"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["dayjs","localeData","rangeArr","defineComponent","dateTableProps","dateTableEmits","useLocale","useNamespace","computed","_createElementBlock","_normalizeClass","_Fragment","_toDisplayString","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card2.js","sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is(`${shadow}-shadow`)]\">\n <div v-if=\"$slots.header || header\" :class=\"ns.e('header')\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"ns.e('body')\" :style=\"bodyStyle\">\n <slot></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { cardProps } from './card'\n\nexport default defineComponent({\n name: 'ElCard',\n props: cardProps,\n setup() {\n const ns = useNamespace('card')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","cardProps","useNamespace","
|
|
1
|
+
{"version":3,"file":"card2.js","sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is(`${shadow}-shadow`)]\">\n <div v-if=\"$slots.header || header\" :class=\"ns.e('header')\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"ns.e('body')\" :style=\"bodyStyle\">\n <slot></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { cardProps } from './card'\n\nexport default defineComponent({\n name: 'ElCard',\n props: cardProps,\n setup() {\n const ns = useNamespace('card')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","cardProps","useNamespace","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;;;;;AAeA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EACP,QAAQ;AACN,UAAM,KAAKC,mBAAa;AAExB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;0BArBJC,uBAOM;AAAA,IAPA,OAAKC,oBAAG,QAAG,KAAK,QAAG,GAAE,GAAI;AAAA;IAClB,YAAO,UAAU,gCAA5BD,uBAEM;AAAA;MAF+B,OAAKC,mBAAE,QAAG,EAAC;AAAA;MAC9CC,eAAuC,2BAAvC,MAAuC;AAAA,gDAAhB,cAAM;AAAA;AAAA;IAE/BC,uBAEM;AAAA,MAFA,OAAKF,mBAAE,QAAG,EAAC;AAAA,MAAW,OAAKG,mBAAE;AAAA;MACjCF,eAAa;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n :class=\"[\n ns.e('item'),\n ns.is('active', data.active),\n ns.is('in-stage', data.inStage),\n ns.is('hover', data.hover),\n ns.is('animating', data.animating),\n { [ns.em('item', 'card')]: type === 'card' },\n ]\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n :class=\"ns.e('mask')\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n const ns = useNamespace('carousel')\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return style\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","useNamespace","getCurrentInstance","reactive","inject","computed"],"mappings":";;;;;;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAC/B,UAAM,KAAKC,mBAAa;AAExB,UAAM,WAAWC;AAGjB,UAAM,OAAOC,aAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2CC,WAC/C;AAIF,UAAM,kBAAkBC,aAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAYA,aAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAO;AAAA;AAKT,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA,MACA;AAAA;AAAA;AAAA;;;
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n :class=\"[\n ns.e('item'),\n ns.is('active', data.active),\n ns.is('in-stage', data.inStage),\n ns.is('hover', data.hover),\n ns.is('animating', data.animating),\n { [ns.em('item', 'card')]: type === 'card' },\n ]\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n :class=\"ns.e('mask')\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n const ns = useNamespace('carousel')\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return style\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","useNamespace","getCurrentInstance","reactive","inject","computed"],"mappings":";;;;;;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAC/B,UAAM,KAAKC,mBAAa;AAExB,UAAM,WAAWC;AAGjB,UAAM,OAAOC,aAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2CC,WAC/C;AAIF,UAAM,kBAAkBC,aAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAYA,aAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAO;AAAA;AAKT,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA,MACA;AAAA;AAAA;AAAA;;;AArKE;AAjBE;AAAc,8BAAgC;AAAK,MAAe,QAAG;AAAoB,MAAgB,QAAG,GAAE,mBAAe;AAAA,MAAc,QAAG,GAAE;AAAmB,iBAAwB;AAAyB;AAAA;AAQlN;AACA;IAGA;AAGD;aADC;AAAM;;AADE;mBAGH;AAAA;;AAjBA;AAAA;;;;;;;"}
|