element-plus 2.3.8 → 2.3.10
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/README.md +5 -8
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +300 -224
- package/dist/index.full.min.js +21 -21
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +21 -21
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +300 -224
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/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/index.d.ts +4 -4
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +10 -11
- package/es/components/autocomplete/src/autocomplete2.mjs +3 -3
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/breadcrumb/index.d.ts +2 -6
- package/es/components/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -3
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +5 -5
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/card/index.d.ts +2 -0
- package/es/components/card/src/card.d.ts +1 -0
- package/es/components/card/src/card.mjs +1 -0
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/card.vue.d.ts +2 -0
- package/es/components/card/src/card2.mjs +1 -1
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +16 -6
- package/es/components/cascader/src/cascader.d.ts +1 -0
- package/es/components/cascader/src/cascader.mjs +4 -0
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader.vue.d.ts +8 -3
- package/es/components/cascader/src/cascader2.mjs +11 -4
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +6 -2
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.mjs +10 -6
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox2.mjs +10 -6
- package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/components/collapse/index.d.ts +6 -0
- package/es/components/collapse/src/collapse-item.vue.d.ts +3 -0
- package/es/components/collapse-transition/index.d.ts +6 -0
- package/es/components/collapse-transition/src/collapse-transition.mjs +15 -8
- package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
- package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +3 -0
- package/es/components/color-picker/index.d.ts +3 -3
- package/es/components/color-picker/src/color-picker.vue.d.ts +3 -3
- package/es/components/date-picker/index.d.ts +1 -0
- package/es/components/date-picker/index.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +25 -6
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +7 -13
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker.mjs.map +1 -1
- package/es/components/date-picker/src/instance.d.ts +8 -0
- package/es/components/date-picker/src/instance.mjs +2 -0
- package/es/components/date-picker/src/instance.mjs.map +1 -0
- package/es/components/date-picker/src/panel-utils.d.ts +4 -2
- package/es/components/dialog/index.d.ts +60 -45
- package/es/components/dialog/src/dialog-content.d.ts +5 -4
- package/es/components/dialog/src/dialog-content.mjs +8 -16
- package/es/components/dialog/src/dialog-content.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.vue.d.ts +24 -17
- package/es/components/dialog/src/dialog-content2.mjs +16 -13
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +9 -7
- package/es/components/dialog/src/dialog.mjs +7 -12
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +60 -45
- package/es/components/dialog/src/dialog2.mjs +2 -1
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/drawer/index.d.ts +27 -21
- package/es/components/drawer/src/drawer.d.ts +9 -7
- package/es/components/drawer/src/drawer.mjs +4 -0
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +27 -21
- package/es/components/drawer/src/drawer2.mjs +2 -1
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +2 -2
- package/es/components/dropdown/src/dropdown.vue.d.ts +2 -2
- package/es/components/dropdown/src/dropdown2.mjs +6 -6
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/focus-trap/src/focus-trap.mjs +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-label-wrap.mjs +3 -2
- package/es/components/form/src/form-label-wrap.mjs.map +1 -1
- package/es/components/input/index.d.ts +1 -2
- package/es/components/input/index.mjs.map +1 -1
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/instance.d.ts +2 -0
- package/es/components/input/src/instance.mjs +2 -0
- package/es/components/input/src/instance.mjs.map +1 -0
- package/es/components/input-number/src/input-number2.mjs +3 -3
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.mjs +2 -0
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +27 -54
- package/es/components/popconfirm/index.d.ts +3 -3
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/es/components/popover/index.d.ts +3 -3
- package/es/components/popover/src/popover.vue.d.ts +3 -3
- package/es/components/radio/src/radio-button2.mjs +5 -3
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio2.mjs +5 -3
- package/es/components/radio/src/radio2.mjs.map +1 -1
- package/es/components/row/index.d.ts +18 -4
- package/es/components/row/src/row.d.ts +6 -1
- package/es/components/row/src/row.mjs +1 -2
- package/es/components/row/src/row.mjs.map +1 -1
- package/es/components/row/src/row.vue.d.ts +18 -4
- package/es/components/row/src/row2.mjs +1 -1
- package/es/components/row/src/row2.mjs.map +1 -1
- package/es/components/select/index.d.ts +29 -62
- package/es/components/select/src/option-group.mjs +1 -4
- package/es/components/select/src/option-group.mjs.map +1 -1
- package/es/components/select/src/option-group.vue.d.ts +14 -8
- package/es/components/select/src/option.mjs +1 -4
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/option.vue.d.ts +20 -8
- package/es/components/select/src/select.mjs +27 -32
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +360 -55
- package/es/components/select/src/useSelect.d.ts +11 -4
- package/es/components/select/src/useSelect.mjs +50 -30
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +6 -6
- package/es/components/select-v2/src/select.vue.d.ts +3 -3
- package/es/components/select-v2/src/useSelect.d.ts +2 -2
- package/es/components/slider/index.d.ts +5 -5
- package/es/components/slider/src/button.vue.d.ts +1 -1
- package/es/components/slider/src/composables/use-slide.d.ts +4 -4
- package/es/components/slider/src/slider.vue.d.ts +5 -5
- package/es/components/switch/index.d.ts +36 -0
- package/es/components/switch/src/switch.d.ts +12 -15
- package/es/components/switch/src/switch.mjs +6 -0
- package/es/components/switch/src/switch.mjs.map +1 -1
- package/es/components/switch/src/switch.vue.d.ts +36 -0
- package/es/components/switch/src/switch2.mjs +11 -1
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/src/config.d.ts +1 -1
- package/es/components/table/src/config.mjs +5 -3
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +2 -2
- package/es/components/table/src/table-body/events-helper.mjs +10 -2
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/index.mjs +2 -5
- package/es/components/table/src/table-body/index.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs +1 -1
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/watcher-helper.mjs +1 -0
- package/es/components/table/src/table-column/watcher-helper.mjs.map +1 -1
- package/es/components/table-v2/src/table-v2.mjs +1 -1
- package/es/components/table-v2/src/table-v2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +4 -4
- package/es/components/time-select/index.d.ts +104 -200
- package/es/components/time-select/src/time-select.vue.d.ts +52 -100
- package/es/components/tooltip/index.d.ts +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +2 -4
- package/es/components/tooltip/src/tooltip2.mjs +3 -2
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/tree/src/tree-node.mjs +1 -1
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/tree-select/src/tree-select-option.d.ts +8 -32
- package/es/components/tree-v2/src/composables/useTree.mjs +1 -1
- package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
- package/es/components/upload/index.d.ts +0 -3
- package/es/components/upload/src/ajax.mjs +2 -1
- package/es/components/upload/src/ajax.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +1 -1
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +0 -3
- package/es/components/upload/src/upload2.mjs +5 -6
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/hooks/use-focus-controller/index.mjs +0 -1
- package/es/hooks/use-focus-controller/index.mjs.map +1 -1
- package/es/hooks/use-namespace/index.mjs +2 -2
- package/es/hooks/use-namespace/index.mjs.map +1 -1
- package/es/hooks/use-z-index/index.mjs +2 -2
- package/es/hooks/use-z-index/index.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/index.d.ts +4 -4
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +10 -11
- package/lib/components/autocomplete/src/autocomplete2.js +2 -2
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/breadcrumb/index.d.ts +2 -6
- package/lib/components/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -3
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +4 -4
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/card/index.d.ts +2 -0
- package/lib/components/card/src/card.d.ts +1 -0
- package/lib/components/card/src/card.js +1 -0
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/card.vue.d.ts +2 -0
- package/lib/components/card/src/card2.js +1 -1
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/cascader/index.d.ts +16 -6
- package/lib/components/cascader/src/cascader.d.ts +1 -0
- package/lib/components/cascader/src/cascader.js +4 -0
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader.vue.d.ts +8 -3
- package/lib/components/cascader/src/cascader2.js +11 -4
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +5 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.js +9 -5
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox2.js +9 -5
- package/lib/components/checkbox/src/checkbox2.js.map +1 -1
- package/lib/components/collapse/index.d.ts +6 -0
- package/lib/components/collapse/src/collapse-item.vue.d.ts +3 -0
- package/lib/components/collapse-transition/index.d.ts +6 -0
- package/lib/components/collapse-transition/src/collapse-transition.js +15 -8
- package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +3 -0
- package/lib/components/color-picker/index.d.ts +3 -3
- package/lib/components/color-picker/src/color-picker.vue.d.ts +3 -3
- package/lib/components/date-picker/index.d.ts +1 -0
- package/lib/components/date-picker/index.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +25 -6
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +7 -13
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker.js.map +1 -1
- package/lib/components/date-picker/src/instance.d.ts +8 -0
- package/lib/components/date-picker/src/instance.js +3 -0
- package/lib/components/date-picker/src/instance.js.map +1 -0
- package/lib/components/date-picker/src/panel-utils.d.ts +4 -2
- package/lib/components/dialog/index.d.ts +60 -45
- package/lib/components/dialog/src/dialog-content.d.ts +5 -4
- package/lib/components/dialog/src/dialog-content.js +8 -16
- package/lib/components/dialog/src/dialog-content.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.vue.d.ts +24 -17
- package/lib/components/dialog/src/dialog-content2.js +16 -13
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +9 -7
- package/lib/components/dialog/src/dialog.js +7 -12
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +60 -45
- package/lib/components/dialog/src/dialog2.js +2 -1
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/drawer/index.d.ts +27 -21
- package/lib/components/drawer/src/drawer.d.ts +9 -7
- package/lib/components/drawer/src/drawer.js +4 -0
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +27 -21
- package/lib/components/drawer/src/drawer2.js +2 -1
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown.vue.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown2.js +5 -5
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/focus-trap/src/focus-trap.js +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-label-wrap.js +3 -2
- package/lib/components/form/src/form-label-wrap.js.map +1 -1
- package/lib/components/input/index.d.ts +1 -2
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/instance.d.ts +2 -0
- package/lib/components/input/src/instance.js +3 -0
- package/lib/components/input/src/instance.js.map +1 -0
- package/lib/components/input-number/src/input-number2.js +3 -3
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/menu/src/sub-menu.js +2 -0
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +27 -54
- package/lib/components/popconfirm/index.d.ts +3 -3
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/lib/components/popover/index.d.ts +3 -3
- package/lib/components/popover/src/popover.vue.d.ts +3 -3
- package/lib/components/radio/src/radio-button2.js +4 -2
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio2.js +4 -2
- package/lib/components/radio/src/radio2.js.map +1 -1
- package/lib/components/row/index.d.ts +18 -4
- package/lib/components/row/src/row.d.ts +6 -1
- package/lib/components/row/src/row.js +1 -2
- package/lib/components/row/src/row.js.map +1 -1
- package/lib/components/row/src/row.vue.d.ts +18 -4
- package/lib/components/row/src/row2.js +1 -1
- package/lib/components/row/src/row2.js.map +1 -1
- package/lib/components/select/index.d.ts +29 -62
- package/lib/components/select/src/option-group.js +1 -4
- package/lib/components/select/src/option-group.js.map +1 -1
- package/lib/components/select/src/option-group.vue.d.ts +14 -8
- package/lib/components/select/src/option.js +1 -4
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/option.vue.d.ts +20 -8
- package/lib/components/select/src/select.js +27 -32
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +360 -55
- package/lib/components/select/src/useSelect.d.ts +11 -4
- package/lib/components/select/src/useSelect.js +47 -27
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +6 -6
- package/lib/components/select-v2/src/select.vue.d.ts +3 -3
- package/lib/components/select-v2/src/useSelect.d.ts +2 -2
- package/lib/components/slider/index.d.ts +5 -5
- package/lib/components/slider/src/button.vue.d.ts +1 -1
- package/lib/components/slider/src/composables/use-slide.d.ts +4 -4
- package/lib/components/slider/src/slider.vue.d.ts +5 -5
- package/lib/components/switch/index.d.ts +36 -0
- package/lib/components/switch/src/switch.d.ts +12 -15
- package/lib/components/switch/src/switch.js +6 -0
- package/lib/components/switch/src/switch.js.map +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +36 -0
- package/lib/components/switch/src/switch2.js +11 -1
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/src/config.d.ts +1 -1
- package/lib/components/table/src/config.js +5 -3
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +2 -2
- package/lib/components/table/src/table-body/events-helper.js +10 -2
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-body/index.js +2 -5
- package/lib/components/table/src/table-body/index.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js +1 -1
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-column/watcher-helper.js +1 -0
- package/lib/components/table/src/table-column/watcher-helper.js.map +1 -1
- package/lib/components/table-v2/src/table-v2.js +1 -1
- package/lib/components/table-v2/src/table-v2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -4
- package/lib/components/time-select/index.d.ts +104 -200
- package/lib/components/time-select/src/time-select.vue.d.ts +52 -100
- package/lib/components/tooltip/index.d.ts +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +2 -4
- package/lib/components/tooltip/src/tooltip2.js +3 -2
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/tree/src/tree-node.js +1 -1
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/tree-select/src/tree-select-option.d.ts +8 -32
- package/lib/components/tree-v2/src/composables/useTree.js +1 -1
- package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
- package/lib/components/upload/index.d.ts +0 -3
- package/lib/components/upload/src/ajax.js +2 -1
- package/lib/components/upload/src/ajax.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +1 -1
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +0 -3
- package/lib/components/upload/src/upload2.js +4 -5
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/hooks/use-focus-controller/index.js +0 -1
- package/lib/hooks/use-focus-controller/index.js.map +1 -1
- package/lib/hooks/use-namespace/index.js +1 -1
- package/lib/hooks/use-namespace/index.js.map +1 -1
- package/lib/hooks/use-z-index/index.js +1 -1
- package/lib/hooks/use-z-index/index.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/tags.json +1 -1
- package/theme-chalk/el-avatar.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-row.css +1 -1
- package/theme-chalk/el-tree.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/avatar.scss +1 -0
- package/theme-chalk/src/input.scss +1 -1
- package/theme-chalk/src/menu.scss +4 -6
- package/theme-chalk/src/row.scss +3 -0
- package/theme-chalk/src/tree.scss +1 -0
- package/web-types.json +1 -1
|
@@ -4,14 +4,15 @@ export declare const drawerProps: {
|
|
|
4
4
|
readonly size: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "30%", boolean>;
|
|
5
5
|
readonly withHeader: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
6
6
|
readonly modalFade: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
7
|
-
readonly
|
|
7
|
+
readonly headerAriaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
8
|
+
readonly appendToBody: BooleanConstructor;
|
|
8
9
|
readonly beforeClose: {
|
|
9
10
|
readonly type: import("vue").PropType<import("element-plus/es/components/dialog").DialogBeforeCloseFn>;
|
|
10
11
|
readonly required: false;
|
|
11
12
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
12
13
|
__epPropKey: true;
|
|
13
14
|
};
|
|
14
|
-
readonly destroyOnClose:
|
|
15
|
+
readonly destroyOnClose: BooleanConstructor;
|
|
15
16
|
readonly closeOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
16
17
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
17
18
|
readonly lockScroll: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
@@ -24,7 +25,7 @@ export declare const drawerProps: {
|
|
|
24
25
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
25
26
|
__epPropKey: true;
|
|
26
27
|
};
|
|
27
|
-
readonly modelValue:
|
|
28
|
+
readonly modelValue: BooleanConstructor;
|
|
28
29
|
readonly modalClass: StringConstructor;
|
|
29
30
|
readonly width: {
|
|
30
31
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
@@ -39,8 +40,8 @@ export declare const drawerProps: {
|
|
|
39
40
|
__epPropKey: true;
|
|
40
41
|
};
|
|
41
42
|
readonly trapFocus: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
42
|
-
readonly center:
|
|
43
|
-
readonly alignCenter:
|
|
43
|
+
readonly center: BooleanConstructor;
|
|
44
|
+
readonly alignCenter: BooleanConstructor;
|
|
44
45
|
readonly closeIcon: {
|
|
45
46
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
46
47
|
readonly required: false;
|
|
@@ -48,10 +49,11 @@ export declare const drawerProps: {
|
|
|
48
49
|
__epPropKey: true;
|
|
49
50
|
};
|
|
50
51
|
readonly customClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
51
|
-
readonly draggable:
|
|
52
|
-
readonly fullscreen:
|
|
52
|
+
readonly draggable: BooleanConstructor;
|
|
53
|
+
readonly fullscreen: BooleanConstructor;
|
|
53
54
|
readonly showClose: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
54
55
|
readonly title: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
56
|
+
readonly ariaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
55
57
|
};
|
|
56
58
|
export declare type DrawerProps = ExtractPropTypes<typeof drawerProps>;
|
|
57
59
|
export declare const drawerEmits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":["buildProps","dialogProps","dialogEmits"],"mappings":";;;;;;;;;AAEY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,GAAGC,kBAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAGC;;;;;"}
|
|
1
|
+
{"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":["buildProps","dialogProps","dialogEmits"],"mappings":";;;;;;;;;AAEY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,GAAGC,kBAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAGC;;;;;"}
|
|
@@ -3,14 +3,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3
3
|
readonly size: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "30%", boolean>;
|
|
4
4
|
readonly withHeader: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5
5
|
readonly modalFade: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
6
|
-
readonly
|
|
6
|
+
readonly headerAriaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
7
|
+
readonly appendToBody: BooleanConstructor;
|
|
7
8
|
readonly beforeClose: {
|
|
8
9
|
readonly type: import("vue").PropType<import("element-plus/es/components/dialog").DialogBeforeCloseFn>;
|
|
9
10
|
readonly required: false;
|
|
10
11
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
11
12
|
__epPropKey: true;
|
|
12
13
|
};
|
|
13
|
-
readonly destroyOnClose:
|
|
14
|
+
readonly destroyOnClose: BooleanConstructor;
|
|
14
15
|
readonly closeOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
15
16
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
16
17
|
readonly lockScroll: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
@@ -23,7 +24,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
24
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
24
25
|
__epPropKey: true;
|
|
25
26
|
};
|
|
26
|
-
readonly modelValue:
|
|
27
|
+
readonly modelValue: BooleanConstructor;
|
|
27
28
|
readonly modalClass: StringConstructor;
|
|
28
29
|
readonly width: {
|
|
29
30
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
@@ -38,8 +39,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
38
39
|
__epPropKey: true;
|
|
39
40
|
};
|
|
40
41
|
readonly trapFocus: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
41
|
-
readonly center:
|
|
42
|
-
readonly alignCenter:
|
|
42
|
+
readonly center: BooleanConstructor;
|
|
43
|
+
readonly alignCenter: BooleanConstructor;
|
|
43
44
|
readonly closeIcon: {
|
|
44
45
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
45
46
|
readonly required: false;
|
|
@@ -47,10 +48,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
47
48
|
__epPropKey: true;
|
|
48
49
|
};
|
|
49
50
|
readonly customClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
50
|
-
readonly draggable:
|
|
51
|
-
readonly fullscreen:
|
|
51
|
+
readonly draggable: BooleanConstructor;
|
|
52
|
+
readonly fullscreen: BooleanConstructor;
|
|
52
53
|
readonly showClose: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
53
54
|
readonly title: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
55
|
+
readonly ariaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
54
56
|
}, {
|
|
55
57
|
drawerRef: import("vue").Ref<HTMLElement | undefined>;
|
|
56
58
|
focusStartRef: import("vue").Ref<HTMLElement | undefined>;
|
|
@@ -107,14 +109,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
107
109
|
readonly size: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "30%", boolean>;
|
|
108
110
|
readonly withHeader: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
109
111
|
readonly modalFade: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
110
|
-
readonly
|
|
112
|
+
readonly headerAriaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
113
|
+
readonly appendToBody: BooleanConstructor;
|
|
111
114
|
readonly beforeClose: {
|
|
112
115
|
readonly type: import("vue").PropType<import("element-plus/es/components/dialog").DialogBeforeCloseFn>;
|
|
113
116
|
readonly required: false;
|
|
114
117
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
115
118
|
__epPropKey: true;
|
|
116
119
|
};
|
|
117
|
-
readonly destroyOnClose:
|
|
120
|
+
readonly destroyOnClose: BooleanConstructor;
|
|
118
121
|
readonly closeOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
119
122
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
120
123
|
readonly lockScroll: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
@@ -127,7 +130,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
127
130
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
128
131
|
__epPropKey: true;
|
|
129
132
|
};
|
|
130
|
-
readonly modelValue:
|
|
133
|
+
readonly modelValue: BooleanConstructor;
|
|
131
134
|
readonly modalClass: StringConstructor;
|
|
132
135
|
readonly width: {
|
|
133
136
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
@@ -142,8 +145,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
142
145
|
__epPropKey: true;
|
|
143
146
|
};
|
|
144
147
|
readonly trapFocus: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
145
|
-
readonly center:
|
|
146
|
-
readonly alignCenter:
|
|
148
|
+
readonly center: BooleanConstructor;
|
|
149
|
+
readonly alignCenter: BooleanConstructor;
|
|
147
150
|
readonly closeIcon: {
|
|
148
151
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
149
152
|
readonly required: false;
|
|
@@ -151,10 +154,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
151
154
|
__epPropKey: true;
|
|
152
155
|
};
|
|
153
156
|
readonly customClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
154
|
-
readonly draggable:
|
|
155
|
-
readonly fullscreen:
|
|
157
|
+
readonly draggable: BooleanConstructor;
|
|
158
|
+
readonly fullscreen: BooleanConstructor;
|
|
156
159
|
readonly showClose: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
157
160
|
readonly title: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
161
|
+
readonly ariaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
158
162
|
}>> & {
|
|
159
163
|
onClose?: (() => any) | undefined;
|
|
160
164
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -165,17 +169,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
165
169
|
onCloseAutoFocus?: (() => any) | undefined;
|
|
166
170
|
}, {
|
|
167
171
|
readonly title: string;
|
|
168
|
-
readonly center:
|
|
172
|
+
readonly center: boolean;
|
|
169
173
|
readonly size: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
170
|
-
readonly modelValue:
|
|
174
|
+
readonly modelValue: boolean;
|
|
171
175
|
readonly direction: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown>;
|
|
172
|
-
readonly alignCenter: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
173
176
|
readonly customClass: string;
|
|
174
|
-
readonly draggable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
175
|
-
readonly fullscreen: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
176
177
|
readonly showClose: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
177
|
-
readonly
|
|
178
|
-
readonly
|
|
178
|
+
readonly ariaLevel: string;
|
|
179
|
+
readonly alignCenter: boolean;
|
|
180
|
+
readonly draggable: boolean;
|
|
181
|
+
readonly fullscreen: boolean;
|
|
179
182
|
readonly closeOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
180
183
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
181
184
|
readonly lockScroll: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -183,6 +186,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
183
186
|
readonly openDelay: number;
|
|
184
187
|
readonly closeDelay: number;
|
|
185
188
|
readonly trapFocus: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
189
|
+
readonly headerAriaLevel: string;
|
|
190
|
+
readonly appendToBody: boolean;
|
|
191
|
+
readonly destroyOnClose: boolean;
|
|
186
192
|
readonly withHeader: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
187
193
|
readonly modalFade: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
188
194
|
}>;
|
|
@@ -64,7 +64,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
const _hoisted_1 = ["aria-label", "aria-labelledby", "aria-describedby"];
|
|
67
|
-
const _hoisted_2 = ["id"];
|
|
67
|
+
const _hoisted_2 = ["id", "aria-level"];
|
|
68
68
|
const _hoisted_3 = ["aria-label"];
|
|
69
69
|
const _hoisted_4 = ["id"];
|
|
70
70
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -131,6 +131,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
131
131
|
key: 0,
|
|
132
132
|
id: _ctx.titleId,
|
|
133
133
|
role: "heading",
|
|
134
|
+
"aria-level": _ctx.headerAriaLevel,
|
|
134
135
|
class: vue.normalizeClass(_ctx.ns.e("title"))
|
|
135
136
|
}, vue.toDisplayString(_ctx.title), 11, _hoisted_2)) : vue.createCommentVNode("v-if", true)
|
|
136
137
|
]) : vue.renderSlot(_ctx.$slots, "title", { key: 1 }, () => [
|
|
@@ -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 <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\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 <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\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 <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElFocusTrap,\n ElIcon,\n Close,\n },\n inheritAttrs: false,\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, { slots }) {\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n )\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'custom-class',\n replacement: 'class',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.customClass)\n )\n\n const drawerRef = ref<HTMLElement>()\n const focusStartRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n const { t } = useLocale()\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() => addUnit(props.size))\n\n return {\n ...useDialog(props, drawerRef),\n drawerRef,\n focusStartRef,\n isHorizontal,\n drawerSize,\n ns,\n t,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElFocusTrap","ElIcon","Close","drawerProps","drawerEmits","useDeprecated","computed","ref","useNamespace","useLocale","addUnit","useDialog","_createBlock","_Teleport","_createVNode","_Transition","_withDirectives","_createElementVNode","_mergeProps","_withModifiers","_normalizeClass","_openBlock","_createElementBlock","_renderSlot","_toDisplayString","_createCommentVNode"],"mappings":"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"}
|
|
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 <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\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 <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\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 <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElFocusTrap,\n ElIcon,\n Close,\n },\n inheritAttrs: false,\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, { slots }) {\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n )\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'custom-class',\n replacement: 'class',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.customClass)\n )\n\n const drawerRef = ref<HTMLElement>()\n const focusStartRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n const { t } = useLocale()\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() => addUnit(props.size))\n\n return {\n ...useDialog(props, drawerRef),\n drawerRef,\n focusStartRef,\n isHorizontal,\n drawerSize,\n ns,\n t,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElFocusTrap","ElIcon","Close","drawerProps","drawerEmits","useDeprecated","computed","ref","useNamespace","useLocale","addUnit","useDialog","_createBlock","_Teleport","_createVNode","_Transition","_withDirectives","_createElementVNode","_mergeProps","_withModifiers","_normalizeClass","_openBlock","_createElementBlock","_renderSlot","_toDisplayString","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1175,7 +1175,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
|
|
|
1175
1175
|
onOpen: (event?: Event | undefined) => void;
|
|
1176
1176
|
onClose: (event?: Event | undefined) => void;
|
|
1177
1177
|
controlled: import("vue").ComputedRef<boolean>;
|
|
1178
|
-
isFocusInsideContent: () => boolean | undefined;
|
|
1178
|
+
isFocusInsideContent: (event?: FocusEvent | undefined) => boolean | undefined;
|
|
1179
1179
|
ElPopper: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
1180
1180
|
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "group" | "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "navigation" | "tree", unknown, "tooltip", boolean>;
|
|
1181
1181
|
}, {
|
|
@@ -4128,7 +4128,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
|
|
|
4128
4128
|
onOpen: (event?: Event | undefined) => void;
|
|
4129
4129
|
onClose: (event?: Event | undefined) => void;
|
|
4130
4130
|
controlled: import("vue").ComputedRef<boolean>;
|
|
4131
|
-
isFocusInsideContent: () => boolean | undefined;
|
|
4131
|
+
isFocusInsideContent: (event?: FocusEvent | undefined) => boolean | undefined;
|
|
4132
4132
|
ElPopper: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
4133
4133
|
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "group" | "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "navigation" | "tree", unknown, "tooltip", boolean>;
|
|
4134
4134
|
}, {
|
|
@@ -1176,7 +1176,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1176
1176
|
onOpen: (event?: Event | undefined) => void;
|
|
1177
1177
|
onClose: (event?: Event | undefined) => void;
|
|
1178
1178
|
controlled: import("vue").ComputedRef<boolean>;
|
|
1179
|
-
isFocusInsideContent: () => boolean | undefined;
|
|
1179
|
+
isFocusInsideContent: (event?: FocusEvent | undefined) => boolean | undefined;
|
|
1180
1180
|
ElPopper: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
1181
1181
|
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "group" | "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "navigation" | "tree", unknown, "tooltip", boolean>;
|
|
1182
1182
|
}, {
|
|
@@ -4129,7 +4129,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4129
4129
|
onOpen: (event?: Event | undefined) => void;
|
|
4130
4130
|
onClose: (event?: Event | undefined) => void;
|
|
4131
4131
|
controlled: import("vue").ComputedRef<boolean>;
|
|
4132
|
-
isFocusInsideContent: () => boolean | undefined;
|
|
4132
|
+
isFocusInsideContent: (event?: FocusEvent | undefined) => boolean | undefined;
|
|
4133
4133
|
ElPopper: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
4134
4134
|
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "group" | "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "navigation" | "tree", unknown, "tooltip", boolean>;
|
|
4135
4135
|
}, {
|
|
@@ -23,8 +23,8 @@ var index$4 = require('../../../hooks/use-namespace/index.js');
|
|
|
23
23
|
var index$5 = require('../../../hooks/use-locale/index.js');
|
|
24
24
|
var aria = require('../../../constants/aria.js');
|
|
25
25
|
var style = require('../../../utils/dom/style.js');
|
|
26
|
+
var lodashUnified = require('lodash-unified');
|
|
26
27
|
var index$6 = require('../../../hooks/use-id/index.js');
|
|
27
|
-
var shared = require('@vue/shared');
|
|
28
28
|
var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
|
|
29
29
|
|
|
30
30
|
const { ButtonGroup: ElButtonGroup } = index.ElButton;
|
|
@@ -59,20 +59,20 @@ const _sfc_main = vue.defineComponent({
|
|
|
59
59
|
maxHeight: style.addUnit(props.maxHeight)
|
|
60
60
|
}));
|
|
61
61
|
const dropdownTriggerKls = vue.computed(() => [ns.m(dropdownSize.value)]);
|
|
62
|
+
const trigger = vue.computed(() => lodashUnified.castArray(props.trigger));
|
|
62
63
|
const defaultTriggerId = index$6.useId().value;
|
|
63
64
|
const triggerId = vue.computed(() => {
|
|
64
65
|
return props.id || defaultTriggerId;
|
|
65
66
|
});
|
|
66
|
-
vue.watch([triggeringElementRef,
|
|
67
|
+
vue.watch([triggeringElementRef, trigger], ([triggeringElement, trigger2], [prevTriggeringElement]) => {
|
|
67
68
|
var _a, _b, _c;
|
|
68
|
-
const triggerArray = shared.isArray(trigger) ? trigger : [trigger];
|
|
69
69
|
if ((_a = prevTriggeringElement == null ? void 0 : prevTriggeringElement.$el) == null ? void 0 : _a.removeEventListener) {
|
|
70
70
|
prevTriggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
|
|
71
71
|
}
|
|
72
72
|
if ((_b = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _b.removeEventListener) {
|
|
73
73
|
triggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
|
|
74
74
|
}
|
|
75
|
-
if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) &&
|
|
75
|
+
if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) && trigger2.includes("hover")) {
|
|
76
76
|
triggeringElement.$el.addEventListener("pointerenter", onAutofocusTriggerEnter);
|
|
77
77
|
}
|
|
78
78
|
}, { immediate: true });
|
|
@@ -105,7 +105,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
105
105
|
}
|
|
106
106
|
function onItemLeave() {
|
|
107
107
|
const contentEl = vue.unref(contentRef);
|
|
108
|
-
contentEl == null ? void 0 : contentEl.focus();
|
|
108
|
+
trigger.value.includes("hover") && (contentEl == null ? void 0 : contentEl.focus());
|
|
109
109
|
currentTabId.value = null;
|
|
110
110
|
}
|
|
111
111
|
function handleCurrentTabIdChange(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\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\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\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\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\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 ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, isArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useId, useLocale, useNamespace } 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 ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\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 const { t } = useLocale()\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 const triggerKeys = [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.down]\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => {\n return props.id || defaultTriggerId\n })\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, toRef(props, 'trigger')],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n const triggerArray = isArray(trigger) ? trigger : [trigger]\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n triggerArray.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\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 = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\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 function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\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 onFocusAfterTrapped = (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 t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n triggerKeys,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","EVENT_CODE","computed","addUnit","useId","watch","toRef","isArray","onBeforeUnmount","useFormSize","unref","provide","DROPDOWN_INJECTION_KEY","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createVNode","_createSlots","_withCtx","_renderSlot","_createBlock","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\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\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\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\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\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 ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useId, useLocale, useNamespace } 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 ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\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 const { t } = useLocale()\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 const triggerKeys = [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.down]\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => {\n return props.id || defaultTriggerId\n })\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\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 = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && 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 function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\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 onFocusAfterTrapped = (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 t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n triggerKeys,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","EVENT_CODE","computed","addUnit","ensureArray","useId","watch","onBeforeUnmount","useFormSize","unref","provide","DROPDOWN_INJECTION_KEY","toRef","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createVNode","_createSlots","_withCtx","_renderSlot","_createBlock","_mergeProps"],"mappings":"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"}
|
|
@@ -224,7 +224,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
224
224
|
if (!releasedEvent.defaultPrevented && (focusReason.value == "keyboard" || !utils.isFocusCausedByUserEvent() || trapContainer.contains(document.activeElement))) {
|
|
225
225
|
utils.tryFocus(lastFocusBeforeTrapped != null ? lastFocusBeforeTrapped : document.body);
|
|
226
226
|
}
|
|
227
|
-
trapContainer.removeEventListener(tokens.FOCUS_AFTER_RELEASED,
|
|
227
|
+
trapContainer.removeEventListener(tokens.FOCUS_AFTER_RELEASED, releaseOnFocus);
|
|
228
228
|
utils.focusableStack.remove(focusLayer);
|
|
229
229
|
}
|
|
230
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-trap.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n createFocusOutPreventedEvent,\n focusFirstDescendant,\n focusableStack,\n getEdges,\n isFocusCausedByUserEvent,\n obtainAllFocusableElements,\n tryFocus,\n useFocusReason,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n const { focusReason } = useFocusReason()\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\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 if (!isTabbable) {\n if (currentFocusingEl === container) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n }\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n }\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: FocusEvent) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const relatedTarget = e.relatedTarget as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n\n if (!props.trapped) {\n const isPrevFocusedInTrap =\n relatedTarget && trapContainer.contains(relatedTarget)\n if (!isPrevFocusedInTrap) {\n lastFocusBeforeTrapped = relatedTarget\n }\n }\n\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n // And only reclaim focus if it should currently be trapping\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = trapContainer.contains(\n document.activeElement\n )\n ? lastFocusBeforeTrapped\n : document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n ...FOCUS_AFTER_TRAPPED_OPTS,\n detail: {\n focusReason: focusReason.value,\n },\n })\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n if (\n !releasedEvent.defaultPrevented &&\n (focusReason.value == 'keyboard' ||\n !isFocusCausedByUserEvent() ||\n trapContainer.contains(document.activeElement))\n ) {\n tryFocus(lastFocusBeforeTrapped ?? document.body)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","ref","useFocusReason","useEscapeKeydown","EVENT_CODE","getEdges","createFocusOutPreventedEvent","tryFocus","provide","FOCUS_TRAP_INJECTION_KEY","watch","unref","isNil","nextTick","focusableStack","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","isString","focusFirstDescendant","obtainAllFocusableElements","FOCUS_AFTER_RELEASED","isFocusCausedByUserEvent","onMounted","onBeforeUnmount","_renderSlot"],"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 :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n createFocusOutPreventedEvent,\n focusFirstDescendant,\n focusableStack,\n getEdges,\n isFocusCausedByUserEvent,\n obtainAllFocusableElements,\n tryFocus,\n useFocusReason,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n const { focusReason } = useFocusReason()\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\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 if (!isTabbable) {\n if (currentFocusingEl === container) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n }\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n }\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: FocusEvent) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const relatedTarget = e.relatedTarget as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n\n if (!props.trapped) {\n const isPrevFocusedInTrap =\n relatedTarget && trapContainer.contains(relatedTarget)\n if (!isPrevFocusedInTrap) {\n lastFocusBeforeTrapped = relatedTarget\n }\n }\n\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n // And only reclaim focus if it should currently be trapping\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = trapContainer.contains(\n document.activeElement\n )\n ? lastFocusBeforeTrapped\n : document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n ...FOCUS_AFTER_TRAPPED_OPTS,\n detail: {\n focusReason: focusReason.value,\n },\n })\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n if (\n !releasedEvent.defaultPrevented &&\n (focusReason.value == 'keyboard' ||\n !isFocusCausedByUserEvent() ||\n trapContainer.contains(document.activeElement))\n ) {\n tryFocus(lastFocusBeforeTrapped ?? document.body)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","ref","useFocusReason","useEscapeKeydown","EVENT_CODE","getEdges","createFocusOutPreventedEvent","tryFocus","provide","FOCUS_TRAP_INJECTION_KEY","watch","unref","isNil","nextTick","focusableStack","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","isString","focusFirstDescendant","obtainAllFocusableElements","FOCUS_AFTER_RELEASED","isFocusCausedByUserEvent","onMounted","onBeforeUnmount","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n /**\n * @description Label text.\n */\n label: String,\n /**\n * @description Width of label, e.g. `'50px'`. `'auto'` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', 0]`). In the use of `validate` and `resetFields` method, the attribute is required.\n */\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n /**\n * @description Whether the field is required or not, will be determined by validation rules if omitted.\n */\n required: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator).\n */\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n /**\n * @description Field error message, set its value and the field will validate error and show this message immediately.\n */\n error: String,\n /**\n * @description Validation state of formItem.\n */\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n /**\n * @description Same as for in native label.\n */\n for: String,\n /**\n * @description Inline style validate message.\n */\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Control the size of components in this form-item.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":["buildProps","definePropType","componentSizes"],"mappings":";;;;;;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,CAAC;;;;;"}
|
|
1
|
+
{"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n /**\n * @description Label text.\n */\n label: String,\n /**\n * @description Width of label, e.g. `'50px'`. `'auto'` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', '0']`). In the use of `validate` and `resetFields` method, the attribute is required.\n */\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n /**\n * @description Whether the field is required or not, will be determined by validation rules if omitted.\n */\n required: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator).\n */\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n /**\n * @description Field error message, set its value and the field will validate error and show this message immediately.\n */\n error: String,\n /**\n * @description Validation state of formItem.\n */\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n /**\n * @description Same as for in native label.\n */\n for: String,\n /**\n * @description Inline style validate message.\n */\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Control the size of components in this form-item.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":["buildProps","definePropType","componentSizes"],"mappings":";;;;;;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,CAAC;;;;;"}
|