element-ps 2.0.31 → 2.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +124 -100
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +124 -100
- package/es/components/affix/index.d.ts +4 -0
- package/es/components/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +19 -82
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix.vue.d.ts +4 -0
- package/es/components/affix/src/affix2.mjs +82 -19
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/alert/index.d.ts +8 -0
- package/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +83 -33
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert.vue.d.ts +8 -0
- package/es/components/alert/src/alert2.mjs +33 -83
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/index.d.ts +20 -0
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +20 -0
- package/es/components/avatar/index.d.ts +8 -0
- package/es/components/avatar/src/avatar.vue.d.ts +8 -0
- package/es/components/backtop/index.d.ts +8 -0
- package/es/components/backtop/src/backtop.vue.d.ts +8 -0
- package/es/components/badge/index.d.ts +4 -0
- package/es/components/badge/index.mjs +2 -2
- package/es/components/badge/src/badge.mjs +17 -54
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge.vue.d.ts +4 -0
- package/es/components/badge/src/badge2.mjs +54 -17
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/breadcrumb/index.d.ts +20 -0
- package/es/components/breadcrumb/index.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb-item.vue.d.ts +8 -0
- package/es/components/breadcrumb/src/breadcrumb.mjs +37 -12
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +4 -0
- package/es/components/breadcrumb/src/breadcrumb2.mjs +12 -37
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/index.d.ts +16 -0
- package/es/components/button/index.mjs +1 -1
- package/es/components/button/src/button-group.mjs +30 -5
- package/es/components/button/src/button-group.mjs.map +1 -1
- package/es/components/button/src/button-group.vue.d.ts +4 -0
- package/es/components/button/src/button-group2.mjs +5 -30
- package/es/components/button/src/button-group2.mjs.map +1 -1
- package/es/components/button/src/button.vue.d.ts +8 -0
- package/es/components/calendar/index.d.ts +28 -0
- package/es/components/calendar/src/calendar.vue.d.ts +28 -0
- package/es/components/calendar/src/date-table.vue.d.ts +8 -0
- package/es/components/card/index.d.ts +4 -0
- package/es/components/card/index.mjs +2 -2
- package/es/components/card/src/card.mjs +35 -15
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/card.vue.d.ts +4 -0
- package/es/components/card/src/card2.mjs +15 -35
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/index.d.ts +16 -0
- package/es/components/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel-item.mjs +148 -7
- package/es/components/carousel/src/carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item.vue.d.ts +4 -0
- package/es/components/carousel/src/carousel-item2.mjs +7 -148
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +8 -0
- package/es/components/cascader/index.d.ts +48 -0
- package/es/components/cascader/src/index.vue.d.ts +24 -0
- package/es/components/cascader-panel/index.d.ts +8 -0
- package/es/components/cascader-panel/src/index.vue.d.ts +4 -0
- package/es/components/cascader-panel/src/menu.vue.d.ts +4 -0
- package/es/components/cascader-panel/src/node-content.d.ts +4 -0
- package/es/components/cascader-panel/src/node.vue.d.ts +4 -0
- package/es/components/check-tag/index.d.ts +4 -0
- package/es/components/check-tag/src/check-tag.vue.d.ts +4 -0
- package/es/components/checkbox/index.d.ts +12 -0
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
- package/es/components/checkbox/src/checkbox.vue.d.ts +4 -0
- package/es/components/collapse/index.d.ts +28 -0
- package/es/components/collapse/src/collapse-item.vue.d.ts +12 -0
- package/es/components/collapse/src/collapse.vue.d.ts +4 -0
- package/es/components/collapse-transition/index.d.ts +8 -0
- package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +4 -0
- package/es/components/color-picker/index.d.ts +8 -0
- package/es/components/color-picker/src/index.vue.d.ts +4 -0
- package/es/components/container/index.d.ts +36 -0
- package/es/components/container/src/aside.vue.d.ts +4 -0
- package/es/components/container/src/container.vue.d.ts +4 -0
- package/es/components/container/src/footer.vue.d.ts +4 -0
- package/es/components/container/src/header.vue.d.ts +4 -0
- package/es/components/container/src/main.vue.d.ts +4 -0
- package/es/components/descriptions/index.d.ts +4 -0
- package/es/components/descriptions/src/index.vue.d.ts +4 -0
- package/es/components/dialog/index.d.ts +12 -0
- package/es/components/dialog/src/dialog-content.mjs +79 -34
- package/es/components/dialog/src/dialog-content.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.vue.d.ts +8 -0
- package/es/components/dialog/src/dialog-content2.mjs +34 -79
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +12 -0
- package/es/components/dialog/src/dialog2.mjs +1 -1
- package/es/components/divider/index.d.ts +4 -0
- package/es/components/divider/src/divider.vue.d.ts +4 -0
- package/es/components/drawer/index.d.ts +4 -0
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +23 -117
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +4 -0
- package/es/components/drawer/src/drawer2.mjs +117 -23
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +4 -0
- package/es/components/dropdown/index.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +4 -0
- package/es/components/dropdown/src/dropdown-item.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +109 -100
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +4 -0
- package/es/components/dropdown/src/dropdown2.mjs +100 -109
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/empty/index.d.ts +4 -0
- package/es/components/empty/src/empty.vue.d.ts +4 -0
- package/es/components/form/index.d.ts +12 -0
- package/es/components/form/src/form-item.vue.d.ts +4 -0
- package/es/components/form/src/form.vue.d.ts +4 -0
- package/es/components/icon/index.d.ts +4 -0
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +8 -35
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon.vue.d.ts +4 -0
- package/es/components/icon/src/icon2.mjs +35 -8
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/image/index.d.ts +12 -0
- package/es/components/image/src/image.vue.d.ts +12 -0
- package/es/components/image-viewer/index.d.ts +8 -0
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
- package/es/components/index.mjs +25 -25
- package/es/components/input/index.d.ts +8 -0
- package/es/components/input/index.mjs +2 -2
- package/es/components/input/src/input.mjs +85 -295
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +8 -0
- package/es/components/input/src/input2.mjs +295 -85
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +20 -0
- package/es/components/input-number/src/input-number.vue.d.ts +20 -0
- package/es/components/link/index.d.ts +8 -0
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +19 -43
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link.vue.d.ts +8 -0
- package/es/components/link/src/link2.mjs +43 -19
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/menu/index.d.ts +30 -18
- package/es/components/menu/index.mjs +4 -4
- package/es/components/menu/src/menu-collapse-transition.mjs +53 -3
- package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
- package/es/components/menu/src/menu-collapse-transition.vue.d.ts +4 -1
- package/es/components/menu/src/menu-item-group.mjs +35 -4
- package/es/components/menu/src/menu-item-group.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group.vue.d.ts +4 -1
- package/es/components/menu/src/menu-item-group2.mjs +4 -56
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/menu/src/menu-item.mjs +74 -15
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue.d.ts +18 -15
- package/es/components/menu/src/menu-item2.mjs +15 -73
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +5 -3
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.mjs +11 -17
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/menu/src/types.d.ts +1 -0
- package/es/components/menu/src/use-menu-css-var.d.ts +1 -7
- package/es/components/menu/src/use-menu-css-var.mjs +12 -8
- package/es/components/menu/src/use-menu-css-var.mjs.map +1 -1
- package/es/components/menu/src/use-menu.d.ts +1 -2
- package/es/components/menu/src/use-menu.mjs +1 -24
- package/es/components/menu/src/use-menu.mjs.map +1 -1
- package/es/components/menu/src/utils/menu-bar.mjs.map +1 -1
- package/es/components/menu/src/utils/menu-item.mjs.map +1 -1
- package/es/components/menu/src/utils/submenu.mjs.map +1 -1
- package/es/components/page-header/index.d.ts +8 -0
- package/es/components/page-header/src/page-header.vue.d.ts +8 -0
- package/es/components/pagination/src/components/jumper.vue.d.ts +4 -0
- package/es/components/pagination/src/components/pager.vue.d.ts +8 -0
- package/es/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/es/components/pagination/src/components/total.vue.d.ts +4 -0
- package/es/components/popconfirm/index.d.ts +4 -0
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +4 -0
- package/es/components/popover/index.d.ts +8 -0
- package/es/components/popover/src/index.vue.d.ts +4 -0
- package/es/components/popover/src/popover.mjs +1 -1
- package/es/components/popper/index.mjs +4 -4
- package/es/components/popper/src/arrow.vue.d.ts +4 -0
- package/es/components/popper/src/content.mjs +64 -52
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content.vue.d.ts +4 -0
- package/es/components/popper/src/content2.mjs +52 -64
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +28 -17
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +17 -28
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/progress/index.d.ts +4 -0
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +230 -57
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress.vue.d.ts +4 -0
- package/es/components/progress/src/progress2.mjs +57 -230
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/index.d.ts +20 -0
- package/es/components/radio/index.mjs +4 -4
- package/es/components/radio/src/radio-button.mjs +1 -1
- package/es/components/radio/src/radio-button.vue.d.ts +4 -0
- package/es/components/radio/src/radio-button2.mjs +1 -1
- package/es/components/radio/src/radio-group.mjs +18 -37
- package/es/components/radio/src/radio-group.mjs.map +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +4 -0
- package/es/components/radio/src/radio-group2.mjs +37 -18
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/radio/src/radio.mjs +62 -74
- package/es/components/radio/src/radio.mjs.map +1 -1
- package/es/components/radio/src/radio.vue.d.ts +4 -0
- package/es/components/radio/src/radio2.mjs +74 -62
- package/es/components/radio/src/radio2.mjs.map +1 -1
- package/es/components/rate/index.d.ts +8 -0
- package/es/components/rate/src/rate.vue.d.ts +8 -0
- package/es/components/result/index.d.ts +4 -0
- package/es/components/result/src/result.vue.d.ts +4 -0
- package/es/components/scrollbar/index.d.ts +4 -0
- package/es/components/scrollbar/index.mjs +2 -2
- package/es/components/scrollbar/src/bar.mjs +22 -35
- package/es/components/scrollbar/src/bar.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +35 -22
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs +42 -112
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/es/components/scrollbar/src/scrollbar2.mjs +112 -42
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb.vue.d.ts +4 -0
- package/es/components/select/index.d.ts +20 -0
- package/es/components/select/src/option-group.vue.d.ts +4 -0
- package/es/components/select/src/option.vue.d.ts +4 -0
- package/es/components/select/src/select-dropdown.vue.d.ts +4 -0
- package/es/components/select/src/select.vue.d.ts +4 -0
- package/es/components/select-v2/index.d.ts +16 -0
- package/es/components/select-v2/src/group-item.vue.d.ts +4 -0
- package/es/components/select-v2/src/option-item.vue.d.ts +4 -0
- package/es/components/select-v2/src/select-dropdown.vue.d.ts +4 -0
- package/es/components/select-v2/src/select.vue.d.ts +8 -0
- package/es/components/select-v2/src/useSelect.d.ts +8 -0
- package/es/components/skeleton/index.d.ts +16 -0
- package/es/components/skeleton/src/skeleton-item.vue.d.ts +4 -0
- package/es/components/skeleton/src/skeleton.vue.d.ts +8 -0
- package/es/components/slider/index.d.ts +8 -0
- package/es/components/slider/src/button.vue.d.ts +4 -0
- package/es/components/slider/src/index.vue.d.ts +4 -0
- package/es/components/slider/src/marker.vue.d.ts +4 -0
- package/es/components/steps/index.d.ts +12 -0
- package/es/components/steps/src/index.vue.d.ts +4 -0
- package/es/components/steps/src/item.vue.d.ts +4 -0
- package/es/components/switch/index.d.ts +4 -0
- package/es/components/switch/src/switch.vue.d.ts +4 -0
- package/es/components/table/index.d.ts +4 -0
- package/es/components/table/src/filter-panel.vue.d.ts +4 -0
- package/es/components/table/src/table-body/index.d.ts +4 -0
- package/es/components/table/src/table-footer/index.d.ts +4 -0
- package/es/components/table/src/table-header/index.d.ts +4 -0
- package/es/components/table/src/table.vue.d.ts +4 -0
- package/es/components/tabs/index.d.ts +8 -0
- package/es/components/tabs/index.mjs +3 -3
- package/es/components/tabs/src/tab-bar.mjs +7 -76
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue.d.ts +4 -0
- package/es/components/tabs/src/tab-bar2.mjs +76 -7
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.mjs +1 -1
- package/es/components/tabs/src/tab-pane.mjs +61 -15
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +4 -0
- package/es/components/tabs/src/tab-pane2.mjs +15 -61
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tag/index.d.ts +8 -0
- package/es/components/tag/src/tag.vue.d.ts +8 -0
- package/es/components/teleport/index.d.ts +4 -0
- package/es/components/teleport/index.mjs +2 -2
- package/es/components/teleport/src/teleport.mjs +43 -18
- package/es/components/teleport/src/teleport.mjs.map +1 -1
- package/es/components/teleport/src/teleport.vue.d.ts +4 -0
- package/es/components/teleport/src/teleport2.mjs +18 -43
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +12 -0
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -0
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +4 -0
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +8 -0
- package/es/components/time-select/index.d.ts +8 -0
- package/es/components/time-select/src/time-select.vue.d.ts +4 -0
- package/es/components/timeline/index.d.ts +8 -0
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +73 -39
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item.vue.d.ts +4 -0
- package/es/components/timeline/src/timeline-item2.mjs +39 -73
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.mjs +2 -2
- package/es/components/tooltip/src/trigger.mjs +1 -1
- package/es/components/tooltip/src/trigger.vue.d.ts +4 -0
- package/es/components/tooltip-v2/index.d.ts +12 -0
- package/es/components/tooltip-v2/index.mjs +2 -2
- package/es/components/tooltip-v2/src/arrow.mjs +22 -38
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow.vue.d.ts +4 -0
- package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.mjs +113 -50
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.vue.d.ts +4 -0
- package/es/components/tooltip-v2/src/content2.mjs +50 -113
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.vue.d.ts +4 -0
- package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
- package/es/components/tooltip-v2/src/tooltip.vue.d.ts +12 -0
- package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
- package/es/components/transfer/index.d.ts +40 -0
- package/es/components/transfer/src/index.vue.d.ts +20 -0
- package/es/components/transfer/src/transfer-panel.vue.d.ts +4 -0
- package/es/components/tree/index.d.ts +8 -0
- package/es/components/tree/src/tree-node.vue.d.ts +4 -0
- package/es/components/tree/src/tree.vue.d.ts +4 -0
- package/es/components/tree-select/src/tree-select-option.d.ts +24 -0
- package/es/components/tree-v2/index.d.ts +4 -0
- package/es/components/tree-v2/src/tree-node.vue.d.ts +4 -0
- package/es/components/tree-v2/src/tree.vue.d.ts +4 -0
- package/es/components/upload/index.d.ts +44 -0
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +8 -0
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-dragger.mjs +32 -11
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger.vue.d.ts +4 -0
- package/es/components/upload/src/upload-dragger2.mjs +11 -32
- package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue.d.ts +20 -0
- package/es/components/upload/src/upload.vue.d.ts +44 -0
- package/es/components/virtual-list/src/builders/build-list.d.ts +4 -0
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -0
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -0
- package/es/hooks/use-namespace/index.d.ts +4 -0
- package/es/hooks/use-namespace/index.mjs +21 -1
- package/es/hooks/use-namespace/index.mjs.map +1 -1
- package/es/index.mjs +25 -25
- package/lib/components/affix/index.d.ts +4 -0
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +19 -82
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix.vue.d.ts +4 -0
- package/lib/components/affix/src/affix2.js +82 -19
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/alert/index.d.ts +8 -0
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +82 -33
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +8 -0
- package/lib/components/alert/src/alert2.js +33 -82
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/index.d.ts +20 -0
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +20 -0
- package/lib/components/avatar/index.d.ts +8 -0
- package/lib/components/avatar/src/avatar.vue.d.ts +8 -0
- package/lib/components/backtop/index.d.ts +8 -0
- package/lib/components/backtop/src/backtop.vue.d.ts +8 -0
- package/lib/components/badge/index.d.ts +4 -0
- package/lib/components/badge/index.js +2 -2
- package/lib/components/badge/src/badge.js +17 -54
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +4 -0
- package/lib/components/badge/src/badge2.js +54 -17
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/breadcrumb/index.d.ts +20 -0
- package/lib/components/breadcrumb/index.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb-item.vue.d.ts +8 -0
- package/lib/components/breadcrumb/src/breadcrumb.js +37 -12
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +4 -0
- package/lib/components/breadcrumb/src/breadcrumb2.js +12 -37
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/index.d.ts +16 -0
- package/lib/components/button/index.js +1 -1
- package/lib/components/button/src/button-group.js +30 -5
- package/lib/components/button/src/button-group.js.map +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +4 -0
- package/lib/components/button/src/button-group2.js +5 -30
- package/lib/components/button/src/button-group2.js.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +8 -0
- package/lib/components/calendar/index.d.ts +28 -0
- package/lib/components/calendar/src/calendar.vue.d.ts +28 -0
- package/lib/components/calendar/src/date-table.vue.d.ts +8 -0
- package/lib/components/card/index.d.ts +4 -0
- package/lib/components/card/index.js +2 -2
- package/lib/components/card/src/card.js +35 -15
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/card.vue.d.ts +4 -0
- package/lib/components/card/src/card2.js +15 -35
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/index.d.ts +16 -0
- package/lib/components/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel-item.js +148 -7
- package/lib/components/carousel/src/carousel-item.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.vue.d.ts +4 -0
- package/lib/components/carousel/src/carousel-item2.js +7 -148
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +8 -0
- package/lib/components/cascader/index.d.ts +48 -0
- package/lib/components/cascader/src/index.vue.d.ts +24 -0
- package/lib/components/cascader-panel/index.d.ts +8 -0
- package/lib/components/cascader-panel/src/index.vue.d.ts +4 -0
- package/lib/components/cascader-panel/src/menu.vue.d.ts +4 -0
- package/lib/components/cascader-panel/src/node-content.d.ts +4 -0
- package/lib/components/cascader-panel/src/node.vue.d.ts +4 -0
- package/lib/components/check-tag/index.d.ts +4 -0
- package/lib/components/check-tag/src/check-tag.vue.d.ts +4 -0
- package/lib/components/checkbox/index.d.ts +12 -0
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
- package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -0
- package/lib/components/collapse/index.d.ts +28 -0
- package/lib/components/collapse/src/collapse-item.vue.d.ts +12 -0
- package/lib/components/collapse/src/collapse.vue.d.ts +4 -0
- package/lib/components/collapse-transition/index.d.ts +8 -0
- package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +4 -0
- package/lib/components/color-picker/index.d.ts +8 -0
- package/lib/components/color-picker/src/index.vue.d.ts +4 -0
- package/lib/components/container/index.d.ts +36 -0
- package/lib/components/container/src/aside.vue.d.ts +4 -0
- package/lib/components/container/src/container.vue.d.ts +4 -0
- package/lib/components/container/src/footer.vue.d.ts +4 -0
- package/lib/components/container/src/header.vue.d.ts +4 -0
- package/lib/components/container/src/main.vue.d.ts +4 -0
- package/lib/components/descriptions/index.d.ts +4 -0
- package/lib/components/descriptions/src/index.vue.d.ts +4 -0
- package/lib/components/dialog/index.d.ts +12 -0
- package/lib/components/dialog/src/dialog-content.js +78 -33
- package/lib/components/dialog/src/dialog-content.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.vue.d.ts +8 -0
- package/lib/components/dialog/src/dialog-content2.js +33 -78
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +12 -0
- package/lib/components/dialog/src/dialog2.js +1 -1
- package/lib/components/divider/index.d.ts +4 -0
- package/lib/components/divider/src/divider.vue.d.ts +4 -0
- package/lib/components/drawer/index.d.ts +4 -0
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +23 -117
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +4 -0
- package/lib/components/drawer/src/drawer2.js +117 -23
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +4 -0
- package/lib/components/dropdown/index.js +2 -2
- package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +4 -0
- package/lib/components/dropdown/src/dropdown-item.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +109 -109
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +4 -0
- package/lib/components/dropdown/src/dropdown2.js +109 -109
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/empty/index.d.ts +4 -0
- package/lib/components/empty/src/empty.vue.d.ts +4 -0
- package/lib/components/form/index.d.ts +12 -0
- package/lib/components/form/src/form-item.vue.d.ts +4 -0
- package/lib/components/form/src/form.vue.d.ts +4 -0
- package/lib/components/icon/index.d.ts +4 -0
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +8 -35
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon.vue.d.ts +4 -0
- package/lib/components/icon/src/icon2.js +35 -8
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/image/index.d.ts +12 -0
- package/lib/components/image/src/image.vue.d.ts +12 -0
- package/lib/components/image-viewer/index.d.ts +8 -0
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
- package/lib/components/index.js +25 -25
- package/lib/components/input/index.d.ts +8 -0
- package/lib/components/input/index.js +2 -2
- package/lib/components/input/src/input.js +84 -294
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +8 -0
- package/lib/components/input/src/input2.js +294 -84
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +20 -0
- package/lib/components/input-number/src/input-number.vue.d.ts +20 -0
- package/lib/components/link/index.d.ts +8 -0
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +19 -43
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link.vue.d.ts +8 -0
- package/lib/components/link/src/link2.js +43 -19
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/menu/index.d.ts +30 -18
- package/lib/components/menu/index.js +4 -4
- package/lib/components/menu/src/menu-collapse-transition.js +52 -2
- package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
- package/lib/components/menu/src/menu-collapse-transition.vue.d.ts +4 -1
- package/lib/components/menu/src/menu-item-group.js +35 -4
- package/lib/components/menu/src/menu-item-group.js.map +1 -1
- package/lib/components/menu/src/menu-item-group.vue.d.ts +4 -1
- package/lib/components/menu/src/menu-item-group2.js +4 -56
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/menu/src/menu-item.js +74 -16
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue.d.ts +18 -15
- package/lib/components/menu/src/menu-item2.js +16 -73
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/menu/src/menu.js +5 -3
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.js +11 -17
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/menu/src/types.d.ts +1 -0
- package/lib/components/menu/src/use-menu-css-var.d.ts +1 -7
- package/lib/components/menu/src/use-menu-css-var.js +12 -8
- package/lib/components/menu/src/use-menu-css-var.js.map +1 -1
- package/lib/components/menu/src/use-menu.d.ts +1 -2
- package/lib/components/menu/src/use-menu.js +0 -23
- package/lib/components/menu/src/use-menu.js.map +1 -1
- package/lib/components/menu/src/utils/menu-bar.js.map +1 -1
- package/lib/components/menu/src/utils/menu-item.js.map +1 -1
- package/lib/components/menu/src/utils/submenu.js.map +1 -1
- package/lib/components/page-header/index.d.ts +8 -0
- package/lib/components/page-header/src/page-header.vue.d.ts +8 -0
- package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -0
- package/lib/components/pagination/src/components/pager.vue.d.ts +8 -0
- package/lib/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/lib/components/pagination/src/components/total.vue.d.ts +4 -0
- package/lib/components/popconfirm/index.d.ts +4 -0
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +4 -0
- package/lib/components/popover/index.d.ts +8 -0
- package/lib/components/popover/src/index.vue.d.ts +4 -0
- package/lib/components/popover/src/popover.js +1 -1
- package/lib/components/popper/index.js +4 -4
- package/lib/components/popper/src/arrow.vue.d.ts +4 -0
- package/lib/components/popper/src/content.js +65 -52
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content.vue.d.ts +4 -0
- package/lib/components/popper/src/content2.js +52 -65
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +28 -17
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +17 -28
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/progress/index.d.ts +4 -0
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +230 -57
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress.vue.d.ts +4 -0
- package/lib/components/progress/src/progress2.js +57 -230
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/index.d.ts +20 -0
- package/lib/components/radio/index.js +4 -4
- package/lib/components/radio/src/radio-button.js +1 -1
- package/lib/components/radio/src/radio-button.vue.d.ts +4 -0
- package/lib/components/radio/src/radio-button2.js +1 -1
- package/lib/components/radio/src/radio-group.js +18 -37
- package/lib/components/radio/src/radio-group.js.map +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +4 -0
- package/lib/components/radio/src/radio-group2.js +37 -18
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/radio/src/radio.js +64 -73
- package/lib/components/radio/src/radio.js.map +1 -1
- package/lib/components/radio/src/radio.vue.d.ts +4 -0
- package/lib/components/radio/src/radio2.js +73 -64
- package/lib/components/radio/src/radio2.js.map +1 -1
- package/lib/components/rate/index.d.ts +8 -0
- package/lib/components/rate/src/rate.vue.d.ts +8 -0
- package/lib/components/result/index.d.ts +4 -0
- package/lib/components/result/src/result.vue.d.ts +4 -0
- package/lib/components/scrollbar/index.d.ts +4 -0
- package/lib/components/scrollbar/index.js +2 -2
- package/lib/components/scrollbar/src/bar.js +22 -35
- package/lib/components/scrollbar/src/bar.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +35 -22
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.js +42 -112
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/lib/components/scrollbar/src/scrollbar2.js +112 -42
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb.vue.d.ts +4 -0
- package/lib/components/select/index.d.ts +20 -0
- package/lib/components/select/src/option-group.vue.d.ts +4 -0
- package/lib/components/select/src/option.vue.d.ts +4 -0
- package/lib/components/select/src/select-dropdown.vue.d.ts +4 -0
- package/lib/components/select/src/select.vue.d.ts +4 -0
- package/lib/components/select-v2/index.d.ts +16 -0
- package/lib/components/select-v2/src/group-item.vue.d.ts +4 -0
- package/lib/components/select-v2/src/option-item.vue.d.ts +4 -0
- package/lib/components/select-v2/src/select-dropdown.vue.d.ts +4 -0
- package/lib/components/select-v2/src/select.vue.d.ts +8 -0
- package/lib/components/select-v2/src/useSelect.d.ts +8 -0
- package/lib/components/skeleton/index.d.ts +16 -0
- package/lib/components/skeleton/src/skeleton-item.vue.d.ts +4 -0
- package/lib/components/skeleton/src/skeleton.vue.d.ts +8 -0
- package/lib/components/slider/index.d.ts +8 -0
- package/lib/components/slider/src/button.vue.d.ts +4 -0
- package/lib/components/slider/src/index.vue.d.ts +4 -0
- package/lib/components/slider/src/marker.vue.d.ts +4 -0
- package/lib/components/steps/index.d.ts +12 -0
- package/lib/components/steps/src/index.vue.d.ts +4 -0
- package/lib/components/steps/src/item.vue.d.ts +4 -0
- package/lib/components/switch/index.d.ts +4 -0
- package/lib/components/switch/src/switch.vue.d.ts +4 -0
- package/lib/components/table/index.d.ts +4 -0
- package/lib/components/table/src/filter-panel.vue.d.ts +4 -0
- package/lib/components/table/src/table-body/index.d.ts +4 -0
- package/lib/components/table/src/table-footer/index.d.ts +4 -0
- package/lib/components/table/src/table-header/index.d.ts +4 -0
- package/lib/components/table/src/table.vue.d.ts +4 -0
- package/lib/components/tabs/index.d.ts +8 -0
- package/lib/components/tabs/index.js +3 -3
- package/lib/components/tabs/src/tab-bar.js +7 -76
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue.d.ts +4 -0
- package/lib/components/tabs/src/tab-bar2.js +76 -7
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.js +1 -1
- package/lib/components/tabs/src/tab-pane.js +61 -15
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +4 -0
- package/lib/components/tabs/src/tab-pane2.js +15 -61
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tag/index.d.ts +8 -0
- package/lib/components/tag/src/tag.vue.d.ts +8 -0
- package/lib/components/teleport/index.d.ts +4 -0
- package/lib/components/teleport/index.js +2 -2
- package/lib/components/teleport/src/teleport.js +43 -18
- package/lib/components/teleport/src/teleport.js.map +1 -1
- package/lib/components/teleport/src/teleport.vue.d.ts +4 -0
- package/lib/components/teleport/src/teleport2.js +18 -43
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +12 -0
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -0
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +4 -0
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +8 -0
- package/lib/components/time-select/index.d.ts +8 -0
- package/lib/components/time-select/src/time-select.vue.d.ts +4 -0
- package/lib/components/timeline/index.d.ts +8 -0
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +73 -39
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item.vue.d.ts +4 -0
- package/lib/components/timeline/src/timeline-item2.js +39 -73
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.js +2 -2
- package/lib/components/tooltip/src/trigger.js +1 -1
- package/lib/components/tooltip/src/trigger.vue.d.ts +4 -0
- package/lib/components/tooltip-v2/index.d.ts +12 -0
- package/lib/components/tooltip-v2/index.js +2 -2
- package/lib/components/tooltip-v2/src/arrow.js +23 -38
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow.vue.d.ts +4 -0
- package/lib/components/tooltip-v2/src/arrow2.js +38 -23
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.js +113 -50
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.vue.d.ts +4 -0
- package/lib/components/tooltip-v2/src/content2.js +50 -113
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.vue.d.ts +4 -0
- package/lib/components/tooltip-v2/src/tooltip.js +2 -2
- package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +12 -0
- package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
- package/lib/components/transfer/index.d.ts +40 -0
- package/lib/components/transfer/src/index.vue.d.ts +20 -0
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +4 -0
- package/lib/components/tree/index.d.ts +8 -0
- package/lib/components/tree/src/tree-node.vue.d.ts +4 -0
- package/lib/components/tree/src/tree.vue.d.ts +4 -0
- package/lib/components/tree-select/src/tree-select-option.d.ts +24 -0
- package/lib/components/tree-v2/index.d.ts +4 -0
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +4 -0
- package/lib/components/tree-v2/src/tree.vue.d.ts +4 -0
- package/lib/components/upload/index.d.ts +44 -0
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +8 -0
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-dragger.js +32 -12
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/components/upload/src/upload-dragger.vue.d.ts +4 -0
- package/lib/components/upload/src/upload-dragger2.js +12 -32
- package/lib/components/upload/src/upload-dragger2.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue.d.ts +20 -0
- package/lib/components/upload/src/upload.vue.d.ts +44 -0
- package/lib/components/virtual-list/src/builders/build-list.d.ts +4 -0
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -0
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -0
- package/lib/hooks/use-namespace/index.d.ts +4 -0
- package/lib/hooks/use-namespace/index.js +21 -1
- package/lib/hooks/use-namespace/index.js.map +1 -1
- package/lib/index.js +25 -25
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -2,24 +2,82 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
var
|
|
7
|
-
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var index = require('../../tooltip/index.js');
|
|
7
|
+
require('../../popper/index.js');
|
|
8
|
+
require('../../../hooks/index.js');
|
|
9
|
+
var useMenu = require('./use-menu.js');
|
|
10
|
+
var menuItem = require('./menu-item2.js');
|
|
11
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
12
|
+
var index$1 = require('../../../hooks/use-namespace/index.js');
|
|
13
|
+
var popper = require('../../popper/src/popper.js');
|
|
8
14
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
const COMPONENT_NAME = "PsMenuItem";
|
|
16
|
+
const _sfc_main = vue.defineComponent({
|
|
17
|
+
name: COMPONENT_NAME,
|
|
18
|
+
components: {
|
|
19
|
+
PsTooltip: index.PsTooltip
|
|
13
20
|
},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
props: menuItem.menuItemProps,
|
|
22
|
+
setup(props) {
|
|
23
|
+
const instance = vue.getCurrentInstance();
|
|
24
|
+
const rootMenu = vue.inject("rootMenu");
|
|
25
|
+
const nsMenu = index$1.useNamespace("menu");
|
|
26
|
+
const nsMenuItem = index$1.useNamespace("menu-item");
|
|
27
|
+
const { parentMenu, indexPath } = useMenu["default"](instance, vue.toRef(props, "index"));
|
|
28
|
+
const active = vue.computed(() => props.index === (rootMenu == null ? void 0 : rootMenu.activeIndex));
|
|
29
|
+
const item = vue.reactive({
|
|
30
|
+
index: props.index,
|
|
31
|
+
indexPath,
|
|
32
|
+
active
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
Effect: popper.Effect,
|
|
36
|
+
parentMenu,
|
|
37
|
+
rootMenu,
|
|
38
|
+
active,
|
|
39
|
+
nsMenu,
|
|
40
|
+
nsMenuItem
|
|
41
|
+
};
|
|
42
|
+
}
|
|
18
43
|
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
44
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const _component_ps_tooltip = vue.resolveComponent("ps-tooltip");
|
|
47
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
48
|
+
class: vue.normalizeClass([
|
|
49
|
+
_ctx.nsMenuItem.b(),
|
|
50
|
+
_ctx.nsMenuItem.is("active", _ctx.active),
|
|
51
|
+
_ctx.nsMenuItem.is("disabled", _ctx.disabled)
|
|
52
|
+
]),
|
|
53
|
+
role: "menuitem",
|
|
54
|
+
tabindex: "-1"
|
|
55
|
+
}, [
|
|
56
|
+
((_a = _ctx.parentMenu) == null ? void 0 : _a.type.name) === "PsMenu" && ((_b = _ctx.rootMenu) == null ? void 0 : _b.props.collapse) && _ctx.$slots.title ? (vue.openBlock(), vue.createBlock(_component_ps_tooltip, {
|
|
57
|
+
key: 0,
|
|
58
|
+
effect: _ctx.Effect.DARK,
|
|
59
|
+
placement: "right",
|
|
60
|
+
"fallback-placements": ["left"],
|
|
61
|
+
persistent: ""
|
|
62
|
+
}, {
|
|
63
|
+
content: vue.withCtx(() => [
|
|
64
|
+
vue.renderSlot(_ctx.$slots, "title")
|
|
65
|
+
]),
|
|
66
|
+
default: vue.withCtx(() => [
|
|
67
|
+
vue.createElementVNode("div", {
|
|
68
|
+
class: vue.normalizeClass(_ctx.nsMenu.be("tooltip", "trigger"))
|
|
69
|
+
}, [
|
|
70
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
71
|
+
], 2)
|
|
72
|
+
]),
|
|
73
|
+
_: 3
|
|
74
|
+
}, 8, ["effect"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
75
|
+
vue.renderSlot(_ctx.$slots, "default"),
|
|
76
|
+
vue.renderSlot(_ctx.$slots, "title")
|
|
77
|
+
], 64))
|
|
78
|
+
], 2);
|
|
79
|
+
}
|
|
80
|
+
var MenuItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/menu/src/menu-item.vue"]]);
|
|
22
81
|
|
|
23
|
-
exports
|
|
24
|
-
exports.menuItemProps = menuItemProps;
|
|
82
|
+
exports["default"] = MenuItem;
|
|
25
83
|
//# sourceMappingURL=menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.js","sources":["../../../../../../packages/components/menu/src/menu-item.
|
|
1
|
+
{"version":3,"file":"menu-item.js","sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n <li\n :class=\"[\n nsMenuItem.b(),\n nsMenuItem.is('active', active),\n nsMenuItem.is('disabled', disabled),\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <ps-tooltip\n v-if=\"\n parentMenu?.type.name === 'PsMenu' &&\n rootMenu?.props.collapse &&\n $slots.title\n \"\n :effect=\"Effect.DARK\"\n placement=\"right\"\n :fallback-placements=\"['left']\"\n persistent\n >\n <template #content>\n <slot name=\"title\" />\n </template>\n <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n </ps-tooltip>\n <template v-else>\n <slot />\n <slot name=\"title\" />\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n reactive,\n toRef,\n} from 'vue'\nimport PsTooltip from '@element-ps/components/tooltip'\nimport { Effect } from '@element-ps/components/popper'\nimport { useNamespace } from '@element-ps/hooks'\nimport useMenu from './use-menu'\nimport { menuItemProps } from './menu-item'\n\nimport type { MenuItemRegistered, MenuProvider } from './types'\n\nconst COMPONENT_NAME = 'PsMenuItem'\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n PsTooltip,\n },\n\n props: menuItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const rootMenu = inject<MenuProvider>('rootMenu')\n const nsMenu = useNamespace('menu')\n const nsMenuItem = useNamespace('menu-item')\n\n const { parentMenu, indexPath } = useMenu(instance, toRef(props, 'index'))\n\n\n const active = computed(() => props.index === rootMenu?.activeIndex)\n const item: MenuItemRegistered = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n return {\n Effect,\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsTooltip","menuItemProps","getCurrentInstance","inject","useNamespace","useMenu","toRef","computed","reactive","Effect","_resolveComponent","_openBlock","_createElementBlock","_createBlock","_withCtx","_renderSlot","_createElementVNode","_normalizeClass","_Fragment"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MenuProvider } from './types';
|
|
2
2
|
declare const _default: import("vue").DefineComponent<{
|
|
3
|
-
readonly index: import("
|
|
4
|
-
readonly route: import("
|
|
3
|
+
readonly index: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<string | null>, null, unknown, unknown, unknown>;
|
|
4
|
+
readonly route: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<import("vue-router").RouteLocationRaw>, unknown, unknown, unknown, unknown>;
|
|
5
5
|
readonly disabled: BooleanConstructor;
|
|
6
6
|
}, {
|
|
7
7
|
Effect: {
|
|
@@ -9,8 +9,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
9
9
|
DARK: string;
|
|
10
10
|
};
|
|
11
11
|
parentMenu: import("vue").ComputedRef<import("vue").ComponentInternalInstance>;
|
|
12
|
-
rootMenu: MenuProvider;
|
|
13
|
-
paddingStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
12
|
+
rootMenu: MenuProvider | undefined;
|
|
14
13
|
active: import("vue").ComputedRef<boolean>;
|
|
15
14
|
nsMenu: {
|
|
16
15
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -25,6 +24,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
25
24
|
(name: string, state: boolean | undefined): string;
|
|
26
25
|
(name: string): string;
|
|
27
26
|
};
|
|
27
|
+
cssVar: (object: Record<string, string>) => Record<string, string>;
|
|
28
|
+
cssVarName: (name: string) => string;
|
|
29
|
+
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
30
|
+
cssVarBlockName: (name: string) => string;
|
|
28
31
|
};
|
|
29
32
|
nsMenuItem: {
|
|
30
33
|
namespace: import("vue").ComputedRef<string>;
|
|
@@ -39,18 +42,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
39
42
|
(name: string, state: boolean | undefined): string;
|
|
40
43
|
(name: string): string;
|
|
41
44
|
};
|
|
45
|
+
cssVar: (object: Record<string, string>) => Record<string, string>;
|
|
46
|
+
cssVarName: (name: string) => string;
|
|
47
|
+
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
48
|
+
cssVarBlockName: (name: string) => string;
|
|
42
49
|
};
|
|
43
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
readonly index: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string | null>, null, unknown, unknown, unknown>;
|
|
47
|
-
readonly route: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue-router").RouteLocationRaw>, unknown, unknown, unknown, unknown>;
|
|
50
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
51
|
+
readonly index: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<string | null>, null, unknown, unknown, unknown>;
|
|
52
|
+
readonly route: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<import("vue-router").RouteLocationRaw>, unknown, unknown, unknown, unknown>;
|
|
48
53
|
readonly disabled: BooleanConstructor;
|
|
49
|
-
}
|
|
50
|
-
onClick?: ((item: MenuItemRegistered) => any) | undefined;
|
|
51
|
-
}, {
|
|
54
|
+
}>>, {
|
|
52
55
|
disabled: boolean;
|
|
53
|
-
index: import("
|
|
54
|
-
route: import("
|
|
56
|
+
index: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<string | null>, unknown, unknown>;
|
|
57
|
+
route: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<import("vue-router").RouteLocationRaw>, unknown, unknown>;
|
|
55
58
|
}>;
|
|
56
59
|
export default _default;
|
|
@@ -2,81 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
require('../../popper/index.js');
|
|
7
5
|
require('../../../utils/index.js');
|
|
8
|
-
require('../../../
|
|
9
|
-
var
|
|
10
|
-
var menuItem = require('./menu-item.js');
|
|
11
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
12
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
13
|
-
var error = require('../../../utils/error.js');
|
|
14
|
-
var popper = require('../../popper/src/popper.js');
|
|
6
|
+
var props = require('../../../utils/vue/props.js');
|
|
7
|
+
var shared = require('@vue/shared');
|
|
15
8
|
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const nsMenuItem = index.useNamespace("menu-item");
|
|
26
|
-
if (!rootMenu)
|
|
27
|
-
error.throwError(COMPONENT_NAME, "can not inject root menu");
|
|
28
|
-
const { parentMenu, paddingStyle, indexPath } = useMenu["default"](instance, vue.toRef(props, "index"));
|
|
29
|
-
const subMenu = vue.inject(`subMenu:${parentMenu.value.uid}`);
|
|
30
|
-
if (!subMenu)
|
|
31
|
-
error.throwError(COMPONENT_NAME, "can not inject sub menu");
|
|
32
|
-
const active = vue.computed(() => props.index === rootMenu.activeIndex);
|
|
33
|
-
const item = vue.reactive({
|
|
34
|
-
index: props.index,
|
|
35
|
-
indexPath,
|
|
36
|
-
active
|
|
37
|
-
});
|
|
38
|
-
vue.onMounted(() => {
|
|
39
|
-
subMenu.addSubMenu(item);
|
|
40
|
-
rootMenu.addMenuItem(item);
|
|
41
|
-
});
|
|
42
|
-
vue.onBeforeUnmount(() => {
|
|
43
|
-
subMenu.removeSubMenu(item);
|
|
44
|
-
rootMenu.removeMenuItem(item);
|
|
45
|
-
});
|
|
46
|
-
return {
|
|
47
|
-
Effect: popper.Effect,
|
|
48
|
-
parentMenu,
|
|
49
|
-
rootMenu,
|
|
50
|
-
paddingStyle,
|
|
51
|
-
active,
|
|
52
|
-
nsMenu,
|
|
53
|
-
nsMenuItem
|
|
54
|
-
};
|
|
55
|
-
}
|
|
9
|
+
const menuItemProps = props.buildProps({
|
|
10
|
+
index: {
|
|
11
|
+
type: props.definePropType([String, null]),
|
|
12
|
+
default: null
|
|
13
|
+
},
|
|
14
|
+
route: {
|
|
15
|
+
type: props.definePropType([String, Object])
|
|
16
|
+
},
|
|
17
|
+
disabled: Boolean
|
|
56
18
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
_ctx.nsMenuItem.b(),
|
|
61
|
-
_ctx.nsMenuItem.is("active", _ctx.active),
|
|
62
|
-
_ctx.nsMenuItem.is("disabled", _ctx.disabled)
|
|
63
|
-
]),
|
|
64
|
-
role: "menuitem",
|
|
65
|
-
tabindex: "-1",
|
|
66
|
-
style: vue.normalizeStyle(_ctx.paddingStyle)
|
|
67
|
-
}, [
|
|
68
|
-
_ctx.parentMenu.type.name === "PsMenu" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
69
|
-
key: 0,
|
|
70
|
-
class: vue.normalizeClass(_ctx.nsMenu.be("tooltip", "trigger"))
|
|
71
|
-
}, [
|
|
72
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
73
|
-
], 2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
74
|
-
vue.renderSlot(_ctx.$slots, "default"),
|
|
75
|
-
vue.renderSlot(_ctx.$slots, "title")
|
|
76
|
-
], 64))
|
|
77
|
-
], 6);
|
|
78
|
-
}
|
|
79
|
-
var MenuItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/menu/src/menu-item.vue"]]);
|
|
19
|
+
const menuItemEmits = {
|
|
20
|
+
click: (item) => shared.isString(item.index) && Array.isArray(item.indexPath)
|
|
21
|
+
};
|
|
80
22
|
|
|
81
|
-
exports
|
|
23
|
+
exports.menuItemEmits = menuItemEmits;
|
|
24
|
+
exports.menuItemProps = menuItemProps;
|
|
82
25
|
//# sourceMappingURL=menu-item2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item2.js","sources":["../../../../../../packages/components/menu/src/menu-item.
|
|
1
|
+
{"version":3,"file":"menu-item2.js","sources":["../../../../../../packages/components/menu/src/menu-item.ts"],"sourcesContent":["import { buildProps, definePropType, isString } from '@element-ps/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { MenuItemRegistered } from './types'\n\nexport const menuItemProps = buildProps({\n index: {\n type: definePropType<string | null>([String, null]),\n default: null,\n },\n route: {\n type: definePropType<RouteLocationRaw>([String, Object]),\n },\n disabled: Boolean,\n} as const)\nexport type MenuItemProps = ExtractPropTypes<typeof menuItemProps>\n\nexport const menuItemEmits = {\n click: (item: MenuItemRegistered) =>\n isString(item.index) && Array.isArray(item.indexPath),\n}\nexport type MenuItemEmits = typeof menuItemEmits\n"],"names":["buildProps","definePropType","isString"],"mappings":";;;;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,CAAC;AACxC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,oBAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,oBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,CAAC,IAAI,KAAKC,eAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACxE;;;;;"}
|
|
@@ -59,6 +59,7 @@ var Menu = vue.defineComponent({
|
|
|
59
59
|
props: menuProps,
|
|
60
60
|
setup(props, { slots, expose }) {
|
|
61
61
|
const instance = vue.getCurrentInstance();
|
|
62
|
+
const router = instance.appContext.config.globalProperties.$router;
|
|
62
63
|
const menu = vue.ref();
|
|
63
64
|
const nsMenu = index.useNamespace("menu");
|
|
64
65
|
const nsSubMenu = index.useNamespace("sub-menu");
|
|
@@ -147,7 +148,8 @@ var Menu = vue.defineComponent({
|
|
|
147
148
|
vue.provide(`subMenu:${instance.uid}`, {
|
|
148
149
|
addSubMenu,
|
|
149
150
|
removeSubMenu,
|
|
150
|
-
mouseInChild: vue.ref(false)
|
|
151
|
+
mouseInChild: vue.ref(false),
|
|
152
|
+
level: 0
|
|
151
153
|
});
|
|
152
154
|
}
|
|
153
155
|
vue.onMounted(() => {
|
|
@@ -214,7 +216,7 @@ var Menu = vue.defineComponent({
|
|
|
214
216
|
}));
|
|
215
217
|
}
|
|
216
218
|
}
|
|
217
|
-
const ulStyle = useMenuCssVar.useMenuCssVar(props);
|
|
219
|
+
const ulStyle = useMenuCssVar.useMenuCssVar(props, 0);
|
|
218
220
|
const resizeMenu = (vNode) => props.ellipsis ? useVNodeResize(vNode) : vNode;
|
|
219
221
|
const vMenu = resizeMenu(vue.h("ul", {
|
|
220
222
|
key: String(props.collapse),
|
|
@@ -223,7 +225,7 @@ var Menu = vue.defineComponent({
|
|
|
223
225
|
style: ulStyle.value,
|
|
224
226
|
class: {
|
|
225
227
|
[nsMenu.b()]: true,
|
|
226
|
-
[nsMenu.m(
|
|
228
|
+
[nsMenu.m(props.mode)]: true,
|
|
227
229
|
[nsMenu.m("collapse")]: props.collapse
|
|
228
230
|
},
|
|
229
231
|
widget: props.widget
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n withDirectives,\n} from 'vue'\nimport { Resize } from '@element-ps/directives'\nimport PsIcon from '@element-ps/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n mutable,\n} from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport Menubar from './utils/menu-bar'\nimport PsMenuCollapseTransition from './menu-collapse-transition.vue'\nimport PsSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuProvider, SubMenuProvider } from './types'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n widget: String\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n Array.isArray(indexPath) && indexPath.every((path) => isString(path))\n\nexport default defineComponent({\n name: 'PsMenu',\n props: menuProps,\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n initMenu()\n } else {\n activeIndex.value = val\n }\n }\n const handleResize = () => {\n nextTick(() => instance.proxy!.$forceUpdate())\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(items.value, () => initMenu())\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n })\n }\n\n // lifecycle\n onMounted(() => {\n initMenu()\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n expose({\n open,\n close: closeMenu,\n handleResize,\n })\n }\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n const useVNodeResize = (vnode: VNode) =>\n props.mode === 'horizontal'\n ? withDirectives(vnode, [[Resize, handleResize]])\n : vnode\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n PsSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props)\n\n const resizeMenu = (vNode: VNode) =>\n props.ellipsis ? useVNodeResize(vNode) : vNode\n\n const vMenu = resizeMenu(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m('horizontal')]: props.mode === 'horizontal',\n [nsMenu.m('collapse')]: props.collapse,\n },\n widget: props.widget\n },\n [...slot, ...vShowMore]\n )\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(PsMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["buildProps","definePropType","mutable","isString","defineComponent","getCurrentInstance","ref","useNamespace","computed","nextTick","watch","provide","reactive","onMounted","Menubar","withDirectives","Resize","h","PsSubMenu","PsIcon","More","useMenuCssVar","PsMenuCollapseTransition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n withDirectives,\n} from 'vue'\nimport { Resize } from '@element-ps/directives'\nimport PsIcon from '@element-ps/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n mutable,\n} from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport Menubar from './utils/menu-bar'\nimport PsMenuCollapseTransition from './menu-collapse-transition.vue'\nimport PsSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuItemClicked, MenuProvider, SubMenuProvider } from './types'\nimport type { NavigationFailure, Router } from 'vue-router'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n widget: String\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n Array.isArray(indexPath) && indexPath.every((path) => isString(path))\n\n\nexport default defineComponent({\n name: 'PsMenu',\n\n props: menuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n initMenu()\n } else {\n activeIndex.value = val\n }\n }\n const handleResize = () => {\n nextTick(() => instance.proxy!.$forceUpdate())\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(items.value, () => initMenu())\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0,\n })\n }\n\n // lifecycle\n onMounted(() => {\n initMenu()\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n expose({\n open,\n close: closeMenu,\n handleResize,\n })\n }\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n const useVNodeResize = (vnode: VNode) =>\n props.mode === 'horizontal'\n ? withDirectives(vnode, [[Resize, handleResize]])\n : vnode\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n PsSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props, 0)\n\n const resizeMenu = (vNode: VNode) =>\n props.ellipsis ? useVNodeResize(vNode) : vNode\n\n const vMenu = resizeMenu(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m('collapse')]: props.collapse,\n },\n widget: props.widget\n },\n [...slot, ...vShowMore]\n )\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(PsMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["buildProps","definePropType","mutable","isString","defineComponent","getCurrentInstance","ref","useNamespace","computed","nextTick","watch","provide","reactive","onMounted","Menubar","withDirectives","Resize","h","PsSubMenu","PsIcon","More","useMenuCssVar","PsMenuCollapseTransition"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BY,MAAC,SAAS,GAAGA,gBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAEC,oBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,CAAC,EAAE;AACH,MAAM,cAAc,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5G,WAAeC,mBAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AAClC,IAAI,MAAM,QAAQ,GAAGC,sBAAkB,EAAE,CAAC;AAC1C,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACvE,IAAI,MAAM,IAAI,GAAGC,OAAG,EAAE,CAAC;AACvB,IAAI,MAAM,MAAM,GAAGC,kBAAY,CAAC,MAAM,CAAC,CAAC;AACxC,IAAI,MAAM,SAAS,GAAGA,kBAAY,CAAC,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,WAAW,GAAGD,OAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1G,IAAI,MAAM,WAAW,GAAGA,OAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACjD,IAAI,MAAM,KAAK,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,MAAM,QAAQ,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,IAAI,MAAM,WAAW,GAAGE,YAAQ,CAAC,MAAM;AACvC,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;AACxF,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ;AACtE,QAAQ,OAAO;AACf,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AAC7C,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACnC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAQ,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AACtD,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC3C,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC3C,QAAQ,OAAO;AACf,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE;AAC9B,QAAQ,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC5C,MAAM,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACpB,QAAQ,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACvC,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;AACtC,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC/H,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,MAAM;AACb,QAAQ,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;AAChC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,MAAM;AAC/B,MAAMC,YAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC;AACN,IAAIC,SAAK,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,KAAK;AACxD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACvC,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACvC,KAAK,CAAC,CAAC;AACP,IAAIA,SAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,QAAQ,EAAE,CAAC,CAAC;AACzC,IAAIA,SAAK,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK;AAC3C,MAAM,IAAI,KAAK;AACf,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AACnC,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK;AACtC,QAAQ,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK;AACpC,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACvC,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,KAAK;AACvC,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,OAAO,CAAC;AACR,MAAMC,WAAO,CAAC,UAAU,EAAEC,YAAQ,CAAC;AACnC,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,cAAc;AACtB,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,OAAO,CAAC,CAAC,CAAC;AACV,MAAMD,WAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,YAAY,EAAEL,OAAG,CAAC,KAAK,CAAC;AAChC,QAAQ,KAAK,EAAE,CAAC;AAChB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAIO,aAAS,CAAC,MAAM;AACpB,MAAM,QAAQ,EAAE,CAAC;AACjB,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACvC,QAAQ,IAAIC,kBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/D,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC9B,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpD,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACzD,OAAO,CAAC;AACR,MAAM,MAAM,CAAC;AACb,QAAQ,IAAI;AACZ,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,YAAY;AACpB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAChC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC3C,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAS,MAAM;AACf,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,GAAGC,kBAAc,CAAC,KAAK,EAAE,CAAC,CAACC,kBAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC5H,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzB,MAAM,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AACjG,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAC3B,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7K,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AACnD,QAAQ,MAAM,aAAa,GAAG,EAAE,CAAC;AACjC,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1F,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC5F,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAC9E,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC;AAC1B,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC;AAC3B,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACxC,UAAU,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AAC7C,UAAU,IAAI,SAAS,IAAI,SAAS,GAAG,aAAa,EAAE;AACtD,YAAY,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;AACnC,WAAW;AACX,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,QAAQ,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;AAC7E,UAAU,IAAI,GAAG,WAAW,CAAC;AAC7B,UAAU,SAAS,CAAC,IAAI,CAACC,KAAC,CAACC,kBAAS,EAAE;AACtC,YAAY,KAAK,EAAE,eAAe;AAClC,YAAY,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5C,WAAW,EAAE;AACb,YAAY,KAAK,EAAE,MAAMD,KAAC,CAACE,cAAM,EAAE;AACnC,cAAc,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7C,aAAa,EAAE,EAAE,OAAO,EAAE,MAAMF,KAAC,CAACG,aAAI,CAAC,EAAE,CAAC;AAC1C,YAAY,OAAO,EAAE,MAAM,QAAQ;AACnC,WAAW,CAAC,CAAC,CAAC;AACd,SAAS;AACT,OAAO;AACP,MAAM,MAAM,OAAO,GAAGC,2BAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACnF,MAAM,MAAM,KAAK,GAAG,UAAU,CAACJ,KAAC,CAAC,IAAI,EAAE;AACvC,QAAQ,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnC,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK;AAC5B,QAAQ,KAAK,EAAE;AACf,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI;AAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI;AACtC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ;AAChD,SAAS;AACT,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AACjE,QAAQ,OAAOA,KAAC,CAACK,iCAAwB,EAAE,MAAM,KAAK,CAAC,CAAC;AACxD,OAAO;AACP,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;;"}
|
|
@@ -45,7 +45,7 @@ var SubMenu = vue.defineComponent({
|
|
|
45
45
|
props: subMenuProps,
|
|
46
46
|
setup(props, { slots, expose }) {
|
|
47
47
|
const instance = vue.getCurrentInstance();
|
|
48
|
-
const {
|
|
48
|
+
const { indexPath, parentMenu } = useMenu["default"](instance, vue.computed(() => props.index));
|
|
49
49
|
const nsMenu = index.useNamespace("menu");
|
|
50
50
|
const nsSubMenu = index.useNamespace("sub-menu");
|
|
51
51
|
const rootMenu = vue.inject("rootMenu");
|
|
@@ -56,6 +56,7 @@ var SubMenu = vue.defineComponent({
|
|
|
56
56
|
error.throwError(COMPONENT_NAME, "can not inject sub menu");
|
|
57
57
|
const items = vue.ref({});
|
|
58
58
|
const subMenus = vue.ref({});
|
|
59
|
+
let timeout;
|
|
59
60
|
const mouseInChild = vue.ref(false);
|
|
60
61
|
const verticalTitleRef = vue.ref();
|
|
61
62
|
const vPopper = vue.ref(null);
|
|
@@ -64,17 +65,7 @@ var SubMenu = vue.defineComponent({
|
|
|
64
65
|
return mode.value === "horizontal" && isFirstLevel.value || mode.value === "vertical" && !rootMenu.props.collapse ? iconsVue.ArrowDown : iconsVue.ArrowRight;
|
|
65
66
|
});
|
|
66
67
|
const isFirstLevel = vue.computed(() => {
|
|
67
|
-
|
|
68
|
-
let parent = instance.parent;
|
|
69
|
-
while (parent && parent.type.name !== "PsMenu") {
|
|
70
|
-
if (["PsSubMenu", "PsMenuItemGroup"].includes(parent.type.name)) {
|
|
71
|
-
isFirstLevel2 = false;
|
|
72
|
-
break;
|
|
73
|
-
} else {
|
|
74
|
-
parent = parent.parent;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return isFirstLevel2;
|
|
68
|
+
return subMenu.level === 0;
|
|
78
69
|
});
|
|
79
70
|
const appendToBody = vue.computed(() => {
|
|
80
71
|
return props.popperAppendToBody === void 0 ? isFirstLevel.value : Boolean(props.popperAppendToBody);
|
|
@@ -150,7 +141,8 @@ var SubMenu = vue.defineComponent({
|
|
|
150
141
|
vue.provide(`subMenu:${instance.uid}`, {
|
|
151
142
|
addSubMenu,
|
|
152
143
|
removeSubMenu,
|
|
153
|
-
mouseInChild
|
|
144
|
+
mouseInChild,
|
|
145
|
+
level: subMenu.level + 1
|
|
154
146
|
});
|
|
155
147
|
}
|
|
156
148
|
expose({
|
|
@@ -172,7 +164,7 @@ var SubMenu = vue.defineComponent({
|
|
|
172
164
|
class: nsSubMenu.e("icon-arrow")
|
|
173
165
|
}, { default: () => vue.h(subMenuTitleIcon.value) })
|
|
174
166
|
];
|
|
175
|
-
const ulStyle = useMenuCssVar.useMenuCssVar(rootMenu.props);
|
|
167
|
+
const ulStyle = useMenuCssVar.useMenuCssVar(rootMenu.props, subMenu.level + 1);
|
|
176
168
|
const child = rootMenu.isMenuPopup ? vue.h(index$2.PsTooltip, {
|
|
177
169
|
ref: vPopper,
|
|
178
170
|
visible: opened.value,
|
|
@@ -191,7 +183,11 @@ var SubMenu = vue.defineComponent({
|
|
|
191
183
|
content: () => {
|
|
192
184
|
var _a2;
|
|
193
185
|
return vue.h("div", {
|
|
194
|
-
class: [
|
|
186
|
+
class: [
|
|
187
|
+
nsMenu.m(mode.value),
|
|
188
|
+
nsMenu.m("popup-container"),
|
|
189
|
+
props.popperClass
|
|
190
|
+
]
|
|
195
191
|
}, [
|
|
196
192
|
vue.h("ul", {
|
|
197
193
|
class: [
|
|
@@ -206,7 +202,6 @@ var SubMenu = vue.defineComponent({
|
|
|
206
202
|
default: () => vue.h("div", {
|
|
207
203
|
class: nsSubMenu.e("title"),
|
|
208
204
|
style: [
|
|
209
|
-
paddingStyle.value,
|
|
210
205
|
titleStyle.value,
|
|
211
206
|
{ backgroundColor: backgroundColor.value }
|
|
212
207
|
]
|
|
@@ -215,7 +210,6 @@ var SubMenu = vue.defineComponent({
|
|
|
215
210
|
vue.h("div", {
|
|
216
211
|
class: nsSubMenu.e("title"),
|
|
217
212
|
style: [
|
|
218
|
-
paddingStyle.value,
|
|
219
213
|
titleStyle.value,
|
|
220
214
|
{ backgroundColor: backgroundColor.value }
|
|
221
215
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.js","sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport PsCollapseTransition from '@element-ps/components/collapse-transition'\nimport PsTooltip from '@element-ps/components/tooltip'\nimport { buildProps, throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { Placement } from '@element-ps/components/popper'\nimport type { CSSProperties, ExtractPropTypes, VNodeArrayChildren } from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n index: {\n type: String,\n required: true,\n },\n showTimeout: {\n type: Number,\n default: 300,\n },\n hideTimeout: {\n type: Number,\n default: 300,\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n popperOffset: {\n type: Number,\n default: 6,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'PsSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { paddingStyle, indexPath, parentMenu } = useMenu(\n instance,\n computed(() => props.index)\n )\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // inject\n const rootMenu = inject<MenuProvider>('rootMenu')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n const mouseInChild = ref(false)\n const verticalTitleRef = ref<HTMLDivElement>()\n const vPopper = ref<InstanceType<typeof PsTooltip> | null>(null)\n\n // computed\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n return (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? ArrowDown\n : ArrowRight\n })\n const isFirstLevel = computed(() => {\n let isFirstLevel = true\n let parent = instance.parent\n while (parent && parent.type.name !== 'PsMenu') {\n if (['PsSubMenu', 'PsMenuItemGroup'].includes(parent.type.name!)) {\n isFirstLevel = false\n break\n } else {\n parent = parent.parent\n }\n }\n return isFirstLevel\n })\n const appendToBody = computed(() => {\n return props.popperAppendToBody === undefined\n ? isFirstLevel.value\n : Boolean(props.popperAppendToBody)\n })\n const menuTransitionName = computed(() =>\n rootMenu.props.collapse\n ? `${nsMenu.namespace.value}-zoom-in-left`\n : `${nsMenu.namespace.value}-zoom-in-top`\n )\n const fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'left-start',\n ]\n : [\n 'right-start',\n 'left-start',\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n ]\n )\n const opened = computed(() => rootMenu.openedMenus.includes(props.index))\n const active = computed(() => {\n let isActive = false\n\n Object.values(items.value).forEach((item) => {\n if (item.active) {\n isActive = true\n }\n })\n\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true\n }\n })\n\n return isActive\n })\n\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || '')\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || '')\n const textColor = computed(() => rootMenu.props.textColor || '')\n const mode = computed(() => rootMenu.props.mode)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value,\n }\n }\n return {\n borderBottomColor: active.value\n ? rootMenu.props.activeTextColor\n ? activeTextColor.value\n : ''\n : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value,\n }\n })\n\n // methods\n const doDestroy = () =>\n vPopper.value?.popperRef?.popperInstanceRef?.destroy()\n\n const handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy()\n }\n }\n\n watch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n )\n\n // provide\n {\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n // lifecycle\n onMounted(() => {\n rootMenu.addSubMenu(item)\n subMenu.addSubMenu(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeSubMenu(item)\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n },\n { default: () => h(subMenuTitleIcon.value) }\n ),\n ]\n\n const ulStyle = useMenuCssVar(rootMenu.props)\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n // temporarily mark PsPopper as any due to type inconsistency.\n const child = rootMenu.isMenuPopup\n ? h(\n // TODO: correct popper's type.\n PsTooltip as any,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [nsMenu.m(mode.value), props.popperClass],\n },\n [\n h(\n 'ul',\n {\n class: [\n nsMenu.b(),\n nsMenu.m('popup'),\n nsMenu.m(`popup-${currentPlacement.value}`),\n ],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n paddingStyle.value,\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n paddingStyle.value,\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n ref: verticalTitleRef,\n },\n titleTag\n ),\n h(\n PsCollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n ),\n }\n ),\n ])\n\n return h(\n 'li',\n {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value),\n nsSubMenu.is('disabled', props.disabled),\n ],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n },\n [child]\n )\n }\n },\n})\n"],"names":["buildProps","defineComponent","getCurrentInstance","useMenu","computed","useNamespace","inject","throwError","ref","ArrowDown","ArrowRight","reactive","watch","provide","onMounted","onBeforeUnmount","h","PsIcon","useMenuCssVar","PsTooltip","Fragment","PsCollapseTransition","withDirectives","vShow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sub-menu.js","sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport PsCollapseTransition from '@element-ps/components/collapse-transition'\nimport PsTooltip from '@element-ps/components/tooltip'\nimport { buildProps, throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { Placement } from '@element-ps/components/popper'\nimport type { CSSProperties, ExtractPropTypes, VNodeArrayChildren } from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n index: {\n type: String,\n required: true,\n },\n showTimeout: {\n type: Number,\n default: 300,\n },\n hideTimeout: {\n type: Number,\n default: 300,\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n popperOffset: {\n type: Number,\n default: 6,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'PsSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { indexPath, parentMenu } = useMenu(\n instance,\n computed(() => props.index)\n )\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // inject\n const rootMenu = inject<MenuProvider>('rootMenu')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n let timeout: (() => void) | undefined\n const mouseInChild = ref(false)\n const verticalTitleRef = ref<HTMLDivElement>()\n const vPopper = ref<InstanceType<typeof PsTooltip> | null>(null)\n\n // computed\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n return (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? ArrowDown\n : ArrowRight\n })\n const isFirstLevel = computed(() => {\n return subMenu.level === 0\n })\n const appendToBody = computed(() => {\n return props.popperAppendToBody === undefined\n ? isFirstLevel.value\n : Boolean(props.popperAppendToBody)\n })\n const menuTransitionName = computed(() =>\n rootMenu.props.collapse\n ? `${nsMenu.namespace.value}-zoom-in-left`\n : `${nsMenu.namespace.value}-zoom-in-top`\n )\n const fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'left-start',\n ]\n : [\n 'right-start',\n 'left-start',\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n ]\n )\n const opened = computed(() => rootMenu.openedMenus.includes(props.index))\n const active = computed(() => {\n let isActive = false\n\n Object.values(items.value).forEach((item) => {\n if (item.active) {\n isActive = true\n }\n })\n\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true\n }\n })\n\n return isActive\n })\n\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || '')\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || '')\n const textColor = computed(() => rootMenu.props.textColor || '')\n const mode = computed(() => rootMenu.props.mode)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value,\n }\n }\n return {\n borderBottomColor: active.value\n ? rootMenu.props.activeTextColor\n ? activeTextColor.value\n : ''\n : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value,\n }\n })\n\n // methods\n const doDestroy = () =>\n vPopper.value?.popperRef?.popperInstanceRef?.destroy()\n\n const handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy()\n }\n }\n\n watch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n )\n\n // provide\n {\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild,\n level: subMenu.level + 1,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n // lifecycle\n onMounted(() => {\n rootMenu.addSubMenu(item)\n subMenu.addSubMenu(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeSubMenu(item)\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n },\n { default: () => h(subMenuTitleIcon.value) }\n ),\n ]\n\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1)\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n // temporarily mark PsPopper as any due to type inconsistency.\n const child = rootMenu.isMenuPopup\n ? h(\n // TODO: correct popper's type.\n PsTooltip as any,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m('popup-container'),\n props.popperClass,\n ],\n },\n [\n h(\n 'ul',\n {\n class: [\n nsMenu.b(),\n nsMenu.m('popup'),\n nsMenu.m(`popup-${currentPlacement.value}`),\n ],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n ref: verticalTitleRef,\n },\n titleTag\n ),\n h(\n PsCollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n ),\n }\n ),\n ])\n\n return h(\n 'li',\n {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value),\n nsSubMenu.is('disabled', props.disabled),\n ],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n },\n [child]\n )\n }\n },\n})\n"],"names":["buildProps","defineComponent","getCurrentInstance","useMenu","computed","useNamespace","inject","throwError","ref","ArrowDown","ArrowRight","reactive","watch","provide","onMounted","onBeforeUnmount","h","PsIcon","useMenuCssVar","PsTooltip","Fragment","PsCollapseTransition","withDirectives","vShow"],"mappings":"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"}
|