element-pe 2.2.65 → 2.2.66
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 +28 -7
- package/dist/index.full.min.js +22 -22
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +22 -22
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +28 -7
- package/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +103 -38
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +38 -103
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +4 -4
- package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -11
- package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -56
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- 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/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.mjs +2 -2
- package/es/components/carousel/src/carousel.mjs +169 -56
- package/es/components/carousel/src/carousel.mjs.map +1 -1
- package/es/components/carousel/src/carousel2.mjs +56 -169
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/cascader/src/cascader.mjs +1 -1
- package/es/components/check-tag/index.mjs +2 -2
- package/es/components/check-tag/src/check-tag.mjs +12 -31
- package/es/components/check-tag/src/check-tag.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs +31 -12
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- 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/collection/index.mjs +1 -1
- package/es/components/collection/src/collection.mjs +66 -10
- package/es/components/collection/src/collection.mjs.map +1 -1
- package/es/components/collection/src/collection2.mjs +10 -66
- package/es/components/collection/src/collection2.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +1 -1
- package/es/components/descriptions/src/descriptions-row.mjs +7 -64
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row2.mjs +64 -7
- package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
- package/es/components/dialog/index.mjs +2 -2
- package/es/components/dialog/src/dialog.mjs +174 -73
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog2.mjs +73 -174
- 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/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +186 -25
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +25 -186
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/index.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
- 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 +310 -105
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +105 -310
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/empty/index.mjs +2 -2
- package/es/components/empty/src/empty.mjs +11 -55
- package/es/components/empty/src/empty.mjs.map +1 -1
- package/es/components/empty/src/empty2.mjs +55 -11
- package/es/components/empty/src/empty2.mjs.map +1 -1
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/src/form.mjs +150 -61
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form2.mjs +61 -150
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/src/image.mjs +65 -226
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image2.mjs +226 -65
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/index.mjs +35 -35
- package/es/components/input/index.mjs +2 -2
- package/es/components/input/src/input.mjs +114 -472
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input2.mjs +472 -114
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +21 -50
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link2.mjs +50 -21
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/menu/index.mjs +2 -2
- package/es/components/menu/src/menu-item.mjs +97 -14
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +14 -97
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/page-header/index.mjs +2 -2
- package/es/components/page-header/src/page-header.mjs +17 -103
- package/es/components/page-header/src/page-header.mjs.map +1 -1
- package/es/components/page-header/src/page-header2.mjs +103 -17
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.mjs +17 -218
- package/es/components/pagination/src/components/pager.mjs.map +1 -1
- package/es/components/pagination/src/components/pager2.mjs +218 -17
- package/es/components/pagination/src/components/pager2.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +22 -70
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes2.mjs +70 -22
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- 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 +3 -3
- package/es/components/popconfirm/index.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +47 -110
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +110 -47
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/src/popover2.mjs +2 -2
- package/es/components/popper/index.mjs +4 -4
- package/es/components/popper/src/popper.mjs +32 -25
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs +25 -32
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +31 -121
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +121 -31
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +59 -204
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +204 -59
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-group.mjs +42 -70
- package/es/components/radio/src/radio-group.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs +70 -42
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/resizable-columns/index.d.ts +1 -0
- package/es/components/resizable-columns/index.mjs +2 -2
- package/es/components/resizable-columns/src/resizable-column.mjs +7 -138
- package/es/components/resizable-columns/src/resizable-column.mjs.map +1 -1
- package/es/components/resizable-columns/src/resizable-column2.mjs +138 -7
- package/es/components/resizable-columns/src/resizable-column2.mjs.map +1 -1
- package/es/components/resizable-columns/src/resizable-columns.vue.d.ts +1 -0
- package/es/components/resizable-columns/src/resizable-columns2.mjs +28 -7
- package/es/components/resizable-columns/src/resizable-columns2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs +1 -1
- package/es/components/scrollbar/index.mjs +3 -3
- package/es/components/scrollbar/src/bar2.mjs +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs +176 -46
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +46 -176
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb.mjs +11 -134
- package/es/components/scrollbar/src/thumb.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs +134 -11
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/select/src/select.mjs +1 -1
- package/es/components/skeleton/index.mjs +4 -4
- package/es/components/skeleton/src/skeleton-item.mjs +18 -23
- package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
- 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/steps/index.mjs +2 -2
- package/es/components/steps/src/steps.mjs +36 -39
- package/es/components/steps/src/steps.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +39 -36
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/tag/index.mjs +2 -2
- package/es/components/tag/src/tag.mjs +98 -33
- package/es/components/tag/src/tag.mjs.map +1 -1
- package/es/components/tag/src/tag2.mjs +33 -98
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/time-select/index.mjs +1 -1
- package/es/components/time-select/src/time-select.mjs +55 -132
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select2.mjs +132 -55
- package/es/components/time-select/src/time-select2.mjs.map +1 -1
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +42 -72
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs +72 -42
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/index.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +2 -2
- package/es/components/tooltip/src/trigger.mjs +16 -73
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/src/trigger2.mjs +73 -16
- package/es/components/tooltip/src/trigger2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +1 -1
- package/es/components/upload/index.mjs +3 -3
- package/es/components/upload/src/upload-content.mjs +1 -1
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-list.mjs +177 -26
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs +26 -177
- 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/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/index.mjs +35 -35
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +102 -39
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +39 -102
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +4 -4
- package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -11
- package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -56
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- 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/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.js +2 -2
- package/lib/components/carousel/src/carousel.js +169 -57
- package/lib/components/carousel/src/carousel.js.map +1 -1
- package/lib/components/carousel/src/carousel2.js +57 -169
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/cascader/src/cascader.js +1 -1
- package/lib/components/check-tag/index.js +2 -2
- package/lib/components/check-tag/src/check-tag.js +13 -31
- package/lib/components/check-tag/src/check-tag.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js +31 -13
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- 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/collection/index.js +1 -1
- package/lib/components/collection/src/collection.js +66 -9
- package/lib/components/collection/src/collection.js.map +1 -1
- package/lib/components/collection/src/collection2.js +9 -66
- package/lib/components/collection/src/collection2.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +1 -1
- package/lib/components/descriptions/src/descriptions-row.js +7 -64
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row2.js +64 -7
- package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
- package/lib/components/dialog/index.js +2 -2
- package/lib/components/dialog/src/dialog.js +174 -74
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog2.js +74 -174
- 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/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +186 -26
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +26 -186
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/index.js +2 -2
- package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
- 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 +310 -114
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +114 -310
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/empty/index.js +2 -2
- package/lib/components/empty/src/empty.js +11 -55
- package/lib/components/empty/src/empty.js.map +1 -1
- package/lib/components/empty/src/empty2.js +55 -11
- package/lib/components/empty/src/empty2.js.map +1 -1
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/src/form.js +149 -61
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form2.js +61 -149
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/src/image.js +65 -225
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image2.js +225 -65
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/index.js +35 -35
- package/lib/components/input/index.js +2 -2
- package/lib/components/input/src/input.js +114 -471
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input2.js +471 -114
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +22 -50
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link2.js +50 -22
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/menu/index.js +2 -2
- package/lib/components/menu/src/menu-item.js +97 -15
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +15 -97
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/page-header/index.js +2 -2
- package/lib/components/page-header/src/page-header.js +18 -103
- package/lib/components/page-header/src/page-header.js.map +1 -1
- package/lib/components/page-header/src/page-header2.js +103 -18
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/pagination/src/components/pager.js +17 -218
- package/lib/components/pagination/src/components/pager.js.map +1 -1
- package/lib/components/pagination/src/components/pager2.js +218 -17
- package/lib/components/pagination/src/components/pager2.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +22 -70
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes2.js +70 -22
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- 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 +3 -3
- package/lib/components/popconfirm/index.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +48 -110
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js +110 -48
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/src/popover2.js +2 -2
- package/lib/components/popper/index.js +4 -4
- package/lib/components/popper/src/popper.js +32 -28
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper2.js +28 -32
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +32 -121
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +121 -32
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +59 -204
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress2.js +204 -59
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-group.js +43 -70
- package/lib/components/radio/src/radio-group.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js +70 -43
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/resizable-columns/index.d.ts +1 -0
- package/lib/components/resizable-columns/index.js +2 -2
- package/lib/components/resizable-columns/src/resizable-column.js +7 -138
- package/lib/components/resizable-columns/src/resizable-column.js.map +1 -1
- package/lib/components/resizable-columns/src/resizable-column2.js +138 -7
- package/lib/components/resizable-columns/src/resizable-column2.js.map +1 -1
- package/lib/components/resizable-columns/src/resizable-columns.vue.d.ts +1 -0
- package/lib/components/resizable-columns/src/resizable-columns2.js +28 -7
- package/lib/components/resizable-columns/src/resizable-columns2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js +1 -1
- package/lib/components/scrollbar/index.js +3 -3
- package/lib/components/scrollbar/src/bar2.js +1 -1
- package/lib/components/scrollbar/src/scrollbar.js +176 -47
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +47 -176
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb.js +11 -134
- package/lib/components/scrollbar/src/thumb.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js +134 -11
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/skeleton/index.js +4 -4
- package/lib/components/skeleton/src/skeleton-item.js +18 -23
- package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js +23 -18
- 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/steps/index.js +2 -2
- package/lib/components/steps/src/steps.js +37 -39
- package/lib/components/steps/src/steps.js.map +1 -1
- package/lib/components/steps/src/steps2.js +39 -37
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/tag/index.js +2 -2
- package/lib/components/tag/src/tag.js +98 -34
- package/lib/components/tag/src/tag.js.map +1 -1
- package/lib/components/tag/src/tag2.js +34 -98
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/time-select/index.js +1 -1
- package/lib/components/time-select/src/time-select.js +55 -137
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select2.js +137 -55
- package/lib/components/time-select/src/time-select2.js.map +1 -1
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +42 -72
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js +72 -42
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/index.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/components/tooltip/src/tooltip2.js +2 -2
- package/lib/components/tooltip/src/trigger.js +16 -73
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/src/trigger2.js +73 -16
- package/lib/components/tooltip/src/trigger2.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +1 -1
- package/lib/components/upload/index.js +3 -3
- package/lib/components/upload/src/upload-content.js +1 -1
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-list.js +177 -27
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js +27 -177
- 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/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/index.js +35 -35
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,12 +1,143 @@
|
|
|
1
|
+
import '../../../hooks/index.mjs';
|
|
2
|
+
import { resizableColumnProps } from './resizable-column.mjs';
|
|
3
|
+
import { defineComponent, getCurrentInstance, inject, computed, ref, reactive, onMounted, onUnmounted, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, normalizeStyle, renderSlot, createBlock, withCtx, createVNode, createCommentVNode } from 'vue';
|
|
1
4
|
import '../../../utils/index.mjs';
|
|
2
|
-
import {
|
|
5
|
+
import { resizableColumnsRootContextKey } from './constants.mjs';
|
|
6
|
+
import { ArrowLeft, ArrowRight } from '@element-plus/icons-vue';
|
|
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
|
-
|
|
11
|
+
const _sfc_main = defineComponent({
|
|
12
|
+
name: "ElResizableColumn",
|
|
13
|
+
components: { ArrowLeft, ArrowRight },
|
|
14
|
+
props: resizableColumnProps,
|
|
15
|
+
emits: ["collapse", "expand"],
|
|
16
|
+
setup(props, { emit, slots, expose }) {
|
|
17
|
+
const instance = getCurrentInstance();
|
|
18
|
+
const columnsRoot = inject(resizableColumnsRootContextKey);
|
|
19
|
+
if (!columnsRoot)
|
|
20
|
+
throwError("ElResizableColumn", "usage: <el-resizable-columns><el-resizable-column /></el-resizable-columns/>");
|
|
21
|
+
const MIN_WIDTH = columnsRoot.props.minWidth > 0 ? columnsRoot.props.minWidth : 50;
|
|
22
|
+
const collapsable = computed(() => props.collapsable || columnsRoot.props.collapsable);
|
|
23
|
+
const collapsed = ref(false);
|
|
24
|
+
const column = reactive({
|
|
25
|
+
uid: instance.uid,
|
|
26
|
+
slots,
|
|
27
|
+
props,
|
|
28
|
+
maxWidth: 0,
|
|
29
|
+
parentWidth: 0,
|
|
30
|
+
index: 0,
|
|
31
|
+
length: 0,
|
|
32
|
+
width: 0,
|
|
33
|
+
left: 0,
|
|
34
|
+
collapsable,
|
|
35
|
+
collapsed
|
|
36
|
+
});
|
|
37
|
+
onMounted(() => {
|
|
38
|
+
columnsRoot.registerColumn(column);
|
|
39
|
+
});
|
|
40
|
+
onUnmounted(() => {
|
|
41
|
+
columnsRoot.unregisterColumn(column.uid);
|
|
42
|
+
});
|
|
43
|
+
const ns = useNamespace("resizable-column");
|
|
44
|
+
const handleCollapse = () => {
|
|
45
|
+
if (!collapsed.value) {
|
|
46
|
+
for (let rIndex = column.index + 1; rIndex < columnsRoot.columns.value.length; rIndex++) {
|
|
47
|
+
const rColumn = columnsRoot.columns.value[rIndex];
|
|
48
|
+
if (!rColumn.collapsed) {
|
|
49
|
+
rColumn.left = rColumn.left - column.width;
|
|
50
|
+
rColumn.width = rColumn.width + column.width;
|
|
51
|
+
break;
|
|
52
|
+
} else {
|
|
53
|
+
rColumn.left = rColumn.left - column.width;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
collapsed.value = true;
|
|
57
|
+
emit("collapse", column.index);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const handleExpand = () => {
|
|
61
|
+
if (collapsed.value) {
|
|
62
|
+
collapsed.value = false;
|
|
63
|
+
const rightColumn = columnsRoot.columns.value[column.index + 1];
|
|
64
|
+
rightColumn.left = rightColumn.left + column.width;
|
|
65
|
+
rightColumn.width = rightColumn.width > column.width + MIN_WIDTH ? rightColumn.width - column.width : MIN_WIDTH;
|
|
66
|
+
const allOtherColumns = columnsRoot.columns.value.slice(column.index + 2);
|
|
67
|
+
const otherWidth = (column.parentWidth - rightColumn.left - rightColumn.width) / allOtherColumns.length;
|
|
68
|
+
allOtherColumns.forEach((item, index) => {
|
|
69
|
+
item.left = index * otherWidth + rightColumn.left + rightColumn.width;
|
|
70
|
+
item.width = otherWidth;
|
|
71
|
+
});
|
|
72
|
+
emit("expand", column.index);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
ns,
|
|
77
|
+
column,
|
|
78
|
+
handleCollapse,
|
|
79
|
+
handleExpand
|
|
80
|
+
};
|
|
81
|
+
}
|
|
9
82
|
});
|
|
83
|
+
const _hoisted_1 = ["widget"];
|
|
84
|
+
const _hoisted_2 = ["data-index"];
|
|
85
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
86
|
+
const _component_ArrowLeft = resolveComponent("ArrowLeft");
|
|
87
|
+
const _component_el_icon = resolveComponent("el-icon");
|
|
88
|
+
const _component_el_button = resolveComponent("el-button");
|
|
89
|
+
const _component_ArrowRight = resolveComponent("ArrowRight");
|
|
90
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
91
|
+
createElementVNode("div", {
|
|
92
|
+
class: normalizeClass(_ctx.ns.b()),
|
|
93
|
+
widget: _ctx.widget,
|
|
94
|
+
style: normalizeStyle({ width: `${_ctx.column.width}px`, left: `${_ctx.column.left}px`, display: _ctx.column.collapsed ? "none" : "unset" })
|
|
95
|
+
}, [
|
|
96
|
+
renderSlot(_ctx.$slots, "default")
|
|
97
|
+
], 14, _hoisted_1),
|
|
98
|
+
_ctx.column.index < _ctx.column.length - 1 ? (openBlock(), createElementBlock("div", {
|
|
99
|
+
key: 0,
|
|
100
|
+
class: normalizeClass(["resizer", { "collapsed": _ctx.column.collapsed }]),
|
|
101
|
+
style: normalizeStyle({ left: `${_ctx.column.left + (_ctx.column.collapsed ? 0 : _ctx.column.width)}px` }),
|
|
102
|
+
"data-index": _ctx.column.index
|
|
103
|
+
}, [
|
|
104
|
+
!_ctx.column.collapsed ? (openBlock(), createBlock(_component_el_button, {
|
|
105
|
+
key: 0,
|
|
106
|
+
class: "left",
|
|
107
|
+
size: "small",
|
|
108
|
+
onClick: _ctx.handleCollapse,
|
|
109
|
+
disabled: !_ctx.column.collapsable
|
|
110
|
+
}, {
|
|
111
|
+
default: withCtx(() => [
|
|
112
|
+
createVNode(_component_el_icon, null, {
|
|
113
|
+
default: withCtx(() => [
|
|
114
|
+
createVNode(_component_ArrowLeft)
|
|
115
|
+
]),
|
|
116
|
+
_: 1
|
|
117
|
+
})
|
|
118
|
+
]),
|
|
119
|
+
_: 1
|
|
120
|
+
}, 8, ["onClick", "disabled"])) : (openBlock(), createBlock(_component_el_button, {
|
|
121
|
+
key: 1,
|
|
122
|
+
class: "right",
|
|
123
|
+
size: "small",
|
|
124
|
+
onClick: _ctx.handleExpand,
|
|
125
|
+
disabled: !_ctx.column.collapsable
|
|
126
|
+
}, {
|
|
127
|
+
default: withCtx(() => [
|
|
128
|
+
createVNode(_component_el_icon, null, {
|
|
129
|
+
default: withCtx(() => [
|
|
130
|
+
createVNode(_component_ArrowRight)
|
|
131
|
+
]),
|
|
132
|
+
_: 1
|
|
133
|
+
})
|
|
134
|
+
]),
|
|
135
|
+
_: 1
|
|
136
|
+
}, 8, ["onClick", "disabled"]))
|
|
137
|
+
], 14, _hoisted_2)) : createCommentVNode("v-if", true)
|
|
138
|
+
], 64);
|
|
139
|
+
}
|
|
140
|
+
var ResizableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\workspace\\element-pe\\packages\\components\\resizable-columns\\src\\resizable-column.vue"]]);
|
|
10
141
|
|
|
11
|
-
export {
|
|
142
|
+
export { ResizableColumn as default };
|
|
12
143
|
//# sourceMappingURL=resizable-column2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-column2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-column.
|
|
1
|
+
{"version":3,"file":"resizable-column2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-column.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n :style=\"{ width: `${column.width}px`, left: `${column.left}px`, display: column.collapsed ? 'none' : 'unset' }\"\n >\n <slot />\n </div>\n <div v-if=\"column.index < column.length - 1\"\n class=\"resizer\"\n :class=\"{ 'collapsed': column.collapsed }\"\n :style=\"{ left: `${column.left + (column.collapsed ? 0 : column.width)}px` }\"\n :data-index=\"column.index\">\n <el-button v-if=\"!column.collapsed\"\n class=\"left\" size=\"small\"\n @click=\"handleCollapse\"\n :disabled=\"!column.collapsable\"\n ><el-icon><ArrowLeft /></el-icon></el-button>\n <el-button v-else\n class=\"right\" size=\"small\"\n @click=\"handleExpand\"\n :disabled=\"!column.collapsable\"\n ><el-icon><ArrowRight /></el-icon></el-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useNamespace } from '@element-plus/hooks'\nimport { resizableColumnProps } from './resizable-column'\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref\n} from 'vue'\nimport { throwError } from '../../../utils'\nimport { resizableColumnsRootContextKey } from './constants'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\n\n\nexport default defineComponent({\n name: 'ElResizableColumn',\n components: { ArrowLeft, ArrowRight },\n props: resizableColumnProps,\n emits: ['collapse', 'expand'],\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n\n const columnsRoot = inject(resizableColumnsRootContextKey)\n if (!columnsRoot)\n throwError('ElResizableColumn', 'usage: <el-resizable-columns><el-resizable-column /></el-resizable-columns/>')\n\n const MIN_WIDTH = columnsRoot.props.minWidth > 0 ? columnsRoot.props.minWidth : 50\n\n const collapsable = computed(() => props.collapsable || columnsRoot.props.collapsable)\n const collapsed = ref(false)\n\n const column = reactive({\n uid: instance.uid,\n slots,\n props,\n maxWidth: 0,\n parentWidth: 0,\n index: 0,\n length: 0,\n width: 0,\n left: 0,\n collapsable,\n collapsed\n })\n\n onMounted(() => {\n columnsRoot.registerColumn(column)\n })\n\n onUnmounted(() => {\n columnsRoot.unregisterColumn(column.uid)\n })\n\n const ns = useNamespace('resizable-column')\n\n const handleCollapse = () => {\n if (!collapsed.value) {\n for (let rIndex = column.index + 1; rIndex < columnsRoot.columns.value.length; rIndex++) {\n const rColumn = columnsRoot.columns.value[rIndex]\n if (!rColumn.collapsed) {\n rColumn.left = rColumn.left - column.width\n rColumn.width = rColumn.width + column.width\n break\n } else {\n rColumn.left = rColumn.left - column.width\n }\n }\n\n collapsed.value = true\n emit('collapse', column.index)\n }\n }\n const handleExpand = () => {\n if (collapsed.value) {\n collapsed.value = false\n const rightColumn = columnsRoot.columns.value[column.index + 1]\n rightColumn.left = rightColumn.left + column.width\n rightColumn.width = rightColumn.width > column.width + MIN_WIDTH ? rightColumn.width - column.width : MIN_WIDTH\n\n const allOtherColumns = columnsRoot.columns.value.slice(column.index + 2)\n const otherWidth = (column.parentWidth - rightColumn.left - rightColumn.width) / allOtherColumns.length\n allOtherColumns.forEach((item, index) => {\n item.left = index * otherWidth + rightColumn.left + rightColumn.width\n item.width = otherWidth\n })\n\n emit('expand', column.index)\n }\n }\n\n return {\n ns,\n column,\n\n handleCollapse,\n handleExpand\n }\n }\n})\n</script>\n"],"names":["_createElementVNode","_normalizeClass","_normalizeStyle","_renderSlot","_openBlock","_createElementBlock","_createBlock","_createVNode","_withCtx"],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
23
|
};
|
|
24
24
|
columnsContainer: import("vue").Ref<null>;
|
|
25
25
|
handleMousedown: (e: any) => void;
|
|
26
|
+
setColumnWidth: (columnIndex: number, width: string) => void;
|
|
26
27
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
28
|
readonly collapsable: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
28
29
|
readonly widget: StringConstructor;
|
|
@@ -24,6 +24,7 @@ const _sfc_main = defineComponent({
|
|
|
24
24
|
unregisterColumn
|
|
25
25
|
});
|
|
26
26
|
const columnsContainer = ref(null);
|
|
27
|
+
const parentWidth = ref(0);
|
|
27
28
|
const resizeConfig = reactive({
|
|
28
29
|
last: {
|
|
29
30
|
pos: 0,
|
|
@@ -35,32 +36,33 @@ const _sfc_main = defineComponent({
|
|
|
35
36
|
const resizeObserver = new ResizeObserver((entries) => {
|
|
36
37
|
for (const entry of entries) {
|
|
37
38
|
const width = entry.contentRect.width;
|
|
39
|
+
parentWidth.value = width;
|
|
38
40
|
initColumnSize(width);
|
|
39
41
|
}
|
|
40
42
|
});
|
|
41
43
|
resizeObserver.observe(columnsContainer.value);
|
|
42
44
|
}
|
|
43
45
|
});
|
|
44
|
-
const initColumnSize = (
|
|
45
|
-
let remainWidth =
|
|
46
|
+
const initColumnSize = (parentWidth2) => {
|
|
47
|
+
let remainWidth = parentWidth2;
|
|
46
48
|
columns.value.forEach((item, index) => {
|
|
47
49
|
if (item.props.maxWidth) {
|
|
48
50
|
if (item.props.maxWidth.endsWith("px")) {
|
|
49
51
|
item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2));
|
|
50
52
|
} else if (item.props.maxWidth.endsWith("%")) {
|
|
51
|
-
item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 *
|
|
53
|
+
item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth2;
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
if (item.props.width && item.props.width.endsWith("px")) {
|
|
55
57
|
item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2));
|
|
56
58
|
} else if (item.props.width && item.props.width.endsWith("%")) {
|
|
57
|
-
item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 *
|
|
59
|
+
item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth2;
|
|
58
60
|
} else {
|
|
59
61
|
item.width = remainWidth / (columns.value.length - index);
|
|
60
62
|
}
|
|
61
|
-
item.left =
|
|
63
|
+
item.left = parentWidth2 - remainWidth;
|
|
62
64
|
remainWidth -= item.width;
|
|
63
|
-
item.parentWidth =
|
|
65
|
+
item.parentWidth = parentWidth2, item.index = index;
|
|
64
66
|
item.collapsed = false;
|
|
65
67
|
item.length = columns.value.length;
|
|
66
68
|
});
|
|
@@ -141,10 +143,29 @@ const _sfc_main = defineComponent({
|
|
|
141
143
|
document.removeEventListener("mousemove", handleMousemove);
|
|
142
144
|
document.removeEventListener("mousemove", handleMouseup);
|
|
143
145
|
};
|
|
146
|
+
const setColumnWidth = (columnIndex, width) => {
|
|
147
|
+
let remainWidth = parentWidth.value;
|
|
148
|
+
columns.value.forEach((item, index) => {
|
|
149
|
+
if (columnIndex === index) {
|
|
150
|
+
if (width.endsWith("px")) {
|
|
151
|
+
item.width = parseInt(width.substring(0, width.length - 2));
|
|
152
|
+
} else if (width && width.endsWith("%")) {
|
|
153
|
+
item.width = parseInt(width.substring(0, width.length - 1)) / 100 * parentWidth.value;
|
|
154
|
+
} else {
|
|
155
|
+
item.width = remainWidth / (columns.value.length - index);
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
item.width = remainWidth / (columns.value.length - index);
|
|
159
|
+
}
|
|
160
|
+
item.left = parentWidth.value - remainWidth;
|
|
161
|
+
remainWidth -= item.width;
|
|
162
|
+
});
|
|
163
|
+
};
|
|
144
164
|
return {
|
|
145
165
|
ns,
|
|
146
166
|
columnsContainer,
|
|
147
|
-
handleMousedown
|
|
167
|
+
handleMousedown,
|
|
168
|
+
setColumnWidth
|
|
148
169
|
};
|
|
149
170
|
}
|
|
150
171
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-columns2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-columns.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n ref=\"columnsContainer\"\n @mousedown=\"handleMousedown\"\n >\n <slot />\n </div>\n</template>\n\n<script lang='ts'>\nimport { defineComponent, getCurrentInstance, onMounted, provide, ref, reactive } from 'vue'\nimport { useNamespace, useOrderedChildren } from '../../../hooks'\nimport { ResizableColumnContext, resizableColumnsRootContextKey } from './constants'\nimport { resizableColumnsProps } from './resizable-columns'\n\n\nexport default defineComponent({\n name: 'ElResizableColumns',\n props: resizableColumnsProps,\n setup(props) {\n const ns = useNamespace('resizable-columns')\n const MIN_WIDTH = props.minWidth > 0 ? props.minWidth : 50\n\n const {\n children: columns,\n addChild: registerColumn,\n removeChild: unregisterColumn\n } = useOrderedChildren<ResizableColumnContext>(getCurrentInstance()!, 'ElResizableColumn')\n\n provide(resizableColumnsRootContextKey, {\n props,\n columns,\n registerColumn,\n unregisterColumn\n })\n\n const columnsContainer = ref(null)\n\n\n const resizeConfig = reactive({\n last: {\n pos: 0, // 上一次鼠标位置\n index: 0 // 上一个调整宽度的resizer的序号\n }\n })\n\n onMounted(() => {\n // 初始化layout参数\n if (columnsContainer.value && columns.value.length > 0) {\n // 监听外层容器 dom resize,更新layout中每个panel的width和left\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const width = entry.contentRect.width\n initColumnSize(width)\n }\n })\n resizeObserver.observe(columnsContainer.value)\n }\n })\n\n\n const initColumnSize = (parentWidth) => {\n let remainWidth = parentWidth\n columns.value.forEach((item, index) => {\n if (item.props.maxWidth) {\n if (item.props.maxWidth.endsWith('px')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2))\n } else if (item.props.maxWidth.endsWith('%')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth\n }\n }\n if (item.props.width && item.props.width.endsWith('px')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2))\n } else if (item.props.width && item.props.width.endsWith('%')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n item.left = parentWidth - remainWidth\n remainWidth -= item.width\n\n item.parentWidth = parentWidth,\n item.index = index\n item.collapsed = false\n item.length = columns.value.length\n })\n }\n\n\n const handleMousedown = (e) => {\n const index = e.target.getAttribute('data-index')\n if (index !== null) {\n if (columns.value[index].collapsed) {\n return\n }\n\n // 禁止文字选择\n document.onselectstart = () => false\n // 禁止元素拖拽\n document.ondragstart = () => false\n resizeConfig.last.pos = e.clientX\n resizeConfig.last.index = parseInt(index)\n document.addEventListener('mousemove', handleMousemove)\n document.addEventListener('mouseup', handleMouseup)\n }\n }\n\n const handleMousemove = (e) => {\n // 当前resizer的序号\n const index = resizeConfig.last.index\n let offsetX = e.clientX - resizeConfig.last.pos\n // 找到左边可以调整宽度的panel\n let leftIndex = index\n while (leftIndex >= 0 && columns.value[leftIndex].width! <= MIN_WIDTH) {\n leftIndex--\n }\n let rightIndex = index + 1\n while (rightIndex < columns.value.length && columns.value[rightIndex].width! <= MIN_WIDTH) {\n rightIndex++\n }\n // 当左侧panel全部已经最小化则暂停\n if (leftIndex < 0 && offsetX < 0) {\n return\n }\n // 当右侧panel全部已经最小化则暂停\n if (rightIndex >= columns.value.length && offsetX > 0) {\n return\n }\n if (offsetX < 0) {\n // resizer左侧panel宽度\n const newLeftWidth = columns.value[leftIndex].width! + offsetX\n const newRightWidth = columns.value[leftIndex + 1].width! - offsetX\n const rightMaxWidth = columns.value[leftIndex + 1].maxWidth\n\n if (newLeftWidth <= MIN_WIDTH) {\n offsetX = MIN_WIDTH - columns.value[leftIndex].width!\n columns.value[leftIndex].width = MIN_WIDTH\n } else if (rightMaxWidth > 0 && newRightWidth > rightMaxWidth) {\n offsetX = rightMaxWidth - columns.value[leftIndex + 1].width!\n columns.value[leftIndex].width = columns.value[leftIndex].width! + offsetX\n } else {\n columns.value[leftIndex].width = newLeftWidth\n }\n\n // 修改被折叠的中间panel(最小宽度)的位置,要放在修改offset的语句后面\n for (let i = index; i > leftIndex; i--) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index + 1].width = columns.value[index + 1].width! - offsetX\n columns.value[index + 1].left = columns.value[index + 1].left! + offsetX\n resizeConfig.last.pos = e.clientX\n } else if (offsetX > 0) {\n // resizer右侧panel宽度\n const newRightWidth = columns.value[rightIndex].width! - offsetX\n const newLeftWidth = columns.value[rightIndex - 1].width! + offsetX\n const leftMaxWidth = columns.value[rightIndex - 1].maxWidth\n\n if (newRightWidth <= MIN_WIDTH) {\n // 要和上面反过来,因为这边的offset要是>0的\n offsetX = columns.value[rightIndex].width! - MIN_WIDTH\n columns.value[rightIndex].width = MIN_WIDTH\n } else if (leftMaxWidth > 0 && newLeftWidth > leftMaxWidth) {\n offsetX = leftMaxWidth - columns.value[rightIndex - 1].width!\n columns.value[rightIndex].width = columns.value[rightIndex].width! - offsetX\n } else {\n columns.value[rightIndex].width = newRightWidth\n }\n // 修改被折叠的中间panel(最小宽度)的位置\n for (let i = index + 1; i <= rightIndex; i++) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index].width = columns.value[index].width! + offsetX\n resizeConfig.last.pos = e.clientX\n }\n }\n\n const handleMouseup = () => {\n // 允许文字选择\n document.onselectstart = null\n // 允许元素拖拽\n document.ondragstart = null\n document.removeEventListener('mousemove', handleMousemove)\n document.removeEventListener('mousemove', handleMouseup)\n }\n\n\n return {\n ns,\n columnsContainer,\n handleMousedown\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resizable-columns2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-columns.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n ref=\"columnsContainer\"\n @mousedown=\"handleMousedown\"\n >\n <slot />\n </div>\n</template>\n\n<script lang='ts'>\nimport { defineComponent, getCurrentInstance, onMounted, provide, ref, reactive } from 'vue'\nimport { useNamespace, useOrderedChildren } from '../../../hooks'\nimport { ResizableColumnContext, resizableColumnsRootContextKey } from './constants'\nimport { resizableColumnsProps } from './resizable-columns'\n\n\nexport default defineComponent({\n name: 'ElResizableColumns',\n props: resizableColumnsProps,\n setup(props) {\n const ns = useNamespace('resizable-columns')\n const MIN_WIDTH = props.minWidth > 0 ? props.minWidth : 50\n\n const {\n children: columns,\n addChild: registerColumn,\n removeChild: unregisterColumn\n } = useOrderedChildren<ResizableColumnContext>(getCurrentInstance()!, 'ElResizableColumn')\n\n provide(resizableColumnsRootContextKey, {\n props,\n columns,\n registerColumn,\n unregisterColumn\n })\n\n const columnsContainer = ref(null)\n const parentWidth = ref(0)\n\n const resizeConfig = reactive({\n last: {\n pos: 0, // 上一次鼠标位置\n index: 0 // 上一个调整宽度的resizer的序号\n }\n })\n\n\n onMounted(() => {\n // 初始化layout参数\n if (columnsContainer.value && columns.value.length > 0) {\n // 监听外层容器 dom resize,更新layout中每个panel的width和left\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const width = entry.contentRect.width\n parentWidth.value = width\n initColumnSize(width)\n }\n })\n resizeObserver.observe(columnsContainer.value)\n }\n })\n\n\n const initColumnSize = (parentWidth) => {\n let remainWidth = parentWidth\n columns.value.forEach((item, index) => {\n if (item.props.maxWidth) {\n if (item.props.maxWidth.endsWith('px')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2))\n } else if (item.props.maxWidth.endsWith('%')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth\n }\n }\n if (item.props.width && item.props.width.endsWith('px')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2))\n } else if (item.props.width && item.props.width.endsWith('%')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n item.left = parentWidth - remainWidth\n remainWidth -= item.width\n\n item.parentWidth = parentWidth,\n item.index = index\n item.collapsed = false\n item.length = columns.value.length\n })\n }\n\n\n const handleMousedown = (e) => {\n const index = e.target.getAttribute('data-index')\n if (index !== null) {\n if (columns.value[index].collapsed) {\n return\n }\n\n // 禁止文字选择\n document.onselectstart = () => false\n // 禁止元素拖拽\n document.ondragstart = () => false\n resizeConfig.last.pos = e.clientX\n resizeConfig.last.index = parseInt(index)\n document.addEventListener('mousemove', handleMousemove)\n document.addEventListener('mouseup', handleMouseup)\n }\n }\n\n const handleMousemove = (e) => {\n // 当前resizer的序号\n const index = resizeConfig.last.index\n let offsetX = e.clientX - resizeConfig.last.pos\n // 找到左边可以调整宽度的panel\n let leftIndex = index\n while (leftIndex >= 0 && columns.value[leftIndex].width! <= MIN_WIDTH) {\n leftIndex--\n }\n let rightIndex = index + 1\n while (rightIndex < columns.value.length && columns.value[rightIndex].width! <= MIN_WIDTH) {\n rightIndex++\n }\n // 当左侧panel全部已经最小化则暂停\n if (leftIndex < 0 && offsetX < 0) {\n return\n }\n // 当右侧panel全部已经最小化则暂停\n if (rightIndex >= columns.value.length && offsetX > 0) {\n return\n }\n if (offsetX < 0) {\n // resizer左侧panel宽度\n const newLeftWidth = columns.value[leftIndex].width! + offsetX\n const newRightWidth = columns.value[leftIndex + 1].width! - offsetX\n const rightMaxWidth = columns.value[leftIndex + 1].maxWidth\n\n if (newLeftWidth <= MIN_WIDTH) {\n offsetX = MIN_WIDTH - columns.value[leftIndex].width!\n columns.value[leftIndex].width = MIN_WIDTH\n } else if (rightMaxWidth > 0 && newRightWidth > rightMaxWidth) {\n offsetX = rightMaxWidth - columns.value[leftIndex + 1].width!\n columns.value[leftIndex].width = columns.value[leftIndex].width! + offsetX\n } else {\n columns.value[leftIndex].width = newLeftWidth\n }\n\n // 修改被折叠的中间panel(最小宽度)的位置,要放在修改offset的语句后面\n for (let i = index; i > leftIndex; i--) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index + 1].width = columns.value[index + 1].width! - offsetX\n columns.value[index + 1].left = columns.value[index + 1].left! + offsetX\n resizeConfig.last.pos = e.clientX\n } else if (offsetX > 0) {\n // resizer右侧panel宽度\n const newRightWidth = columns.value[rightIndex].width! - offsetX\n const newLeftWidth = columns.value[rightIndex - 1].width! + offsetX\n const leftMaxWidth = columns.value[rightIndex - 1].maxWidth\n\n if (newRightWidth <= MIN_WIDTH) {\n // 要和上面反过来,因为这边的offset要是>0的\n offsetX = columns.value[rightIndex].width! - MIN_WIDTH\n columns.value[rightIndex].width = MIN_WIDTH\n } else if (leftMaxWidth > 0 && newLeftWidth > leftMaxWidth) {\n offsetX = leftMaxWidth - columns.value[rightIndex - 1].width!\n columns.value[rightIndex].width = columns.value[rightIndex].width! - offsetX\n } else {\n columns.value[rightIndex].width = newRightWidth\n }\n // 修改被折叠的中间panel(最小宽度)的位置\n for (let i = index + 1; i <= rightIndex; i++) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index].width = columns.value[index].width! + offsetX\n resizeConfig.last.pos = e.clientX\n }\n }\n\n const handleMouseup = () => {\n // 允许文字选择\n document.onselectstart = null\n // 允许元素拖拽\n document.ondragstart = null\n document.removeEventListener('mousemove', handleMousemove)\n document.removeEventListener('mousemove', handleMouseup)\n }\n\n const setColumnWidth = (columnIndex: number, width: string) => {\n let remainWidth = parentWidth.value\n columns.value.forEach((item, index) => {\n if (columnIndex === index) {\n if (width.endsWith('px')) {\n item.width = parseInt(width.substring(0, width.length - 2))\n } else if (width && width.endsWith('%')) {\n item.width = parseInt(width.substring(0, width.length - 1)) / 100 * parentWidth.value\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n\n item.left = parentWidth.value - remainWidth\n remainWidth -= item.width\n })\n }\n\n return {\n ns,\n columnsContainer,\n handleMousedown,\n setColumnWidth\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../../utils/index.mjs';
|
|
2
2
|
import '../../collection/index.mjs';
|
|
3
3
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
4
|
-
import { createCollectionWithScope } from '../../collection/src/
|
|
4
|
+
import { createCollectionWithScope } from '../../collection/src/collection.mjs';
|
|
5
5
|
|
|
6
6
|
const rovingFocusGroupProps = buildProps({
|
|
7
7
|
style: { type: definePropType([String, Array, Object]) },
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../../utils/index.mjs';
|
|
2
|
-
import Scrollbar from './src/
|
|
2
|
+
import Scrollbar from './src/scrollbar.mjs';
|
|
3
3
|
export { BAR_MAP, GAP, renderThumbStyle } from './src/util.mjs';
|
|
4
|
-
export { scrollbarEmits, scrollbarProps } from './src/
|
|
5
|
-
export { thumbProps } from './src/
|
|
4
|
+
export { scrollbarEmits, scrollbarProps } from './src/scrollbar2.mjs';
|
|
5
|
+
export { thumbProps } from './src/thumb.mjs';
|
|
6
6
|
export { scrollbarContextKey } from './src/constants.mjs';
|
|
7
7
|
import { withInstall } from '../../utils/vue/install.mjs';
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, ref, openBlock, createElementBlock, Fragment, createVNode } from 'vue';
|
|
2
2
|
import { GAP } from './util.mjs';
|
|
3
|
-
import Thumb from './
|
|
3
|
+
import Thumb from './thumb2.mjs';
|
|
4
4
|
import { barProps } from './bar.mjs';
|
|
5
5
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
6
6
|
|
|
@@ -1,53 +1,183 @@
|
|
|
1
|
+
import { defineComponent, ref, computed, nextTick, provide, reactive, onMounted, onUpdated, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, createBlock, resolveDynamicComponent, withCtx, renderSlot, createCommentVNode } from 'vue';
|
|
2
|
+
import '../../config-provider/index.mjs';
|
|
3
|
+
import { useResizeObserver, useEventListener } from '@vueuse/core';
|
|
1
4
|
import '../../../utils/index.mjs';
|
|
2
|
-
import
|
|
5
|
+
import '../../../hooks/index.mjs';
|
|
6
|
+
import { GAP } from './util.mjs';
|
|
7
|
+
import Bar from './bar2.mjs';
|
|
8
|
+
import { scrollbarContextKey } from './constants.mjs';
|
|
9
|
+
import { scrollbarProps, scrollbarEmits } from './scrollbar2.mjs';
|
|
10
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
11
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
12
|
+
import { addUnit } from '../../../utils/dom/style.mjs';
|
|
13
|
+
import { isObject } from '@vue/shared';
|
|
3
14
|
import { isNumber } from '../../../utils/types.mjs';
|
|
15
|
+
import { debugWarn } from '../../../utils/error.mjs';
|
|
16
|
+
import { watch } from '../../config-provider/src/for-editor.mjs';
|
|
4
17
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
18
|
+
const COMPONENT_NAME = "ElScrollbar";
|
|
19
|
+
const __default__ = defineComponent({
|
|
20
|
+
name: COMPONENT_NAME
|
|
21
|
+
});
|
|
22
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
23
|
+
...__default__,
|
|
24
|
+
props: scrollbarProps,
|
|
25
|
+
emits: scrollbarEmits,
|
|
26
|
+
setup(__props, { expose, emit }) {
|
|
27
|
+
const props = __props;
|
|
28
|
+
const ns = useNamespace("scrollbar");
|
|
29
|
+
let stopResizeObserver = void 0;
|
|
30
|
+
let stopResizeListener = void 0;
|
|
31
|
+
const scrollbarRef = ref();
|
|
32
|
+
const wrapRef = ref();
|
|
33
|
+
const resizeRef = ref();
|
|
34
|
+
const sizeWidth = ref("0");
|
|
35
|
+
const sizeHeight = ref("0");
|
|
36
|
+
const barRef = ref();
|
|
37
|
+
const ratioY = ref(1);
|
|
38
|
+
const ratioX = ref(1);
|
|
39
|
+
const style = computed(() => {
|
|
40
|
+
const style2 = {};
|
|
41
|
+
if (props.height)
|
|
42
|
+
style2.height = addUnit(props.height);
|
|
43
|
+
if (props.maxHeight)
|
|
44
|
+
style2.maxHeight = addUnit(props.maxHeight);
|
|
45
|
+
return [props.wrapStyle, style2];
|
|
46
|
+
});
|
|
47
|
+
const wrapKls = computed(() => {
|
|
48
|
+
return [
|
|
49
|
+
props.wrapClass,
|
|
50
|
+
ns.e("wrap"),
|
|
51
|
+
{ [ns.em("wrap", "hidden-default")]: !props.native }
|
|
52
|
+
];
|
|
53
|
+
});
|
|
54
|
+
const resizeKls = computed(() => {
|
|
55
|
+
return [ns.e("view"), props.viewClass];
|
|
56
|
+
});
|
|
57
|
+
const handleScroll = () => {
|
|
58
|
+
var _a;
|
|
59
|
+
if (wrapRef.value) {
|
|
60
|
+
(_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
|
|
61
|
+
emit("scroll", {
|
|
62
|
+
scrollTop: wrapRef.value.scrollTop,
|
|
63
|
+
scrollLeft: wrapRef.value.scrollLeft
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
function scrollTo(arg1, arg2) {
|
|
68
|
+
if (isObject(arg1)) {
|
|
69
|
+
wrapRef.value.scrollTo(arg1);
|
|
70
|
+
} else if (isNumber(arg1) && isNumber(arg2)) {
|
|
71
|
+
wrapRef.value.scrollTo(arg1, arg2);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const setScrollTop = (value) => {
|
|
75
|
+
if (!isNumber(value)) {
|
|
76
|
+
debugWarn(COMPONENT_NAME, "value must be a number");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
wrapRef.value.scrollTop = value;
|
|
80
|
+
};
|
|
81
|
+
const setScrollLeft = (value) => {
|
|
82
|
+
if (!isNumber(value)) {
|
|
83
|
+
debugWarn(COMPONENT_NAME, "value must be a number");
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
wrapRef.value.scrollLeft = value;
|
|
87
|
+
};
|
|
88
|
+
const update = () => {
|
|
89
|
+
if (!wrapRef.value)
|
|
90
|
+
return;
|
|
91
|
+
const offsetHeight = wrapRef.value.offsetHeight - GAP;
|
|
92
|
+
const offsetWidth = wrapRef.value.offsetWidth - GAP;
|
|
93
|
+
const originalHeight = offsetHeight ** 2 / wrapRef.value.scrollHeight;
|
|
94
|
+
const originalWidth = offsetWidth ** 2 / wrapRef.value.scrollWidth;
|
|
95
|
+
const height = Math.max(originalHeight, props.minSize);
|
|
96
|
+
const width = Math.max(originalWidth, props.minSize);
|
|
97
|
+
ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height));
|
|
98
|
+
ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width));
|
|
99
|
+
sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : "";
|
|
100
|
+
sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : "";
|
|
101
|
+
};
|
|
102
|
+
watch(() => props.noresize, (noresize) => {
|
|
103
|
+
if (noresize) {
|
|
104
|
+
stopResizeObserver == null ? void 0 : stopResizeObserver();
|
|
105
|
+
stopResizeListener == null ? void 0 : stopResizeListener();
|
|
106
|
+
} else {
|
|
107
|
+
;
|
|
108
|
+
({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update));
|
|
109
|
+
stopResizeListener = useEventListener("resize", update);
|
|
110
|
+
}
|
|
111
|
+
}, { immediate: true });
|
|
112
|
+
watch(() => [props.maxHeight, props.height], () => {
|
|
113
|
+
if (!props.native)
|
|
114
|
+
nextTick(() => {
|
|
115
|
+
var _a;
|
|
116
|
+
update();
|
|
117
|
+
if (wrapRef.value) {
|
|
118
|
+
(_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
provide(scrollbarContextKey, reactive({
|
|
123
|
+
scrollbarElement: scrollbarRef,
|
|
124
|
+
wrapElement: wrapRef
|
|
125
|
+
}));
|
|
126
|
+
onMounted(() => {
|
|
127
|
+
if (!props.native)
|
|
128
|
+
nextTick(() => {
|
|
129
|
+
update();
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
onUpdated(() => update());
|
|
133
|
+
expose({
|
|
134
|
+
wrapRef,
|
|
135
|
+
update,
|
|
136
|
+
scrollTo,
|
|
137
|
+
setScrollTop,
|
|
138
|
+
setScrollLeft,
|
|
139
|
+
handleScroll
|
|
140
|
+
});
|
|
141
|
+
return (_ctx, _cache) => {
|
|
142
|
+
return openBlock(), createElementBlock("div", {
|
|
143
|
+
ref_key: "scrollbarRef",
|
|
144
|
+
ref: scrollbarRef,
|
|
145
|
+
class: normalizeClass(unref(ns).b())
|
|
146
|
+
}, [
|
|
147
|
+
createElementVNode("div", {
|
|
148
|
+
ref_key: "wrapRef",
|
|
149
|
+
ref: wrapRef,
|
|
150
|
+
class: normalizeClass(unref(wrapKls)),
|
|
151
|
+
style: normalizeStyle(unref(style)),
|
|
152
|
+
onScroll: handleScroll
|
|
153
|
+
}, [
|
|
154
|
+
(openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
|
|
155
|
+
ref_key: "resizeRef",
|
|
156
|
+
ref: resizeRef,
|
|
157
|
+
class: normalizeClass(unref(resizeKls)),
|
|
158
|
+
style: normalizeStyle(_ctx.viewStyle)
|
|
159
|
+
}, {
|
|
160
|
+
default: withCtx(() => [
|
|
161
|
+
renderSlot(_ctx.$slots, "default")
|
|
162
|
+
]),
|
|
163
|
+
_: 3
|
|
164
|
+
}, 8, ["class", "style"]))
|
|
165
|
+
], 38),
|
|
166
|
+
!_ctx.native ? (openBlock(), createBlock(Bar, {
|
|
167
|
+
key: 0,
|
|
168
|
+
ref_key: "barRef",
|
|
169
|
+
ref: barRef,
|
|
170
|
+
height: sizeHeight.value,
|
|
171
|
+
width: sizeWidth.value,
|
|
172
|
+
always: _ctx.always,
|
|
173
|
+
"ratio-x": ratioX.value,
|
|
174
|
+
"ratio-y": ratioY.value
|
|
175
|
+
}, null, 8, ["height", "width", "always", "ratio-x", "ratio-y"])) : createCommentVNode("v-if", true)
|
|
176
|
+
], 2);
|
|
177
|
+
};
|
|
43
178
|
}
|
|
44
179
|
});
|
|
45
|
-
|
|
46
|
-
scroll: ({
|
|
47
|
-
scrollTop,
|
|
48
|
-
scrollLeft
|
|
49
|
-
}) => [scrollTop, scrollLeft].every(isNumber)
|
|
50
|
-
};
|
|
180
|
+
var Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\scrollbar\\src\\scrollbar.vue"]]);
|
|
51
181
|
|
|
52
|
-
export {
|
|
182
|
+
export { Scrollbar as default };
|
|
53
183
|
//# sourceMappingURL=scrollbar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type Scrollbar from './scrollbar.vue'\n\nexport const scrollbarProps = buildProps({\n /**\n * @description height of scrollbar\n */\n height: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description max height of scrollbar\n */\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether to use the native scrollbar\n */\n native: {\n type: Boolean,\n default: false,\n },\n /**\n * @description style of wrap\n */\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n /**\n * @description class of wrap\n */\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description class of view\n */\n viewClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description style of view\n */\n viewStyle: {\n type: [String, Array, Object],\n default: '',\n },\n /**\n * @description do not respond to container size changes, if the container size does not change, it is better to set it to optimize performance\n */\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n /**\n * @description element tag of the view\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description always show\n */\n always: Boolean,\n /**\n * @description minimum size of scrollbar\n */\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => [scrollTop, scrollLeft].every(isNumber),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n\nexport type ScrollbarInstance = InstanceType<typeof Scrollbar>\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,CAAC;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C;;;;"}
|
|
1
|
+
{"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbarRef\" :class=\"ns.b()\">\n <div ref=\"wrapRef\" :class=\"wrapKls\" :style=\"style\" @scroll=\"handleScroll\">\n <component\n :is=\"tag\"\n ref=\"resizeRef\"\n :class=\"resizeKls\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n reactive,\n ref,\n} from 'vue'\nimport { watch } from '../../config-provider'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber, isObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { GAP } from './util'\nimport Bar from './bar.vue'\nimport { scrollbarContextKey } from './constants'\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { BarInstance } from './bar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\nconst COMPONENT_NAME = 'ElScrollbar'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(scrollbarProps)\nconst emit = defineEmits(scrollbarEmits)\n\nconst ns = useNamespace('scrollbar')\n\nlet stopResizeObserver: (() => void) | undefined = undefined\nlet stopResizeListener: (() => void) | undefined = undefined\n\nconst scrollbarRef = ref<HTMLDivElement>()\nconst wrapRef = ref<HTMLDivElement>()\nconst resizeRef = ref<HTMLElement>()\n\nconst sizeWidth = ref('0')\nconst sizeHeight = ref('0')\nconst barRef = ref<BarInstance>()\nconst ratioY = ref(1)\nconst ratioX = ref(1)\n\nconst style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n})\n\nconst wrapKls = computed(() => {\n return [\n props.wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !props.native },\n ]\n})\n\nconst resizeKls = computed(() => {\n return [ns.e('view'), props.viewClass]\n})\n\nconst handleScroll = () => {\n if (wrapRef.value) {\n barRef.value?.handleScroll(wrapRef.value)\n\n emit('scroll', {\n scrollTop: wrapRef.value.scrollTop,\n scrollLeft: wrapRef.value.scrollLeft,\n })\n }\n}\n\n// TODO: refactor method overrides, due to script setup dts\n// @ts-nocheck\nfunction scrollTo(xCord: number, yCord?: number): void\nfunction scrollTo(options: ScrollToOptions): void\nfunction scrollTo(arg1: unknown, arg2?: number) {\n if (isObject(arg1)) {\n wrapRef.value!.scrollTo(arg1)\n } else if (isNumber(arg1) && isNumber(arg2)) {\n wrapRef.value!.scrollTo(arg1, arg2)\n }\n}\n\nconst setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(COMPONENT_NAME, 'value must be a number')\n return\n }\n wrapRef.value!.scrollTop = value\n}\n\nconst setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(COMPONENT_NAME, 'value must be a number')\n return\n }\n wrapRef.value!.scrollLeft = value\n}\n\nconst update = () => {\n if (!wrapRef.value) return\n const offsetHeight = wrapRef.value.offsetHeight - GAP\n const offsetWidth = wrapRef.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrapRef.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrapRef.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\nwatch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrapRef.value) {\n barRef.value?.handleScroll(wrapRef.value)\n }\n })\n }\n)\n\nprovide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbarRef,\n wrapElement: wrapRef,\n })\n)\n\nonMounted(() => {\n if (!props.native)\n nextTick(() => {\n update()\n })\n})\nonUpdated(() => update())\n\ndefineExpose({\n /** @description scrollbar wrap ref */\n wrapRef,\n /** @description update scrollbar state manually */\n update,\n /** @description scrolls to a particular set of coordinates */\n scrollTo,\n /** @description set distance to scroll top */\n setScrollTop,\n /** @description set distance to scroll left */\n setScrollLeft,\n /** @description handle scroll event */\n handleScroll,\n})\n</script>\n"],"names":[],"mappings":"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"}
|