@element-plus/nightly 0.0.20220306 → 0.0.20220309
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +752 -723
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +751 -723
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/alert/index.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/autocomplete/style/index.d.ts +3 -3
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/breadcrumb/index.d.ts +90 -2
- package/es/components/breadcrumb/index.mjs +5 -5
- package/es/components/breadcrumb/index.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.vue.d.ts +43 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +38 -45
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +6 -0
- package/es/components/breadcrumb/src/breadcrumb2.mjs +21 -22
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/src/button-group2.mjs.map +1 -1
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/style/index.d.ts +2 -2
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/src/item.mjs.map +1 -1
- package/es/components/carousel/src/main.mjs +1 -1
- package/es/components/carousel/src/main.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +112 -0
- package/es/components/cascader/src/index.mjs +39 -34
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader/src/index.vue.d.ts +56 -0
- package/es/components/cascader/style/index.d.ts +4 -4
- package/es/components/cascader-panel/index.d.ts +28 -0
- package/es/components/cascader-panel/src/index.mjs +10 -6
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue.d.ts +14 -0
- package/es/components/cascader-panel/src/menu.mjs +22 -22
- package/es/components/cascader-panel/src/menu.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.vue.d.ts +14 -0
- package/es/components/cascader-panel/src/node-content.d.ts +16 -1
- package/es/components/cascader-panel/src/node-content.mjs +10 -1
- package/es/components/cascader-panel/src/node-content.mjs.map +1 -1
- package/es/components/cascader-panel/src/node.vue.d.ts +14 -0
- package/es/components/cascader-panel/src/node2.mjs +15 -11
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +4 -4
- package/es/components/cascader-panel/src/store.mjs.map +1 -1
- package/es/components/cascader-panel/style/index.d.ts +3 -3
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.mjs +1 -1
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/col/src/col.mjs +4 -4
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +2 -2
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
- package/es/components/collection/src/collection-item.mjs.map +1 -1
- package/es/components/collection/src/collection2.mjs.map +1 -1
- package/es/components/color-picker/src/color.mjs +20 -20
- package/es/components/color-picker/src/color.mjs.map +1 -1
- package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
- package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
- package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +1 -1
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/color-picker/style/index.d.ts +2 -2
- package/es/components/container/src/aside.mjs.map +1 -1
- package/es/components/container/src/container.mjs.map +1 -1
- package/es/components/container/src/footer.mjs.map +1 -1
- package/es/components/container/src/header.mjs.map +1 -1
- package/es/components/container/src/main.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
- package/es/components/date-picker/style/index.d.ts +4 -4
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/index.mjs.map +1 -1
- package/es/components/descriptions/style/index.d.ts +1 -1
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/dialog/style/index.d.ts +1 -1
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/drawer/style/index.d.ts +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/dropdown/src/useDropdown.mjs +1 -1
- package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
- package/es/components/dropdown/style/index.d.ts +2 -2
- package/es/components/empty/src/empty2.mjs.map +1 -1
- package/es/components/empty/src/img-empty.mjs.map +1 -1
- package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
- package/es/components/form/index.d.ts +16 -16
- package/es/components/form/src/form-item.d.ts +2 -1
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form-item.vue.d.ts +4 -4
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/form/src/form-label-wrap.mjs +2 -2
- package/es/components/form/src/form-label-wrap.mjs.map +1 -1
- package/es/components/form/src/form.d.ts +2 -2
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue.d.ts +9 -8
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/form/src/utils.d.ts +2 -2
- package/es/components/form/src/utils.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image/style/index.d.ts +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/infinite-scroll/index.mjs.map +1 -1
- package/es/components/input/src/calc-textarea-height.mjs +2 -2
- package/es/components/input/src/calc-textarea-height.mjs.map +1 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.mjs +3 -3
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +8 -8
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/input-number/style/index.d.ts +1 -1
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/loading/src/service.mjs +1 -1
- package/es/components/loading/src/service.mjs.map +1 -1
- package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +2 -2
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/utils/menu-bar.mjs +1 -1
- package/es/components/menu/src/utils/menu-bar.mjs.map +1 -1
- package/es/components/menu/style/index.d.ts +1 -1
- package/es/components/message/src/message-method.mjs +1 -1
- package/es/components/message/src/message-method.mjs.map +1 -1
- package/es/components/message/src/message2.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/message-box/style/index.d.ts +3 -3
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +1 -1
- package/es/components/notification/src/notify.mjs.map +1 -1
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.mjs +1 -1
- package/es/components/pagination/src/components/pager.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +1 -1
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/total.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/pagination/style/index.d.ts +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popconfirm/style/index.d.ts +1 -1
- package/es/components/popover/src/index.mjs.map +1 -1
- package/es/components/popover/style/index.d.ts +1 -1
- package/es/components/popper/src/arrow.mjs.map +1 -1
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +1 -1
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/radio/src/radio2.mjs.map +1 -1
- package/es/components/rate/index.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +1 -1
- package/es/components/rate/src/rate2.mjs +1 -1
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
- package/es/components/row/index.d.ts +1 -3
- package/es/components/row/src/row.d.ts +15 -17
- package/es/components/row/src/row.mjs +17 -22
- package/es/components/row/src/row.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/select/src/option-group.mjs.map +1 -1
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/select-dropdown.mjs.map +1 -1
- package/es/components/select/src/select.mjs +11 -9
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/useOption.mjs +1 -1
- package/es/components/select/src/useOption.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +6 -6
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select/style/index.d.ts +6 -6
- package/es/components/select-v2/src/group-item.mjs.map +1 -1
- package/es/components/select-v2/src/option-item.mjs.map +1 -1
- package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +2 -2
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +3 -3
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/util.mjs +1 -1
- package/es/components/select-v2/src/util.mjs.map +1 -1
- package/es/components/select-v2/style/index.d.ts +4 -4
- package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/skeleton/style/index.d.ts +1 -1
- package/es/components/slider/src/button.mjs.map +1 -1
- package/es/components/slider/src/index.mjs +2 -2
- package/es/components/slider/src/index.mjs.map +1 -1
- package/es/components/slider/src/marker.mjs.map +1 -1
- package/es/components/slider/src/useSliderButton.mjs +5 -5
- package/es/components/slider/src/useSliderButton.mjs.map +1 -1
- package/es/components/slider/style/index.d.ts +2 -2
- package/es/components/slot/src/only-child.mjs +1 -2
- package/es/components/slot/src/only-child.mjs.map +1 -1
- package/es/components/space/src/item.mjs.map +1 -1
- package/es/components/steps/index.d.ts +2 -2
- package/es/components/steps/src/index.mjs.map +1 -1
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item.vue.d.ts +1 -1
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/index.d.ts +10 -0
- package/es/components/table/src/config.mjs +1 -1
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/filter-panel.mjs.map +1 -1
- package/es/components/table/src/store/current.d.ts +1 -1
- package/es/components/table/src/store/current.mjs +1 -1
- package/es/components/table/src/store/current.mjs.map +1 -1
- package/es/components/table/src/store/expand.d.ts +1 -1
- package/es/components/table/src/store/expand.mjs +1 -1
- package/es/components/table/src/store/expand.mjs.map +1 -1
- package/es/components/table/src/store/tree.mjs +2 -2
- package/es/components/table/src/store/tree.mjs.map +1 -1
- package/es/components/table/src/store/watcher.mjs +8 -4
- package/es/components/table/src/store/watcher.mjs.map +1 -1
- package/es/components/table/src/table/defaults.d.ts +4 -0
- package/es/components/table/src/table/defaults.mjs +4 -0
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +15 -2
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table/utils-helper.d.ts +1 -0
- package/es/components/table/src/table/utils-helper.mjs +4 -0
- package/es/components/table/src/table/utils-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/events-helper.mjs +3 -3
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/styles-helper.mjs +1 -1
- package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/defaults.mjs +1 -1
- package/es/components/table/src/table-column/defaults.mjs.map +1 -1
- package/es/components/table/src/table-column/index.mjs +2 -2
- package/es/components/table/src/table-column/index.mjs.map +1 -1
- package/es/components/table/src/table-column/render-helper.mjs +2 -2
- package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-footer/index.mjs +3 -3
- package/es/components/table/src/table-footer/index.mjs.map +1 -1
- package/es/components/table/src/table-header/event-helper.mjs +2 -2
- package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
- package/es/components/table/src/table-header/index.mjs +5 -6
- package/es/components/table/src/table-header/index.mjs.map +1 -1
- package/es/components/table/src/table-layout.mjs +3 -3
- package/es/components/table/src/table-layout.mjs.map +1 -1
- package/es/components/table/src/table.mjs +5 -2
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +10 -0
- package/es/components/table/src/util.mjs +9 -9
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/table/style/index.d.ts +4 -4
- package/es/components/table-column/style/index.d.ts +2 -2
- package/es/components/tabs/src/tab-bar2.mjs +2 -2
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/time-picker/src/common/date-utils.mjs +1 -1
- package/es/components/time-picker/src/common/date-utils.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +4 -4
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
- package/es/components/time-picker/style/index.d.ts +3 -3
- package/es/components/time-select/src/time-select.mjs +3 -3
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/style/index.d.ts +5 -5
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/src/content.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/style/index.d.ts +1 -1
- package/es/components/transfer/src/index.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
- package/es/components/transfer/style/index.d.ts +4 -4
- package/es/components/tree/src/model/node.mjs +3 -3
- package/es/components/tree/src/model/node.mjs.map +1 -1
- package/es/components/tree/src/model/tree-store.mjs +2 -2
- package/es/components/tree/src/model/tree-store.mjs.map +1 -1
- package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
- package/es/components/tree/src/model/useKeydown.mjs +4 -4
- package/es/components/tree/src/model/useKeydown.mjs.map +1 -1
- package/es/components/tree/src/tree-node-content.mjs.map +1 -1
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/style/index.d.ts +1 -1
- package/es/components/tree-v2/src/composables/useCheck.mjs +2 -4
- package/es/components/tree-v2/src/composables/useCheck.mjs.map +1 -1
- package/es/components/tree-v2/src/composables/useFilter.mjs +1 -2
- package/es/components/tree-v2/src/composables/useFilter.mjs.map +1 -1
- package/es/components/tree-v2/src/composables/useTree.mjs +1 -2
- package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.mjs.map +1 -1
- package/es/components/tree-v2/style/index.d.ts +1 -1
- package/es/components/upload/src/ajax.d.ts +1 -0
- package/es/components/upload/src/ajax.mjs +1 -0
- package/es/components/upload/src/ajax.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/components/upload/style/index.d.ts +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs +2 -2
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/style/index.d.ts +1 -1
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/directives/mousewheel/index.mjs +1 -1
- package/es/directives/mousewheel/index.mjs.map +1 -1
- package/es/directives/trap-focus/index.mjs +1 -1
- package/es/directives/trap-focus/index.mjs.map +1 -1
- package/es/hooks/use-lockscreen/index.mjs +1 -1
- package/es/hooks/use-lockscreen/index.mjs.map +1 -1
- package/es/hooks/use-modal/index.mjs +1 -1
- package/es/hooks/use-modal/index.mjs.map +1 -1
- package/es/index.mjs +2 -1
- package/es/index.mjs.map +1 -1
- package/es/tokens/breadcrumb.d.ts +1 -1
- package/es/tokens/breadcrumb.mjs +2 -2
- package/es/tokens/breadcrumb.mjs.map +1 -1
- package/es/tokens/form.d.ts +4 -4
- package/es/tokens/form.mjs.map +1 -1
- package/es/tokens/index.d.ts +1 -0
- package/es/tokens/index.mjs +2 -1
- package/es/tokens/index.mjs.map +1 -1
- package/es/tokens/row.d.ts +6 -0
- package/es/tokens/row.mjs +4 -0
- package/es/tokens/row.mjs.map +1 -0
- package/es/utils/animation.mjs +1 -1
- package/es/utils/animation.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.map +1 -1
- package/lib/components/alert/index.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/autocomplete/style/index.d.ts +3 -3
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/backtop/src/backtop2.js.map +1 -1
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/breadcrumb/index.d.ts +90 -2
- package/lib/components/breadcrumb/src/breadcrumb-item.vue.d.ts +43 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +39 -46
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +6 -0
- package/lib/components/breadcrumb/src/breadcrumb2.js +19 -20
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/src/button-group2.js.map +1 -1
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/style/index.d.ts +2 -2
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/src/item.js.map +1 -1
- package/lib/components/carousel/src/main.js +1 -1
- package/lib/components/carousel/src/main.js.map +1 -1
- package/lib/components/cascader/index.d.ts +112 -0
- package/lib/components/cascader/src/index.js +43 -38
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader/src/index.vue.d.ts +56 -0
- package/lib/components/cascader/style/index.d.ts +4 -4
- package/lib/components/cascader-panel/index.d.ts +28 -0
- package/lib/components/cascader-panel/src/index.js +10 -6
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue.d.ts +14 -0
- package/lib/components/cascader-panel/src/menu.js +23 -23
- package/lib/components/cascader-panel/src/menu.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.vue.d.ts +14 -0
- package/lib/components/cascader-panel/src/node-content.d.ts +16 -1
- package/lib/components/cascader-panel/src/node-content.js +10 -1
- package/lib/components/cascader-panel/src/node-content.js.map +1 -1
- package/lib/components/cascader-panel/src/node.vue.d.ts +14 -0
- package/lib/components/cascader-panel/src/node2.js +15 -11
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +4 -4
- package/lib/components/cascader-panel/src/store.js.map +1 -1
- package/lib/components/cascader-panel/style/index.d.ts +3 -3
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.js +1 -1
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/col/src/col.js +4 -4
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +2 -2
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
- package/lib/components/collection/src/collection-item.js.map +1 -1
- package/lib/components/collection/src/collection2.js.map +1 -1
- package/lib/components/color-picker/src/color.js +20 -20
- package/lib/components/color-picker/src/color.js.map +1 -1
- package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
- package/lib/components/color-picker/src/components/predefine.js.map +1 -1
- package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
- package/lib/components/color-picker/src/index.js +1 -1
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/color-picker/style/index.d.ts +2 -2
- package/lib/components/container/src/aside.js.map +1 -1
- package/lib/components/container/src/container.js.map +1 -1
- package/lib/components/container/src/footer.js.map +1 -1
- package/lib/components/container/src/header.js.map +1 -1
- package/lib/components/container/src/main.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
- package/lib/components/date-picker/style/index.d.ts +4 -4
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/index.js.map +1 -1
- package/lib/components/descriptions/style/index.d.ts +1 -1
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/dialog/style/index.d.ts +1 -1
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/drawer/style/index.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/dropdown/src/useDropdown.js +1 -1
- package/lib/components/dropdown/src/useDropdown.js.map +1 -1
- package/lib/components/dropdown/style/index.d.ts +2 -2
- package/lib/components/empty/src/empty2.js.map +1 -1
- package/lib/components/empty/src/img-empty.js.map +1 -1
- package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
- package/lib/components/form/index.d.ts +16 -16
- package/lib/components/form/src/form-item.d.ts +2 -1
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form-item.vue.d.ts +4 -4
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/form/src/form-label-wrap.js +2 -2
- package/lib/components/form/src/form-label-wrap.js.map +1 -1
- package/lib/components/form/src/form.d.ts +2 -2
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue.d.ts +9 -8
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/form/src/utils.d.ts +2 -2
- package/lib/components/form/src/utils.js.map +1 -1
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image/style/index.d.ts +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js +2 -2
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/infinite-scroll/index.js.map +1 -1
- package/lib/components/input/src/calc-textarea-height.js +2 -2
- package/lib/components/input/src/calc-textarea-height.js.map +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/src/input-number.js +3 -3
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js +8 -8
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/input-number/style/index.d.ts +1 -1
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/loading/src/service.js +1 -1
- package/lib/components/loading/src/service.js.map +1 -1
- package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/menu/src/menu.js +2 -2
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/utils/menu-bar.js +1 -1
- package/lib/components/menu/src/utils/menu-bar.js.map +1 -1
- package/lib/components/menu/style/index.d.ts +1 -1
- package/lib/components/message/src/message-method.js +1 -1
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/message/src/message2.js.map +1 -1
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/message-box/style/index.d.ts +3 -3
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/notification/src/notify.js +1 -1
- package/lib/components/notification/src/notify.js.map +1 -1
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/pager.js +1 -1
- package/lib/components/pagination/src/components/pager.js.map +1 -1
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +1 -1
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/total.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/pagination/style/index.d.ts +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popconfirm/style/index.d.ts +1 -1
- package/lib/components/popover/src/index.js.map +1 -1
- package/lib/components/popover/style/index.d.ts +1 -1
- package/lib/components/popper/src/arrow.js.map +1 -1
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/progress/src/progress2.js +1 -1
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/radio/src/radio2.js.map +1 -1
- package/lib/components/rate/index.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +1 -1
- package/lib/components/rate/src/rate2.js +1 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
- package/lib/components/row/index.d.ts +1 -3
- package/lib/components/row/src/row.d.ts +15 -17
- package/lib/components/row/src/row.js +16 -21
- package/lib/components/row/src/row.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/select/src/option-group.js.map +1 -1
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/select-dropdown.js.map +1 -1
- package/lib/components/select/src/select.js +11 -9
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/useOption.js +1 -1
- package/lib/components/select/src/useOption.js.map +1 -1
- package/lib/components/select/src/useSelect.js +6 -6
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select/style/index.d.ts +6 -6
- package/lib/components/select-v2/src/group-item.js.map +1 -1
- package/lib/components/select-v2/src/option-item.js.map +1 -1
- package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
- package/lib/components/select-v2/src/select.js +2 -2
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +3 -3
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/util.js +1 -1
- package/lib/components/select-v2/src/util.js.map +1 -1
- package/lib/components/select-v2/style/index.d.ts +4 -4
- package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/skeleton/style/index.d.ts +1 -1
- package/lib/components/slider/src/button.js.map +1 -1
- package/lib/components/slider/src/index.js +2 -2
- package/lib/components/slider/src/index.js.map +1 -1
- package/lib/components/slider/src/marker.js.map +1 -1
- package/lib/components/slider/src/useSliderButton.js +5 -5
- package/lib/components/slider/src/useSliderButton.js.map +1 -1
- package/lib/components/slider/style/index.d.ts +2 -2
- package/lib/components/slot/src/only-child.js +1 -2
- package/lib/components/slot/src/only-child.js.map +1 -1
- package/lib/components/space/src/item.js.map +1 -1
- package/lib/components/steps/index.d.ts +2 -2
- package/lib/components/steps/src/index.js.map +1 -1
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item.vue.d.ts +1 -1
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/index.d.ts +10 -0
- package/lib/components/table/src/config.js +1 -1
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/filter-panel.js.map +1 -1
- package/lib/components/table/src/store/current.d.ts +1 -1
- package/lib/components/table/src/store/current.js +1 -1
- package/lib/components/table/src/store/current.js.map +1 -1
- package/lib/components/table/src/store/expand.d.ts +1 -1
- package/lib/components/table/src/store/expand.js +1 -1
- package/lib/components/table/src/store/expand.js.map +1 -1
- package/lib/components/table/src/store/tree.js +2 -2
- package/lib/components/table/src/store/tree.js.map +1 -1
- package/lib/components/table/src/store/watcher.js +8 -4
- package/lib/components/table/src/store/watcher.js.map +1 -1
- package/lib/components/table/src/table/defaults.d.ts +4 -0
- package/lib/components/table/src/table/defaults.js +4 -0
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +15 -2
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table/utils-helper.d.ts +1 -0
- package/lib/components/table/src/table/utils-helper.js +4 -0
- package/lib/components/table/src/table/utils-helper.js.map +1 -1
- package/lib/components/table/src/table-body/events-helper.js +3 -3
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-body/styles-helper.js +1 -1
- package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
- package/lib/components/table/src/table-column/defaults.js +1 -1
- package/lib/components/table/src/table-column/defaults.js.map +1 -1
- package/lib/components/table/src/table-column/index.js +2 -2
- package/lib/components/table/src/table-column/index.js.map +1 -1
- package/lib/components/table/src/table-column/render-helper.js +2 -2
- package/lib/components/table/src/table-column/render-helper.js.map +1 -1
- package/lib/components/table/src/table-footer/index.js +3 -3
- package/lib/components/table/src/table-footer/index.js.map +1 -1
- package/lib/components/table/src/table-header/event-helper.js +2 -2
- package/lib/components/table/src/table-header/event-helper.js.map +1 -1
- package/lib/components/table/src/table-header/index.js +5 -6
- package/lib/components/table/src/table-header/index.js.map +1 -1
- package/lib/components/table/src/table-layout.js +3 -3
- package/lib/components/table/src/table-layout.js.map +1 -1
- package/lib/components/table/src/table.js +5 -2
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +10 -0
- package/lib/components/table/src/util.js +9 -9
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/table/style/index.d.ts +4 -4
- package/lib/components/table-column/style/index.d.ts +2 -2
- package/lib/components/tabs/src/tab-bar2.js +2 -2
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/time-picker/src/common/date-utils.js +1 -1
- package/lib/components/time-picker/src/common/date-utils.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +4 -4
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
- package/lib/components/time-picker/style/index.d.ts +3 -3
- package/lib/components/time-select/src/time-select.js +3 -3
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/style/index.d.ts +5 -5
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/src/content.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/style/index.d.ts +1 -1
- package/lib/components/transfer/src/index.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.js.map +1 -1
- package/lib/components/transfer/style/index.d.ts +4 -4
- package/lib/components/tree/src/model/node.js +3 -3
- package/lib/components/tree/src/model/node.js.map +1 -1
- package/lib/components/tree/src/model/tree-store.js +2 -2
- package/lib/components/tree/src/model/tree-store.js.map +1 -1
- package/lib/components/tree/src/model/useDragNode.js.map +1 -1
- package/lib/components/tree/src/model/useKeydown.js +4 -4
- package/lib/components/tree/src/model/useKeydown.js.map +1 -1
- package/lib/components/tree/src/tree-node-content.js.map +1 -1
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/style/index.d.ts +1 -1
- package/lib/components/tree-v2/src/composables/useCheck.js +2 -4
- package/lib/components/tree-v2/src/composables/useCheck.js.map +1 -1
- package/lib/components/tree-v2/src/composables/useFilter.js +1 -2
- package/lib/components/tree-v2/src/composables/useFilter.js.map +1 -1
- package/lib/components/tree-v2/src/composables/useTree.js +1 -2
- package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.js.map +1 -1
- package/lib/components/tree-v2/src/tree.js.map +1 -1
- package/lib/components/tree-v2/style/index.d.ts +1 -1
- package/lib/components/upload/src/ajax.d.ts +1 -0
- package/lib/components/upload/src/ajax.js +1 -0
- package/lib/components/upload/src/ajax.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/upload/src/upload-dragger2.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/components/upload/style/index.d.ts +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/style/index.d.ts +1 -1
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/directives/mousewheel/index.js +1 -1
- package/lib/directives/mousewheel/index.js.map +1 -1
- package/lib/directives/trap-focus/index.js +1 -1
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-lockscreen/index.js +1 -1
- package/lib/hooks/use-lockscreen/index.js.map +1 -1
- package/lib/hooks/use-modal/index.js +1 -1
- package/lib/hooks/use-modal/index.js.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/tokens/breadcrumb.d.ts +1 -1
- package/lib/tokens/breadcrumb.js +2 -2
- package/lib/tokens/breadcrumb.js.map +1 -1
- package/lib/tokens/form.d.ts +4 -4
- package/lib/tokens/form.js.map +1 -1
- package/lib/tokens/index.d.ts +1 -0
- package/lib/tokens/index.js +3 -1
- package/lib/tokens/index.js.map +1 -1
- package/lib/tokens/row.d.ts +6 -0
- package/lib/tokens/row.js +8 -0
- package/lib/tokens/row.js.map +1 -0
- package/lib/utils/animation.js +1 -1
- package/lib/utils/animation.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 +6 -6
- package/tags.json +1 -1
- package/theme-chalk/el-message.css +1 -1
- package/theme-chalk/el-select-dropdown.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/check-tag.scss +0 -1
- package/theme-chalk/src/common/var.scss +14 -1
- package/theme-chalk/src/message.scss +21 -26
- package/theme-chalk/src/mixins/_var.scss +19 -6
- package/theme-chalk/src/mixins/function.scss +6 -1
- package/theme-chalk/src/mixins/mixins.scss +1 -0
- package/theme-chalk/src/select-dropdown.scss +29 -11
- package/theme-chalk/src/select.scss +11 -0
- package/theme-chalk/src/table.scss +16 -6
- package/theme-chalk/src/tag.scss +0 -1
- package/theme-chalk/src/var.scss +1 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragNode.mjs","sources":["../../../../../../../packages/components/tree/src/model/useDragNode.ts"],"sourcesContent":["import { provide, ref } from 'vue'\nimport { addClass, removeClass } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { InjectionKey } from 'vue'\nimport type Node from './node'\n\ninterface TreeNode {\n node: Node\n $el?: HTMLElement\n}\n\ninterface DragOptions {\n event: DragEvent\n treeNode: TreeNode\n}\n\nexport interface DragEvents {\n treeNodeDragStart: (options: DragOptions) => void\n treeNodeDragOver: (options: DragOptions) => void\n treeNodeDragEnd: (event: DragEvent) => void\n}\n\nexport const dragEventsKey: InjectionKey<DragEvents> = Symbol('dragEvents')\n\nexport function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {\n const ns = useNamespace('tree')\n const dragState = ref({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null,\n })\n\n const treeNodeDragStart = ({ event, treeNode }: DragOptions) => {\n if (\n typeof props.allowDrag === 'function' &&\n !props.allowDrag(treeNode.node)\n ) {\n event.preventDefault()\n return false\n }\n event.dataTransfer.effectAllowed = 'move'\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '')\n } catch (e) {}\n dragState.value.draggingNode = treeNode\n ctx.emit('node-drag-start', treeNode.node, event)\n }\n\n const treeNodeDragOver = ({ event, treeNode }: DragOptions) => {\n const dropNode = treeNode\n const oldDropNode = dragState.value.dropNode\n if (oldDropNode && oldDropNode !== dropNode) {\n removeClass(oldDropNode.$el, ns.is('drop-inner'))\n }\n const draggingNode = dragState.value.draggingNode\n if (!draggingNode || !dropNode) return\n\n let dropPrev = true\n let dropInner = true\n let dropNext = true\n let userAllowDropInner = true\n if (typeof props.allowDrop === 'function') {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, 'prev')\n userAllowDropInner = dropInner = props.allowDrop(\n draggingNode.node,\n dropNode.node,\n 'inner'\n )\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, 'next')\n }\n event.dataTransfer.dropEffect =\n dropInner || dropPrev || dropNext ? 'move' : 'none'\n if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {\n if (oldDropNode) {\n ctx.emit('node-drag-leave', draggingNode.node, oldDropNode.node, event)\n }\n ctx.emit('node-drag-enter', draggingNode.node, dropNode.node, event)\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false\n }\n if (\n draggingNode.node === dropNode.node ||\n draggingNode.node.contains(dropNode.node)\n ) {\n dropPrev = false\n dropInner = false\n dropNext = false\n }\n\n const targetPosition = dropNode.$el.getBoundingClientRect()\n const treePosition = el$.value.getBoundingClientRect()\n\n let dropType\n const prevPercent = dropPrev ? (dropInner ? 0.25 : dropNext ? 0.45 : 1) : -1\n const nextPercent = dropNext ? (dropInner ? 0.75 : dropPrev ? 0.55 : 0) : 1\n\n let indicatorTop = -9999\n const distance = event.clientY - targetPosition.top\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before'\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after'\n } else if (dropInner) {\n dropType = 'inner'\n } else {\n dropType = 'none'\n }\n\n const iconPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'expand-icon')}`)\n .getBoundingClientRect()\n const dropIndicator = dropIndicator$.value\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top\n }\n dropIndicator.style.top = `${indicatorTop}px`\n dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`\n\n if (dropType === 'inner') {\n addClass(dropNode.$el, ns.is('drop-inner'))\n } else {\n removeClass(dropNode.$el, ns.is('drop-inner'))\n }\n\n dragState.value.showDropIndicator =\n dropType === 'before' || dropType === 'after'\n dragState.value.allowDrop =\n dragState.value.showDropIndicator || userAllowDropInner\n dragState.value.dropType = dropType\n ctx.emit('node-drag-over', draggingNode.node, dropNode.node, event)\n }\n\n const treeNodeDragEnd = (event: DragEvent) => {\n const { draggingNode, dropType, dropNode } = dragState.value\n event.preventDefault()\n event.dataTransfer.dropEffect = 'move'\n\n if (draggingNode && dropNode) {\n const draggingNodeCopy = { data: draggingNode.node.data }\n if (dropType !== 'none') {\n draggingNode.node.remove()\n }\n if (dropType === 'before') {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'after') {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy)\n }\n if (dropType !== 'none') {\n store.value.registerNode(draggingNodeCopy)\n }\n\n removeClass(dropNode.$el, ns.is('drop-inner'))\n\n ctx.emit(\n 'node-drag-end',\n draggingNode.node,\n dropNode.node,\n dropType,\n event\n )\n if (dropType !== 'none') {\n ctx.emit('node-drop', draggingNode.node, dropNode.node, dropType, event)\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit('node-drag-end', draggingNode.node, null, dropType, event)\n }\n\n dragState.value.showDropIndicator = false\n dragState.value.draggingNode = null\n dragState.value.dropNode = null\n dragState.value.allowDrop = true\n }\n\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd,\n })\n\n return {\n dragState,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDragNode.mjs","sources":["../../../../../../../packages/components/tree/src/model/useDragNode.ts"],"sourcesContent":["import { provide, ref } from 'vue'\nimport { addClass, removeClass } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { InjectionKey } from 'vue'\nimport type Node from './node'\n\ninterface TreeNode {\n node: Node\n $el?: HTMLElement\n}\n\ninterface DragOptions {\n event: DragEvent\n treeNode: TreeNode\n}\n\nexport interface DragEvents {\n treeNodeDragStart: (options: DragOptions) => void\n treeNodeDragOver: (options: DragOptions) => void\n treeNodeDragEnd: (event: DragEvent) => void\n}\n\nexport const dragEventsKey: InjectionKey<DragEvents> = Symbol('dragEvents')\n\nexport function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {\n const ns = useNamespace('tree')\n const dragState = ref({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null,\n })\n\n const treeNodeDragStart = ({ event, treeNode }: DragOptions) => {\n if (\n typeof props.allowDrag === 'function' &&\n !props.allowDrag(treeNode.node)\n ) {\n event.preventDefault()\n return false\n }\n event.dataTransfer.effectAllowed = 'move'\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '')\n } catch {}\n dragState.value.draggingNode = treeNode\n ctx.emit('node-drag-start', treeNode.node, event)\n }\n\n const treeNodeDragOver = ({ event, treeNode }: DragOptions) => {\n const dropNode = treeNode\n const oldDropNode = dragState.value.dropNode\n if (oldDropNode && oldDropNode !== dropNode) {\n removeClass(oldDropNode.$el, ns.is('drop-inner'))\n }\n const draggingNode = dragState.value.draggingNode\n if (!draggingNode || !dropNode) return\n\n let dropPrev = true\n let dropInner = true\n let dropNext = true\n let userAllowDropInner = true\n if (typeof props.allowDrop === 'function') {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, 'prev')\n userAllowDropInner = dropInner = props.allowDrop(\n draggingNode.node,\n dropNode.node,\n 'inner'\n )\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, 'next')\n }\n event.dataTransfer.dropEffect =\n dropInner || dropPrev || dropNext ? 'move' : 'none'\n if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {\n if (oldDropNode) {\n ctx.emit('node-drag-leave', draggingNode.node, oldDropNode.node, event)\n }\n ctx.emit('node-drag-enter', draggingNode.node, dropNode.node, event)\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false\n }\n if (\n draggingNode.node === dropNode.node ||\n draggingNode.node.contains(dropNode.node)\n ) {\n dropPrev = false\n dropInner = false\n dropNext = false\n }\n\n const targetPosition = dropNode.$el.getBoundingClientRect()\n const treePosition = el$.value.getBoundingClientRect()\n\n let dropType\n const prevPercent = dropPrev ? (dropInner ? 0.25 : dropNext ? 0.45 : 1) : -1\n const nextPercent = dropNext ? (dropInner ? 0.75 : dropPrev ? 0.55 : 0) : 1\n\n let indicatorTop = -9999\n const distance = event.clientY - targetPosition.top\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before'\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after'\n } else if (dropInner) {\n dropType = 'inner'\n } else {\n dropType = 'none'\n }\n\n const iconPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'expand-icon')}`)\n .getBoundingClientRect()\n const dropIndicator = dropIndicator$.value\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top\n }\n dropIndicator.style.top = `${indicatorTop}px`\n dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`\n\n if (dropType === 'inner') {\n addClass(dropNode.$el, ns.is('drop-inner'))\n } else {\n removeClass(dropNode.$el, ns.is('drop-inner'))\n }\n\n dragState.value.showDropIndicator =\n dropType === 'before' || dropType === 'after'\n dragState.value.allowDrop =\n dragState.value.showDropIndicator || userAllowDropInner\n dragState.value.dropType = dropType\n ctx.emit('node-drag-over', draggingNode.node, dropNode.node, event)\n }\n\n const treeNodeDragEnd = (event: DragEvent) => {\n const { draggingNode, dropType, dropNode } = dragState.value\n event.preventDefault()\n event.dataTransfer.dropEffect = 'move'\n\n if (draggingNode && dropNode) {\n const draggingNodeCopy = { data: draggingNode.node.data }\n if (dropType !== 'none') {\n draggingNode.node.remove()\n }\n if (dropType === 'before') {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'after') {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy)\n }\n if (dropType !== 'none') {\n store.value.registerNode(draggingNodeCopy)\n }\n\n removeClass(dropNode.$el, ns.is('drop-inner'))\n\n ctx.emit(\n 'node-drag-end',\n draggingNode.node,\n dropNode.node,\n dropType,\n event\n )\n if (dropType !== 'none') {\n ctx.emit('node-drop', draggingNode.node, dropNode.node, dropType, event)\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit('node-drag-end', draggingNode.node, null, dropType, event)\n }\n\n dragState.value.showDropIndicator = false\n dragState.value.draggingNode = null\n dragState.value.dropNode = null\n dragState.value.allowDrop = true\n }\n\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd,\n })\n\n return {\n dragState,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -28,13 +28,13 @@ function useKeydown({ el$ }, store) {
|
|
|
28
28
|
});
|
|
29
29
|
const handleKeydown = (ev) => {
|
|
30
30
|
const currentItem = ev.target;
|
|
31
|
-
if (currentItem.className.
|
|
31
|
+
if (!currentItem.className.includes(ns.b("node")))
|
|
32
32
|
return;
|
|
33
33
|
const code = ev.code;
|
|
34
34
|
treeItems.value = Array.from(el$.value.querySelectorAll(`.${ns.is("focusable")}[role=treeitem]`));
|
|
35
35
|
const currentIndex = treeItems.value.indexOf(currentItem);
|
|
36
36
|
let nextIndex;
|
|
37
|
-
if ([EVENT_CODE.up, EVENT_CODE.down].
|
|
37
|
+
if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {
|
|
38
38
|
ev.preventDefault();
|
|
39
39
|
if (code === EVENT_CODE.up) {
|
|
40
40
|
nextIndex = currentIndex === -1 ? 0 : currentIndex !== 0 ? currentIndex - 1 : treeItems.value.length - 1;
|
|
@@ -69,12 +69,12 @@ function useKeydown({ el$ }, store) {
|
|
|
69
69
|
}
|
|
70
70
|
nextIndex !== -1 && treeItems.value[nextIndex].focus();
|
|
71
71
|
}
|
|
72
|
-
if ([EVENT_CODE.left, EVENT_CODE.right].
|
|
72
|
+
if ([EVENT_CODE.left, EVENT_CODE.right].includes(code)) {
|
|
73
73
|
ev.preventDefault();
|
|
74
74
|
currentItem.click();
|
|
75
75
|
}
|
|
76
76
|
const hasInput = currentItem.querySelector('[type="checkbox"]');
|
|
77
|
-
if ([EVENT_CODE.enter, EVENT_CODE.space].
|
|
77
|
+
if ([EVENT_CODE.enter, EVENT_CODE.space].includes(code) && hasInput) {
|
|
78
78
|
ev.preventDefault();
|
|
79
79
|
hasInput.click();
|
|
80
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeydown.mjs","sources":["../../../../../../../packages/components/tree/src/model/useKeydown.ts"],"sourcesContent":["import { onMounted, onUpdated, onBeforeUnmount, watch, shallowRef } from 'vue'\nimport { on, off } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport type TreeStore from './tree-store'\n\nimport type { Ref } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\ninterface UseKeydownOption {\n el$: Ref<HTMLElement>\n}\nexport function useKeydown({ el$ }: UseKeydownOption, store: Ref<TreeStore>) {\n const ns = useNamespace('tree')\n\n const treeItems = shallowRef<Nullable<HTMLElement>[]>([])\n const checkboxItems = shallowRef<Nullable<HTMLElement>[]>([])\n\n onMounted(() => {\n initTabIndex()\n on(el$.value, 'keydown', handleKeydown)\n })\n\n onBeforeUnmount(() => {\n off(el$.value, 'keydown', handleKeydown)\n })\n\n onUpdated(() => {\n treeItems.value = Array.from(el$.value.querySelectorAll('[role=treeitem]'))\n checkboxItems.value = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n })\n\n watch(checkboxItems, (val) => {\n val.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n })\n\n const handleKeydown = (ev: KeyboardEvent): void => {\n const currentItem = ev.target as HTMLElement\n if (currentItem.className.
|
|
1
|
+
{"version":3,"file":"useKeydown.mjs","sources":["../../../../../../../packages/components/tree/src/model/useKeydown.ts"],"sourcesContent":["import { onMounted, onUpdated, onBeforeUnmount, watch, shallowRef } from 'vue'\nimport { on, off } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport type TreeStore from './tree-store'\n\nimport type { Ref } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\ninterface UseKeydownOption {\n el$: Ref<HTMLElement>\n}\nexport function useKeydown({ el$ }: UseKeydownOption, store: Ref<TreeStore>) {\n const ns = useNamespace('tree')\n\n const treeItems = shallowRef<Nullable<HTMLElement>[]>([])\n const checkboxItems = shallowRef<Nullable<HTMLElement>[]>([])\n\n onMounted(() => {\n initTabIndex()\n on(el$.value, 'keydown', handleKeydown)\n })\n\n onBeforeUnmount(() => {\n off(el$.value, 'keydown', handleKeydown)\n })\n\n onUpdated(() => {\n treeItems.value = Array.from(el$.value.querySelectorAll('[role=treeitem]'))\n checkboxItems.value = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n })\n\n watch(checkboxItems, (val) => {\n val.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n })\n\n const handleKeydown = (ev: KeyboardEvent): void => {\n const currentItem = ev.target as HTMLElement\n if (!currentItem.className.includes(ns.b('node'))) return\n const code = ev.code\n treeItems.value = Array.from(\n el$.value.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n const currentIndex = treeItems.value.indexOf(currentItem)\n let nextIndex\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n ev.preventDefault()\n if (code === EVENT_CODE.up) {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex !== 0\n ? currentIndex - 1\n : treeItems.value.length - 1\n const startIndex = nextIndex\n while (true) {\n if (\n store.value.getNode(treeItems.value[nextIndex].dataset.key).canFocus\n )\n break\n nextIndex--\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex < 0) {\n nextIndex = treeItems.value.length - 1\n }\n }\n } else {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex < treeItems.value.length - 1\n ? currentIndex + 1\n : 0\n const startIndex = nextIndex\n while (true) {\n if (\n store.value.getNode(treeItems.value[nextIndex].dataset.key).canFocus\n )\n break\n nextIndex++\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex >= treeItems.value.length) {\n nextIndex = 0\n }\n }\n }\n nextIndex !== -1 && treeItems.value[nextIndex].focus()\n }\n if ([EVENT_CODE.left, EVENT_CODE.right].includes(code)) {\n ev.preventDefault()\n currentItem.click()\n }\n const hasInput = currentItem.querySelector(\n '[type=\"checkbox\"]'\n ) as Nullable<HTMLInputElement>\n if ([EVENT_CODE.enter, EVENT_CODE.space].includes(code) && hasInput) {\n ev.preventDefault()\n hasInput.click()\n }\n }\n\n const initTabIndex = (): void => {\n treeItems.value = Array.from(\n el$.value.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n checkboxItems.value = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n const checkedItem = el$.value.querySelectorAll(\n `.${ns.is('checked')}[role=treeitem]`\n )\n if (checkedItem.length) {\n checkedItem[0].setAttribute('tabindex', '0')\n return\n }\n treeItems.value[0]?.setAttribute('tabindex', '0')\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node-content.mjs","sources":["../../../../../../packages/components/tree/src/tree-node-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { h, defineComponent, inject } from 'vue'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport type { ComponentInternalInstance } from 'vue'\nimport type { RootTreeType } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNodeContent',\n props: {\n node: {\n type: Object,\n required: true,\n },\n renderContent: Function,\n },\n setup(props) {\n const ns = useNamespace('tree')\n const nodeInstance = inject<ComponentInternalInstance>('NodeInstance')\n const tree = inject<RootTreeType>('RootTree')\n return () => {\n const node = props.node\n const { data, store } = node\n return props.renderContent\n ? props.renderContent(h, { _self: nodeInstance, node, data, store })\n : tree.ctx.slots.default\n ? tree.ctx.slots.default({ node, data })\n : h('span', { class: ns.be('node', 'label') }, [node.label])\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"tree-node-content.mjs","sources":["../../../../../../packages/components/tree/src/tree-node-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { h, defineComponent, inject } from 'vue'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport type { ComponentInternalInstance } from 'vue'\nimport type { RootTreeType } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNodeContent',\n props: {\n node: {\n type: Object,\n required: true,\n },\n renderContent: Function,\n },\n setup(props) {\n const ns = useNamespace('tree')\n const nodeInstance = inject<ComponentInternalInstance>('NodeInstance')\n const tree = inject<RootTreeType>('RootTree')\n return () => {\n const node = props.node\n const { data, store } = node\n return props.renderContent\n ? props.renderContent(h, { _self: nodeInstance, node, data, store })\n : tree.ctx.slots.default\n ? tree.ctx.slots.default({ node, data })\n : h('span', { class: ns.be('node', 'label') }, [node.label])\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;AAOA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,mBAAA;AAAA,EACN,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KAAA;AAAA,IAEZ,aAAe,EAAA,QAAA;AAAA,GAAA;AAAA,EAEjB,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,KAAK,YAAa,CAAA,MAAA,CAAA,CAAA;AACxB,IAAA,MAAM,eAAe,MAAkC,CAAA,cAAA,CAAA,CAAA;AACvD,IAAA,MAAM,OAAO,MAAqB,CAAA,UAAA,CAAA,CAAA;AAClC,IAAA,OAAO,MAAM;AACX,MAAA,MAAM,OAAO,KAAM,CAAA,IAAA,CAAA;AACnB,MAAM,MAAA,EAAE,MAAM,KAAU,EAAA,GAAA,IAAA,CAAA;AACxB,MAAA,OAAO,KAAM,CAAA,aAAA,GACT,KAAM,CAAA,aAAA,CAAc,CAAG,EAAA,EAAE,KAAO,EAAA,YAAA,EAAc,IAAM,EAAA,IAAA,EAAM,KAC1D,EAAA,CAAA,GAAA,IAAA,CAAK,IAAI,KAAM,CAAA,OAAA,GACf,IAAK,CAAA,GAAA,CAAI,KAAM,CAAA,OAAA,CAAQ,EAAE,IAAA,EAAM,UAC/B,CAAE,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAO,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,OAAA,CAAA,EAAA,EAAY,CAAC,IAAK,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node.mjs","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\"></component>\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n nextTick,\n inject,\n provide,\n} from 'vue'\nimport { isString, isFunction } from '@vue/shared'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TreeOptionProps, TreeNodeData, RootTreeType } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>(null)\n const oldIndeterminate = ref<boolean>(null)\n const node$ = ref<Nullable<HTMLElement>>(null)\n const dragEvents = inject(dragEventsKey)\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n const store = tree.store.value\n store.setCurrentNode(props.node)\n tree.ctx.emit(\n 'current-change',\n store.currentNode ? store.currentNode.data : null,\n store.currentNode\n )\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (tree.props.checkOnClickNode && !props.node.disabled) {\n handleCheckChange(null, {\n target: { checked: !props.node.checked },\n })\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand()\n ctx.emit('node-expand', props.node.data, props.node, instance)\n }\n }\n\n const handleCheckChange = (value, ev) => {\n props.node.setChecked(ev.target.checked, !tree.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["ElCollapseTransition","NodeContent","getNodeKey","getNodeKeyUtil","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_withModifiers","_resolveDynamicComponent","_createVNode","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree-node.mjs","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\"></component>\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n nextTick,\n inject,\n provide,\n} from 'vue'\nimport { isString, isFunction } from '@vue/shared'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TreeOptionProps, TreeNodeData, RootTreeType } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>(null)\n const oldIndeterminate = ref<boolean>(null)\n const node$ = ref<Nullable<HTMLElement>>(null)\n const dragEvents = inject(dragEventsKey)\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n const store = tree.store.value\n store.setCurrentNode(props.node)\n tree.ctx.emit(\n 'current-change',\n store.currentNode ? store.currentNode.data : null,\n store.currentNode\n )\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (tree.props.checkOnClickNode && !props.node.disabled) {\n handleCheckChange(null, {\n target: { checked: !props.node.checked },\n })\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand()\n ctx.emit('node-expand', props.node.data, props.node, instance)\n }\n }\n\n const handleCheckChange = (value, ev) => {\n props.node.setChecked(ev.target.checked, !tree.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["ElCollapseTransition","NodeContent","getNodeKey","getNodeKeyUtil","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_openBlock","_createBlock","_withModifiers","_resolveDynamicComponent","_createCommentVNode","_createVNode","_withCtx","_Fragment","_renderList","_vShow"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <span :class=\"ns.e('empty-text')\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_openBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <span :class=\"ns.e('empty-text')\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","_createElementVNode","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
|
|
@@ -28,8 +28,7 @@ function useCheck(props, tree) {
|
|
|
28
28
|
if (children) {
|
|
29
29
|
let allChecked = true;
|
|
30
30
|
let hasChecked = false;
|
|
31
|
-
for (
|
|
32
|
-
const childNode = children[i];
|
|
31
|
+
for (const childNode of children) {
|
|
33
32
|
const key = childNode.key;
|
|
34
33
|
if (checkedKeySet.has(key)) {
|
|
35
34
|
hasChecked = true;
|
|
@@ -151,8 +150,7 @@ function useCheck(props, tree) {
|
|
|
151
150
|
if (tree == null ? void 0 : tree.value) {
|
|
152
151
|
const { treeNodeMap } = tree.value;
|
|
153
152
|
if (props.showCheckbox && treeNodeMap && keys) {
|
|
154
|
-
for (
|
|
155
|
-
const key = keys[i];
|
|
153
|
+
for (const key of keys) {
|
|
156
154
|
const node = treeNodeMap.get(key);
|
|
157
155
|
if (node && !isChecked(node)) {
|
|
158
156
|
toggleCheckbox(node, true, false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheck.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useCheck.ts"],"sourcesContent":["import { nextTick, ref, watch, getCurrentInstance } from 'vue'\nimport {\n NODE_CHECK_CHANGE,\n NODE_CHECK,\n SetOperationEnum,\n} from '../virtual-tree'\nimport type { Ref } from 'vue'\nimport type { TreeProps, TreeKey, TreeNode, Tree, TreeNodeData } from '../types'\n\nexport function useCheck(props: TreeProps, tree: Ref<Tree | undefined>) {\n const checkedKeys = ref<Set<TreeKey>>(new Set())\n const indeterminateKeys = ref<Set<TreeKey>>(new Set())\n const { emit } = getCurrentInstance()!\n\n watch(\n () => tree.value,\n () => {\n return nextTick(() => {\n _setCheckedKeys(props.defaultCheckedKeys)\n })\n },\n {\n immediate: true,\n }\n )\n\n const updateCheckedKeys = () => {\n if (!tree.value || !props.showCheckbox || props.checkStrictly) {\n return\n }\n const { levelTreeNodeMap, maxLevel } = tree.value\n const checkedKeySet = checkedKeys.value\n const indeterminateKeySet = new Set<TreeKey>()\n // It is easier to determine the indeterminate state by\n // traversing from bottom to top\n // leaf nodes not have indeterminate status and can be skipped\n for (let level = maxLevel - 1; level >= 1; --level) {\n const nodes = levelTreeNodeMap.get(level)\n if (!nodes) continue\n nodes.forEach((node) => {\n const children = node.children\n if (children) {\n // Whether all child nodes are selected\n let allChecked = true\n // Whether a child node is selected\n let hasChecked = false\n for (let i = 0; i < children.length; ++i) {\n const childNode = children[i]\n const key = childNode.key\n if (checkedKeySet.has(key)) {\n hasChecked = true\n } else if (indeterminateKeySet.has(key)) {\n allChecked = false\n hasChecked = true\n break\n } else {\n allChecked = false\n }\n }\n if (allChecked) {\n checkedKeySet.add(node.key)\n } else if (hasChecked) {\n indeterminateKeySet.add(node.key)\n checkedKeySet.delete(node.key)\n } else {\n checkedKeySet.delete(node.key)\n indeterminateKeySet.delete(node.key)\n }\n }\n })\n }\n indeterminateKeys.value = indeterminateKeySet\n }\n\n const isChecked = (node: TreeNode) => checkedKeys.value.has(node.key)\n\n const isIndeterminate = (node: TreeNode) =>\n indeterminateKeys.value.has(node.key)\n\n const toggleCheckbox = (\n node: TreeNode,\n isChecked: boolean,\n nodeClick = true\n ) => {\n const checkedKeySet = checkedKeys.value\n const toggle = (node: TreeNode, checked: boolean) => {\n checkedKeySet[checked ? SetOperationEnum.ADD : SetOperationEnum.DELETE](\n node.key\n )\n const children = node.children\n if (!props.checkStrictly && children) {\n children.forEach((childNode) => {\n if (!childNode.disabled) {\n toggle(childNode, checked)\n }\n })\n }\n }\n toggle(node, isChecked)\n updateCheckedKeys()\n if (nodeClick) {\n afterNodeCheck(node, isChecked)\n }\n }\n\n const afterNodeCheck = (node: TreeNode, checked: boolean) => {\n const { checkedNodes, checkedKeys } = getChecked()\n const { halfCheckedNodes, halfCheckedKeys } = getHalfChecked()\n emit(NODE_CHECK, node.data, {\n checkedKeys,\n checkedNodes,\n halfCheckedKeys,\n halfCheckedNodes,\n })\n emit(NODE_CHECK_CHANGE, node.data, checked)\n }\n\n // expose\n function getCheckedKeys(leafOnly = false): TreeKey[] {\n return getChecked(leafOnly).checkedKeys\n }\n\n function getCheckedNodes(leafOnly = false): TreeNodeData[] {\n return getChecked(leafOnly).checkedNodes\n }\n\n function getHalfCheckedKeys(): TreeKey[] {\n return getHalfChecked().halfCheckedKeys\n }\n\n function getHalfCheckedNodes(): TreeNodeData[] {\n return getHalfChecked().halfCheckedNodes\n }\n\n function getChecked(leafOnly = false): {\n checkedKeys: TreeKey[]\n checkedNodes: TreeNodeData[]\n } {\n const checkedNodes: TreeNodeData[] = []\n const keys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n checkedKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && (!leafOnly || (leafOnly && node.isLeaf))) {\n keys.push(key)\n checkedNodes.push(node.data)\n }\n })\n }\n return {\n checkedKeys: keys,\n checkedNodes,\n }\n }\n\n function getHalfChecked(): {\n halfCheckedKeys: TreeKey[]\n halfCheckedNodes: TreeNodeData[]\n } {\n const halfCheckedNodes: TreeNodeData[] = []\n const halfCheckedKeys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n indeterminateKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node) {\n halfCheckedKeys.push(key)\n halfCheckedNodes.push(node.data)\n }\n })\n }\n return {\n halfCheckedNodes,\n halfCheckedKeys,\n }\n }\n\n function setCheckedKeys(keys: TreeKey[]) {\n checkedKeys.value.clear()\n _setCheckedKeys(keys)\n }\n\n function setChecked(key: TreeKey, isChecked: boolean) {\n if (tree?.value && props.showCheckbox) {\n const node = tree.value.treeNodeMap.get(key)\n if (node) {\n toggleCheckbox(node, isChecked, false)\n }\n }\n }\n\n function _setCheckedKeys(keys: TreeKey[]) {\n if (tree?.value) {\n const { treeNodeMap } = tree.value\n if (props.showCheckbox && treeNodeMap && keys) {\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n const node = treeNodeMap.get(key)\n if (node && !isChecked(node)) {\n toggleCheckbox(node, true, false)\n }\n }\n }\n }\n }\n\n return {\n updateCheckedKeys,\n toggleCheckbox,\n isChecked,\n isIndeterminate,\n // expose\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCheck.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useCheck.ts"],"sourcesContent":["import { nextTick, ref, watch, getCurrentInstance } from 'vue'\nimport {\n NODE_CHECK_CHANGE,\n NODE_CHECK,\n SetOperationEnum,\n} from '../virtual-tree'\nimport type { Ref } from 'vue'\nimport type { TreeProps, TreeKey, TreeNode, Tree, TreeNodeData } from '../types'\n\nexport function useCheck(props: TreeProps, tree: Ref<Tree | undefined>) {\n const checkedKeys = ref<Set<TreeKey>>(new Set())\n const indeterminateKeys = ref<Set<TreeKey>>(new Set())\n const { emit } = getCurrentInstance()!\n\n watch(\n () => tree.value,\n () => {\n return nextTick(() => {\n _setCheckedKeys(props.defaultCheckedKeys)\n })\n },\n {\n immediate: true,\n }\n )\n\n const updateCheckedKeys = () => {\n if (!tree.value || !props.showCheckbox || props.checkStrictly) {\n return\n }\n const { levelTreeNodeMap, maxLevel } = tree.value\n const checkedKeySet = checkedKeys.value\n const indeterminateKeySet = new Set<TreeKey>()\n // It is easier to determine the indeterminate state by\n // traversing from bottom to top\n // leaf nodes not have indeterminate status and can be skipped\n for (let level = maxLevel - 1; level >= 1; --level) {\n const nodes = levelTreeNodeMap.get(level)\n if (!nodes) continue\n nodes.forEach((node) => {\n const children = node.children\n if (children) {\n // Whether all child nodes are selected\n let allChecked = true\n // Whether a child node is selected\n let hasChecked = false\n for (const childNode of children) {\n const key = childNode.key\n if (checkedKeySet.has(key)) {\n hasChecked = true\n } else if (indeterminateKeySet.has(key)) {\n allChecked = false\n hasChecked = true\n break\n } else {\n allChecked = false\n }\n }\n if (allChecked) {\n checkedKeySet.add(node.key)\n } else if (hasChecked) {\n indeterminateKeySet.add(node.key)\n checkedKeySet.delete(node.key)\n } else {\n checkedKeySet.delete(node.key)\n indeterminateKeySet.delete(node.key)\n }\n }\n })\n }\n indeterminateKeys.value = indeterminateKeySet\n }\n\n const isChecked = (node: TreeNode) => checkedKeys.value.has(node.key)\n\n const isIndeterminate = (node: TreeNode) =>\n indeterminateKeys.value.has(node.key)\n\n const toggleCheckbox = (\n node: TreeNode,\n isChecked: boolean,\n nodeClick = true\n ) => {\n const checkedKeySet = checkedKeys.value\n const toggle = (node: TreeNode, checked: boolean) => {\n checkedKeySet[checked ? SetOperationEnum.ADD : SetOperationEnum.DELETE](\n node.key\n )\n const children = node.children\n if (!props.checkStrictly && children) {\n children.forEach((childNode) => {\n if (!childNode.disabled) {\n toggle(childNode, checked)\n }\n })\n }\n }\n toggle(node, isChecked)\n updateCheckedKeys()\n if (nodeClick) {\n afterNodeCheck(node, isChecked)\n }\n }\n\n const afterNodeCheck = (node: TreeNode, checked: boolean) => {\n const { checkedNodes, checkedKeys } = getChecked()\n const { halfCheckedNodes, halfCheckedKeys } = getHalfChecked()\n emit(NODE_CHECK, node.data, {\n checkedKeys,\n checkedNodes,\n halfCheckedKeys,\n halfCheckedNodes,\n })\n emit(NODE_CHECK_CHANGE, node.data, checked)\n }\n\n // expose\n function getCheckedKeys(leafOnly = false): TreeKey[] {\n return getChecked(leafOnly).checkedKeys\n }\n\n function getCheckedNodes(leafOnly = false): TreeNodeData[] {\n return getChecked(leafOnly).checkedNodes\n }\n\n function getHalfCheckedKeys(): TreeKey[] {\n return getHalfChecked().halfCheckedKeys\n }\n\n function getHalfCheckedNodes(): TreeNodeData[] {\n return getHalfChecked().halfCheckedNodes\n }\n\n function getChecked(leafOnly = false): {\n checkedKeys: TreeKey[]\n checkedNodes: TreeNodeData[]\n } {\n const checkedNodes: TreeNodeData[] = []\n const keys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n checkedKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && (!leafOnly || (leafOnly && node.isLeaf))) {\n keys.push(key)\n checkedNodes.push(node.data)\n }\n })\n }\n return {\n checkedKeys: keys,\n checkedNodes,\n }\n }\n\n function getHalfChecked(): {\n halfCheckedKeys: TreeKey[]\n halfCheckedNodes: TreeNodeData[]\n } {\n const halfCheckedNodes: TreeNodeData[] = []\n const halfCheckedKeys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n indeterminateKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node) {\n halfCheckedKeys.push(key)\n halfCheckedNodes.push(node.data)\n }\n })\n }\n return {\n halfCheckedNodes,\n halfCheckedKeys,\n }\n }\n\n function setCheckedKeys(keys: TreeKey[]) {\n checkedKeys.value.clear()\n _setCheckedKeys(keys)\n }\n\n function setChecked(key: TreeKey, isChecked: boolean) {\n if (tree?.value && props.showCheckbox) {\n const node = tree.value.treeNodeMap.get(key)\n if (node) {\n toggleCheckbox(node, isChecked, false)\n }\n }\n }\n\n function _setCheckedKeys(keys: TreeKey[]) {\n if (tree?.value) {\n const { treeNodeMap } = tree.value\n if (props.showCheckbox && treeNodeMap && keys) {\n for (const key of keys) {\n const node = treeNodeMap.get(key)\n if (node && !isChecked(node)) {\n toggleCheckbox(node, true, false)\n }\n }\n }\n }\n }\n\n return {\n updateCheckedKeys,\n toggleCheckbox,\n isChecked,\n isIndeterminate,\n // expose\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,7 @@ function useFilter(props, tree) {
|
|
|
38
38
|
hiddenKeys.add(node.key);
|
|
39
39
|
} else if (children) {
|
|
40
40
|
let allHidden = true;
|
|
41
|
-
for (
|
|
42
|
-
const childNode = children[i];
|
|
41
|
+
for (const childNode of children) {
|
|
43
42
|
if (!hiddenKeys.has(childNode.key)) {
|
|
44
43
|
allHidden = false;
|
|
45
44
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilter.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useFilter.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport type { Ref } from 'vue'\nimport type { TreeProps, TreeKey, TreeNode, Tree } from '../types'\n\n// When the data volume is very large using filter will cause lag\n// I haven't found a better way to optimize it for now\n// Maybe this problem should be left to the server side\nexport function useFilter(props: TreeProps, tree: Ref<Tree | undefined>) {\n const hiddenNodeKeySet = ref<Set<TreeKey>>(new Set([]))\n const hiddenExpandIconKeySet = ref<Set<TreeKey>>(new Set([]))\n\n const filterable = computed(() => {\n return isFunction(props.filterMethod)\n })\n\n function doFilter(query: string) {\n if (!filterable.value) {\n return\n }\n const expandKeySet = new Set<TreeKey>()\n const hiddenExpandIconKeys = hiddenExpandIconKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const family: TreeNode[] = []\n const nodes = tree.value?.treeNodes || []\n const filter = props.filterMethod\n hiddenKeys.clear()\n function traverse(nodes: TreeNode[]) {\n nodes.forEach((node) => {\n family.push(node)\n if (filter?.(query, node.data)) {\n family.forEach((member) => {\n expandKeySet.add(member.key)\n })\n } else if (node.isLeaf) {\n hiddenKeys.add(node.key)\n }\n const children = node.children\n if (children) {\n traverse(children)\n }\n if (!node.isLeaf) {\n if (!expandKeySet.has(node.key)) {\n hiddenKeys.add(node.key)\n } else if (children) {\n // If all child nodes are hidden, then the expand icon will be hidden\n let allHidden = true\n for (
|
|
1
|
+
{"version":3,"file":"useFilter.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useFilter.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport type { Ref } from 'vue'\nimport type { TreeProps, TreeKey, TreeNode, Tree } from '../types'\n\n// When the data volume is very large using filter will cause lag\n// I haven't found a better way to optimize it for now\n// Maybe this problem should be left to the server side\nexport function useFilter(props: TreeProps, tree: Ref<Tree | undefined>) {\n const hiddenNodeKeySet = ref<Set<TreeKey>>(new Set([]))\n const hiddenExpandIconKeySet = ref<Set<TreeKey>>(new Set([]))\n\n const filterable = computed(() => {\n return isFunction(props.filterMethod)\n })\n\n function doFilter(query: string) {\n if (!filterable.value) {\n return\n }\n const expandKeySet = new Set<TreeKey>()\n const hiddenExpandIconKeys = hiddenExpandIconKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const family: TreeNode[] = []\n const nodes = tree.value?.treeNodes || []\n const filter = props.filterMethod\n hiddenKeys.clear()\n function traverse(nodes: TreeNode[]) {\n nodes.forEach((node) => {\n family.push(node)\n if (filter?.(query, node.data)) {\n family.forEach((member) => {\n expandKeySet.add(member.key)\n })\n } else if (node.isLeaf) {\n hiddenKeys.add(node.key)\n }\n const children = node.children\n if (children) {\n traverse(children)\n }\n if (!node.isLeaf) {\n if (!expandKeySet.has(node.key)) {\n hiddenKeys.add(node.key)\n } else if (children) {\n // If all child nodes are hidden, then the expand icon will be hidden\n let allHidden = true\n for (const childNode of children) {\n if (!hiddenKeys.has(childNode.key)) {\n allHidden = false\n break\n }\n }\n if (allHidden) {\n hiddenExpandIconKeys.add(node.key)\n } else {\n hiddenExpandIconKeys.delete(node.key)\n }\n }\n }\n family.pop()\n })\n }\n traverse(nodes)\n return expandKeySet\n }\n\n function isForceHiddenExpandIcon(node: TreeNode): boolean {\n return hiddenExpandIconKeySet.value.has(node.key)\n }\n\n return {\n hiddenExpandIconKeySet,\n hiddenNodeKeySet,\n doFilter,\n isForceHiddenExpandIcon,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -86,8 +86,7 @@ function useTree(props, emit) {
|
|
|
86
86
|
function traverse(nodes, level = 1, parent = void 0) {
|
|
87
87
|
var _a;
|
|
88
88
|
const siblings = [];
|
|
89
|
-
for (
|
|
90
|
-
const rawNode = nodes[index];
|
|
89
|
+
for (const rawNode of nodes) {
|
|
91
90
|
const value = getKey(rawNode);
|
|
92
91
|
const node = {
|
|
93
92
|
level,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTree.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useTree.ts"],"sourcesContent":["import { computed, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n NODE_CLICK,\n NODE_COLLAPSE,\n NODE_EXPAND,\n CURRENT_CHANGE,\n TreeOptionsEnum,\n} from '../virtual-tree'\nimport { useCheck } from './useCheck'\nimport { useFilter } from './useFilter'\nimport type {\n TreeProps,\n TreeNodeData,\n TreeKey,\n TreeNode,\n TreeData,\n Tree,\n} from '../types'\n\nexport function useTree(props: TreeProps, emit) {\n const expandedKeySet = ref<Set<TreeKey>>(new Set(props.defaultExpandedKeys))\n const currentKey = ref<TreeKey | undefined>()\n const tree = shallowRef<Tree | undefined>()\n\n watch(\n () => props.currentNodeKey,\n (key) => {\n currentKey.value = key\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.data,\n (data: TreeData) => {\n setData(data)\n },\n {\n immediate: true,\n }\n )\n\n const {\n isIndeterminate,\n isChecked,\n toggleCheckbox,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n } = useCheck(props, tree)\n\n const { doFilter, hiddenNodeKeySet, isForceHiddenExpandIcon } = useFilter(\n props,\n tree\n )\n\n const valueKey = computed(() => {\n return props.props?.value || TreeOptionsEnum.KEY\n })\n const childrenKey = computed(() => {\n return props.props?.children || TreeOptionsEnum.CHILDREN\n })\n const disabledKey = computed(() => {\n return props.props?.disabled || TreeOptionsEnum.DISABLED\n })\n const labelKey = computed(() => {\n return props.props?.label || TreeOptionsEnum.LABEL\n })\n\n const flattenTree = computed(() => {\n const expandedKeys = expandedKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const flattenNodes: TreeNode[] = []\n const nodes = (tree.value && tree.value.treeNodes) || []\n function traverse() {\n const stack: TreeNode[] = []\n for (let i = nodes.length - 1; i >= 0; --i) {\n stack.push(nodes[i])\n }\n while (stack.length) {\n const node = stack.pop()\n if (!node) continue\n if (!hiddenKeys.has(node.key)) {\n flattenNodes.push(node)\n }\n // Only \"visible\" nodes will be rendered\n if (expandedKeys.has(node.key)) {\n const children = node.children\n if (children) {\n const length = children.length\n for (let i = length - 1; i >= 0; --i) {\n stack.push(children[i])\n }\n }\n }\n }\n }\n traverse()\n return flattenNodes\n })\n\n const isNotEmpty = computed(() => {\n return flattenTree.value.length > 0\n })\n\n function createTree(data: TreeData): Tree {\n const treeNodeMap: Map<TreeKey, TreeNode> = new Map()\n const levelTreeNodeMap: Map<number, TreeNode[]> = new Map()\n let maxLevel = 1\n function traverse(\n nodes: TreeData,\n level = 1,\n parent: TreeNode | undefined = undefined\n ) {\n const siblings: TreeNode[] = []\n for (let index = 0; index < nodes.length; ++index) {\n const rawNode = nodes[index]\n const value = getKey(rawNode)\n const node: TreeNode = {\n level,\n key: value,\n data: rawNode,\n }\n node.label = getLabel(rawNode)\n node.parent = parent\n const children = getChildren(rawNode)\n node.disabled = getDisabled(rawNode)\n node.isLeaf = !children || children.length === 0\n if (children && children.length) {\n node.children = traverse(children, level + 1, node)\n }\n siblings.push(node)\n treeNodeMap.set(value, node)\n if (!levelTreeNodeMap.has(level)) {\n levelTreeNodeMap.set(level, [])\n }\n levelTreeNodeMap.get(level)?.push(node)\n }\n if (level > maxLevel) {\n maxLevel = level\n }\n return siblings\n }\n const treeNodes: TreeNode[] = traverse(data)\n return {\n treeNodeMap,\n levelTreeNodeMap,\n maxLevel,\n treeNodes,\n }\n }\n\n function filter(query: string) {\n const keys = doFilter(query)\n if (keys) {\n expandedKeySet.value = keys\n }\n }\n\n function getChildren(node: TreeNodeData): TreeNodeData[] {\n return node[childrenKey.value]\n }\n\n function getKey(node: TreeNodeData): TreeKey {\n if (!node) {\n return ''\n }\n return node[valueKey.value]\n }\n\n function getDisabled(node: TreeNodeData): boolean {\n return node[disabledKey.value]\n }\n\n function getLabel(node: TreeNodeData): string {\n return node[labelKey.value]\n }\n\n function toggleExpand(node: TreeNode) {\n const expandedKeys = expandedKeySet.value\n if (expandedKeys.has(node.key)) {\n collapse(node)\n } else {\n expand(node)\n }\n }\n\n function handleNodeClick(node: TreeNode, e: MouseEvent) {\n emit(NODE_CLICK, node.data, node, e)\n handleCurrentChange(node)\n if (props.expandOnClickNode) {\n toggleExpand(node)\n }\n if (props.showCheckbox && props.checkOnClickNode && !node.disabled) {\n toggleCheckbox(node, !isChecked(node), true)\n }\n }\n\n function handleCurrentChange(node: TreeNode) {\n if (!isCurrent(node)) {\n currentKey.value = node.key\n emit(CURRENT_CHANGE, node.data, node)\n }\n }\n\n function handleNodeCheck(node: TreeNode, checked: boolean) {\n toggleCheckbox(node, checked)\n }\n\n function expand(node: TreeNode) {\n const keySet = expandedKeySet.value\n if (tree?.value && props.accordion) {\n // whether only one node among the same level can be expanded at one time\n const { treeNodeMap } = tree.value\n keySet.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && node.level === node.level) {\n keySet.delete(key)\n }\n })\n }\n keySet.add(node.key)\n emit(NODE_EXPAND, node.data, node)\n }\n\n function collapse(node: TreeNode) {\n expandedKeySet.value.delete(node.key)\n emit(NODE_COLLAPSE, node.data, node)\n }\n\n function isExpanded(node: TreeNode): boolean {\n return expandedKeySet.value.has(node.key)\n }\n\n function isDisabled(node: TreeNode): boolean {\n return !!node.disabled\n }\n\n function isCurrent(node: TreeNode): boolean {\n const current = currentKey.value\n return !!current && current === node.key\n }\n\n function getCurrentNode(): TreeNodeData | undefined {\n if (!currentKey.value) return undefined\n return tree?.value?.treeNodeMap.get(currentKey.value)?.data\n }\n\n function getCurrentKey(): TreeKey | undefined {\n return currentKey.value\n }\n\n function setCurrentKey(key: TreeKey): void {\n currentKey.value = key\n }\n\n function setData(data: TreeData) {\n nextTick(() => (tree.value = createTree(data)))\n }\n\n return {\n tree,\n flattenTree,\n isNotEmpty,\n getKey,\n getChildren,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isChecked,\n isIndeterminate,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTree.mjs","sources":["../../../../../../../packages/components/tree-v2/src/composables/useTree.ts"],"sourcesContent":["import { computed, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n NODE_CLICK,\n NODE_COLLAPSE,\n NODE_EXPAND,\n CURRENT_CHANGE,\n TreeOptionsEnum,\n} from '../virtual-tree'\nimport { useCheck } from './useCheck'\nimport { useFilter } from './useFilter'\nimport type {\n TreeProps,\n TreeNodeData,\n TreeKey,\n TreeNode,\n TreeData,\n Tree,\n} from '../types'\n\nexport function useTree(props: TreeProps, emit) {\n const expandedKeySet = ref<Set<TreeKey>>(new Set(props.defaultExpandedKeys))\n const currentKey = ref<TreeKey | undefined>()\n const tree = shallowRef<Tree | undefined>()\n\n watch(\n () => props.currentNodeKey,\n (key) => {\n currentKey.value = key\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.data,\n (data: TreeData) => {\n setData(data)\n },\n {\n immediate: true,\n }\n )\n\n const {\n isIndeterminate,\n isChecked,\n toggleCheckbox,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n } = useCheck(props, tree)\n\n const { doFilter, hiddenNodeKeySet, isForceHiddenExpandIcon } = useFilter(\n props,\n tree\n )\n\n const valueKey = computed(() => {\n return props.props?.value || TreeOptionsEnum.KEY\n })\n const childrenKey = computed(() => {\n return props.props?.children || TreeOptionsEnum.CHILDREN\n })\n const disabledKey = computed(() => {\n return props.props?.disabled || TreeOptionsEnum.DISABLED\n })\n const labelKey = computed(() => {\n return props.props?.label || TreeOptionsEnum.LABEL\n })\n\n const flattenTree = computed(() => {\n const expandedKeys = expandedKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const flattenNodes: TreeNode[] = []\n const nodes = (tree.value && tree.value.treeNodes) || []\n function traverse() {\n const stack: TreeNode[] = []\n for (let i = nodes.length - 1; i >= 0; --i) {\n stack.push(nodes[i])\n }\n while (stack.length) {\n const node = stack.pop()\n if (!node) continue\n if (!hiddenKeys.has(node.key)) {\n flattenNodes.push(node)\n }\n // Only \"visible\" nodes will be rendered\n if (expandedKeys.has(node.key)) {\n const children = node.children\n if (children) {\n const length = children.length\n for (let i = length - 1; i >= 0; --i) {\n stack.push(children[i])\n }\n }\n }\n }\n }\n traverse()\n return flattenNodes\n })\n\n const isNotEmpty = computed(() => {\n return flattenTree.value.length > 0\n })\n\n function createTree(data: TreeData): Tree {\n const treeNodeMap: Map<TreeKey, TreeNode> = new Map()\n const levelTreeNodeMap: Map<number, TreeNode[]> = new Map()\n let maxLevel = 1\n function traverse(\n nodes: TreeData,\n level = 1,\n parent: TreeNode | undefined = undefined\n ) {\n const siblings: TreeNode[] = []\n for (const rawNode of nodes) {\n const value = getKey(rawNode)\n const node: TreeNode = {\n level,\n key: value,\n data: rawNode,\n }\n node.label = getLabel(rawNode)\n node.parent = parent\n const children = getChildren(rawNode)\n node.disabled = getDisabled(rawNode)\n node.isLeaf = !children || children.length === 0\n if (children && children.length) {\n node.children = traverse(children, level + 1, node)\n }\n siblings.push(node)\n treeNodeMap.set(value, node)\n if (!levelTreeNodeMap.has(level)) {\n levelTreeNodeMap.set(level, [])\n }\n levelTreeNodeMap.get(level)?.push(node)\n }\n if (level > maxLevel) {\n maxLevel = level\n }\n return siblings\n }\n const treeNodes: TreeNode[] = traverse(data)\n return {\n treeNodeMap,\n levelTreeNodeMap,\n maxLevel,\n treeNodes,\n }\n }\n\n function filter(query: string) {\n const keys = doFilter(query)\n if (keys) {\n expandedKeySet.value = keys\n }\n }\n\n function getChildren(node: TreeNodeData): TreeNodeData[] {\n return node[childrenKey.value]\n }\n\n function getKey(node: TreeNodeData): TreeKey {\n if (!node) {\n return ''\n }\n return node[valueKey.value]\n }\n\n function getDisabled(node: TreeNodeData): boolean {\n return node[disabledKey.value]\n }\n\n function getLabel(node: TreeNodeData): string {\n return node[labelKey.value]\n }\n\n function toggleExpand(node: TreeNode) {\n const expandedKeys = expandedKeySet.value\n if (expandedKeys.has(node.key)) {\n collapse(node)\n } else {\n expand(node)\n }\n }\n\n function handleNodeClick(node: TreeNode, e: MouseEvent) {\n emit(NODE_CLICK, node.data, node, e)\n handleCurrentChange(node)\n if (props.expandOnClickNode) {\n toggleExpand(node)\n }\n if (props.showCheckbox && props.checkOnClickNode && !node.disabled) {\n toggleCheckbox(node, !isChecked(node), true)\n }\n }\n\n function handleCurrentChange(node: TreeNode) {\n if (!isCurrent(node)) {\n currentKey.value = node.key\n emit(CURRENT_CHANGE, node.data, node)\n }\n }\n\n function handleNodeCheck(node: TreeNode, checked: boolean) {\n toggleCheckbox(node, checked)\n }\n\n function expand(node: TreeNode) {\n const keySet = expandedKeySet.value\n if (tree?.value && props.accordion) {\n // whether only one node among the same level can be expanded at one time\n const { treeNodeMap } = tree.value\n keySet.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && node.level === node.level) {\n keySet.delete(key)\n }\n })\n }\n keySet.add(node.key)\n emit(NODE_EXPAND, node.data, node)\n }\n\n function collapse(node: TreeNode) {\n expandedKeySet.value.delete(node.key)\n emit(NODE_COLLAPSE, node.data, node)\n }\n\n function isExpanded(node: TreeNode): boolean {\n return expandedKeySet.value.has(node.key)\n }\n\n function isDisabled(node: TreeNode): boolean {\n return !!node.disabled\n }\n\n function isCurrent(node: TreeNode): boolean {\n const current = currentKey.value\n return !!current && current === node.key\n }\n\n function getCurrentNode(): TreeNodeData | undefined {\n if (!currentKey.value) return undefined\n return tree?.value?.treeNodeMap.get(currentKey.value)?.data\n }\n\n function getCurrentKey(): TreeKey | undefined {\n return currentKey.value\n }\n\n function setCurrentKey(key: TreeKey): void {\n currentKey.value = key\n }\n\n function setData(data: TreeData) {\n nextTick(() => (tree.value = createTree(data)))\n }\n\n return {\n tree,\n flattenTree,\n isNotEmpty,\n getKey,\n getChildren,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isChecked,\n isIndeterminate,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n }\n}\n"],"names":[],"mappings":"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"}
|