@element-plus/nightly 0.0.20220219 → 0.0.20220220
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +2 -2
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +2 -2
- 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/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/src/index.mjs.map +1 -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/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-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-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
- 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/src/dialog2.mjs.map +1 -1
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
- 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/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.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/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/src/index.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/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-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/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/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.map +1 -1
- package/es/components/table/src/filter-panel.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/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-select/src/time-select.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/src/content.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/transfer/src/index.mjs.map +1 -1
- 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/src/tree-node.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.mjs.map +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/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/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/src/index.js.map +1 -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/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-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-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
- 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/src/dialog2.js.map +1 -1
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
- 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/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.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/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/src/index.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/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-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/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/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.map +1 -1
- package/lib/components/table/src/filter-panel.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/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-select/src/time-select.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/src/content.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/transfer/src/index.js.map +1 -1
- 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/src/tree-node.js.map +1 -1
- package/lib/components/tree-v2/src/tree.js.map +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/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-month-range.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-right\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, ElIcon, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue.value)) {\n const left = dayjs(defaultValue.value[0])\n let right = dayjs(defaultValue.value[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue.value) {\n start = dayjs(defaultValue.value)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = null\n maxDate.value = null\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","MonthTable","ElIcon","DArrowLeft","DArrowRight","useLocale","ref","dayjs","computed","inject","toRef","_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_withCtx","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel-month-range.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-right\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, ElIcon, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue.value)) {\n const left = dayjs(defaultValue.value[0])\n let right = dayjs(defaultValue.value[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue.value) {\n start = dayjs(defaultValue.value)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = null\n maxDate.value = null\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","MonthTable","ElIcon","DArrowLeft","DArrowRight","useLocale","ref","dayjs","computed","inject","toRef","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_Fragment","_createVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptions-row.js","sources":["../../../../../../packages/components/descriptions/src/descriptions-row.vue"],"sourcesContent":["<template>\n <template v-if=\"descriptions.direction === 'vertical'\">\n <tr>\n <template v-for=\"(cell, index) in row\" :key=\"`tr1-${index}`\">\n <el-descriptions-cell :cell=\"cell\" tag=\"th\" type=\"label\" />\n </template>\n </tr>\n <tr>\n <template v-for=\"(cell, index) in row\" :key=\"`tr2-${index}`\">\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"content\" />\n </template>\n </tr>\n </template>\n <tr v-else>\n <template v-for=\"(cell, index) in row\" :key=\"`tr3-${index}`\">\n <template v-if=\"descriptions.border\">\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"label\" />\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"content\" />\n </template>\n <el-descriptions-cell v-else :cell=\"cell\" tag=\"td\" type=\"both\" />\n </template>\n </tr>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport DescriptionsCell from './descriptions-cell'\nimport { elDescriptionsKey } from './token'\n\nimport type { IDescriptionsInject } from './descriptions.type'\n\nexport default defineComponent({\n name: 'ElDescriptionsRow',\n components: {\n [DescriptionsCell.name]: DescriptionsCell,\n },\n props: {\n row: {\n type: Array,\n },\n },\n setup() {\n const descriptions = inject(elDescriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsCell","inject","elDescriptionsKey","_createElementBlock","_Fragment","_createBlock"],"mappings":";;;;;;;;;AA+BA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,4BAAiB,OAAOA;AAAA;AAAA,EAE3B,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA;AAAA;AAAA,EAGV,QAAQ;AACN,UAAM,eAAeC,WAAOC,yBAAmB;AAE/C,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;;
|
|
1
|
+
{"version":3,"file":"descriptions-row.js","sources":["../../../../../../packages/components/descriptions/src/descriptions-row.vue"],"sourcesContent":["<template>\n <template v-if=\"descriptions.direction === 'vertical'\">\n <tr>\n <template v-for=\"(cell, index) in row\" :key=\"`tr1-${index}`\">\n <el-descriptions-cell :cell=\"cell\" tag=\"th\" type=\"label\" />\n </template>\n </tr>\n <tr>\n <template v-for=\"(cell, index) in row\" :key=\"`tr2-${index}`\">\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"content\" />\n </template>\n </tr>\n </template>\n <tr v-else>\n <template v-for=\"(cell, index) in row\" :key=\"`tr3-${index}`\">\n <template v-if=\"descriptions.border\">\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"label\" />\n <el-descriptions-cell :cell=\"cell\" tag=\"td\" type=\"content\" />\n </template>\n <el-descriptions-cell v-else :cell=\"cell\" tag=\"td\" type=\"both\" />\n </template>\n </tr>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport DescriptionsCell from './descriptions-cell'\nimport { elDescriptionsKey } from './token'\n\nimport type { IDescriptionsInject } from './descriptions.type'\n\nexport default defineComponent({\n name: 'ElDescriptionsRow',\n components: {\n [DescriptionsCell.name]: DescriptionsCell,\n },\n props: {\n row: {\n type: Array,\n },\n },\n setup() {\n const descriptions = inject(elDescriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsCell","inject","elDescriptionsKey","_createElementBlock","_Fragment","_createElementVNode","_createBlock","_createVNode"],"mappings":";;;;;;;;;AA+BA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,4BAAiB,OAAOA;AAAA;AAAA,EAE3B,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA;AAAA;AAAA,EAGV,QAAQ;AACN,UAAM,eAAeC,WAAOC,yBAAmB;AAE/C,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;;SA5CY,kBAAa,cAAS,+BAAtCC,uBAWWC;AAAA,IAVTC,uBAIK;AAAA,4BAHHF,uBAEWC,mCAFuB,UAAG,CAAnB,MAAM,UAAK;gCAC3BE,gBAA2D;AAAA,sBADT;AAAA,UAC3B;AAAA,UAAY,KAAI;AAAA,UAAK,MAAK;AAAA;;;IAGrDD,uBAIK;AAAA,4BAHHF,uBAEWC,mCAFuB,UAAG,CAAnB,MAAM,UAAK;gCAC3BE,gBAA6D;AAAA,sBADX;AAAA,UAC3B;AAAA,UAAY,KAAI;AAAA,UAAK,MAAK;AAAA;;;8BAIvDH,uBAQK;AAAA,0BAPHA,uBAMWC,mCANuB,UAAG,CAAnB,MAAM,UAAK;;oBAAuB;AAAA;QAClC,kBAAa,2BAA7BD,uBAGWC;AAAA,UAFTG,gBAA2D;AAAA,YAApC;AAAA,YAAY,KAAI;AAAA,YAAK,MAAK;AAAA;UACjDA,gBAA6D;AAAA,YAAtC;AAAA,YAAY,KAAI;AAAA,YAAK,MAAK;AAAA;oCAEnDD,gBAAiE;AAAA;UAAnC;AAAA,UAAY,KAAI;AAAA,UAAK,MAAK;AAAA;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsRow","isValidComponentSize","elDescriptionsKey","useSize","useNamespace","computed"],"mappings":";;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,2BAAgB,OAAOA;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,gBAAQC,yBAAmB;AAE3B,UAAM,mBAAmBC;AACzB,UAAM,KAAKC,qBAAa;AAExB,UAAM,iBAAiBC,aAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM;AAGN,YAAM;AACN;AACA;AACA;AAEA;AACE,cAAM;AAEN;AACE,uBAAa;AAAuB;AAGtC,YAAI;AAEF,iCAAuB,2BAA4B;AACnD,oBAAU;AACV;AACA;AAAA;AAGF;AACE,mBAAS;AACT,eAAK,KAAK;AAAA;AAEV;AACA;AACA,wBAAc;AACd;AAAO;AAAA;AAIX;AAAO;AAGT;AAAO;AACL;AACA,MACA;AAAA;AAAA;AAAA;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsRow","isValidComponentSize","elDescriptionsKey","useSize","useNamespace","computed","_renderSlot"],"mappings":";;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,2BAAgB,OAAOA;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,gBAAQC,yBAAmB;AAE3B,UAAM,mBAAmBC;AACzB,UAAM,KAAKC,qBAAa;AAExB,UAAM,iBAAiBC,aAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM;AAGN,YAAM;AACN;AACA;AACA;AAEA;AACE,cAAM;AAEN;AACE,uBAAa;AAAuB;AAGtC,YAAI;AAEF,iCAAuB,2BAA4B;AACnD,oBAAU;AACV;AACA;AAAA;AAGF;AACE,mBAAS;AACT,eAAK,KAAK;AAAA;AAEV;AACA;AACA,wBAAc;AACd;AAAO;AAAA;AAIX;AAAO;AAGT;AAAO;AACL;AACA,MACA;AAAA;AAAA;AAAA;;;;;AA3HE;;AAXE;;AARQ;;AAIN,QAFA;AAAW;;AACsB;AAAV;AAAA;;AAIvB,QAFAC,0BAAO;AAAI;;AACsB;AAAV;AAAA;;2BAYzB;AAAA;AARW;;AAOP,QANA,2BAAQ;AAAiC;+BAKvC;AAAA;oCAFJ;AAAkC;AADc;AAC1B;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n name=\"dialog-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <div\n ref=\"dialogRef\"\n v-trap-focus\n :class=\"[\n ns.b(),\n ns.is('fullscreen', fullscreen),\n ns.is('draggable', draggable),\n { [ns.m('center')]: center },\n customClass,\n ]\"\n aria-modal=\"true\"\n role=\"dialog\"\n :aria-label=\"title || 'dialog'\"\n :style=\"style\"\n @click.stop=\"\"\n >\n <div ref=\"headerRef\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n aria-label=\"close\"\n :class=\"ns.e('headerbtn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"closeIcon || 'close'\" />\n </el-icon>\n </button>\n </div>\n <template v-if=\"rendered\">\n <div :class=\"ns.e('body')\">\n <slot></slot>\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { TrapFocus } from '@element-plus/directives'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CloseComponents } from '@element-plus/utils'\nimport { useNamespace, useDraggable, useSameTarget } from '@element-plus/hooks'\nimport { dialogProps, dialogEmits } from './dialog'\nimport { useDialog } from './use-dialog'\n\nexport default defineComponent({\n name: 'ElDialog',\n components: {\n ElOverlay,\n ElIcon,\n ...CloseComponents,\n },\n directives: {\n TrapFocus,\n },\n\n props: dialogProps,\n emits: dialogEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('dialog')\n const dialogRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const dialog = useDialog(props, ctx, dialogRef)\n const overlayEvent = useSameTarget(dialog.onModalClick)\n\n const draggable = computed(() => props.draggable && !props.fullscreen)\n useDraggable(dialogRef, headerRef, draggable)\n\n return {\n ns,\n dialogRef,\n headerRef,\n overlayEvent,\n ...dialog,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","CloseComponents","TrapFocus","dialogProps","dialogEmits","useNamespace","ref","useDialog","useSameTarget","computed","
|
|
1
|
+
{"version":3,"file":"dialog2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n name=\"dialog-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <div\n ref=\"dialogRef\"\n v-trap-focus\n :class=\"[\n ns.b(),\n ns.is('fullscreen', fullscreen),\n ns.is('draggable', draggable),\n { [ns.m('center')]: center },\n customClass,\n ]\"\n aria-modal=\"true\"\n role=\"dialog\"\n :aria-label=\"title || 'dialog'\"\n :style=\"style\"\n @click.stop=\"\"\n >\n <div ref=\"headerRef\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n aria-label=\"close\"\n :class=\"ns.e('headerbtn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"closeIcon || 'close'\" />\n </el-icon>\n </button>\n </div>\n <template v-if=\"rendered\">\n <div :class=\"ns.e('body')\">\n <slot></slot>\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { TrapFocus } from '@element-plus/directives'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CloseComponents } from '@element-plus/utils'\nimport { useNamespace, useDraggable, useSameTarget } from '@element-plus/hooks'\nimport { dialogProps, dialogEmits } from './dialog'\nimport { useDialog } from './use-dialog'\n\nexport default defineComponent({\n name: 'ElDialog',\n components: {\n ElOverlay,\n ElIcon,\n ...CloseComponents,\n },\n directives: {\n TrapFocus,\n },\n\n props: dialogProps,\n emits: dialogEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('dialog')\n const dialogRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const dialog = useDialog(props, ctx, dialogRef)\n const overlayEvent = useSameTarget(dialog.onModalClick)\n\n const draggable = computed(() => props.draggable && !props.fullscreen)\n useDraggable(dialogRef, headerRef, draggable)\n\n return {\n ns,\n dialogRef,\n headerRef,\n overlayEvent,\n ...dialog,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","CloseComponents","TrapFocus","dialogProps","dialogEmits","useNamespace","ref","useDialog","useSameTarget","computed","_createBlock","_Teleport","_createVNode","_Transition","_createElementVNode","_normalizeClass","_createElementBlock","_normalizeStyle","_renderSlot","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;;;;;;AAgFA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,eACVC;AAAA,YACAC;AAAA,OACGC;AAAA;AAAA,EAEL,YAAY;AAAA,eACVC;AAAA;AAAA,EAGF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAKC,qBAAa;AACxB,UAAM,YAAYC;AAClB,UAAM,YAAYA;AAClB,UAAM,SAASC,oBAAU,OAAO,KAAK;AACrC,UAAM,eAAeC,sBAAc,OAAO;AAE1C,UAAM,YAAYC,aAAS,MAAM,MAAM,aAAa,CAAC,MAAM;AAC3D,yBAAa,WAAW,WAAW;AAEnC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,SACG;AAAA;AAAA;AAAA;;;;;;0BA5GPC,gBAkEWC;AAAA,IAlED,IAAG;AAAA,IAAQ,UAAQ,CAAG;AAAA;IAC9BC,gBAgEaC;AAAA,MA/DX,MAAK;AAAA,MACJ,cAAa;AAAA,MACb,cAAa;AAAA,MACb,eAAc;AAAA;2BAEf,MAyDa;AAAA,2BAzDbD,gBAyDa;AAAA,UAvDX;AAAA,UACC,MAAM;AAAA,UACN,iBAAe;AAAA,UACf,WAAS;AAAA;+BAEV,MAiDM;AAAA,YAjDNE,uBAiDM;AAAA,cAhDH,OAAKC,sBAAK,QAAG,UAAU;AAAA,cACvB,SAAK,uCAAE,kBAAa,WAAb,kBAAa,QAAO;AAAA,cAC3B,aAAS,uCAAE,kBAAa,eAAb,kBAAa,YAAW;AAAA,cACnC,WAAO,uCAAE,kBAAa,aAAb,kBAAa,UAAS;AAAA;mDAEhCC,uBA0CM;AAAA,gBAzCJ,KAAI;AAAA,gBAEH,OAAKD;AAAA,kBAAkB,QAAG;AAAA,kBAAmB,QAAG,GAAE,cAAe;AAAA,kBAA2B,QAAG,GAAE,aAAc;AAAA,qBAA6B,QAAG,EAAC,YAAa;AAAA,kBAAwB;AAAA;AAAA,gBAOtL,cAAW;AAAA,gBACX,MAAK;AAAA,gBACJ,cAAY,cAAK;AAAA,gBACjB,OAAKE,mBAAE;AAAA,gBACP,SAAK,4CAAN;AAAA,mBAAc;AAAA;gBAEdH,uBAiBM;AAAA,kBAjBD,KAAI;AAAA,kBAAa,OAAKC,mBAAE,QAAG,EAAC;AAAA;kBAC/BG,eAIO,0BAJP,MAIO;AAAA,oBAHLJ,uBAEO;AAAA,sBAFA,OAAKC,mBAAE,QAAG,EAAC;AAAA,2CACb,aAAK;AAAA;AAAA,kBAIJ,mCADRC,uBAUS;AAAA;oBARP,cAAW;AAAA,oBACV,OAAKD,mBAAE,QAAG,EAAC;AAAA,oBACZ,MAAK;AAAA,oBACJ,SAAK,uCAAE;AAAA;oBAERH,gBAEU;AAAA,sBAFA,OAAKG,mBAAE,QAAG,EAAC;AAAA;2CACnB,MAAwC;AAAA,0CAAxCL,gBAAwCS,4BAAxB,kBAAS;AAAA;AAAA;;;;gBAIf,kCACdH,uBAEM;AAAA;kBAFA,OAAKD,mBAAE,QAAG,EAAC;AAAA;kBACfG,eAAa;AAAA;gBAGN,YAAO,2BAAlBF,uBAEM;AAAA;kBAFqB,OAAKD,mBAAE,QAAG,EAAC;AAAA;kBACpCG,eAA2B;AAAA;;;;;;;;sBApDzB;AAAA;AAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider2.js","sources":["../../../../../../packages/components/divider/src/divider.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.m(direction)]\" :style=\"dividerStyle\">\n <div\n v-if=\"$slots.default && direction !== 'vertical'\"\n :class=\"[ns.e('text'), ns.is(contentPosition)]\"\n >\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { dividerProps } from './divider'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElDivider',\n props: dividerProps,\n\n setup(props) {\n const ns = useNamespace('divider')\n\n const dividerStyle = computed(() => {\n return {\n '--el-border-style': props.borderStyle,\n } as CSSProperties\n })\n\n return {\n ns,\n dividerStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dividerProps","useNamespace","computed","
|
|
1
|
+
{"version":3,"file":"divider2.js","sources":["../../../../../../packages/components/divider/src/divider.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.m(direction)]\" :style=\"dividerStyle\">\n <div\n v-if=\"$slots.default && direction !== 'vertical'\"\n :class=\"[ns.e('text'), ns.is(contentPosition)]\"\n >\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { dividerProps } from './divider'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElDivider',\n props: dividerProps,\n\n setup(props) {\n const ns = useNamespace('divider')\n\n const dividerStyle = computed(() => {\n return {\n '--el-border-style': props.borderStyle,\n } as CSSProperties\n })\n\n return {\n ns,\n dividerStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dividerProps","useNamespace","computed","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot"],"mappings":";;;;;;;;;;AAkBA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAKC,mBAAa;AAExB,UAAM,eAAeC,aAAS,MAAM;AAClC,aAAO;AAAA,QACL,qBAAqB,MAAM;AAAA;AAAA;AAI/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;0BAhCJC,uBAOM;AAAA,IAPA,OAAKC,oBAAG,QAAG,KAAK,QAAG,EAAE;AAAA,IAAc,OAAKC,mBAAE;AAAA;IAEtC,YAAO,WAAW,mBAAS,+BADnCF,uBAKM;AAAA;MAHH,OAAKC,oBAAG,QAAG,EAAC,SAAU,QAAG,GAAG;AAAA;MAE7BE,eAAa;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n :aria-labelledby=\"ns.e('title')\"\n :aria-label=\"title\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <header v-if=\"withHeader\" :id=\"ns.e('title')\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section :class=\"ns.e('body')\">\n <slot></slot>\n </section>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { useNamespace } from '@element-plus/hooks'\nimport { drawerProps, drawerEmits } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","Close","TrapFocus","drawerProps","drawerEmits","ref","useNamespace","computed","useDialog","
|
|
1
|
+
{"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n :aria-labelledby=\"ns.e('title')\"\n :aria-label=\"title\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <header v-if=\"withHeader\" :id=\"ns.e('title')\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section :class=\"ns.e('body')\">\n <slot></slot>\n </section>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { useNamespace } from '@element-plus/hooks'\nimport { drawerProps, drawerEmits } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","Close","TrapFocus","drawerProps","drawerEmits","ref","useNamespace","computed","useDialog","_createBlock","_Teleport","_createVNode","_Transition","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;AAqEA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,eACVC;AAAA,YACAC;AAAA,WACAC;AAAA;AAAA,EAEF,YAAY;AAAA,eACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,eAAeC,aACnB,MAAM,MAAM,cAAc,SAAS,MAAM,cAAc;AAEzD,UAAM,aAAaA,aAAS,MAC1B,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,WAAW,MAAM;AAG7D,WAAO;AAAA,SACFC,oBAAU,OAAO,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;0BAjGJC,gBAsDWC;AAAA,IAtDD,IAAG;AAAA,IAAQ,UAAQ,CAAG;AAAA;IAC9BC,gBAoDaC;AAAA,MAnDV,MAAM,QAAG,EAAC;AAAA,MACV,cAAa;AAAA,MACb,cAAa;AAAA,MACb,eAAc;AAAA;2BAEf,MA6Ca;AAAA,2BA7CbD,gBA6Ca;AAAA,UA3CV,MAAM;AAAA,UACN,iBAAe;AAAA,UACf,WAAS;AAAA,UACT,SAAO;AAAA;+BAER,MAqCM;AAAA,iDArCNE,uBAqCM;AAAA,cApCJ,KAAI;AAAA,cAEJ,cAAW;AAAA,cACV,mBAAiB,QAAG,EAAC;AAAA,cACrB,cAAY;AAAA,cACZ,OAAKC,oBAAG,QAAG,KAAK,gBAAW,gBAAO,QAAY;AAAA,cAC9C,OAAKC,mBAAe,oBAAY,YAAe,kBAAU,aAAgB;AAAA,cAG1E,MAAK;AAAA,cACJ,SAAK,4CAAN;AAAA,iBAAW;AAAA;cAEG,oCAAdF,uBAeS;AAAA;gBAfkB,IAAI,QAAG,EAAC;AAAA,gBAAY,OAAKC,mBAAE,QAAG,EAAC;AAAA;gBACxDE,eAIO,0BAJP,MAIO;AAAA,kBAHLC,uBAEO;AAAA,oBAFD,MAAK;AAAA,oBAAW,OAAO;AAAA,yCACxB,aAAK;AAAA;AAAA,gBAIJ,mCADRJ,uBAQS;AAAA;kBANN,cAAU,0BAAmB;AAAA,kBAC7B,OAAKC,mBAAE,QAAG,EAAC;AAAA,kBACZ,MAAK;AAAA,kBACJ,SAAK,uCAAE;AAAA;kBAERH,gBAAmD;AAAA,oBAAzC,OAAKG,mBAAE,QAAG,EAAC;AAAA;yCAAW,MAAS;AAAA,sBAATH,gBAAS;AAAA;AAAA;;;;cAG7B,kCACdE,uBAEU;AAAA;gBAFA,OAAKC,mBAAE,QAAG,EAAC;AAAA;gBACnBE,eAAa;AAAA;cAGN,YAAO,2BAAlBH,uBAEM;AAAA;gBAFqB,OAAKC,mBAAE,QAAG,EAAC;AAAA;gBACpCE,eAA2B;AAAA;;;;;;;sBAzCvB;AAAA;AAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item-impl.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div\n v-if=\"divided\"\n :class=\"ns.bem('menu', 'item', 'divided')\"\n v-bind=\"$attrs\"\n ></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"{ ...dataset, ...$attrs }\"\n :aria-disabled=\"disabled\"\n :class=\"[ns.be('menu', 'item'), ns.is('disabled', disabled)]\"\n :tabindex=\"tabIndex\"\n role=\"menuitem\"\n @click=\"(e) => $emit('click', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(_, { emit }) {\n const ns = useNamespace('dropdown')\n\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('click', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n ns,\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","
|
|
1
|
+
{"version":3,"file":"dropdown-item-impl.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div\n v-if=\"divided\"\n :class=\"ns.bem('menu', 'item', 'divided')\"\n v-bind=\"$attrs\"\n ></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"{ ...dataset, ...$attrs }\"\n :aria-disabled=\"disabled\"\n :class=\"[ns.be('menu', 'item'), ns.is('disabled', disabled)]\"\n :tabindex=\"tabIndex\"\n role=\"menuitem\"\n @click=\"(e) => $emit('click', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(_, { emit }) {\n const ns = useNamespace('dropdown')\n\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('click', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n ns,\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","_createElementBlock","_mergeProps","_createElementVNode","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,GAAG,EAAE,QAAQ;AACjB,UAAM,KAAKC,qBAAa;AAExB,UAAM,EAAE,mBAAmB,8BAA8BC,WACvDC,iDACA;AAGF,UAAM,EAAE,mBAAmB,iCAAiCD,WAC1DE,6DACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,QACEF,WAAOG,8CAAuC;AAElD,UAAM,UAAUC,iBACd,2BACA,8BACA;AAGF,UAAM,gBAAgBC,2BAAqB,CAAC,MAAqB;AAC/D,YAAM,EAAE,SAAS;AACjB,UAAI,SAASC,gBAAW,SAAS,SAASA,gBAAW,OAAO;AAC1D,UAAE;AACF,UAAE;AACF,aAAK,SAAS;AACd,eAAO;AAAA;AAAA,OAER;AAEH,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS;AAAA,SACNC,kCAAuB;AAAA;AAAA,MAE1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;IA5FI,iCADRC,uBAIO,OAJPC,eAIO;AAAA;MAFJ,OAAO,QAAG,IAAG;AAAA,OACN,cAAM;IAEhBC,uBAgBM,OAhBND,eAgBM,EAfH,KAAK,gBAAO,KACA,iBAAY,eAAM;AAAA,MAC9B,iBAAe;AAAA,MACf,OAAK,CAAG,QAAG,GAAE,iBAAkB,QAAG,GAAE,YAAa;AAAA,MACjD,UAAU;AAAA,MACX,MAAK;AAAA,MACJ,SAAK,2BAAG,MAAM,WAAK,SAAU;AAAA,MAC7B,SAAK,uCAAE;AAAA,MACP,WAAO,uCAAE;AAAA,MACT,aAAS,uCAAE;AAAA,MACX,eAAW,2BAAG,MAAM,WAAK,eAAgB;AAAA,MACzC,gBAAY,2BAAG,MAAM,WAAK,gBAAiB;AAAA;MAE7B,8BAAfE,gBAAuD;AAAA,6BAAlC,MAAwB;AAAA,4BAAxBA,gBAAwBC,4BAAR;AAAA;AAAA;;MACrCC,eAAQ;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"propsAndAttrs\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n inheritAttrs: false,\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit, attrs }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n // direct usage of v-bind={ ...$props, ...$attrs } causes type errors\n const propsAndAttrs = computed(() => {\n return { ...props, ...attrs }\n })\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n propsAndAttrs,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl","dropdownItemProps","useDropdown","getCurrentInstance","ref","computed"],"mappings":";;;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVC;AAAA,uBACAC;AAAA,wBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,eAAeC;AACvB,UAAM,YAAYC;AAClB,UAAM,UAAUC,QAAwB;AACxC,UAAM,cAAcC,aAAS,MAAM;AACnC,UAAM,EAAE;AAKR,kCAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAK1D,UAAM,gBAAgB;AACpB;AAAsB;AAGxB;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA;AACA;AAAA;AAAA;;;;;;
|
|
1
|
+
{"version":3,"file":"dropdown-item.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"propsAndAttrs\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n inheritAttrs: false,\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit, attrs }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n // direct usage of v-bind={ ...$props, ...$attrs } causes type errors\n const propsAndAttrs = computed(() => {\n return { ...props, ...attrs }\n })\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n propsAndAttrs,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl","dropdownItemProps","useDropdown","getCurrentInstance","ref","computed"],"mappings":";;;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVC;AAAA,uBACAC;AAAA,wBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,eAAeC;AACvB,UAAM,YAAYC;AAClB,UAAM,UAAUC,QAAwB;AACxC,UAAM,cAAcC,aAAS,MAAM;AACnC,UAAM,EAAE;AAKR,kCAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAK1D,UAAM,gBAAgB;AACpB;AAAsB;AAGxB;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA;AACA;AAAA;AAAA;;;;;;AA/F0B;AAbjB;AACe;;AAWH;AAAA,sBATS;AAAG;;AAQT;AAND,+BACN;AAAA;AACD;AACN;;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n role=\"menu\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"onMousedown\"\n >\n <slot></slot>\n </ul>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { composeRefs, composeEventHandlers } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { useNamespace } from '@element-plus/hooks'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n dropdownMenuProps,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const ns = useNamespace('dropdown')\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [ns.b('menu'), ns.bm('menu', size?.value)]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef)) return\n if (!FIRST_LAST_KEYS.includes(code)) return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dropdownMenuProps","useNamespace","useDropdown","inject","FOCUS_TRAP_INJECTION_KEY","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","computed","composeRefs","composeEventHandlers","EVENT_CODE","_openBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAKC,mBAAa;AACxB,UAAM,EAAE,oBAAoBC;AAC5B,UAAM,OAAO,gBAAgB;AAE7B,UAAM,EAAE,cAAc,cAAcC,WAClCC,iCACA;AAGF,UAAM,EAAE,eAAeD,WAAOE,iCAAwB;AAEtD,UAAM,EAAE,eAAe,uBAAuB,aAAaF,WACzDG,4CACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACEH,WAAOI,2CAAkC;AAE7C,UAAM,EAAE,eAAe,kCAAkCJ,WACvDK,wDACA;AAGF,UAAM,cAAcC,aAAS,MAAM;AACjC,aAAO,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,QAAQ;AAAM;AAG5C,UAAM,yBAAyBC,iBAC7B,YACA,uBACA,cACA,qBACA;AAGF,UAAM,kBAAkBC,2BACtB,CAAC,MAAqB;AACpB,YAAM;AAAY,OAEpB;AACE,cAAQ;AACR,YAAM,qBAAsB,cAAuB;AAInD,8BAAwB;AAAA;AAIxB;AACE,UAAEC;AAAA;AAGJ;AAEA;AAAkC;AAClC;AAAqC;AACrC;AAGA,YAAM,gBAAgB;AACtB;AACE;AAAQ;AAEV;AAAW;AAIf;AACE;AACA;AAAU;AAGZ;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;
|
|
1
|
+
{"version":3,"file":"dropdown-menu.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n role=\"menu\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"onMousedown\"\n >\n <slot></slot>\n </ul>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { composeRefs, composeEventHandlers } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { useNamespace } from '@element-plus/hooks'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n dropdownMenuProps,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const ns = useNamespace('dropdown')\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [ns.b('menu'), ns.bm('menu', size?.value)]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef)) return\n if (!FIRST_LAST_KEYS.includes(code)) return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dropdownMenuProps","useNamespace","useDropdown","inject","FOCUS_TRAP_INJECTION_KEY","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","computed","composeRefs","composeEventHandlers","EVENT_CODE","_openBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAKC,mBAAa;AACxB,UAAM,EAAE,oBAAoBC;AAC5B,UAAM,OAAO,gBAAgB;AAE7B,UAAM,EAAE,cAAc,cAAcC,WAClCC,iCACA;AAGF,UAAM,EAAE,eAAeD,WAAOE,iCAAwB;AAEtD,UAAM,EAAE,eAAe,uBAAuB,aAAaF,WACzDG,4CACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACEH,WAAOI,2CAAkC;AAE7C,UAAM,EAAE,eAAe,kCAAkCJ,WACvDK,wDACA;AAGF,UAAM,cAAcC,aAAS,MAAM;AACjC,aAAO,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,QAAQ;AAAM;AAG5C,UAAM,yBAAyBC,iBAC7B,YACA,uBACA,cACA,qBACA;AAGF,UAAM,kBAAkBC,2BACtB,CAAC,MAAqB;AACpB,YAAM;AAAY,OAEpB;AACE,cAAQ;AACR,YAAM,qBAAsB,cAAuB;AAInD,8BAAwB;AAAA;AAIxB;AACE,UAAEC;AAAA;AAGJ;AAEA;AAAkC;AAClC;AAAqC;AACrC;AAGA,YAAM,gBAAgB;AACtB;AACE;AAAQ;AAEV;AAAW;AAIf;AACE;AACA;AAAU;AAGZ;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;2CAnHC;AAAA,SAXGC;AAAA,IACL;AAAO,IACP,OAAKC,mBAAE;AAAA,IACP;AAAU,IACX;AAAK,IACJ;AAAM,IACN;AAAO,IACP;AAAS,IACT;AAAW;;AAEC;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmGA,MAAM,EAAE,aAAa,kBAAkBA;AAEvC,MAAK,YAAaC,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVD;AAAA,iBACAE;AAAA,IACA;AAAA,iBACAC;AAAA,0BACAC;AAAA,eACAC;AAAA,wBACAC;AAAA,YACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,uBAAuBC;AAC7B,UAAM,sBAAsBA;AAC5B,UAAM,YAAYA,QAA2C;AAC7D,UAAM,aAAaA,QAAwB;AAC3C,UAAM,YAAYA,QAAI;AACtB,UAAM,eAAeA,QAAmB;AACxC,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,YAAYC,aAAwB;AAAO,MAC/C,WAAWC,cAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqBD,aAAS,MAAM,CAAC,GAAG,EAAE,aAAa;AAE7D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAGE;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmGA,MAAM,EAAE,aAAa,kBAAkBA;AAEvC,MAAK,YAAaC,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVD;AAAA,iBACAE;AAAA,IACA;AAAA,iBACAC;AAAA,0BACAC;AAAA,eACAC;AAAA,wBACAC;AAAA,YACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,uBAAuBC;AAC7B,UAAM,sBAAsBA;AAC5B,UAAM,YAAYA,QAA2C;AAC7D,UAAM,aAAaA,QAAwB;AAC3C,UAAM,YAAYA,QAAI;AACtB,UAAM,eAAeA,QAAmB;AACxC,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,YAAYC,aAAwB;AAAO,MAC/C,WAAWC,cAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqBD,aAAS,MAAM,CAAC,GAAG,EAAE,aAAa;AAE7D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAGE;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AA9IE;AAxEU;;AAmDD;AAjDP;AACK;AACa;AACL,MAChB;AAAkB,MAClB;AAAY,MACZ;AAAa,MACb;AAAW,MACX,yBAAkB;AAAa,MAC/B;AAAwC,MACxC;AAAS,MACT;AAAY,MACZ,2BAAyB;AAAA,MACzB;AAAa,MACb;AAAoB,MACrB;AAAA,MACA;AAAA,MACC,eAAe;AAAa,MAC7B;AAAA,MACC;AAAW,MACX,QAAI;AAAO;MAED;AAoBM,qBAAA;AAAA;AAlBT;AACS,eACTC;AAAA;AACa;4BAEjB;AAYgB;AAAA;AAZD;AAAyB;;AAWd;AAAA;AATf;AACU,kCACL;AAAA;AACY,kBACvB;AAAa;;AAIW;AAAA;AADM;AAAA;AAAA;;;;;;;;;;;;;;;;AAMR;AAGvB;AAAA,YAFA;AAAO;YACXA;AAAuB;;;;;AAsBT;AATJ;AAAA,eANN;AAAA;AACG;AACA;AACC;;AAEe;AAAA;AAAA;;;AASb;AANN,UACH;AAAM;AACA,4CACI,EAAC;AAAA;;AAE2C,yBAAA;AAAA,wCAAtC;AAAI;;AAAwB;AAAA;AAAA;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty2.js","sources":["../../../../../../packages/components/empty/src/empty.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('image')\" :style=\"imageStyle\">\n <img v-if=\"image\" :src=\"image\" ondragstart=\"return false\" />\n <slot v-else name=\"image\">\n <img-empty />\n </slot>\n </div>\n <div :class=\"ns.e('description')\">\n <slot v-if=\"$slots.description\" name=\"description\"></slot>\n <p v-else>{{ emptyDescription }}</p>\n </div>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ImgEmpty from './img-empty.vue'\nimport { emptyProps } from './empty'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElEmpty',\n components: {\n ImgEmpty,\n },\n\n props: emptyProps,\n\n setup(props) {\n const { t } = useLocale()\n const ns = useNamespace('empty')\n const emptyDescription = computed(\n () => props.description || t('el.table.emptyText')\n )\n const imageStyle = computed<CSSProperties>(() => ({\n width: props.imageSize ? `${props.imageSize}px` : '',\n }))\n\n return {\n ns,\n emptyDescription,\n imageStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ImgEmpty","emptyProps","useLocale","useNamespace","computed","
|
|
1
|
+
{"version":3,"file":"empty2.js","sources":["../../../../../../packages/components/empty/src/empty.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('image')\" :style=\"imageStyle\">\n <img v-if=\"image\" :src=\"image\" ondragstart=\"return false\" />\n <slot v-else name=\"image\">\n <img-empty />\n </slot>\n </div>\n <div :class=\"ns.e('description')\">\n <slot v-if=\"$slots.description\" name=\"description\"></slot>\n <p v-else>{{ emptyDescription }}</p>\n </div>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ImgEmpty from './img-empty.vue'\nimport { emptyProps } from './empty'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElEmpty',\n components: {\n ImgEmpty,\n },\n\n props: emptyProps,\n\n setup(props) {\n const { t } = useLocale()\n const ns = useNamespace('empty')\n const emptyDescription = computed(\n () => props.description || t('el.table.emptyText')\n )\n const imageStyle = computed<CSSProperties>(() => ({\n width: props.imageSize ? `${props.imageSize}px` : '',\n }))\n\n return {\n ns,\n emptyDescription,\n imageStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ImgEmpty","emptyProps","useLocale","useNamespace","computed","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_createVNode"],"mappings":";;;;;;;;;;;;AA0BA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVC;AAAA;AAAA,EAGF,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,EAAE,MAAMC;AACd,UAAM,KAAKC,qBAAa;AACxB,UAAM,mBAAmBC,aACvB,MAAM,MAAM,eAAe,EAAE;AAE/B,UAAM,aAAaA,aAAwB;AAAO,MAChD,OAAO,MAAM,YAAY,GAAG,MAAM,gBAAgB;AAAA;AAGpD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;0BA9CJC,uBAcM;AAAA,IAdA,OAAKC,mBAAE,QAAG;AAAA;IACdC,uBAKM;AAAA,MALA,OAAKD,mBAAE,QAAG,EAAC;AAAA,MAAY,OAAKE,mBAAE;AAAA;MACvB,+BAAXH,uBAA4D;AAAA;QAAzC,KAAK;AAAA,QAAO,aAAY;AAAA,iCAC3CI,eAEO,kCAFP,MAEO;AAAA,QADLC,gBAAa;AAAA;AAAA;IAGjBH,uBAGM;AAAA,MAHA,OAAKD,mBAAE,QAAG,EAAC;AAAA;MACH,YAAO,cAAnBG,eAA0D,4DAC1DJ,uBAAoC,qCAAvB,wBAAgB;AAAA;IAEpB,YAAO,4BAAlBA,uBAEM;AAAA;MAFsB,OAAKC,mBAAE,QAAG,EAAC;AAAA;MACrCG,eAAa;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"img-empty.js","sources":["../../../../../../packages/components/empty/src/img-empty.vue"],"sourcesContent":["<template>\n <svg\n viewBox=\"0 0 79 86\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <defs>\n <linearGradient\n :id=\"`linearGradient-1-${id}`\"\n x1=\"38.8503086%\"\n y1=\"0%\"\n x2=\"61.1496914%\"\n y2=\"100%\"\n >\n <stop stop-color=\"var(--el-empty-fill-color-1)\" offset=\"0%\" />\n <stop stop-color=\"var(--el-empty-fill-color-4)\" offset=\"100%\" />\n </linearGradient>\n <linearGradient\n :id=\"`linearGradient-2-${id}`\"\n x1=\"0%\"\n y1=\"9.5%\"\n x2=\"100%\"\n y2=\"90.5%\"\n >\n <stop stop-color=\"var(--el-empty-fill-color-1)\" offset=\"0%\" />\n <stop stop-color=\"var(--el-empty-fill-color-6)\" offset=\"100%\" />\n </linearGradient>\n <rect :id=\"`path-3-${id}`\" x=\"0\" y=\"0\" width=\"17\" height=\"36\" />\n </defs>\n <g\n id=\"Illustrations\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g id=\"B-type\" transform=\"translate(-1268.000000, -535.000000)\">\n <g id=\"Group-2\" transform=\"translate(1268.000000, 535.000000)\">\n <path\n id=\"Oval-Copy-2\"\n d=\"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z\"\n fill=\"var(--el-empty-fill-color-3)\"\n />\n <polygon\n id=\"Rectangle-Copy-14\"\n fill=\"var(--el-empty-fill-color-7)\"\n transform=\"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) \"\n points=\"13 58 53 58 42 45 2 45\"\n />\n <g\n id=\"Group-Copy\"\n transform=\"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)\"\n >\n <polygon\n id=\"Rectangle-Copy-10\"\n fill=\"var(--el-empty-fill-color-7)\"\n transform=\"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) \"\n points=\"2.84078316e-14 3 18 3 23 7 5 7\"\n />\n <polygon\n id=\"Rectangle-Copy-11\"\n fill=\"var(--el-empty-fill-color-5)\"\n points=\"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43\"\n />\n <rect\n id=\"Rectangle-Copy-12\"\n :fill=\"`url(#linearGradient-1-${id})`\"\n transform=\"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) \"\n x=\"38\"\n y=\"7\"\n width=\"17\"\n height=\"36\"\n />\n <polygon\n id=\"Rectangle-Copy-13\"\n fill=\"var(--el-empty-fill-color-2)\"\n transform=\"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) \"\n points=\"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12\"\n />\n </g>\n <rect\n id=\"Rectangle-Copy-15\"\n :fill=\"`url(#linearGradient-2-${id})`\"\n x=\"13\"\n y=\"45\"\n width=\"40\"\n height=\"36\"\n />\n <g id=\"Rectangle-Copy-17\" transform=\"translate(53.000000, 45.000000)\">\n <mask :id=\"`mask-4-${id}`\" fill=\"var(--el-empty-fill-color-0)\">\n <use :xlink:href=\"`#path-3-${id}`\" />\n </mask>\n <use\n id=\"Mask\"\n fill=\"var(--el-empty-fill-color-8)\"\n transform=\"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) \"\n :xlink:href=\"`#path-3-${id}`\"\n />\n <polygon\n id=\"Rectangle-Copy\"\n fill=\"var(--el-empty-fill-color-9)\"\n :mask=\"`url(#mask-4-${id})`\"\n transform=\"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) \"\n points=\"7 0 24 0 20 18 -1.70530257e-13 16\"\n />\n </g>\n <polygon\n id=\"Rectangle-Copy-18\"\n fill=\"var(--el-empty-fill-color-2)\"\n transform=\"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) \"\n points=\"62 45 79 45 70 58 53 58\"\n />\n </g>\n </g>\n </g>\n </svg>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\n\nlet id = 0\nexport default defineComponent({\n name: 'ImgEmpty',\n setup() {\n return {\n id: ++id,\n }\n },\n})\n</script>\n"],"names":["defineComponent","
|
|
1
|
+
{"version":3,"file":"img-empty.js","sources":["../../../../../../packages/components/empty/src/img-empty.vue"],"sourcesContent":["<template>\n <svg\n viewBox=\"0 0 79 86\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <defs>\n <linearGradient\n :id=\"`linearGradient-1-${id}`\"\n x1=\"38.8503086%\"\n y1=\"0%\"\n x2=\"61.1496914%\"\n y2=\"100%\"\n >\n <stop stop-color=\"var(--el-empty-fill-color-1)\" offset=\"0%\" />\n <stop stop-color=\"var(--el-empty-fill-color-4)\" offset=\"100%\" />\n </linearGradient>\n <linearGradient\n :id=\"`linearGradient-2-${id}`\"\n x1=\"0%\"\n y1=\"9.5%\"\n x2=\"100%\"\n y2=\"90.5%\"\n >\n <stop stop-color=\"var(--el-empty-fill-color-1)\" offset=\"0%\" />\n <stop stop-color=\"var(--el-empty-fill-color-6)\" offset=\"100%\" />\n </linearGradient>\n <rect :id=\"`path-3-${id}`\" x=\"0\" y=\"0\" width=\"17\" height=\"36\" />\n </defs>\n <g\n id=\"Illustrations\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g id=\"B-type\" transform=\"translate(-1268.000000, -535.000000)\">\n <g id=\"Group-2\" transform=\"translate(1268.000000, 535.000000)\">\n <path\n id=\"Oval-Copy-2\"\n d=\"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z\"\n fill=\"var(--el-empty-fill-color-3)\"\n />\n <polygon\n id=\"Rectangle-Copy-14\"\n fill=\"var(--el-empty-fill-color-7)\"\n transform=\"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) \"\n points=\"13 58 53 58 42 45 2 45\"\n />\n <g\n id=\"Group-Copy\"\n transform=\"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)\"\n >\n <polygon\n id=\"Rectangle-Copy-10\"\n fill=\"var(--el-empty-fill-color-7)\"\n transform=\"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) \"\n points=\"2.84078316e-14 3 18 3 23 7 5 7\"\n />\n <polygon\n id=\"Rectangle-Copy-11\"\n fill=\"var(--el-empty-fill-color-5)\"\n points=\"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43\"\n />\n <rect\n id=\"Rectangle-Copy-12\"\n :fill=\"`url(#linearGradient-1-${id})`\"\n transform=\"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) \"\n x=\"38\"\n y=\"7\"\n width=\"17\"\n height=\"36\"\n />\n <polygon\n id=\"Rectangle-Copy-13\"\n fill=\"var(--el-empty-fill-color-2)\"\n transform=\"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) \"\n points=\"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12\"\n />\n </g>\n <rect\n id=\"Rectangle-Copy-15\"\n :fill=\"`url(#linearGradient-2-${id})`\"\n x=\"13\"\n y=\"45\"\n width=\"40\"\n height=\"36\"\n />\n <g id=\"Rectangle-Copy-17\" transform=\"translate(53.000000, 45.000000)\">\n <mask :id=\"`mask-4-${id}`\" fill=\"var(--el-empty-fill-color-0)\">\n <use :xlink:href=\"`#path-3-${id}`\" />\n </mask>\n <use\n id=\"Mask\"\n fill=\"var(--el-empty-fill-color-8)\"\n transform=\"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) \"\n :xlink:href=\"`#path-3-${id}`\"\n />\n <polygon\n id=\"Rectangle-Copy\"\n fill=\"var(--el-empty-fill-color-9)\"\n :mask=\"`url(#mask-4-${id})`\"\n transform=\"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) \"\n points=\"7 0 24 0 20 18 -1.70530257e-13 16\"\n />\n </g>\n <polygon\n id=\"Rectangle-Copy-18\"\n fill=\"var(--el-empty-fill-color-2)\"\n transform=\"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) \"\n points=\"62 45 79 45 70 58 53 58\"\n />\n </g>\n </g>\n </g>\n </svg>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\n\nlet id = 0\nexport default defineComponent({\n name: 'ImgEmpty',\n setup() {\n return {\n id: ++id,\n }\n },\n})\n</script>\n"],"names":["defineComponent","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;AA0HA,IAAI,KAAK;AACT,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,QAAQ;AACN,WAAO;AAAA,MACL,IAAI,EAAE;AAAA;AAAA;AAAA;;EA7HR,SAAQ;AAAA,EACR,SAAQ;AAAA,EACR,OAAM;AAAA,EACN,eAAY;AAAA;;0DAUsD;AAAA,EAAxD,cAAW;AAAA,EAA+B,QAAO;AAAA;0DACS;AAAA,EAA1D,cAAW;AAAA,EAA+B,QAAO;AAAA;;EADvD;AAAA,EACA;AAAA;;0DAS8D;AAAA,EAAxD,cAAW;AAAA,EAA+B,QAAO;AAAA;0DACS;AAAA,EAA1D,cAAW;AAAA,EAA+B,QAAO;AAAA;;EADvD;AAAA,EACA;AAAA;;;EAKF,IAAG;AAAA,EACH,QAAO;AAAA,EACP,gBAAa;AAAA,EACb,MAAK;AAAA,EACL,aAAU;AAAA;;EAEP,IAAG;AAAA,EAAS,WAAU;AAAA;;EACpB,IAAG;AAAA,EAAU,WAAU;AAAA;2DAKtB;AAAA,EAHA,IAAG;AAAA,EACH,GAAE;AAAA,EACF,MAAK;AAAA;2DAOL;AAAA,EAJA,IAAG;AAAA,EACH,MAAK;AAAA,EACL,WAAU;AAAA,EACV,QAAO;AAAA;;EAGP,IAAG;AAAA,EACH,WAAU;AAAA;2DAOR;AAAA,EAJA,IAAG;AAAA,EACH,MAAK;AAAA,EACL,WAAU;AAAA,EACV,QAAO;AAAA;2DAMP;AAAA,EAHA,IAAG;AAAA,EACH,MAAK;AAAA,EACL,QAAO;AAAA;;2DAgBP;AAAA,EAJA,IAAG;AAAA,EACH,MAAK;AAAA,EACL,WAAU;AAAA,EACV,QAAO;AAAA;;;EAWR,IAAG;AAAA,EAAoB,WAAU;AAAA;;;;;2DAuBlC;AAAA,EAJA,IAAG;AAAA,EACH,MAAK;AAAA,EACL,WAAU;AAAA,EACV,QAAO;AAAA;;0BA9GjBC,uBAmHM,OAnHN,YAmHM;AAAA,IA7GJC,uBAsBO;AAAA,MArBLA,uBASiB;AAAA,QARd,IAAE,oBAAsB;AAAA,QACzB,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA;MAKLA,uBASiB;AAAA,QARd,IAAE,oBAAsB;AAAA,QACzB,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA;MAKLA,uBAAgE;AAAA,QAAzD,IAAE,UAAY;AAAA,QAAM,GAAE;AAAA,QAAI,GAAE;AAAA,QAAI,OAAM;AAAA,QAAK,QAAO;AAAA;;IAE3DA,uBAqFI,KArFJ,aAqFI;AAAA,MA9EFA,uBA6EI,KA7EJ,aA6EI;AAAA,QA5EFA,uBA2EI,KA3EJ,aA2EI;AAAA,UA1EF;AAAA,UAKA;AAAA,UAMAA,uBA8BI,KA9BJ,aA8BI;AAAA,YA1BF;AAAA,YAMA;AAAA,YAKAA,uBAQE;AAAA,cAPA,IAAG;AAAA,cACF,MAAI,yBAA2B;AAAA,cAChC,WAAU;AAAA,cACV,GAAE;AAAA,cACF,GAAE;AAAA,cACF,OAAM;AAAA,cACN,QAAO;AAAA;YAET;AAAA;AAAA,UAOFA,uBAOE;AAAA,YANA,IAAG;AAAA,YACF,MAAI,yBAA2B;AAAA,YAChC,GAAE;AAAA,YACF,GAAE;AAAA,YACF,OAAM;AAAA,YACN,QAAO;AAAA;UAETA,uBAiBI,KAjBJ,aAiBI;AAAA,YAhBFA,uBAEO;AAAA,cAFA,IAAE,UAAY;AAAA,cAAM,MAAK;AAAA;cAC9BA,uBAAqC;AAAA,gBAA/B,cAAU,WAAa;AAAA;;YAE/BA,uBAKE;AAAA,cAJA,IAAG;AAAA,cACH,MAAK;AAAA,cACL,WAAU;AAAA,cACT,cAAU,WAAa;AAAA;YAE1BA,uBAME;AAAA,cALA,IAAG;AAAA,cACH,MAAK;AAAA,cACJ,MAAI,eAAiB;AAAA,cACtB,WAAU;AAAA,cACV,QAAO;AAAA;;UAGX;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-trap.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n} from 'vue'\nimport { on, off } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n on(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n on(document, 'focusin', onFocusIn)\n on(document, 'focusout', onFocusOut)\n } else {\n off(document, 'focusin', onFocusIn)\n off(document, 'focusout', onFocusOut)\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n off(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_MOUNT_FOCUS_EVT","ON_UNMOUNT_FOCUS_EVT","ref","EVENT_CODE","getEdges","FOCUS_TRAP_INJECTION_KEY","unref","FOCUS_ON_MOUNT","FOCUS_ON_MOUNT_OPTS","obtainAllFocusableElements","FOCUS_ON_UNMOUNT"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"focus-trap.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n} from 'vue'\nimport { on, off } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n on(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n on(document, 'focusin', onFocusIn)\n on(document, 'focusout', onFocusOut)\n } else {\n off(document, 'focusin', onFocusIn)\n off(document, 'focusout', onFocusOut)\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n off(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_MOUNT_FOCUS_EVT","ON_UNMOUNT_FOCUS_EVT","ref","EVENT_CODE","getEdges","FOCUS_TRAP_INJECTION_KEY","unref","FOCUS_ON_MOUNT","FOCUS_ON_MOUNT_OPTS","obtainAllFocusableElements","FOCUS_ON_UNMOUNT","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport {\n addUnit,\n isValidComponentSize,\n getPropByPath,\n} from '@element-plus/utils'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport { useSize } from '@element-plus/hooks'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const sizeClass = useSize(undefined, { formItem: false })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":["defineComponent","LabelWrap","isValidComponentSize","inject","elFormKey","ref","getCurrentInstance","computed","addUnit","getPropByPath","useSize","NOOP","AsyncValidator","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport {\n addUnit,\n isValidComponentSize,\n getPropByPath,\n} from '@element-plus/utils'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport { useSize } from '@element-plus/hooks'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const sizeClass = useSize(undefined, { formItem: false })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":["defineComponent","LabelWrap","isValidComponentSize","inject","elFormKey","ref","getCurrentInstance","computed","addUnit","getPropByPath","useSize","NOOP","AsyncValidator"],"mappings":"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"}
|