@element-plus/nightly 0.0.20220123 → 0.0.20220124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +585 -440
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +585 -440
- package/dist/locale/af.js +6 -8
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.js.map +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +6 -8
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.js.map +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/bg.js +6 -8
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.js.map +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +6 -8
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.js.map +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +6 -8
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.js.map +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +6 -8
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.js.map +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +6 -8
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.js.map +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +6 -8
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.js.map +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +6 -8
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.js.map +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +6 -8
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.js.map +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +6 -8
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.js.map +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +6 -8
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.js.map +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +6 -8
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.js.map +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +6 -8
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.js.map +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +6 -8
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.js.map +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +6 -8
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.js.map +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +6 -8
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.js.map +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +6 -8
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.js.map +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +6 -8
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.js.map +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +6 -8
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.js.map +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +6 -8
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.js.map +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +6 -8
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.js.map +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +6 -8
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.js.map +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +6 -8
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.js.map +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +6 -8
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.js.map +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +6 -8
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.js.map +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +6 -8
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.js.map +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +6 -8
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.js.map +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +6 -8
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.js.map +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +6 -8
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.js.map +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +6 -8
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.js.map +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mn.js +6 -8
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.js.map +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +6 -8
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.js.map +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +6 -8
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.js.map +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +6 -8
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.js.map +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +6 -8
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.js.map +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +6 -8
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.js.map +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +6 -8
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.js.map +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +6 -8
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.js.map +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +6 -8
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.js.map +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +6 -8
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.js.map +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +6 -8
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.js.map +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +6 -8
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.js.map +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +6 -8
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.js.map +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +6 -8
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.js.map +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +6 -8
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.js.map +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +6 -8
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.js.map +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +6 -8
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.js.map +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +6 -8
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.js.map +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +6 -8
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.js.map +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +6 -8
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.js.map +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +6 -8
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.js.map +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +6 -8
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.js.map +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 +6 -8
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.js.map +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix2.mjs +2 -1
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/autocomplete/src/index.mjs +2 -1
- package/es/components/autocomplete/src/index.mjs.map +1 -1
- package/es/components/backtop/src/backtop2.mjs +2 -1
- package/es/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +11 -7
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/carousel/src/item.mjs +4 -2
- package/es/components/carousel/src/item.mjs.map +1 -1
- package/es/components/cascader/src/index.mjs +38 -21
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +16 -13
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.mjs +25 -22
- package/es/components/cascader-panel/src/menu.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs +6 -2
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/checkbox/index.d.ts +33 -0
- package/es/components/checkbox/src/checkbox-button.mjs +21 -15
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
- package/es/components/checkbox/src/checkbox-group.mjs +5 -2
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.mjs +36 -28
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.vue.d.ts +11 -0
- package/es/components/collapse/src/collapse-item.mjs +3 -3
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +8 -5
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/descriptions/src/index.mjs +7 -2
- package/es/components/descriptions/src/index.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -3
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.mjs +12 -6
- package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
- package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +9 -5
- 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 +6 -4
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/image/src/image2.mjs +3 -2
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/src/input2.mjs +17 -8
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +12 -6
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/message/src/message2.mjs +1 -1
- package/es/components/message-box/src/index.mjs +4 -2
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/notification/src/notification2.mjs +1 -1
- package/es/components/pagination/src/components/jumper.mjs +5 -2
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +2 -1
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/popconfirm/index.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +45 -104
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +107 -45
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/src/index.mjs +4 -2
- package/es/components/popover/src/index.mjs.map +1 -1
- package/es/components/popper/src/content.mjs +5 -3
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +1 -1
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +2 -1
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +4 -4
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs +1 -1
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +2 -1
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
- package/es/components/select/src/option-group.mjs +2 -1
- package/es/components/select/src/option-group.mjs.map +1 -1
- package/es/components/select/src/select-dropdown.mjs +2 -1
- package/es/components/select/src/select-dropdown.mjs.map +1 -1
- package/es/components/select/src/select.mjs +2 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select-dropdown.mjs +2 -1
- package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +192 -186
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/slider/src/index.mjs +3 -2
- package/es/components/slider/src/index.mjs.map +1 -1
- package/es/components/slider/src/marker.mjs +2 -1
- package/es/components/slider/src/marker.mjs.map +1 -1
- package/es/components/steps/src/item.mjs +2 -1
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +4 -2
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/src/filter-panel.mjs +7 -3
- package/es/components/table/src/filter-panel.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs +3 -2
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +16 -8
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-select/src/time-select.mjs +4 -2
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/tooltip/src/content.mjs +9 -4
- package/es/components/tooltip/src/content.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +2 -1
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/transfer/src/index.mjs +2 -1
- package/es/components/transfer/src/index.mjs.map +1 -1
- package/es/components/tree/src/tree.mjs +2 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.mjs +11 -7
- package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.mjs +2 -1
- package/es/components/tree-v2/src/tree.mjs.map +1 -1
- package/es/components/upload/src/index.mjs +3 -2
- package/es/components/upload/src/index.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger.mjs +2 -1
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/utils/validators.d.ts +0 -1
- package/es/utils/validators.mjs +1 -9
- package/es/utils/validators.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/affix/src/affix2.js +2 -1
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/autocomplete/src/index.js +2 -1
- package/lib/components/autocomplete/src/index.js.map +1 -1
- package/lib/components/backtop/src/backtop2.js +2 -1
- package/lib/components/backtop/src/backtop2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/button/src/button2.js +11 -7
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/carousel/src/item.js +4 -2
- package/lib/components/carousel/src/item.js.map +1 -1
- package/lib/components/cascader/src/index.js +38 -21
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +16 -13
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.js +25 -22
- package/lib/components/cascader-panel/src/menu.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js +6 -2
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/checkbox/index.d.ts +33 -0
- package/lib/components/checkbox/src/checkbox-button.js +21 -15
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
- package/lib/components/checkbox/src/checkbox-group.js +5 -2
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.js +35 -27
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.vue.d.ts +11 -0
- package/lib/components/collapse/src/collapse-item.js +3 -3
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/color-picker/src/index.js +8 -5
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/descriptions/src/index.js +7 -2
- package/lib/components/descriptions/src/index.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -3
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.js +12 -6
- package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +2 -1
- package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +9 -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 +6 -4
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/image/src/image2.js +3 -2
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js +3 -2
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/src/input2.js +17 -8
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js +12 -6
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/message/src/message2.js +1 -1
- package/lib/components/message-box/src/index.js +4 -2
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/notification/src/notification2.js +1 -1
- package/lib/components/pagination/src/components/jumper.js +5 -2
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +2 -1
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/popconfirm/index.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +45 -104
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js +107 -45
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/src/index.js +4 -2
- package/lib/components/popover/src/index.js.map +1 -1
- package/lib/components/popper/src/content.js +5 -3
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/trigger.js +1 -1
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/progress/src/progress2.js +2 -1
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +4 -4
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js +1 -1
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +2 -1
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +2 -2
- package/lib/components/select/src/option-group.js +2 -1
- package/lib/components/select/src/option-group.js.map +1 -1
- package/lib/components/select/src/select-dropdown.js +2 -1
- package/lib/components/select/src/select-dropdown.js.map +1 -1
- package/lib/components/select/src/select.js +2 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select-dropdown.js +2 -1
- package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
- package/lib/components/select-v2/src/select.js +192 -186
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/slider/src/index.js +3 -2
- package/lib/components/slider/src/index.js.map +1 -1
- package/lib/components/slider/src/marker.js +2 -1
- package/lib/components/slider/src/marker.js.map +1 -1
- package/lib/components/steps/src/item.js +2 -1
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/switch/src/switch2.js +4 -2
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/src/filter-panel.js +7 -3
- package/lib/components/table/src/filter-panel.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js +3 -2
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +16 -8
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-select/src/time-select.js +4 -2
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/tooltip/src/content.js +9 -4
- package/lib/components/tooltip/src/content.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +2 -1
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/transfer/src/index.js +2 -1
- package/lib/components/transfer/src/index.js.map +1 -1
- package/lib/components/tree/src/tree.js +2 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.js +11 -7
- package/lib/components/tree-v2/src/tree-node.js.map +1 -1
- package/lib/components/tree-v2/src/tree.js +2 -1
- package/lib/components/tree-v2/src/tree.js.map +1 -1
- package/lib/components/upload/src/index.js +3 -2
- package/lib/components/upload/src/index.js.map +1 -1
- package/lib/components/upload/src/upload-dragger.js +2 -1
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/utils/validators.d.ts +0 -1
- package/lib/utils/validators.js +0 -9
- package/lib/utils/validators.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -53,8 +53,9 @@ const _sfc_main = defineComponent({
|
|
|
53
53
|
};
|
|
54
54
|
const handleScrollThrottled = useThrottleFn(handleScroll, 300);
|
|
55
55
|
onMounted(() => {
|
|
56
|
+
var _a;
|
|
56
57
|
if (props.target) {
|
|
57
|
-
el.value = document.querySelector(props.target)
|
|
58
|
+
el.value = (_a = document.querySelector(props.target)) != null ? _a : void 0;
|
|
58
59
|
if (!el.value) {
|
|
59
60
|
throwError(COMPONENT_NAME, `target is not existed: ${props.target}`);
|
|
60
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtop2.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('backtop')\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n ns,\n }\n },\n})\n</script>\n"],"names":[
|
|
1
|
+
{"version":3,"file":"backtop2.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('backtop')\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,KAAK,WAAoC,SAAS;AACxD,UAAM,YAAY,WAAmC;AACrD,UAAM,UAAU,IAAI;AACpB,UAAM,cAAc,SAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAa,SAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkB,eAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwB,cAAc,cAAc;AAE1D,cAAU,MAAM;AACd,UAAI;AACF;AAEA,gBAAQ;AACN,qBAAW;AAAgD;AAE7D;AAAqB;AAGvB;AAAsC;AAGxC;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;AA3FoC;;;AAEvB;;AACP;AAA6B;AAAkB;;;AAK/C;;AAEN;AACwD;AAAlC;;;AAAwB;;;;;;;;;;;;;;;"}
|
|
@@ -31,8 +31,8 @@ const _sfc_main = defineComponent({
|
|
|
31
31
|
return {
|
|
32
32
|
ns,
|
|
33
33
|
link,
|
|
34
|
-
separator: parent
|
|
35
|
-
separatorIcon: parent
|
|
34
|
+
separator: parent == null ? void 0 : parent.separator,
|
|
35
|
+
separatorIcon: parent == null ? void 0 : parent.separatorIcon
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-item2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass"],"mappings":";;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAAS,OAAO,iBAAiB;AACvC,UAAM,KAAK,aAAa;AAExB,UAAM,OAAO;AAEb,cAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW
|
|
1
|
+
{"version":3,"file":"breadcrumb-item2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass"],"mappings":";;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAAS,OAAO,iBAAiB;AACvC,UAAM,KAAK,aAAa;AAExB,UAAM,OAAO;AAEb,cAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW;AAAQ,MACnB,eAAe;AAAQ;AAAA;AAAA;;;SA3DfA,gCAAM;AAAA;KAChB;AAAA,uBAAgB;AAAA,MAAE,KAAK;AAAA,MAAwC,OAAKC,eAAM;AAAA;OACxE;AAAA;OAEa;AAAA;MAAgB,KAAK;AAAA;;uBAClC;AAAA;;;UAEF;MAAc,KAAK;AAAA,MAAqB,OAAKA,eAAc;AAAA;;;;;;;;"}
|
|
@@ -26,12 +26,16 @@ const _sfc_main = defineComponent({
|
|
|
26
26
|
const buttonGroupContext = inject(buttonGroupContextKey, void 0);
|
|
27
27
|
const globalConfig = useGlobalConfig("button");
|
|
28
28
|
const ns = useNamespace("button");
|
|
29
|
-
const autoInsertSpace = computed(() =>
|
|
29
|
+
const autoInsertSpace = computed(() => {
|
|
30
|
+
var _a, _b, _c;
|
|
31
|
+
return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false;
|
|
32
|
+
});
|
|
30
33
|
const shouldAddSpace = computed(() => {
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
var _a;
|
|
35
|
+
const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
|
|
36
|
+
if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) {
|
|
33
37
|
const slot = defaultSlot[0];
|
|
34
|
-
if (slot
|
|
38
|
+
if ((slot == null ? void 0 : slot.type) === Text) {
|
|
35
39
|
const text = slot.children;
|
|
36
40
|
return /^\p{Unified_Ideograph}{2}$/u.test(text);
|
|
37
41
|
}
|
|
@@ -39,9 +43,9 @@ const _sfc_main = defineComponent({
|
|
|
39
43
|
return false;
|
|
40
44
|
});
|
|
41
45
|
const { form } = useFormItem();
|
|
42
|
-
const buttonSize = useSize(computed(() => buttonGroupContext
|
|
46
|
+
const buttonSize = useSize(computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size));
|
|
43
47
|
const buttonDisabled = useDisabled();
|
|
44
|
-
const buttonType = computed(() => props.type || buttonGroupContext
|
|
48
|
+
const buttonType = computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || "");
|
|
45
49
|
const typeColor = computed(() => useCssVar(`--el-color-${props.type}`).value);
|
|
46
50
|
const buttonStyle = computed(() => {
|
|
47
51
|
let styles = {};
|
|
@@ -80,7 +84,7 @@ const _sfc_main = defineComponent({
|
|
|
80
84
|
});
|
|
81
85
|
const handleClick = (evt) => {
|
|
82
86
|
if (props.nativeType === "reset") {
|
|
83
|
-
form
|
|
87
|
+
form == null ? void 0 : form.resetFields();
|
|
84
88
|
}
|
|
85
89
|
emit("click", evt);
|
|
86
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button2.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n ns.b(),\n ns.m(buttonType),\n ns.m(buttonSize),\n ns.is('disabled', buttonDisabled),\n ns.is('loading', loading),\n ns.is('plain', plain),\n ns.is('round', round),\n ns.is('circle', circle),\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\"></slot>\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["
|
|
1
|
+
{"version":3,"file":"button2.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n ns.b(),\n ns.m(buttonType),\n ns.m(buttonSize),\n ns.is('disabled', buttonDisabled),\n ns.is('loading', loading),\n ns.is('plain', plain),\n ns.is('round', round),\n ns.is('circle', circle),\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\"></slot>\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;AAsDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAGF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,YAAY;AAClB,UAAM,qBAAqB,OAAO,uBAAuB;AACzD,UAAM,eAAe,gBAAgB;AACrC,UAAM,KAAK,aAAa;AACxB,UAAM,kBAAkB,SACtB,MACE;AAIJ,UAAM;AACJ;AACA;AACE;AACA,YAAI;AACF,uBAAa;AACb,+CAAqC;AAAK;AAAA;AAG9C;AAAO;AAGT;AACA;AACA;AACA;AAKA,UAAM;AAGN,UAAM,6BAA6B;AACjC,UAAI;AAEJ,gCAA0B;AAE1B,UAAI;AACF,iCAAyB;AACzB;AACE;AAAS;AAGJ;AACuB,YAC1B;AAAgC;AACF,YAC9B;AAAkC,YAClC;AAA+B,YAC/B;AAAiC,YACjC;AAAmC;AAAA;AAGrC;AACA;AAAS,YACP;AAAwB;AACI;AACE;AACI,YAClC;AAA+B,YAC/B;AAAmC;AAAA;AAIvC,YAAI;AACF;AAGA;AACA;AAA8C;AAAA;AAIlD;AAAO;AAGT;AACE;AACE;AAAM;AAER;AAAc;AAGhB;AAAO;AACL,MACA;AAAA,MAEA;AAAA;AACA,MACA;AAAA,MAEA;AAAA,MAEA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;;AAhKa;AACT,2BAAc;AAAA;AAAa;AAA0B;AAAwB;AAAqD,MAAgB,QAAG,GAAE;AAAU,MAAc,QAAG;AAAY,MAAc,QAAG,iBAAa;AAAA;;cAWxN,uBAAW;AAAA;AACd,UACD;AAAA;AACA;;AAEU;AACY,WAA1BA;aACsB;AAAA;;;AACpB;;;;;AAIsB;AAAxB;;;6BAGoB;AAAA;;AACd;;AAEN;;;;;;;;;;;;"}
|
|
@@ -49,7 +49,8 @@ const _sfc_main = defineComponent({
|
|
|
49
49
|
return index;
|
|
50
50
|
}
|
|
51
51
|
function calcCardTranslate(index, activeIndex) {
|
|
52
|
-
|
|
52
|
+
var _a;
|
|
53
|
+
const parentWidth = ((_a = injectCarouselScope.root.value) == null ? void 0 : _a.offsetWidth) || 0;
|
|
53
54
|
if (data.inStage) {
|
|
54
55
|
return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4;
|
|
55
56
|
} else if (index < activeIndex) {
|
|
@@ -59,7 +60,8 @@ const _sfc_main = defineComponent({
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
function calcTranslate(index, activeIndex, isVertical) {
|
|
62
|
-
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const distance = (isVertical ? (_a = injectCarouselScope.root.value) == null ? void 0 : _a.offsetHeight : (_b = injectCarouselScope.root.value) == null ? void 0 : _b.offsetWidth) || 0;
|
|
63
65
|
return distance * (index - activeIndex);
|
|
64
66
|
}
|
|
65
67
|
const translateItem = (index, activeIndex, oldIndex) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n class=\"el-carousel__item\"\n :class=\"{\n 'is-active': data.active,\n 'el-carousel__item--card': type === 'card',\n 'is-in-stage': data.inStage,\n 'is-hover': data.hover,\n 'is-animating': data.animating,\n }\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n class=\"el-carousel__mask\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { autoprefixer } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return autoprefixer(style)\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n }\n },\n})\n</script>\n"],"names":[
|
|
1
|
+
{"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n class=\"el-carousel__item\"\n :class=\"{\n 'is-active': data.active,\n 'el-carousel__item--card': type === 'card',\n 'is-in-stage': data.inStage,\n 'is-hover': data.hover,\n 'is-animating': data.animating,\n }\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n class=\"el-carousel__mask\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { autoprefixer } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return autoprefixer(style)\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAE/B,UAAM,WAAW;AAGjB,UAAM,OAAO,SAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2C,OAC/C;AAIF,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAO,aAAa;AAAA;AAKtB,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA;AAAA;AAAA;;;AAtKK;;;;AAdkB,2BACI,sBAAW;AAAA;;AAAqF;AAAyB;AAA6B;;;AAQ7K;;AAGE,2CACG;AAAW;SAGtB;AAAa;;AAjBK;;;;;;;;;"}
|
|
@@ -139,7 +139,10 @@ const _sfc_main = defineComponent({
|
|
|
139
139
|
const multiple = computed(() => !!props.props.multiple);
|
|
140
140
|
const readonly = computed(() => !props.filterable || multiple.value);
|
|
141
141
|
const searchKeyword = computed(() => multiple.value ? searchInputValue.value : inputValue.value);
|
|
142
|
-
const checkedNodes = computed(() =>
|
|
142
|
+
const checkedNodes = computed(() => {
|
|
143
|
+
var _a;
|
|
144
|
+
return ((_a = panel.value) == null ? void 0 : _a.checkedNodes) || [];
|
|
145
|
+
});
|
|
143
146
|
const clearBtnVisible = computed(() => {
|
|
144
147
|
if (!props.clearable || isDisabled.value || filtering.value || !inputHover.value)
|
|
145
148
|
return false;
|
|
@@ -155,24 +158,27 @@ const _sfc_main = defineComponent({
|
|
|
155
158
|
return props.modelValue;
|
|
156
159
|
},
|
|
157
160
|
set(val) {
|
|
161
|
+
var _a;
|
|
158
162
|
emit(UPDATE_MODEL_EVENT, val);
|
|
159
163
|
emit(CHANGE_EVENT, val);
|
|
160
|
-
elFormItem.validate
|
|
164
|
+
(_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
|
|
161
165
|
}
|
|
162
166
|
});
|
|
163
167
|
const popperPaneRef = computed(() => {
|
|
164
|
-
|
|
168
|
+
var _a, _b;
|
|
169
|
+
return (_b = (_a = tooltipRef.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.contentRef;
|
|
165
170
|
});
|
|
166
171
|
const togglePopperVisible = (visible) => {
|
|
172
|
+
var _a, _b, _c;
|
|
167
173
|
if (isDisabled.value)
|
|
168
174
|
return;
|
|
169
|
-
visible = visible
|
|
175
|
+
visible = visible != null ? visible : !popperVisible.value;
|
|
170
176
|
if (visible !== popperVisible.value) {
|
|
171
177
|
popperVisible.value = visible;
|
|
172
|
-
input.value
|
|
178
|
+
(_b = (_a = input.value) == null ? void 0 : _a.input) == null ? void 0 : _b.setAttribute("aria-expanded", `${visible}`);
|
|
173
179
|
if (visible) {
|
|
174
180
|
updatePopperPosition();
|
|
175
|
-
nextTick(panel.value
|
|
181
|
+
nextTick((_c = panel.value) == null ? void 0 : _c.scrollToExpandingNode);
|
|
176
182
|
} else if (props.filterable) {
|
|
177
183
|
const { value } = presentText;
|
|
178
184
|
inputValue.value = value;
|
|
@@ -183,7 +189,8 @@ const _sfc_main = defineComponent({
|
|
|
183
189
|
};
|
|
184
190
|
const updatePopperPosition = () => {
|
|
185
191
|
nextTick(() => {
|
|
186
|
-
|
|
192
|
+
var _a;
|
|
193
|
+
(_a = tooltipRef.value) == null ? void 0 : _a.updatePopper();
|
|
187
194
|
});
|
|
188
195
|
};
|
|
189
196
|
const hideSuggestionPanel = () => {
|
|
@@ -200,9 +207,10 @@ const _sfc_main = defineComponent({
|
|
|
200
207
|
};
|
|
201
208
|
};
|
|
202
209
|
const deleteTag = (tag) => {
|
|
210
|
+
var _a;
|
|
203
211
|
const node = tag.node;
|
|
204
212
|
node.doCheck(false);
|
|
205
|
-
panel.value
|
|
213
|
+
(_a = panel.value) == null ? void 0 : _a.calculateCheckedValue();
|
|
206
214
|
emit("remove-tag", node.valueByOption);
|
|
207
215
|
};
|
|
208
216
|
const calculatePresentTags = () => {
|
|
@@ -229,8 +237,9 @@ const _sfc_main = defineComponent({
|
|
|
229
237
|
presentTags.value = tags;
|
|
230
238
|
};
|
|
231
239
|
const calculateSuggestions = () => {
|
|
240
|
+
var _a, _b;
|
|
232
241
|
const { filterMethod, showAllLevels, separator } = props;
|
|
233
|
-
const res = panel.value
|
|
242
|
+
const res = (_b = (_a = panel.value) == null ? void 0 : _a.getFlattedNodes(!props.props.checkStrictly)) == null ? void 0 : _b.filter((node) => {
|
|
234
243
|
if (node.isDisabled)
|
|
235
244
|
return false;
|
|
236
245
|
node.calcText(showAllLevels, separator);
|
|
@@ -246,11 +255,12 @@ const _sfc_main = defineComponent({
|
|
|
246
255
|
updatePopperPosition();
|
|
247
256
|
};
|
|
248
257
|
const focusFirstNode = () => {
|
|
258
|
+
var _a;
|
|
249
259
|
let firstNode;
|
|
250
260
|
if (filtering.value && suggestionPanel.value) {
|
|
251
261
|
firstNode = suggestionPanel.value.$el.querySelector(".el-cascader__suggestion-item");
|
|
252
262
|
} else {
|
|
253
|
-
firstNode = panel.value
|
|
263
|
+
firstNode = (_a = panel.value) == null ? void 0 : _a.$el.querySelector('.el-cascader-node[tabindex="-1"]');
|
|
254
264
|
}
|
|
255
265
|
if (firstNode) {
|
|
256
266
|
firstNode.focus();
|
|
@@ -258,9 +268,10 @@ const _sfc_main = defineComponent({
|
|
|
258
268
|
}
|
|
259
269
|
};
|
|
260
270
|
const updateStyle = () => {
|
|
261
|
-
|
|
271
|
+
var _a, _b;
|
|
272
|
+
const inputInner = (_a = input.value) == null ? void 0 : _a.input;
|
|
262
273
|
const tagWrapperEl = tagWrapper.value;
|
|
263
|
-
const suggestionPanelEl = suggestionPanel.value
|
|
274
|
+
const suggestionPanelEl = (_b = suggestionPanel.value) == null ? void 0 : _b.$el;
|
|
264
275
|
if (!isClient || !inputInner)
|
|
265
276
|
return;
|
|
266
277
|
if (suggestionPanelEl) {
|
|
@@ -275,14 +286,16 @@ const _sfc_main = defineComponent({
|
|
|
275
286
|
}
|
|
276
287
|
};
|
|
277
288
|
const getCheckedNodes = (leafOnly) => {
|
|
278
|
-
|
|
289
|
+
var _a;
|
|
290
|
+
return (_a = panel.value) == null ? void 0 : _a.getCheckedNodes(leafOnly);
|
|
279
291
|
};
|
|
280
292
|
const handleExpandChange = (value) => {
|
|
281
293
|
updatePopperPosition();
|
|
282
294
|
emit("expand-change", value);
|
|
283
295
|
};
|
|
284
296
|
const handleComposition = (event) => {
|
|
285
|
-
|
|
297
|
+
var _a;
|
|
298
|
+
const text = (_a = event.target) == null ? void 0 : _a.value;
|
|
286
299
|
if (event.type === "compositionend") {
|
|
287
300
|
isOnComposition.value = false;
|
|
288
301
|
nextTick(() => handleInput(text));
|
|
@@ -310,15 +323,17 @@ const _sfc_main = defineComponent({
|
|
|
310
323
|
}
|
|
311
324
|
};
|
|
312
325
|
const handleClear = () => {
|
|
313
|
-
|
|
326
|
+
var _a;
|
|
327
|
+
(_a = panel.value) == null ? void 0 : _a.clearCheckedNodes();
|
|
314
328
|
togglePopperVisible(false);
|
|
315
329
|
};
|
|
316
330
|
const handleSuggestionClick = (node) => {
|
|
331
|
+
var _a, _b;
|
|
317
332
|
const { checked } = node;
|
|
318
333
|
if (multiple.value) {
|
|
319
|
-
panel.value
|
|
334
|
+
(_a = panel.value) == null ? void 0 : _a.handleCheckChange(node, !checked, false);
|
|
320
335
|
} else {
|
|
321
|
-
!checked && panel.value
|
|
336
|
+
!checked && ((_b = panel.value) == null ? void 0 : _b.handleCheckChange(node, true, false));
|
|
322
337
|
togglePopperVisible(false);
|
|
323
338
|
}
|
|
324
339
|
};
|
|
@@ -369,7 +384,7 @@ const _sfc_main = defineComponent({
|
|
|
369
384
|
}, props.debounce);
|
|
370
385
|
const handleInput = (val, e) => {
|
|
371
386
|
!popperVisible.value && togglePopperVisible(true);
|
|
372
|
-
if (e
|
|
387
|
+
if (e == null ? void 0 : e.isComposing)
|
|
373
388
|
return;
|
|
374
389
|
val ? handleFilter() : hideSuggestionPanel();
|
|
375
390
|
};
|
|
@@ -380,12 +395,14 @@ const _sfc_main = defineComponent({
|
|
|
380
395
|
});
|
|
381
396
|
watch(presentText, (val) => inputValue.value = val, { immediate: true });
|
|
382
397
|
onMounted(() => {
|
|
383
|
-
|
|
384
|
-
|
|
398
|
+
var _a;
|
|
399
|
+
const inputEl = (_a = input.value) == null ? void 0 : _a.$el;
|
|
400
|
+
inputInitialHeight = (inputEl == null ? void 0 : inputEl.offsetHeight) || INPUT_HEIGHT_MAP[realSize.value] || DEFAULT_INPUT_HEIGHT;
|
|
385
401
|
addResizeListener(inputEl, updateStyle);
|
|
386
402
|
});
|
|
387
403
|
onBeforeUnmount(() => {
|
|
388
|
-
|
|
404
|
+
var _a;
|
|
405
|
+
removeResizeListener((_a = input.value) == null ? void 0 : _a.$el, updateStyle);
|
|
389
406
|
});
|
|
390
407
|
return {
|
|
391
408
|
popperOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"popperVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-cascader__dropdown ${popperClass}`\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n transition=\"el-zoom-in-top\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[popperPaneRef]=\"() => togglePopperVisible(false)\"\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n $attrs.class,\n ]\"\n :style=\"$attrs.style\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model.trim=\"inputValue\"\n :placeholder=\"inputPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"{ 'is-focus': popperVisible }\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"(e) => $emit('focus', e)\"\n @blur=\"(e) => $emit('blur', e)\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n class=\"el-input__icon icon-circle-close\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n popperVisible && 'is-reverse',\n ]\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" class=\"el-cascader__tags\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n type=\"info\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model.trim=\"searchInputValue\"\n type=\"text\"\n class=\"el-cascader__search-input\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n class=\"el-cascader__suggestion-panel\"\n view-class=\"el-cascader__suggestion-list\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n 'el-cascader__suggestion-item',\n item.checked && 'is-checked',\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\"><check /></el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li class=\"el-cascader__empty-text\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onBeforeUnmount,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport debounce from 'lodash/debounce'\n\nimport { isClient } from '@vueuse/core'\nimport ElCascaderPanel, {\n CommonProps,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport { ClickOutside as Clickoutside } from '@element-plus/directives'\nimport { useLocale, useSize } from '@element-plus/hooks'\n\nimport { EVENT_CODE, focusNode, getSibling } from '@element-plus/utils/aria'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n} from '@element-plus/utils/resize-event'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { isKorean } from '@element-plus/utils/isDef'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons-vue'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type {\n CascaderValue,\n CascaderNode,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n large: 36,\n default: 32,\n small: 28,\n}\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\n\nexport default defineComponent({\n name: 'ElCascader',\n\n components: {\n ElCascaderPanel,\n ElInput,\n ElTooltip,\n ElScrollbar,\n ElTag,\n ElIcon,\n CircleClose,\n Check,\n ArrowDown,\n },\n\n directives: {\n Clickoutside,\n },\n\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n placeholder: {\n type: String,\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<\n (node: CascaderNode, keyword: string) => boolean\n >,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n separator: {\n type: String,\n default: ' / ',\n },\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300,\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'focus',\n 'blur',\n 'visible-change',\n 'expand-change',\n 'remove-tag',\n ],\n\n setup(props, { emit }) {\n let inputInitialHeight = 0\n let pressDeleteCount = 0\n\n const { t } = useLocale()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const tooltipRef: Ref<tooltipType | null> = ref(null)\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\n const popperVisible = ref(false)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n const suggestions: Ref<CascaderNode[]> = ref([])\n const isOnComposition = ref(false)\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize = useSize()\n const tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n const searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n )\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n const checkedValue = computed<CascaderValue>({\n get() {\n return props.modelValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n elFormItem.validate?.('change')\n },\n })\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n }\n\n emit('visible-change', visible)\n }\n }\n\n const updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n }\n\n const hideSuggestionPanel = () => {\n filtering.value = false\n }\n\n const genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n }\n\n const deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('remove-tag', node.valueByOption)\n }\n\n const calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n }\n\n const calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n }\n\n const focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n '.el-cascader__suggestion-item'\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n }\n\n const updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n '.el-cascader__suggestion-list'\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n }\n\n const handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expand-change', value)\n }\n\n const handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleClear = () => {\n panel.value?.clearCheckedNodes()\n togglePopperVisible(false)\n }\n\n const handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n }\n\n const handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n '.el-cascader__suggestion-item[tabindex=\"-1\"]'\n )\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount) return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n }\n\n const handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n }, props.debounce)\n\n const handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n }\n\n watch(filtering, updatePopperPosition)\n\n watch([checkedNodes, isDisabled], calculatePresentTags)\n\n watch(presentTags, () => {\n nextTick(() => updateStyle())\n })\n\n watch(presentText, (val) => (inputValue.value = val), { immediate: true })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n addResizeListener(inputEl, updateStyle)\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(input.value?.$el, updateStyle)\n })\n\n return {\n popperOptions,\n tooltipRef,\n popperPaneRef,\n input,\n tagWrapper,\n panel,\n suggestionPanel,\n popperVisible,\n inputHover,\n inputPlaceholder,\n filtering,\n presentText,\n checkedValue,\n inputValue,\n searchInputValue,\n presentTags,\n suggestions,\n isDisabled,\n isOnComposition,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n t,\n togglePopperVisible,\n hideSuggestionPanel,\n deleteTag,\n focusFirstNode,\n getCheckedNodes,\n handleExpandChange,\n handleKeyDown,\n handleComposition,\n handleClear,\n handleSuggestionClick,\n handleSuggestionKeyDown,\n handleDelete,\n handleInput,\n }\n },\n})\n</script>\n"],"names":["ElCascaderPanel","Clickoutside","_openBlock","_createBlock","_normalizeStyle","_withCtx","_vModelText","_createVNode","_Fragment","_createElementBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"popperVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-cascader__dropdown ${popperClass}`\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n transition=\"el-zoom-in-top\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[popperPaneRef]=\"() => togglePopperVisible(false)\"\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n $attrs.class,\n ]\"\n :style=\"$attrs.style\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model.trim=\"inputValue\"\n :placeholder=\"inputPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"{ 'is-focus': popperVisible }\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"(e) => $emit('focus', e)\"\n @blur=\"(e) => $emit('blur', e)\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n class=\"el-input__icon icon-circle-close\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n popperVisible && 'is-reverse',\n ]\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" class=\"el-cascader__tags\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n type=\"info\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model.trim=\"searchInputValue\"\n type=\"text\"\n class=\"el-cascader__search-input\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n class=\"el-cascader__suggestion-panel\"\n view-class=\"el-cascader__suggestion-list\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n 'el-cascader__suggestion-item',\n item.checked && 'is-checked',\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\"><check /></el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li class=\"el-cascader__empty-text\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onBeforeUnmount,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport debounce from 'lodash/debounce'\n\nimport { isClient } from '@vueuse/core'\nimport ElCascaderPanel, {\n CommonProps,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport { ClickOutside as Clickoutside } from '@element-plus/directives'\nimport { useLocale, useSize } from '@element-plus/hooks'\n\nimport { EVENT_CODE, focusNode, getSibling } from '@element-plus/utils/aria'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n} from '@element-plus/utils/resize-event'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { isKorean } from '@element-plus/utils/isDef'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons-vue'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type {\n CascaderValue,\n CascaderNode,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n large: 36,\n default: 32,\n small: 28,\n}\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\n\nexport default defineComponent({\n name: 'ElCascader',\n\n components: {\n ElCascaderPanel,\n ElInput,\n ElTooltip,\n ElScrollbar,\n ElTag,\n ElIcon,\n CircleClose,\n Check,\n ArrowDown,\n },\n\n directives: {\n Clickoutside,\n },\n\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n placeholder: {\n type: String,\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<\n (node: CascaderNode, keyword: string) => boolean\n >,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n separator: {\n type: String,\n default: ' / ',\n },\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300,\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'focus',\n 'blur',\n 'visible-change',\n 'expand-change',\n 'remove-tag',\n ],\n\n setup(props, { emit }) {\n let inputInitialHeight = 0\n let pressDeleteCount = 0\n\n const { t } = useLocale()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const tooltipRef: Ref<tooltipType | null> = ref(null)\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\n const popperVisible = ref(false)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n const suggestions: Ref<CascaderNode[]> = ref([])\n const isOnComposition = ref(false)\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize = useSize()\n const tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n const searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n )\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n const checkedValue = computed<CascaderValue>({\n get() {\n return props.modelValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n elFormItem.validate?.('change')\n },\n })\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n }\n\n emit('visible-change', visible)\n }\n }\n\n const updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n }\n\n const hideSuggestionPanel = () => {\n filtering.value = false\n }\n\n const genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n }\n\n const deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('remove-tag', node.valueByOption)\n }\n\n const calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n }\n\n const calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n }\n\n const focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n '.el-cascader__suggestion-item'\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n }\n\n const updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n '.el-cascader__suggestion-list'\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n }\n\n const handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expand-change', value)\n }\n\n const handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleClear = () => {\n panel.value?.clearCheckedNodes()\n togglePopperVisible(false)\n }\n\n const handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n }\n\n const handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n '.el-cascader__suggestion-item[tabindex=\"-1\"]'\n )\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount) return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n }\n\n const handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n }, props.debounce)\n\n const handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n }\n\n watch(filtering, updatePopperPosition)\n\n watch([checkedNodes, isDisabled], calculatePresentTags)\n\n watch(presentTags, () => {\n nextTick(() => updateStyle())\n })\n\n watch(presentText, (val) => (inputValue.value = val), { immediate: true })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n addResizeListener(inputEl, updateStyle)\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(input.value?.$el, updateStyle)\n })\n\n return {\n popperOptions,\n tooltipRef,\n popperPaneRef,\n input,\n tagWrapper,\n panel,\n suggestionPanel,\n popperVisible,\n inputHover,\n inputPlaceholder,\n filtering,\n presentText,\n checkedValue,\n inputValue,\n searchInputValue,\n presentTags,\n suggestions,\n isDisabled,\n isOnComposition,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n t,\n togglePopperVisible,\n hideSuggestionPanel,\n deleteTag,\n focusFirstNode,\n getCheckedNodes,\n handleExpandChange,\n handleKeyDown,\n handleComposition,\n handleClear,\n handleSuggestionClick,\n handleSuggestionKeyDown,\n handleDelete,\n handleInput,\n }\n },\n})\n</script>\n"],"names":["ElCascaderPanel","Clickoutside","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgNA,MAAM,uBAAuB;AAE7B,MAAM,mBAAmB;AAAA,EACvB,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA;AAGT,MAAM,gBAAkC;AAAA,EACtC,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,IAAI,CAAC,EAAE,YAAY;AACjB,cAAM,EAAE,eAAe,cAAc;AACrC,YAAI,CAAC,SAAS,QAAQ,UAAU,OAAO,SAAS;AAAY;AAC5D,sBAAc,MAAM,IAAI;AAAA;AAAA,MAE1B,UAAU,CAAC;AAAA;AAAA;AAAA;AAKjB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,qBACVA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,YAAY;AAAA,kBACVC;AAAA;AAAA,EAGF,OAAO;AAAA,OACF;AAAA,IACH,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,aAAa;AAAA,MACX,MAAM;AAAA;AAAA,IAER,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,MAAM;AAAA,MAGN,SAAS,CAAC,MAAoB,YAC5B,KAAK,KAAK,SAAS;AAAA;AAAA,IAEvB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,IACd,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,MAAM,OAAO,EAAE,QAAQ;AACrB,QAAI,qBAAqB;AACzB,QAAI,mBAAmB;AAEvB,UAAM,EAAE,MAAM;AACd,UAAM,SAAS,OAAO,WAAW;AACjC,UAAM,aAAa,OAAO,eAAe;AAEzC,UAAM,aAAsC,IAAI;AAChD,UAAM,QAA+B,IAAI;AACzC,UAAM,aAAa,IAAI;AACvB,UAAM,QAAuC,IAAI;AACjD,UAAM,kBAAmD,IAAI;AAC7D,UAAM,gBAAgB,IAAI;AAC1B,UAAM,aAAa,IAAI;AACvB,UAAM,YAAY,IAAI;AACtB,UAAM,aAAa,IAAI;AACvB,UAAM,mBAAmB,IAAI;AAC7B,UAAM,cAA0B,IAAI;AACpC,UAAM,cAAmC,IAAI;AAC7C,UAAM,kBAAkB,IAAI;AAE5B,UAAM,aAAa,SAAS,MAAM,MAAM,YAAY,OAAO;AAC3D,UAAM,mBAAmB,SACvB,MAAM,MAAM,eAAe,EAAE;AAE/B,UAAM,WAAW;AACjB,UAAM,UAAU,SAAS,MACvB,CAAC,SAAS,SAAS,SAAS,SAAS,UAAU;AAEjD,UAAM,WAAW,SAAS,MAAM,CAAC,CAAC,MAAM,MAAM;AAC9C,UAAM,WAAW,SAAS,MAAM,CAAC,MAAM,cAAc,SAAS;AAC9D,UAAM,gBAAgB,SAAS,MAC7B,SAAS,QAAQ,iBAAiB,QAAQ,WAAW;AAEvD,UAAM,eAA4C,SAChD,MAAM;AAER,UAAM;AACJ,iBACS;AAKP;AAEF,4BAAsB;AAAM;AAE9B;AACE,cAAQ;AACR;AACA;AAII;AAGN;AAA6C,MAC3C;AACE;AAAa;AAAA,MAEf;AACE;AACA;AACA;AAAsB;AAAA;AAI1B;AACE,wBAAkB,kBAAkB;AAAA;AAGtC;AACE,UAAI;AAAkB;AAEtB,gBAAU;AAEV;AACE;AACA,cAAM,OAAO;AAEb,qBAAa;AACX;AACA;AAAsB;AAEtB;AACA;AACA;AAAyB;AAG3B,+BAAuB;AAAA;AAAA;AAI3B,UAAM;AACJ;AACE;AAAkB;AAAA;AAItB;AACE;AAAkB;AAGpB;AACE,cAAQ;AACR;AAAO;AACL;AACU;AACyB;AACzB,mBACC;AAA0B;AAAA;AAIzC;AACE;AACA,mBAAa;AACb;AACA,8BAAwB;AAAA;AAG1B;AACE,UAAI;AAAiB;AAErB,YAAM;AACN,mBAAoB;AAEpB;AACE,yBAAiB;AACjB;AAEA;AAEA;AACE;AACE,iBAAK;AAAK,mBACH;AAAA;AACM,cACX;AAAU;AAAA,iBAEP;AACL;AAAwC;AAAA;AAAA;AAK9C,kBAAY;AAAQ;AAGtB;AACE;AACA,YAAM,YAAY,oCACe;AAE7B;AAAqB;AACrB;AACA;AAAwC;AAG5C,UAAI;AACF;AACE,cAAI;AAAW;AAAA;AAInB;AACA;AACA;AAAA;AAGF,UAAM;AACJ;AAEA,UAAI;AACF;AACE;AAGF;AACE;AAIJ;AACE;AACA;AAA8B;AAAA;AAIlC,UAAM;AACJ;AACA;AACA,gCAA0B,uBAAuB;AAEjD;AAA8B;AAE9B;AACE;AAGA;AAA8C;AAGhD,UAAI,cAAc;AAChB,cAAM,EAAE;AACR,sDAEM,YAAY;AAElB;AACA;AAAA;AAAA;AAIJ,UAAM,mBAAmB;AACvB;AAAoC;AAGtC;AACE;AACA,4BAAsB;AAAA;AAGxB,+BAA2B,UAA4B;AACrD;AACA;AACE;AACA;AAA2B,aACtB;AACL,cAAM,gBAAgB,KAAK;AAC3B;AAAkC;AAAA;AAItC,UAAM,gBAAgB,OAAsB;AAC1C;AAA2B;AAE3B;AAAU;AAEN;AACA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AACc;AAEd;AACA;AAAA;AAAA;AAIN,UAAM;AACJ;AACA;AAAoB;AAGtB,UAAM,wBAAwB,CAAC;AAC7B,YAAM,cAAc;AAEpB,UAAI;AACF;AAA+C,aAC1C;AACL;AACA;AAAoB;AAAA;AAIxB,UAAM;AACJ,YAAM;AACN,YAAM,WAAW;AAEjB;AAAQ;AACU;AAEd,gBAAM;AACN,+BAEI;AAKJ;AAAA;AAAA,aAEG;AACH;AACA;AAAA;AACc;AAEd;AACA;AAAA;AAAA;AAIN;AACE;AACA,2BAAqB;AACrB;AAEA,UAAI;AAA+B;AAEnC;AACE;AAAU;AAEV,2BAAmB;AAAA;AAAA;AAIvB,UAAM;AACJ;AAEA;AAAY;AAEZ,YAAM;AAEN;AACE,0CAAkC,YAAY;AAAA;AAAA;AAI9C;AAAA;AAEA;AAAA;AAAA,OAED;AAEH;AACE;AAEA;AAAoB;AAEpB;AAAuB;AAGzB,UAAM;AAEN;AAEA,UAAM;AACJ;AAAe;AAGjB;AAEA;AACE;AACA;AAIA,wBAAkB;AAAS;AAG7B;AACE;AAAuC;AAGzC;AAAO;AACL;AACA;AACA,MACA;AAAA,MACA;AAAA;AACA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;AApnB2B;AAAkB;;;;;;;;;;;;;;;;AA7E/B;AACR;;AAC2B;AACtB;AACiB,2BACR;AAAA;;;;;;;AAOrB;AAAA;AAEuB;AACd;AACA,IACV;AAAO,IACP;AAAI,IACJ;AAAA,IACC;AAAM;;AAEI;;AAGD;;AAAuC;AAA6E;AAA0B;;;AAO9I;AACI;AACa;AACA;;AAEvB;AACa;;;AACc;AACX;AACH,UACV;AAAU,UACV;AAAA,UACA;AAAM,UACN;AAAK,UACL;AAAmC,6BAClB,KAAE;AAAA;AACH,4BACX;AAAA,8CACG;AAAoB;AACV;;AAER;AAEc;AACV;AACN;AACC;;;AAEU;;;;AAIA;AACV;;gBAAyF;AAAA;;;;;AAOjF;;;;;;cAKD;AAAA;AAYR;mBATD;AAAO;AACR;AACE,oBACD;AAAI;AACD,cACT;AAAA;AACQ;;;AAEmB;;;;cAGrB;AAAA;;YAEN;AAAW;AACN;AACJ,yBACK;AAAS;AACF;AACI;AACE;AACC;AACH;;;cATH;AAAA;;;;;;;AApEoB;;;;AAoFxC;AAEa;;;AAEM;AACT;AACC;AACR;AACe;AACV;;AARY;;;QAalB;AAAI;AACA,aACCC;AAAA;AACL,QACC;AAAS;;iBAEM;AAAY;;AAGV;AACR;;AAAgE;;;AAKhE;;AAEN;AAC2B;AAAW;AAAA;;;;;;AAMnC;;;;;AAzBU;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|