beyond-webui 1.1.44 → 1.1.45
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 +487 -251
- package/dist/index.full.min.js +23 -23
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +24 -24
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +488 -253
- package/es/components/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +26 -117
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix2.mjs +117 -26
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/alert/index.d.ts +4 -4
- package/es/components/alert/src/alert.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +4 -4
- package/es/components/autocomplete/index.d.ts +72 -72
- package/es/components/autocomplete/index.mjs +2 -2
- package/es/components/autocomplete/src/autocomplete.mjs +397 -96
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +72 -72
- package/es/components/autocomplete/src/autocomplete2.mjs +96 -397
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/backtop/index.mjs +2 -2
- package/es/components/backtop/src/backtop.mjs +21 -54
- package/es/components/backtop/src/backtop.mjs.map +1 -1
- package/es/components/backtop/src/backtop2.mjs +54 -21
- package/es/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb.mjs +11 -36
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs +36 -11
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/index.d.ts +5 -5
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group2.mjs +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.mjs +57 -76
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button.vue.d.ts +5 -5
- package/es/components/button/src/button2.mjs +76 -57
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/button/src/use-button.d.ts +1 -1
- package/es/components/calendar/index.d.ts +5 -5
- package/es/components/calendar/index.mjs +2 -2
- package/es/components/calendar/src/calendar.mjs +18 -131
- package/es/components/calendar/src/calendar.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue.d.ts +5 -5
- package/es/components/calendar/src/calendar2.mjs +131 -18
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/calendar/src/date-table.mjs +87 -33
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +33 -87
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/src/use-date-table.mjs +1 -1
- package/es/components/card/index.mjs +2 -2
- package/es/components/card/src/card.mjs +16 -35
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/card2.mjs +35 -16
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/index.d.ts +41 -7
- package/es/components/carousel/index.mjs +3 -3
- package/es/components/carousel/src/carousel-item.mjs +18 -11
- package/es/components/carousel/src/carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item.vue.d.ts +4 -1
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/carousel/src/carousel.d.ts +8 -1
- package/es/components/carousel/src/carousel.mjs +62 -160
- package/es/components/carousel/src/carousel.mjs.map +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +33 -5
- package/es/components/carousel/src/carousel2.mjs +223 -56
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/carousel/src/constants.d.ts +6 -2
- package/es/components/carousel/src/constants.mjs +2 -1
- package/es/components/carousel/src/constants.mjs.map +1 -1
- package/es/components/carousel/src/instance.d.ts +2 -2
- package/es/components/carousel/src/use-carousel-item.d.ts +2 -1
- package/es/components/carousel/src/use-carousel-item.mjs +35 -34
- package/es/components/carousel/src/use-carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/use-carousel.d.ts +18 -0
- package/es/components/carousel/src/use-carousel.mjs +77 -11
- package/es/components/carousel/src/use-carousel.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +142 -142
- package/es/components/cascader/src/cascader.vue.d.ts +71 -71
- package/es/components/col/index.mjs +2 -2
- package/es/components/col/src/col.mjs +66 -43
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/col/src/col2.mjs +43 -66
- package/es/components/col/src/col2.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +37 -37
- package/es/components/color-picker/index.mjs +2 -2
- package/es/components/color-picker/src/color-picker.mjs +321 -38
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +37 -37
- package/es/components/color-picker/src/color-picker2.mjs +38 -321
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/color-picker/src/components/predefine.mjs +1 -1
- package/es/components/countdown/index.mjs +2 -2
- package/es/components/countdown/src/countdown.mjs +23 -74
- package/es/components/countdown/src/countdown.mjs.map +1 -1
- package/es/components/countdown/src/countdown2.mjs +74 -23
- package/es/components/countdown/src/countdown2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +19 -19
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +19 -19
- package/es/components/date-picker/src/panel-utils.d.ts +38 -38
- package/es/components/dialog/index.d.ts +1 -1
- package/es/components/dialog/index.mjs +2 -2
- package/es/components/dialog/src/dialog.mjs +172 -74
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog2.mjs +74 -172
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/divider/index.mjs +2 -2
- package/es/components/divider/src/divider.mjs +17 -35
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/divider/src/divider2.mjs +35 -17
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +1 -1
- package/es/components/dropdown/index.d.ts +14 -14
- 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 +1 -1
- package/es/components/dropdown/src/dropdown-item.mjs +1 -1
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +97 -307
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +12 -12
- package/es/components/dropdown/src/dropdown2.mjs +307 -97
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/form/index.d.ts +12 -12
- package/es/components/form/src/form-item.d.ts +1 -1
- package/es/components/form/src/form-item.vue.d.ts +5 -5
- package/es/components/image/index.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +1 -1
- package/es/components/image-viewer/index.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer.mjs +39 -396
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +396 -39
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +38 -38
- package/es/components/input/index.d.ts +14 -14
- package/es/components/input/index.mjs +2 -2
- package/es/components/input/src/input.mjs +143 -552
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +14 -14
- package/es/components/input/src/input2.mjs +552 -143
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +52 -52
- package/es/components/input-number/index.mjs +2 -2
- package/es/components/input-number/src/input-number.mjs +58 -311
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue.d.ts +52 -52
- package/es/components/input-number/src/input-number2.mjs +311 -58
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/menu/index.d.ts +3 -3
- package/es/components/menu/index.mjs +2 -2
- package/es/components/menu/src/menu-item.mjs +14 -97
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +97 -14
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/menu/src/menu.d.ts +4 -4
- package/es/components/message/index.mjs +1 -1
- package/es/components/message/src/message.d.ts +1 -1
- package/es/components/message/src/message.mjs +198 -91
- package/es/components/message/src/message.mjs.map +1 -1
- package/es/components/message/src/message.vue.d.ts +4 -4
- package/es/components/message/src/message2.mjs +91 -198
- package/es/components/message/src/message2.mjs.map +1 -1
- package/es/components/message/src/method.mjs +2 -2
- package/es/components/notification/index.mjs +1 -1
- package/es/components/notification/src/notification.d.ts +1 -1
- package/es/components/notification/src/notification.mjs +147 -69
- package/es/components/notification/src/notification.mjs.map +1 -1
- package/es/components/notification/src/notification.vue.d.ts +4 -4
- package/es/components/notification/src/notification2.mjs +69 -147
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +2 -2
- package/es/components/pagination/src/components/jumper.vue.d.ts +14 -14
- package/es/components/pagination/src/components/prev.mjs +58 -18
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev2.mjs +18 -58
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +14 -14
- package/es/components/pagination/src/components/total.mjs +28 -7
- package/es/components/pagination/src/components/total.mjs.map +1 -1
- package/es/components/pagination/src/components/total2.mjs +7 -28
- package/es/components/pagination/src/components/total2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -2
- package/es/components/popconfirm/index.d.ts +23 -23
- package/es/components/popconfirm/index.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +110 -47
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +23 -23
- package/es/components/popconfirm/src/popconfirm2.mjs +47 -110
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/index.d.ts +18 -18
- package/es/components/popover/index.mjs +2 -2
- package/es/components/popover/src/popover.mjs +66 -111
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover.vue.d.ts +18 -18
- package/es/components/popover/src/popover2.mjs +111 -66
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/popper/index.mjs +4 -4
- package/es/components/popper/src/arrow.mjs +37 -8
- package/es/components/popper/src/arrow.mjs.map +1 -1
- package/es/components/popper/src/arrow2.mjs +8 -37
- package/es/components/popper/src/arrow2.mjs.map +1 -1
- package/es/components/popper/src/content.vue.d.ts +6 -6
- package/es/components/popper/src/popper.mjs +25 -32
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs +32 -25
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +57 -202
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +202 -57
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-button.mjs +64 -9
- package/es/components/radio/src/radio-button.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +9 -64
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/rate/index.mjs +2 -2
- package/es/components/rate/src/rate.mjs +255 -87
- package/es/components/rate/src/rate.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs +87 -255
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/result/index.d.ts +4 -4
- package/es/components/result/index.mjs +2 -2
- package/es/components/result/src/result.d.ts +1 -1
- package/es/components/result/src/result.mjs +29 -63
- package/es/components/result/src/result.mjs.map +1 -1
- package/es/components/result/src/result.vue.d.ts +4 -4
- package/es/components/result/src/result2.mjs +63 -29
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/es/components/scrollbar/index.mjs +1 -1
- package/es/components/scrollbar/src/bar.mjs +17 -42
- package/es/components/scrollbar/src/bar.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +42 -17
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
- package/es/components/scrollbar/src/thumb.mjs +11 -130
- package/es/components/scrollbar/src/thumb.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs +130 -11
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/select/index.d.ts +14 -14
- package/es/components/select/src/select.vue.d.ts +14 -14
- package/es/components/select/src/useSelect.d.ts +12 -12
- package/es/components/select-v2/index.d.ts +30 -30
- package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +15 -15
- package/es/components/select-v2/src/useSelect.d.ts +13 -13
- package/es/components/skeleton/index.mjs +4 -4
- package/es/components/skeleton/src/skeleton-item.mjs +23 -18
- package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs +18 -23
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.mjs +22 -49
- package/es/components/skeleton/src/skeleton.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs +49 -22
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/slider/index.d.ts +82 -82
- package/es/components/slider/src/button.mjs +93 -21
- package/es/components/slider/src/button.mjs.map +1 -1
- package/es/components/slider/src/button.vue.d.ts +6 -6
- package/es/components/slider/src/button2.mjs +21 -93
- package/es/components/slider/src/button2.mjs.map +1 -1
- package/es/components/slider/src/composables/use-slide.d.ts +24 -24
- package/es/components/slider/src/slider.mjs +1 -1
- package/es/components/slider/src/slider.vue.d.ts +82 -82
- package/es/components/steps/index.d.ts +16 -16
- package/es/components/steps/index.mjs +2 -2
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/item.mjs +19 -188
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item.vue.d.ts +4 -4
- package/es/components/steps/src/item2.mjs +188 -19
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/steps/src/steps.vue.d.ts +8 -8
- package/es/components/table/index.d.ts +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +12 -12
- package/es/components/table/src/table.vue.d.ts +1 -1
- package/es/components/tabs/index.d.ts +39 -31
- package/es/components/tabs/index.mjs +2 -2
- package/es/components/tabs/src/constants.d.ts +9 -4
- package/es/components/tabs/src/constants.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.d.ts +35 -5
- package/es/components/tabs/src/tab-bar.mjs +21 -8
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue.d.ts +117 -14
- package/es/components/tabs/src/tab-bar2.mjs +4 -0
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +85 -18
- package/es/components/tabs/src/tab-nav.mjs +46 -37
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.d.ts +1 -1
- package/es/components/tabs/src/tab-pane.mjs +84 -13
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +6 -0
- package/es/components/tabs/src/tab-pane2.mjs +13 -72
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +25 -51
- package/es/components/tabs/src/tabs.mjs +58 -41
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/tag/index.d.ts +1 -1
- package/es/components/tag/src/tag.vue.d.ts +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +37 -37
- package/es/components/time-select/index.d.ts +62 -62
- package/es/components/time-select/index.mjs +1 -1
- package/es/components/time-select/src/time-select.mjs +118 -48
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +31 -31
- package/es/components/time-select/src/time-select2.mjs +48 -118
- package/es/components/time-select/src/time-select2.mjs.map +1 -1
- package/es/components/tooltip/index.d.ts +6 -6
- package/es/components/tooltip/src/content.vue.d.ts +6 -6
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +6 -6
- package/es/components/tooltip/src/tooltip2.mjs +2 -2
- package/es/components/tooltip-v2/index.d.ts +4 -4
- package/es/components/tooltip-v2/index.mjs +4 -4
- package/es/components/tooltip-v2/src/arrow.mjs +22 -37
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow2.mjs +37 -22
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +1 -1
- package/es/components/tooltip-v2/src/root.mjs +17 -80
- package/es/components/tooltip-v2/src/root.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root2.mjs +80 -17
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +21 -74
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
- package/es/components/tooltip-v2/src/tooltip2.mjs +74 -21
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +75 -75
- package/es/components/transfer/index.mjs +2 -2
- package/es/components/transfer/src/composables/use-check.mjs +1 -1
- package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
- package/es/components/transfer/src/transfer-panel.mjs +128 -19
- package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +14 -14
- package/es/components/transfer/src/transfer-panel2.mjs +19 -128
- package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.mjs +160 -69
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue.d.ts +75 -75
- package/es/components/transfer/src/transfer2.mjs +69 -160
- package/es/components/transfer/src/transfer2.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
- package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/es/components/upload/index.d.ts +5 -5
- package/es/components/upload/index.mjs +3 -3
- package/es/components/upload/src/upload-content.mjs +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +1 -1
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-list.mjs +173 -26
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs +26 -173
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload.mjs +105 -119
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +5 -5
- package/es/components/upload/src/upload2.mjs +119 -105
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/components/upload/src/use-handlers.mjs +1 -1
- package/es/components/visual-hidden/index.mjs +3 -3
- package/es/components/visual-hidden/src/visual-hidden.mjs +7 -35
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -7
- package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
- package/es/hooks/use-ordered-children/index.d.ts +10 -4
- package/es/hooks/use-ordered-children/index.mjs +46 -8
- package/es/hooks/use-ordered-children/index.mjs.map +1 -1
- package/es/index.mjs +38 -38
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +27 -117
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix2.js +117 -27
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/alert/index.d.ts +4 -4
- package/lib/components/alert/src/alert.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +4 -4
- package/lib/components/autocomplete/index.d.ts +72 -72
- package/lib/components/autocomplete/index.js +2 -2
- package/lib/components/autocomplete/src/autocomplete.js +396 -96
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +72 -72
- package/lib/components/autocomplete/src/autocomplete2.js +96 -396
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/backtop/index.js +2 -2
- package/lib/components/backtop/src/backtop.js +22 -54
- package/lib/components/backtop/src/backtop.js.map +1 -1
- package/lib/components/backtop/src/backtop2.js +54 -22
- package/lib/components/backtop/src/backtop2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb.js +11 -36
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js +36 -11
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/index.d.ts +5 -5
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group2.js +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.js +60 -76
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +5 -5
- package/lib/components/button/src/button2.js +76 -60
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/button/src/use-button.d.ts +1 -1
- package/lib/components/calendar/index.d.ts +5 -5
- package/lib/components/calendar/index.js +2 -2
- package/lib/components/calendar/src/calendar.js +19 -131
- package/lib/components/calendar/src/calendar.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue.d.ts +5 -5
- package/lib/components/calendar/src/calendar2.js +131 -19
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/calendar/src/date-table.js +87 -37
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +37 -87
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/src/use-date-table.js +1 -1
- package/lib/components/card/index.js +2 -2
- package/lib/components/card/src/card.js +16 -35
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/card2.js +35 -16
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/index.d.ts +41 -7
- package/lib/components/carousel/index.js +3 -2
- package/lib/components/carousel/index.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.js +18 -11
- package/lib/components/carousel/src/carousel-item.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.vue.d.ts +4 -1
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/carousel/src/carousel.d.ts +8 -1
- package/lib/components/carousel/src/carousel.js +63 -160
- package/lib/components/carousel/src/carousel.js.map +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +33 -5
- package/lib/components/carousel/src/carousel2.js +223 -57
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/carousel/src/constants.d.ts +6 -2
- package/lib/components/carousel/src/constants.js +2 -0
- package/lib/components/carousel/src/constants.js.map +1 -1
- package/lib/components/carousel/src/instance.d.ts +2 -2
- package/lib/components/carousel/src/use-carousel-item.d.ts +2 -1
- package/lib/components/carousel/src/use-carousel-item.js +33 -32
- package/lib/components/carousel/src/use-carousel-item.js.map +1 -1
- package/lib/components/carousel/src/use-carousel.d.ts +18 -0
- package/lib/components/carousel/src/use-carousel.js +75 -9
- package/lib/components/carousel/src/use-carousel.js.map +1 -1
- package/lib/components/cascader/index.d.ts +142 -142
- package/lib/components/cascader/src/cascader.vue.d.ts +71 -71
- package/lib/components/col/index.js +2 -2
- package/lib/components/col/src/col.js +66 -43
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/col/src/col2.js +43 -66
- package/lib/components/col/src/col2.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +37 -37
- package/lib/components/color-picker/index.js +2 -2
- package/lib/components/color-picker/src/color-picker.js +319 -38
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +37 -37
- package/lib/components/color-picker/src/color-picker2.js +38 -319
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/color-picker/src/components/predefine.js +1 -1
- package/lib/components/countdown/index.js +2 -2
- package/lib/components/countdown/src/countdown.js +24 -74
- package/lib/components/countdown/src/countdown.js.map +1 -1
- package/lib/components/countdown/src/countdown2.js +74 -24
- package/lib/components/countdown/src/countdown2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +19 -19
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +19 -19
- package/lib/components/date-picker/src/panel-utils.d.ts +38 -38
- package/lib/components/dialog/index.d.ts +1 -1
- package/lib/components/dialog/index.js +2 -2
- package/lib/components/dialog/src/dialog.js +172 -75
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog2.js +75 -172
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/divider/index.js +2 -2
- package/lib/components/divider/src/divider.js +17 -35
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/divider/src/divider2.js +35 -17
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +1 -1
- package/lib/components/dropdown/index.d.ts +14 -14
- 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 +1 -1
- package/lib/components/dropdown/src/dropdown-item.js +1 -1
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +106 -307
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +12 -12
- package/lib/components/dropdown/src/dropdown2.js +307 -106
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/form/index.d.ts +12 -12
- package/lib/components/form/src/form-item.d.ts +1 -1
- package/lib/components/form/src/form-item.vue.d.ts +5 -5
- package/lib/components/image/index.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +1 -1
- package/lib/components/image-viewer/index.js +2 -2
- package/lib/components/image-viewer/src/image-viewer.js +40 -396
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js +396 -40
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +38 -37
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/index.d.ts +14 -14
- package/lib/components/input/index.js +2 -2
- package/lib/components/input/src/input.js +143 -551
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +14 -14
- package/lib/components/input/src/input2.js +551 -143
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +52 -52
- package/lib/components/input-number/index.js +2 -2
- package/lib/components/input-number/src/input-number.js +57 -309
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue.d.ts +52 -52
- package/lib/components/input-number/src/input-number2.js +309 -57
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/menu/index.d.ts +3 -3
- package/lib/components/menu/index.js +2 -2
- package/lib/components/menu/src/menu-item.js +15 -97
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +97 -15
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/menu/src/menu.d.ts +4 -4
- package/lib/components/message/index.js +1 -1
- package/lib/components/message/src/message.d.ts +1 -1
- package/lib/components/message/src/message.js +196 -92
- package/lib/components/message/src/message.js.map +1 -1
- package/lib/components/message/src/message.vue.d.ts +4 -4
- package/lib/components/message/src/message2.js +92 -196
- package/lib/components/message/src/message2.js.map +1 -1
- package/lib/components/message/src/method.js +2 -2
- package/lib/components/notification/index.js +1 -1
- package/lib/components/notification/src/notification.d.ts +1 -1
- package/lib/components/notification/src/notification.js +146 -70
- package/lib/components/notification/src/notification.js.map +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +4 -4
- package/lib/components/notification/src/notification2.js +70 -146
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/notification/src/notify.js +2 -2
- package/lib/components/pagination/src/components/jumper.vue.d.ts +14 -14
- package/lib/components/pagination/src/components/prev.js +58 -19
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev2.js +19 -58
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +14 -14
- package/lib/components/pagination/src/components/total.js +28 -7
- package/lib/components/pagination/src/components/total.js.map +1 -1
- package/lib/components/pagination/src/components/total2.js +7 -28
- package/lib/components/pagination/src/components/total2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +2 -2
- package/lib/components/popconfirm/index.d.ts +23 -23
- package/lib/components/popconfirm/index.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +110 -48
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +23 -23
- package/lib/components/popconfirm/src/popconfirm2.js +48 -110
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/index.d.ts +18 -18
- package/lib/components/popover/index.js +2 -2
- package/lib/components/popover/src/popover.js +67 -111
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +18 -18
- package/lib/components/popover/src/popover2.js +111 -67
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/popper/index.js +4 -4
- package/lib/components/popper/src/arrow.js +37 -9
- package/lib/components/popper/src/arrow.js.map +1 -1
- package/lib/components/popper/src/arrow2.js +9 -37
- package/lib/components/popper/src/arrow2.js.map +1 -1
- package/lib/components/popper/src/content.vue.d.ts +6 -6
- package/lib/components/popper/src/popper.js +28 -32
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper2.js +32 -28
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +57 -202
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress2.js +202 -57
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-button.js +64 -9
- package/lib/components/radio/src/radio-button.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +9 -64
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/rate/index.js +2 -2
- package/lib/components/rate/src/rate.js +254 -87
- package/lib/components/rate/src/rate.js.map +1 -1
- package/lib/components/rate/src/rate2.js +87 -254
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/result/index.d.ts +4 -4
- package/lib/components/result/index.js +2 -2
- package/lib/components/result/src/result.d.ts +1 -1
- package/lib/components/result/src/result.js +31 -63
- package/lib/components/result/src/result.js.map +1 -1
- package/lib/components/result/src/result.vue.d.ts +4 -4
- package/lib/components/result/src/result2.js +63 -31
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/lib/components/scrollbar/index.js +1 -1
- package/lib/components/scrollbar/src/bar.js +17 -42
- package/lib/components/scrollbar/src/bar.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +42 -17
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +1 -1
- package/lib/components/scrollbar/src/thumb.js +11 -130
- package/lib/components/scrollbar/src/thumb.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js +130 -11
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/select/index.d.ts +14 -14
- package/lib/components/select/src/select.vue.d.ts +14 -14
- package/lib/components/select/src/useSelect.d.ts +12 -12
- package/lib/components/select-v2/index.d.ts +30 -30
- package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +15 -15
- package/lib/components/select-v2/src/useSelect.d.ts +13 -13
- package/lib/components/skeleton/index.js +4 -4
- package/lib/components/skeleton/src/skeleton-item.js +23 -18
- package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js +18 -23
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.js +22 -49
- package/lib/components/skeleton/src/skeleton.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js +49 -22
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/slider/index.d.ts +82 -82
- package/lib/components/slider/src/button.js +93 -22
- package/lib/components/slider/src/button.js.map +1 -1
- package/lib/components/slider/src/button.vue.d.ts +6 -6
- package/lib/components/slider/src/button2.js +22 -93
- package/lib/components/slider/src/button2.js.map +1 -1
- package/lib/components/slider/src/composables/use-slide.d.ts +24 -24
- package/lib/components/slider/src/slider.js +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +82 -82
- package/lib/components/steps/index.d.ts +16 -16
- package/lib/components/steps/index.js +2 -2
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/item.js +19 -188
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item.vue.d.ts +4 -4
- package/lib/components/steps/src/item2.js +188 -19
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/steps/src/steps.vue.d.ts +8 -8
- package/lib/components/table/index.d.ts +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +12 -12
- package/lib/components/table/src/table.vue.d.ts +1 -1
- package/lib/components/tabs/index.d.ts +39 -31
- package/lib/components/tabs/index.js +2 -2
- package/lib/components/tabs/src/constants.d.ts +9 -4
- package/lib/components/tabs/src/constants.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.d.ts +35 -5
- package/lib/components/tabs/src/tab-bar.js +20 -7
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue.d.ts +117 -14
- package/lib/components/tabs/src/tab-bar2.js +4 -0
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +85 -18
- package/lib/components/tabs/src/tab-nav.js +45 -36
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.d.ts +1 -1
- package/lib/components/tabs/src/tab-pane.js +84 -13
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +6 -0
- package/lib/components/tabs/src/tab-pane2.js +13 -72
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +25 -51
- package/lib/components/tabs/src/tabs.js +58 -41
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/tag/index.d.ts +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +37 -37
- package/lib/components/time-select/index.d.ts +62 -62
- package/lib/components/time-select/index.js +1 -1
- package/lib/components/time-select/src/time-select.js +123 -48
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +31 -31
- package/lib/components/time-select/src/time-select2.js +48 -123
- package/lib/components/time-select/src/time-select2.js.map +1 -1
- package/lib/components/tooltip/index.d.ts +6 -6
- package/lib/components/tooltip/src/content.vue.d.ts +6 -6
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +6 -6
- package/lib/components/tooltip/src/tooltip2.js +2 -2
- package/lib/components/tooltip-v2/index.d.ts +4 -4
- package/lib/components/tooltip-v2/index.js +4 -4
- package/lib/components/tooltip-v2/src/arrow.js +23 -37
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow2.js +37 -23
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +1 -1
- package/lib/components/tooltip-v2/src/root.js +17 -80
- package/lib/components/tooltip-v2/src/root.js.map +1 -1
- package/lib/components/tooltip-v2/src/root2.js +80 -17
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +21 -74
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
- package/lib/components/tooltip-v2/src/tooltip2.js +74 -21
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/transfer/index.d.ts +75 -75
- package/lib/components/transfer/index.js +2 -2
- package/lib/components/transfer/src/composables/use-check.js +1 -1
- package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
- package/lib/components/transfer/src/transfer-panel.js +128 -21
- package/lib/components/transfer/src/transfer-panel.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +14 -14
- package/lib/components/transfer/src/transfer-panel2.js +21 -128
- package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
- package/lib/components/transfer/src/transfer.js +160 -73
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue.d.ts +75 -75
- package/lib/components/transfer/src/transfer2.js +73 -160
- package/lib/components/transfer/src/transfer2.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
- package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/lib/components/upload/index.d.ts +5 -5
- package/lib/components/upload/index.js +3 -3
- package/lib/components/upload/src/upload-content.js +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-list.js +173 -27
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js +27 -173
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload.js +108 -119
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +5 -5
- package/lib/components/upload/src/upload2.js +119 -108
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/components/upload/src/use-handlers.js +1 -1
- package/lib/components/visual-hidden/index.js +2 -2
- package/lib/components/visual-hidden/src/visual-hidden.js +7 -35
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden2.js +35 -7
- package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
- package/lib/hooks/use-ordered-children/index.d.ts +10 -4
- package/lib/hooks/use-ordered-children/index.js +45 -7
- package/lib/hooks/use-ordered-children/index.js.map +1 -1
- package/lib/index.js +38 -37
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, inject, ref, shallowRef, computed, nextTick, watch, onMounted, onUpdated, triggerRef, createVNode } from 'vue';
|
|
2
2
|
import { useDocumentVisibility, useWindowFocus, useResizeObserver } from '@vueuse/core';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import '../../../constants/index.mjs';
|
|
@@ -44,7 +44,6 @@ const TabNav = defineComponent({
|
|
|
44
44
|
expose,
|
|
45
45
|
emit
|
|
46
46
|
}) {
|
|
47
|
-
const vm = getCurrentInstance();
|
|
48
47
|
const rootTabs = inject(tabsRootContextKey);
|
|
49
48
|
if (!rootTabs)
|
|
50
49
|
throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`);
|
|
@@ -54,11 +53,13 @@ const TabNav = defineComponent({
|
|
|
54
53
|
const navScroll$ = ref();
|
|
55
54
|
const nav$ = ref();
|
|
56
55
|
const el$ = ref();
|
|
56
|
+
const tabRefsMap = ref({});
|
|
57
57
|
const tabBarRef = ref();
|
|
58
58
|
const scrollable = ref(false);
|
|
59
59
|
const navOffset = ref(0);
|
|
60
60
|
const isFocus = ref(false);
|
|
61
61
|
const focusable = ref(true);
|
|
62
|
+
const tracker = shallowRef();
|
|
62
63
|
const sizeName = computed(() => ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height");
|
|
63
64
|
const navStyle = computed(() => {
|
|
64
65
|
const dir = sizeName.value === "width" ? "X" : "Y";
|
|
@@ -92,7 +93,7 @@ const TabNav = defineComponent({
|
|
|
92
93
|
if (!scrollable.value || !el$.value || !navScroll$.value || !nav)
|
|
93
94
|
return;
|
|
94
95
|
await nextTick();
|
|
95
|
-
const activeTab =
|
|
96
|
+
const activeTab = tabRefsMap.value[props.currentName];
|
|
96
97
|
if (!activeTab)
|
|
97
98
|
return;
|
|
98
99
|
const navScroll = navScroll$.value;
|
|
@@ -142,31 +143,27 @@ const TabNav = defineComponent({
|
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
145
|
};
|
|
145
|
-
const changeTab = (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
} else {
|
|
165
|
-
|
|
166
|
-
nextIndex = currentIndex + 1;
|
|
167
|
-
} else {
|
|
168
|
-
nextIndex = 0;
|
|
169
|
-
}
|
|
146
|
+
const changeTab = (event) => {
|
|
147
|
+
let step = 0;
|
|
148
|
+
switch (event.code) {
|
|
149
|
+
case EVENT_CODE.left:
|
|
150
|
+
case EVENT_CODE.up:
|
|
151
|
+
step = -1;
|
|
152
|
+
break;
|
|
153
|
+
case EVENT_CODE.right:
|
|
154
|
+
case EVENT_CODE.down:
|
|
155
|
+
step = 1;
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const tabList = Array.from(event.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));
|
|
161
|
+
const currentIndex = tabList.indexOf(event.target);
|
|
162
|
+
let nextIndex = currentIndex + step;
|
|
163
|
+
if (nextIndex < 0) {
|
|
164
|
+
nextIndex = tabList.length - 1;
|
|
165
|
+
} else if (nextIndex >= tabList.length) {
|
|
166
|
+
nextIndex = 0;
|
|
170
167
|
}
|
|
171
168
|
tabList[nextIndex].focus({
|
|
172
169
|
preventScroll: true
|
|
@@ -179,6 +176,16 @@ const TabNav = defineComponent({
|
|
|
179
176
|
isFocus.value = true;
|
|
180
177
|
};
|
|
181
178
|
const removeFocus = () => isFocus.value = false;
|
|
179
|
+
const setRefs = (el, key) => {
|
|
180
|
+
tabRefsMap.value[key] = el;
|
|
181
|
+
};
|
|
182
|
+
const focusActiveTab = async () => {
|
|
183
|
+
await nextTick();
|
|
184
|
+
const activeTab = tabRefsMap.value[props.currentName];
|
|
185
|
+
activeTab == null ? void 0 : activeTab.focus({
|
|
186
|
+
preventScroll: true
|
|
187
|
+
});
|
|
188
|
+
};
|
|
182
189
|
watch(visibility, (visibility2) => {
|
|
183
190
|
if (visibility2 === "hidden") {
|
|
184
191
|
focusable.value = false;
|
|
@@ -198,11 +205,11 @@ const TabNav = defineComponent({
|
|
|
198
205
|
onUpdated(() => update());
|
|
199
206
|
expose({
|
|
200
207
|
scrollToActiveTab,
|
|
201
|
-
removeFocus
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
208
|
+
removeFocus,
|
|
209
|
+
focusActiveTab,
|
|
210
|
+
tabListRef: nav$,
|
|
211
|
+
tabBarRef,
|
|
212
|
+
scheduleRender: () => triggerRef(tracker)
|
|
206
213
|
});
|
|
207
214
|
return () => {
|
|
208
215
|
const scrollBtn = scrollable.value ? [createVNode("span", {
|
|
@@ -232,7 +239,7 @@ const TabNav = defineComponent({
|
|
|
232
239
|
const tabLabelContent = ((_d = (_c = pane.slots).label) == null ? void 0 : _d.call(_c)) || pane.props.label;
|
|
233
240
|
const tabindex = !disabled && pane.active ? 0 : -1;
|
|
234
241
|
return createVNode("div", {
|
|
235
|
-
"ref":
|
|
242
|
+
"ref": (el) => setRefs(el, tabName),
|
|
236
243
|
"class": [ns.e("item"), ns.is(rootTabs.props.tabPosition), ns.is("active", pane.active), ns.is("disabled", disabled), ns.is("closable", closable), ns.is("focus", isFocus.value)],
|
|
237
244
|
"id": `tab-${tabName}`,
|
|
238
245
|
"key": `tab-${uid}`,
|
|
@@ -253,13 +260,14 @@ const TabNav = defineComponent({
|
|
|
253
260
|
}
|
|
254
261
|
}, [...[tabLabelContent, btnClose]]);
|
|
255
262
|
});
|
|
263
|
+
tracker.value;
|
|
256
264
|
return createVNode("div", {
|
|
257
265
|
"ref": el$,
|
|
258
266
|
"class": [ns.e("nav-wrap"), ns.is("scrollable", !!scrollable.value), ns.is(rootTabs.props.tabPosition)]
|
|
259
267
|
}, [scrollBtn, createVNode("div", {
|
|
260
268
|
"class": ns.e("nav-scroll"),
|
|
261
269
|
"ref": navScroll$
|
|
262
|
-
}, [createVNode("div", {
|
|
270
|
+
}, [props.panes.length > 0 ? createVNode("div", {
|
|
263
271
|
"class": [ns.e("nav"), ns.is(rootTabs.props.tabPosition), ns.is("stretch", props.stretch && ["top", "bottom"].includes(rootTabs.props.tabPosition))],
|
|
264
272
|
"ref": nav$,
|
|
265
273
|
"style": navStyle.value,
|
|
@@ -267,8 +275,9 @@ const TabNav = defineComponent({
|
|
|
267
275
|
"onKeydown": changeTab
|
|
268
276
|
}, [...[!props.type ? createVNode(TabBar, {
|
|
269
277
|
"ref": tabBarRef,
|
|
270
|
-
"tabs": [...props.panes]
|
|
271
|
-
|
|
278
|
+
"tabs": [...props.panes],
|
|
279
|
+
"tabRefs": tabRefsMap.value
|
|
280
|
+
}, null) : null, tabs]]) : null])]);
|
|
272
281
|
};
|
|
273
282
|
}
|
|
274
283
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from './constants'\nimport type { TabPaneName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const tabBarRef = ref<InstanceType<typeof TabBar>>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post', deep: true }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? (\n <TabBar ref={tabBarRef} tabs={[...props.panes]} />\n ) : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","vm","getCurrentInstance","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabBarRef","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","code","left","down","tabList","currentIndex","nextIndex","preventScroll","click","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","deep","e","pane","index","closable","disabled","btnClose","delete","backspace","tabLabelContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const tracker = shallowRef()\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (event: KeyboardEvent) => {\n let step = 0\n\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n {props.panes.length > 0 ? (\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","tracker","shallowRef","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","event","step","EVENT_CODE","left","currentIndex","tabList","nextIndex","preventScroll","click","setFocus","key","focusActiveTab","focus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","tabListRef","scheduleRender","triggerRef","e","is","pane","index","uid","disabled","isClosable","btnClose","closable","setRefs","el","tabLabelContent"],"mappings":"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"}
|
|
@@ -13,4 +13,4 @@ export declare const tabPaneProps: {
|
|
|
13
13
|
readonly lazy: BooleanConstructor;
|
|
14
14
|
};
|
|
15
15
|
export declare type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>;
|
|
16
|
-
export declare type TabPaneInstance = InstanceType<typeof TabPane
|
|
16
|
+
export declare type TabPaneInstance = InstanceType<typeof TabPane> & unknown;
|
|
@@ -1,18 +1,89 @@
|
|
|
1
|
+
import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onBeforeUnmount, onBeforeUpdate, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
|
|
2
|
+
import { eagerComputed } from '@vueuse/core';
|
|
1
3
|
import '../../../utils/index.mjs';
|
|
2
|
-
import
|
|
4
|
+
import '../../../hooks/index.mjs';
|
|
5
|
+
import { tabsRootContextKey } from './constants.mjs';
|
|
6
|
+
import { tabPaneProps } from './tab-pane2.mjs';
|
|
7
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
8
|
+
import { throwError } from '../../../utils/error.mjs';
|
|
9
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
3
10
|
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
},
|
|
9
|
-
name: {
|
|
10
|
-
type: [String, Number]
|
|
11
|
-
},
|
|
12
|
-
closable: Boolean,
|
|
13
|
-
disabled: Boolean,
|
|
14
|
-
lazy: Boolean
|
|
11
|
+
const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
|
|
12
|
+
const COMPONENT_NAME = "ElTabPane";
|
|
13
|
+
const __default__ = defineComponent({
|
|
14
|
+
name: COMPONENT_NAME
|
|
15
15
|
});
|
|
16
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
17
|
+
...__default__,
|
|
18
|
+
props: tabPaneProps,
|
|
19
|
+
setup(__props) {
|
|
20
|
+
const props = __props;
|
|
21
|
+
const instance = getCurrentInstance();
|
|
22
|
+
const slots = useSlots();
|
|
23
|
+
const tabsRoot = inject(tabsRootContextKey);
|
|
24
|
+
if (!tabsRoot)
|
|
25
|
+
throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
|
|
26
|
+
const ns = useNamespace("tab-pane");
|
|
27
|
+
const paneRef = ref();
|
|
28
|
+
const index = ref();
|
|
29
|
+
const isClosable = computed(() => props.closable || tabsRoot.props.closable);
|
|
30
|
+
const active = eagerComputed(() => {
|
|
31
|
+
var _a;
|
|
32
|
+
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
|
|
33
|
+
});
|
|
34
|
+
const loaded = ref(active.value);
|
|
35
|
+
const paneName = computed(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
return (_a = props.name) != null ? _a : index.value;
|
|
38
|
+
});
|
|
39
|
+
const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
40
|
+
const isFocusInsidePane = () => {
|
|
41
|
+
var _a;
|
|
42
|
+
return (_a = paneRef.value) == null ? void 0 : _a.contains(document.activeElement);
|
|
43
|
+
};
|
|
44
|
+
watch(active, (val) => {
|
|
45
|
+
if (val)
|
|
46
|
+
loaded.value = true;
|
|
47
|
+
});
|
|
48
|
+
const pane = reactive({
|
|
49
|
+
uid: instance.uid,
|
|
50
|
+
getVnode: () => instance.vnode,
|
|
51
|
+
slots,
|
|
52
|
+
props,
|
|
53
|
+
paneName,
|
|
54
|
+
active,
|
|
55
|
+
index,
|
|
56
|
+
isClosable,
|
|
57
|
+
isFocusInsidePane
|
|
58
|
+
});
|
|
59
|
+
tabsRoot.registerPane(pane);
|
|
60
|
+
onBeforeUnmount(() => {
|
|
61
|
+
tabsRoot.unregisterPane(pane);
|
|
62
|
+
});
|
|
63
|
+
onBeforeUpdate(() => {
|
|
64
|
+
var _a;
|
|
65
|
+
if (slots.label)
|
|
66
|
+
(_a = tabsRoot.nav$.value) == null ? void 0 : _a.scheduleRender();
|
|
67
|
+
});
|
|
68
|
+
return (_ctx, _cache) => {
|
|
69
|
+
return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
|
|
70
|
+
key: 0,
|
|
71
|
+
id: `pane-${unref(paneName)}`,
|
|
72
|
+
ref_key: "paneRef",
|
|
73
|
+
ref: paneRef,
|
|
74
|
+
class: normalizeClass(unref(ns).b()),
|
|
75
|
+
role: "tabpanel",
|
|
76
|
+
"aria-hidden": !unref(active),
|
|
77
|
+
"aria-labelledby": `tab-${unref(paneName)}`
|
|
78
|
+
}, [
|
|
79
|
+
renderSlot(_ctx.$slots, "default")
|
|
80
|
+
], 10, _hoisted_1)), [
|
|
81
|
+
[vShow, unref(active)]
|
|
82
|
+
]) : createCommentVNode("v-if", true);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\beyondtrucks\\beyond-ui\\packages\\components\\tabs\\src\\tab-pane.vue"]]);
|
|
16
87
|
|
|
17
|
-
export {
|
|
88
|
+
export { TabPane as default };
|
|
18
89
|
//# sourceMappingURL=tab-pane.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.
|
|
1
|
+
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n ref=\"paneRef\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onBeforeUpdate,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst paneRef = ref<HTMLDivElement>()\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nconst isFocusInsidePane = () => {\n return paneRef.value?.contains(document.activeElement)\n}\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n getVnode: () => instance.vnode,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n isFocusInsidePane,\n})\n\ntabsRoot.registerPane(pane)\n\nonBeforeUnmount(() => {\n tabsRoot.unregisterPane(pane)\n})\n\nonBeforeUpdate(() => {\n if (slots.label) tabsRoot.nav$.value?.scheduleRender()\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCAkCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAA,UAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,UAAU,GAAoB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAM,MAAA,MAAA,GAAS,cACb,MAAM;AAER,MAAM,IAAA,EAAA,CAAA;AACN,MAAA,eAAiB,CAAS,WAAA,CAAA,KAAY,MAAA,CAAA,EAAA,QAAc,CAAK,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACzD,KAAM,CAAA,CAAA;AAIN,IAAA,MAAM,oBAAoB,KAAM,CAAA,CAAA;AAC9B,IAAA,MAAA,QAAe,GAAA,QAAgB,CAAA,MAAA;AAAsB,MACvD,IAAA,EAAA,CAAA;AAEA,MAAM,OAAA,CAAA,EAAA,GAAS,KAAQ,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACrB,KAAI,CAAA,CAAA;AAAK,IAAA,MAAA,cAAe,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAC1B,MAAC,iBAAA,GAAA,MAAA;AAED,MAAA,IAAM;AAAgB,MACpB,OAAc,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAAyB,IACzB,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACA,IAAA,GAAA;AAAA,QACA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,MAAA,QAAA,CAAA,KAAA;AAAA,MACD,KAAA;AAED,MAAA,KAAA;AAEA,MAAA,QAAA;AACE,MAAA,MAAA;AAA4B,MAC7B,KAAA;AAED,MAAA,UAAA;AACE,MAAA,iBAAU;AAAO,KAAS,CAAA,CAAA;AAA2B,IACvD,QAAC,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -48,14 +48,19 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
48
48
|
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
49
49
|
cssVarBlockName: (name: string) => string;
|
|
50
50
|
};
|
|
51
|
+
paneRef: import("vue").Ref<HTMLDivElement | undefined>;
|
|
51
52
|
index: import("vue").Ref<string | undefined>;
|
|
52
53
|
isClosable: import("vue").ComputedRef<boolean>;
|
|
53
54
|
active: Readonly<import("vue").Ref<boolean>>;
|
|
54
55
|
loaded: import("vue").Ref<boolean>;
|
|
55
56
|
paneName: import("vue").ComputedRef<import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined>;
|
|
56
57
|
shouldBeRender: Readonly<import("vue").Ref<boolean>>;
|
|
58
|
+
isFocusInsidePane: () => boolean | undefined;
|
|
57
59
|
pane: {
|
|
58
60
|
uid: number;
|
|
61
|
+
getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}>;
|
|
59
64
|
slots: Readonly<{
|
|
60
65
|
[name: string]: import("vue").Slot | undefined;
|
|
61
66
|
}>;
|
|
@@ -71,6 +76,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
76
|
active: boolean;
|
|
72
77
|
index: string | undefined;
|
|
73
78
|
isClosable: boolean;
|
|
79
|
+
isFocusInsidePane: () => boolean | undefined;
|
|
74
80
|
};
|
|
75
81
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
76
82
|
readonly label: import("beyond-webui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
@@ -1,77 +1,18 @@
|
|
|
1
|
-
import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onMounted, onUnmounted, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
|
|
2
|
-
import { eagerComputed } from '@vueuse/core';
|
|
3
1
|
import '../../../utils/index.mjs';
|
|
4
|
-
import '../../../
|
|
5
|
-
import { tabsRootContextKey } from './constants.mjs';
|
|
6
|
-
import { tabPaneProps } from './tab-pane.mjs';
|
|
7
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
8
|
-
import { throwError } from '../../../utils/error.mjs';
|
|
9
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
2
|
+
import { buildProps } from '../../../utils/vue/props/runtime.mjs';
|
|
10
3
|
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
const tabPaneProps = buildProps({
|
|
5
|
+
label: {
|
|
6
|
+
type: String,
|
|
7
|
+
default: ""
|
|
8
|
+
},
|
|
9
|
+
name: {
|
|
10
|
+
type: [String, Number]
|
|
11
|
+
},
|
|
12
|
+
closable: Boolean,
|
|
13
|
+
disabled: Boolean,
|
|
14
|
+
lazy: Boolean
|
|
15
15
|
});
|
|
16
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
17
|
-
...__default__,
|
|
18
|
-
props: tabPaneProps,
|
|
19
|
-
setup(__props) {
|
|
20
|
-
const props = __props;
|
|
21
|
-
const instance = getCurrentInstance();
|
|
22
|
-
const slots = useSlots();
|
|
23
|
-
const tabsRoot = inject(tabsRootContextKey);
|
|
24
|
-
if (!tabsRoot)
|
|
25
|
-
throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
|
|
26
|
-
const ns = useNamespace("tab-pane");
|
|
27
|
-
const index = ref();
|
|
28
|
-
const isClosable = computed(() => props.closable || tabsRoot.props.closable);
|
|
29
|
-
const active = eagerComputed(() => {
|
|
30
|
-
var _a;
|
|
31
|
-
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
|
|
32
|
-
});
|
|
33
|
-
const loaded = ref(active.value);
|
|
34
|
-
const paneName = computed(() => {
|
|
35
|
-
var _a;
|
|
36
|
-
return (_a = props.name) != null ? _a : index.value;
|
|
37
|
-
});
|
|
38
|
-
const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
39
|
-
watch(active, (val) => {
|
|
40
|
-
if (val)
|
|
41
|
-
loaded.value = true;
|
|
42
|
-
});
|
|
43
|
-
const pane = reactive({
|
|
44
|
-
uid: instance.uid,
|
|
45
|
-
slots,
|
|
46
|
-
props,
|
|
47
|
-
paneName,
|
|
48
|
-
active,
|
|
49
|
-
index,
|
|
50
|
-
isClosable
|
|
51
|
-
});
|
|
52
|
-
onMounted(() => {
|
|
53
|
-
tabsRoot.registerPane(pane);
|
|
54
|
-
});
|
|
55
|
-
onUnmounted(() => {
|
|
56
|
-
tabsRoot.unregisterPane(pane.uid);
|
|
57
|
-
});
|
|
58
|
-
return (_ctx, _cache) => {
|
|
59
|
-
return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
|
|
60
|
-
key: 0,
|
|
61
|
-
id: `pane-${unref(paneName)}`,
|
|
62
|
-
class: normalizeClass(unref(ns).b()),
|
|
63
|
-
role: "tabpanel",
|
|
64
|
-
"aria-hidden": !unref(active),
|
|
65
|
-
"aria-labelledby": `tab-${unref(paneName)}`
|
|
66
|
-
}, [
|
|
67
|
-
renderSlot(_ctx.$slots, "default")
|
|
68
|
-
], 10, _hoisted_1)), [
|
|
69
|
-
[vShow, unref(active)]
|
|
70
|
-
]) : createCommentVNode("v-if", true);
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\beyondtrucks\\beyond-ui\\packages\\components\\tabs\\src\\tab-pane.vue"]]);
|
|
75
16
|
|
|
76
|
-
export {
|
|
17
|
+
export { tabPaneProps };
|
|
77
18
|
//# sourceMappingURL=tab-pane2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.
|
|
1
|
+
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane> & unknown\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|