element-plus 1.2.0-beta.5 → 1.2.0-beta.6
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/README.md +5 -174
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1568 -1607
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1563 -1612
- package/es/component.d.ts +3 -0
- package/es/component.mjs.map +1 -1
- package/es/components/affix/index.d.ts +48 -0
- package/es/components/affix/src/affix.vue.d.ts +48 -0
- package/es/components/alert/index.d.ts +5 -5
- package/es/components/alert/src/alert.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +5 -5
- package/es/components/autocomplete/index.d.ts +4 -4
- package/es/components/autocomplete/src/index.vue.d.ts +2 -2
- package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
- package/es/components/avatar/index.d.ts +1 -1
- package/es/components/avatar/src/avatar.vue.d.ts +1 -1
- package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.mjs.map +1 -1
- package/es/components/button/index.d.ts +18 -18
- package/es/components/button/src/button-group.d.ts +1 -1
- package/es/components/button/src/button-group.vue.d.ts +3 -3
- package/es/components/button/src/button.d.ts +3 -3
- package/es/components/button/src/button.mjs +5 -3
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button.vue.d.ts +12 -12
- package/es/components/button/src/button.vue_vue_type_script_lang.mjs +9 -12
- package/es/components/button/src/button.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs.map +1 -1
- package/es/components/calendar/index.d.ts +20 -47
- package/es/components/calendar/index.mjs +6 -8
- package/es/components/calendar/index.mjs.map +1 -1
- package/es/components/calendar/src/calendar.d.ts +11 -0
- package/es/components/calendar/src/calendar.mjs +19 -0
- package/es/components/calendar/src/calendar.mjs.map +1 -0
- package/es/components/calendar/src/calendar.vue.d.ts +34 -0
- package/es/components/calendar/src/{index.vue_vue_type_script_lang.mjs → calendar.vue_vue_type_script_lang.mjs} +12 -23
- package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -0
- package/es/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.mjs → calendar.vue_vue_type_template_id_76705c76_lang.mjs} +1 -1
- package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -0
- package/es/components/calendar/src/calendar2.mjs +7 -0
- package/es/components/calendar/src/calendar2.mjs.map +1 -0
- package/es/components/calendar/src/date-table.d.ts +13 -0
- package/es/components/calendar/src/date-table.mjs +23 -5
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue.d.ts +29 -38
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs +54 -71
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs +1 -1
- package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +7 -0
- package/es/components/calendar/src/date-table2.mjs.map +1 -0
- package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +8756 -0
- package/es/components/cascader/src/index.vue.d.ts +4384 -0
- package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs +3 -4
- package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.mjs.map +1 -1
- package/es/components/checkbox/index.d.ts +10 -10
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
- package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs +5 -3
- package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.type.d.ts +2 -2
- package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/es/components/checkbox/src/useCheckbox.d.ts +2 -3
- package/es/components/checkbox/src/useCheckbox.mjs +9 -18
- package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
- package/es/components/collapse/index.d.ts +4 -4
- package/es/components/collapse/src/collapse-item.vue.d.ts +2 -2
- package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +2 -2
- package/es/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
- package/es/components/color-picker/src/index.vue.d.ts +1 -1
- package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs +3 -6
- package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
- package/es/components/config-provider/index.d.ts +10 -9
- package/es/components/config-provider/src/config-provider.d.ts +3 -4
- package/es/components/config-provider/src/config-provider.mjs +10 -11
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/config-provider/src/index.d.ts +10 -9
- package/es/components/date-picker/index.d.ts +10 -10
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +5 -5
- package/es/components/descriptions/index.d.ts +1 -1
- package/es/components/descriptions/src/index.vue.d.ts +1 -1
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs +4 -6
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs.map +1 -1
- package/es/components/dialog/index.d.ts +8 -2
- package/es/components/dialog/src/dialog.d.ts +2 -1
- package/es/components/dialog/src/dialog.mjs +4 -0
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +8 -2
- package/es/components/dialog/src/dialog.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs +2 -3
- package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs.map +1 -1
- package/es/components/dialog/src/use-dialog.d.ts +2 -0
- package/es/components/dialog/src/use-dialog.mjs +2 -0
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/divider/index.d.ts +4 -0
- package/es/components/divider/src/divider.d.ts +2 -0
- package/es/components/divider/src/divider.mjs +5 -1
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/divider/src/divider.vue.d.ts +4 -0
- package/es/components/divider/src/divider.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs +4 -3
- package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs.map +1 -1
- package/es/components/drawer/index.d.ts +66 -208
- package/es/components/drawer/index.mjs +6 -8
- package/es/components/drawer/index.mjs.map +1 -1
- package/es/components/drawer/src/drawer.d.ts +35 -0
- package/es/components/drawer/src/drawer.mjs +28 -0
- package/es/components/drawer/src/drawer.mjs.map +1 -0
- package/es/components/drawer/src/drawer.vue.d.ts +129 -0
- package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs +37 -0
- package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs.map +1 -0
- package/es/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.mjs → drawer.vue_vue_type_template_id_e0557736_lang.mjs} +1 -1
- package/es/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.mjs.map +1 -0
- package/es/components/drawer/src/drawer2.mjs +7 -0
- package/es/components/drawer/src/drawer2.mjs.map +1 -0
- package/es/components/dropdown/index.d.ts +3 -3
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs +4 -4
- package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
- package/es/components/dropdown/src/useDropdown.d.ts +0 -1
- package/es/components/dropdown/src/useDropdown.mjs +1 -3
- package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
- package/es/components/form/index.d.ts +4 -4
- package/es/components/form/src/form-item.vue.d.ts +2 -2
- package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs +4 -6
- package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.mjs.map +1 -1
- package/es/components/index.mjs +5 -1
- package/es/components/index.mjs.map +1 -1
- package/es/components/input/index.d.ts +10 -10
- package/es/components/input/src/input.d.ts +2 -2
- package/es/components/input/src/input.mjs +4 -3
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +10 -10
- package/es/components/input/src/input.vue_vue_type_script_lang.mjs +10 -11
- package/es/components/input/src/input.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +23 -23
- package/es/components/input-number/src/input-number.vue.d.ts +23 -23
- package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs +6 -5
- package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs +2 -1
- package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs.map +1 -1
- package/es/components/link/index.d.ts +2 -2
- package/es/components/link/src/link.vue.d.ts +2 -2
- package/es/components/loading/index.d.ts +52 -13
- package/es/components/loading/index.mjs +3 -3
- package/es/components/loading/index.mjs.map +1 -1
- package/es/components/loading/src/directive.d.ts +11 -10
- package/es/components/loading/src/directive.mjs +45 -26
- package/es/components/loading/src/directive.mjs.map +1 -1
- package/es/components/loading/src/loading.d.ts +24 -0
- package/es/components/loading/src/loading.mjs +112 -0
- package/es/components/loading/src/loading.mjs.map +1 -0
- package/es/components/loading/src/service.d.ts +3 -0
- package/es/components/loading/src/service.mjs +101 -0
- package/es/components/loading/src/service.mjs.map +1 -0
- package/es/components/loading/src/types.d.ts +23 -0
- package/es/components/loading/src/types.mjs +2 -0
- package/es/components/loading/src/types.mjs.map +1 -0
- package/es/components/menu/src/menu.mjs +1 -1
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.mjs +1 -1
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +1 -1
- package/es/components/message/src/message.vue.d.ts +4 -3
- package/es/components/message/src/message.vue_vue_type_script_lang.mjs +2 -0
- package/es/components/message/src/message.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs +51 -54
- package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +1840 -0
- package/es/components/notification/src/notification.d.ts +1 -1
- package/es/components/notification/src/notification.vue.d.ts +5 -5
- package/es/components/page-header/src/page-header.mjs +1 -1
- package/es/components/page-header/src/page-header.mjs.map +1 -1
- package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/es/components/popover/index.d.ts +2 -2
- package/es/components/popover/src/index.vue.d.ts +1 -1
- package/es/components/popper/index.d.ts +3480 -0
- package/es/components/popper/src/index.vue.d.ts +1737 -0
- package/es/components/popper/src/use-popper/index.d.ts +1540 -1
- package/es/components/progress/index.d.ts +81 -4
- package/es/components/progress/index.mjs +6 -8
- package/es/components/progress/index.mjs.map +1 -1
- package/es/components/progress/src/progress.d.ts +22 -0
- package/es/components/progress/src/progress.mjs +62 -0
- package/es/components/progress/src/progress.mjs.map +1 -0
- package/es/components/progress/src/progress.vue.d.ts +81 -0
- package/es/components/progress/src/{index.vue_vue_type_script_lang.mjs → progress.vue_vue_type_script_lang.mjs} +27 -94
- package/es/components/progress/src/progress.vue_vue_type_script_lang.mjs.map +1 -0
- package/es/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.mjs → progress.vue_vue_type_template_id_9158c3b6_lang.mjs} +1 -1
- package/es/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.mjs.map +1 -0
- package/es/components/progress/src/progress2.mjs +7 -0
- package/es/components/progress/src/progress2.mjs.map +1 -0
- package/es/components/radio/index.d.ts +36 -40
- package/es/components/radio/src/radio-button.d.ts +2 -2
- package/es/components/radio/src/radio-button.vue.d.ts +8 -8
- package/es/components/radio/src/radio-group.d.ts +2 -2
- package/es/components/radio/src/radio-group.mjs +3 -2
- package/es/components/radio/src/radio-group.mjs.map +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +6 -8
- package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs +1 -3
- package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.mjs.map +1 -1
- package/es/components/radio/src/radio.d.ts +5 -5
- package/es/components/radio/src/radio.mjs +5 -6
- package/es/components/radio/src/radio.mjs.map +1 -1
- package/es/components/radio/src/radio.vue.d.ts +8 -8
- package/es/components/rate/src/rate.mjs +1 -1
- package/es/components/rate/src/rate.mjs.map +1 -1
- package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.mjs.map +1 -1
- package/es/components/result/index.d.ts +3 -3
- package/es/components/result/src/result.d.ts +1 -1
- package/es/components/result/src/result.mjs +1 -1
- package/es/components/result/src/result.mjs.map +1 -1
- package/es/components/result/src/result.vue.d.ts +3 -3
- package/es/components/select/index.d.ts +14 -7
- package/es/components/select/src/select.vue.d.ts +14 -7
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +5 -1
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +6 -6
- package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
- package/es/components/select/src/useSelect.d.ts +76 -0
- package/es/components/select/src/useSelect.mjs +3 -3
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +14 -14
- package/es/components/select-v2/src/defaults.mjs +1 -1
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +7 -7
- package/es/components/select-v2/src/useSelect.d.ts +1 -1
- package/es/components/select-v2/src/useSelect.mjs +5 -6
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/skeleton/index.d.ts +6 -6
- package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/es/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
- package/es/components/slider/index.d.ts +307 -0
- package/es/components/slider/src/index.vue.d.ts +155 -0
- package/es/components/slider/src/useSlide.d.ts +21 -0
- package/es/components/steps/index.d.ts +4 -4
- package/es/components/steps/src/item.vue.d.ts +2 -2
- package/es/components/steps/src/item.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/steps/src/item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.mjs.map +1 -1
- package/es/components/switch/index.d.ts +99 -4
- package/es/components/switch/index.mjs +6 -8
- package/es/components/switch/index.mjs.map +1 -1
- package/es/components/switch/src/switch.d.ts +31 -0
- package/es/components/switch/src/switch.mjs +87 -0
- package/es/components/switch/src/switch.mjs.map +1 -0
- package/es/components/switch/src/switch.vue.d.ts +98 -0
- package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs +117 -0
- package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs.map +1 -0
- package/es/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.mjs → switch.vue_vue_type_template_id_538fbc85_lang.mjs} +1 -1
- package/es/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.mjs.map +1 -0
- package/es/components/switch/src/switch2.mjs +7 -0
- package/es/components/switch/src/switch2.mjs.map +1 -0
- package/es/components/table/index.d.ts +9 -9
- package/es/components/table/src/config.mjs +1 -1
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.d.ts +1 -1
- package/es/components/table/src/table/style-helper.mjs +3 -5
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/defaults.d.ts +2 -2
- package/es/components/table/src/table-column/defaults.mjs.map +1 -1
- package/es/components/table/src/table-column/index.d.ts +3 -3
- package/es/components/table/src/table.vue.d.ts +3 -3
- package/es/components/table/src/util.mjs +0 -1
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/tabs/index.d.ts +4 -4
- package/es/components/tabs/src/tab-nav.mjs +1 -1
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +2 -2
- package/es/components/tabs/src/tabs.mjs +1 -1
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs +4 -4
- package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.mjs.map +1 -1
- package/es/components/time-picker/index.d.ts +10 -10
- package/es/components/time-picker/src/common/date-utils.d.ts +1 -1
- package/es/components/time-picker/src/common/date-utils.mjs +1 -3
- package/es/components/time-picker/src/common/date-utils.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -8
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
- package/es/components/time-picker/src/common/props.d.ts +1 -1
- package/es/components/time-picker/src/common/props.mjs +1 -1
- package/es/components/time-picker/src/common/props.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +5 -5
- package/es/components/time-select/index.d.ts +4 -4
- package/es/components/time-select/src/time-select.vue.d.ts +2 -2
- package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.mjs.map +1 -1
- package/es/components/timeline/index.d.ts +4 -4
- package/es/components/timeline/src/item.vue.d.ts +2 -2
- package/es/components/tooltip/src/index.mjs +4 -2
- package/es/components/tooltip/src/index.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +8 -8
- package/es/components/transfer/src/index.vue.d.ts +4 -4
- package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -2
- package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map +1 -1
- package/es/components/tree/index.d.ts +2 -2
- package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.mjs.map +1 -1
- package/es/components/tree/src/tree.vue.d.ts +1 -1
- package/es/components/tree-v2/index.d.ts +2 -2
- package/es/components/tree-v2/src/composables/useTree.d.ts +29 -0
- package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
- package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
- package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs +3 -3
- package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/defaults.mjs +1 -1
- package/es/defaults.mjs.map +1 -1
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.mjs +3 -1
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-common-props/index.d.ts +5 -0
- package/es/hooks/use-common-props/index.mjs +31 -0
- package/es/hooks/use-common-props/index.mjs.map +1 -0
- package/es/hooks/use-form-item/index.d.ts +1 -14
- package/es/hooks/use-form-item/index.mjs +3 -24
- package/es/hooks/use-form-item/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +4 -1
- package/es/hooks/use-global-config/index.mjs +8 -6
- package/es/hooks/use-global-config/index.mjs.map +1 -1
- package/es/hooks/use-locale/index.d.ts +6 -5
- package/es/hooks/use-locale/index.mjs +11 -8
- package/es/hooks/use-locale/index.mjs.map +1 -1
- package/es/hooks/use-lockscreen/index.mjs +5 -1
- package/es/hooks/use-lockscreen/index.mjs.map +1 -1
- package/es/hooks/use-prop/index.d.ts +2 -0
- package/es/hooks/use-prop/index.mjs +12 -0
- package/es/hooks/use-prop/index.mjs.map +1 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +9 -3
- package/es/index.mjs.map +1 -1
- package/es/locale/index.d.ts +0 -5
- package/es/locale/index.mjs +0 -52
- package/es/locale/index.mjs.map +1 -1
- package/es/locale/lang/ca.mjs +2 -2
- package/es/locale/lang/ca.mjs.map +1 -1
- package/es/locale/lang/en.mjs +2 -2
- package/es/locale/lang/en.mjs.map +1 -1
- package/es/make-installer.d.ts +1 -2
- package/es/make-installer.mjs +2 -4
- package/es/make-installer.mjs.map +1 -1
- package/es/plugin.d.ts +2 -47
- package/es/plugin.mjs +1 -1
- package/es/plugin.mjs.map +1 -1
- package/es/tokens/form.d.ts +1 -1
- package/es/tokens/form.mjs.map +1 -1
- package/es/utils/aria.d.ts +1 -0
- package/es/utils/aria.mjs +2 -1
- package/es/utils/aria.mjs.map +1 -1
- package/es/utils/config.d.ts +1 -1
- package/es/utils/config.mjs.map +1 -1
- package/es/utils/icon.mjs +1 -1
- package/es/utils/icon.mjs.map +1 -1
- package/es/utils/util.d.ts +8 -2
- package/es/utils/util.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/component.d.ts +3 -0
- package/lib/component.js.map +1 -1
- package/lib/components/affix/index.d.ts +48 -0
- package/lib/components/affix/src/affix.vue.d.ts +48 -0
- package/lib/components/alert/index.d.ts +5 -5
- package/lib/components/alert/src/alert.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +5 -5
- package/lib/components/autocomplete/index.d.ts +4 -4
- package/lib/components/autocomplete/src/index.vue.d.ts +2 -2
- package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js +2 -2
- package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
- package/lib/components/avatar/index.d.ts +1 -1
- package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
- package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js +2 -2
- package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.js.map +1 -1
- package/lib/components/button/index.d.ts +18 -18
- package/lib/components/button/src/button-group.d.ts +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +3 -3
- package/lib/components/button/src/button.d.ts +3 -3
- package/lib/components/button/src/button.js +5 -3
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +12 -12
- package/lib/components/button/src/button.vue_vue_type_script_lang.js +10 -13
- package/lib/components/button/src/button.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js.map +1 -1
- package/lib/components/calendar/index.d.ts +20 -47
- package/lib/components/calendar/index.js +8 -8
- package/lib/components/calendar/index.js.map +1 -1
- package/lib/components/calendar/src/calendar.d.ts +11 -0
- package/lib/components/calendar/src/calendar.js +24 -0
- package/lib/components/calendar/src/calendar.js.map +1 -0
- package/lib/components/calendar/src/calendar.vue.d.ts +34 -0
- package/lib/components/calendar/src/{index.vue_vue_type_script_lang.js → calendar.vue_vue_type_script_lang.js} +12 -23
- package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -0
- package/lib/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.js → calendar.vue_vue_type_template_id_76705c76_lang.js} +1 -1
- package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -0
- package/lib/components/calendar/src/calendar2.js +12 -0
- package/lib/components/calendar/src/calendar2.js.map +1 -0
- package/lib/components/calendar/src/date-table.d.ts +13 -0
- package/lib/components/calendar/src/date-table.js +23 -7
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue.d.ts +29 -38
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js +53 -70
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js +1 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +14 -0
- package/lib/components/calendar/src/date-table2.js.map +1 -0
- package/lib/components/carousel/src/main.vue_vue_type_script_lang.js +3 -3
- package/lib/components/carousel/src/main.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.js.map +1 -1
- package/lib/components/cascader/index.d.ts +8756 -0
- package/lib/components/cascader/src/index.vue.d.ts +4384 -0
- package/lib/components/cascader/src/index.vue_vue_type_script_lang.js +6 -7
- package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js +4 -4
- package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.js.map +1 -1
- package/lib/components/checkbox/index.d.ts +10 -10
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js +4 -2
- package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.type.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/lib/components/checkbox/src/useCheckbox.d.ts +2 -3
- package/lib/components/checkbox/src/useCheckbox.js +9 -18
- package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
- package/lib/components/collapse/index.d.ts +4 -4
- package/lib/components/collapse/src/collapse-item.vue.d.ts +2 -2
- package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js +2 -2
- package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +2 -2
- package/lib/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
- package/lib/components/color-picker/src/index.vue.d.ts +1 -1
- package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js +5 -8
- package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
- package/lib/components/config-provider/index.d.ts +10 -9
- package/lib/components/config-provider/src/config-provider.d.ts +3 -4
- package/lib/components/config-provider/src/config-provider.js +9 -10
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/config-provider/src/index.d.ts +10 -9
- package/lib/components/date-picker/index.d.ts +10 -10
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +5 -5
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js +5 -5
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +5 -5
- package/lib/components/descriptions/index.d.ts +1 -1
- package/lib/components/descriptions/src/index.vue.d.ts +1 -1
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js +3 -5
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js.map +1 -1
- package/lib/components/dialog/index.d.ts +8 -2
- package/lib/components/dialog/src/dialog.d.ts +2 -1
- package/lib/components/dialog/src/dialog.js +4 -0
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +8 -2
- package/lib/components/dialog/src/dialog.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js +1 -2
- package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js.map +1 -1
- package/lib/components/dialog/src/use-dialog.d.ts +2 -0
- package/lib/components/dialog/src/use-dialog.js +2 -0
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/divider/index.d.ts +4 -0
- package/lib/components/divider/src/divider.d.ts +2 -0
- package/lib/components/divider/src/divider.js +4 -0
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/divider/src/divider.vue.d.ts +4 -0
- package/lib/components/divider/src/divider.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js +3 -2
- package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js.map +1 -1
- package/lib/components/drawer/index.d.ts +66 -208
- package/lib/components/drawer/index.js +8 -8
- package/lib/components/drawer/index.js.map +1 -1
- package/lib/components/drawer/src/drawer.d.ts +35 -0
- package/lib/components/drawer/src/drawer.js +33 -0
- package/lib/components/drawer/src/drawer.js.map +1 -0
- package/lib/components/drawer/src/drawer.vue.d.ts +129 -0
- package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js +41 -0
- package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js.map +1 -0
- package/lib/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.js → drawer.vue_vue_type_template_id_e0557736_lang.js} +1 -1
- package/lib/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.js.map +1 -0
- package/lib/components/drawer/src/drawer2.js +12 -0
- package/lib/components/drawer/src/drawer2.js.map +1 -0
- package/lib/components/dropdown/index.d.ts +3 -3
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js +5 -5
- package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
- package/lib/components/dropdown/src/useDropdown.d.ts +0 -1
- package/lib/components/dropdown/src/useDropdown.js +0 -2
- package/lib/components/dropdown/src/useDropdown.js.map +1 -1
- package/lib/components/form/index.d.ts +4 -4
- package/lib/components/form/src/form-item.vue.d.ts +2 -2
- package/lib/components/form/src/form-item.vue_vue_type_script_lang.js +3 -5
- package/lib/components/form/src/form-item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js +10 -10
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.js.map +1 -1
- package/lib/components/index.js +12 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/index.d.ts +10 -10
- package/lib/components/input/src/input.d.ts +2 -2
- package/lib/components/input/src/input.js +4 -3
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +10 -10
- package/lib/components/input/src/input.vue_vue_type_script_lang.js +10 -11
- package/lib/components/input/src/input.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.js.map +1 -1
- package/lib/components/input-number/index.d.ts +23 -23
- package/lib/components/input-number/src/input-number.vue.d.ts +23 -23
- package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js +10 -9
- package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js +2 -1
- package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js.map +1 -1
- package/lib/components/link/index.d.ts +2 -2
- package/lib/components/link/src/link.vue.d.ts +2 -2
- package/lib/components/loading/index.d.ts +52 -13
- package/lib/components/loading/index.js +8 -8
- package/lib/components/loading/index.js.map +1 -1
- package/lib/components/loading/src/directive.d.ts +11 -10
- package/lib/components/loading/src/directive.js +45 -26
- package/lib/components/loading/src/directive.js.map +1 -1
- package/lib/components/loading/src/loading.d.ts +24 -0
- package/lib/components/loading/src/loading.js +116 -0
- package/lib/components/loading/src/loading.js.map +1 -0
- package/lib/components/loading/src/service.d.ts +3 -0
- package/lib/components/loading/src/service.js +105 -0
- package/lib/components/loading/src/service.js.map +1 -0
- package/lib/components/loading/src/types.d.ts +23 -0
- package/lib/components/loading/src/types.js +3 -0
- package/lib/components/loading/src/types.js.map +1 -0
- package/lib/components/menu/src/menu.js +2 -2
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.js +2 -2
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/message/src/message.d.ts +1 -1
- package/lib/components/message/src/message.vue.d.ts +4 -3
- package/lib/components/message/src/message.vue_vue_type_script_lang.js +2 -0
- package/lib/components/message/src/message.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js +51 -54
- package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +1840 -0
- package/lib/components/notification/src/notification.d.ts +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +5 -5
- package/lib/components/page-header/src/page-header.js +2 -2
- package/lib/components/page-header/src/page-header.js.map +1 -1
- package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js +2 -2
- package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.js.map +1 -1
- package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js +4 -4
- package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.js.map +1 -1
- package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js +2 -2
- package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/lib/components/popover/index.d.ts +2 -2
- package/lib/components/popover/src/index.vue.d.ts +1 -1
- package/lib/components/popper/index.d.ts +3480 -0
- package/lib/components/popper/src/index.vue.d.ts +1737 -0
- package/lib/components/popper/src/use-popper/index.d.ts +1540 -1
- package/lib/components/progress/index.d.ts +81 -4
- package/lib/components/progress/index.js +7 -8
- package/lib/components/progress/index.js.map +1 -1
- package/lib/components/progress/src/progress.d.ts +22 -0
- package/lib/components/progress/src/progress.js +66 -0
- package/lib/components/progress/src/progress.js.map +1 -0
- package/lib/components/progress/src/progress.vue.d.ts +81 -0
- package/lib/components/progress/src/progress.vue_vue_type_script_lang.js +146 -0
- package/lib/components/progress/src/progress.vue_vue_type_script_lang.js.map +1 -0
- package/lib/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.js → progress.vue_vue_type_template_id_9158c3b6_lang.js} +1 -1
- package/lib/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.js.map +1 -0
- package/lib/components/progress/src/progress2.js +12 -0
- package/lib/components/progress/src/progress2.js.map +1 -0
- package/lib/components/radio/index.d.ts +36 -40
- package/lib/components/radio/src/radio-button.d.ts +2 -2
- package/lib/components/radio/src/radio-button.vue.d.ts +8 -8
- package/lib/components/radio/src/radio-group.d.ts +2 -2
- package/lib/components/radio/src/radio-group.js +3 -2
- package/lib/components/radio/src/radio-group.js.map +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +6 -8
- package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js +1 -3
- package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.js.map +1 -1
- package/lib/components/radio/src/radio.d.ts +5 -5
- package/lib/components/radio/src/radio.js +5 -6
- package/lib/components/radio/src/radio.js.map +1 -1
- package/lib/components/radio/src/radio.vue.d.ts +8 -8
- package/lib/components/rate/src/rate.js +4 -4
- package/lib/components/rate/src/rate.js.map +1 -1
- package/lib/components/rate/src/rate.vue_vue_type_script_lang.js +3 -3
- package/lib/components/rate/src/rate.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.js.map +1 -1
- package/lib/components/result/index.d.ts +3 -3
- package/lib/components/result/src/result.d.ts +1 -1
- package/lib/components/result/src/result.js +5 -5
- package/lib/components/result/src/result.js.map +1 -1
- package/lib/components/result/src/result.vue.d.ts +3 -3
- package/lib/components/select/index.d.ts +14 -7
- package/lib/components/select/src/select.vue.d.ts +14 -7
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +7 -3
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +6 -6
- package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
- package/lib/components/select/src/useSelect.d.ts +76 -0
- package/lib/components/select/src/useSelect.js +2 -2
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +14 -14
- package/lib/components/select-v2/src/defaults.js +2 -2
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +7 -7
- package/lib/components/select-v2/src/useSelect.d.ts +1 -1
- package/lib/components/select-v2/src/useSelect.js +9 -10
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/skeleton/index.d.ts +6 -6
- package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/lib/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
- package/lib/components/slider/index.d.ts +307 -0
- package/lib/components/slider/src/index.vue.d.ts +155 -0
- package/lib/components/slider/src/useSlide.d.ts +21 -0
- package/lib/components/steps/index.d.ts +4 -4
- package/lib/components/steps/src/item.vue.d.ts +2 -2
- package/lib/components/steps/src/item.vue_vue_type_script_lang.js +3 -3
- package/lib/components/steps/src/item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.js.map +1 -1
- package/lib/components/switch/index.d.ts +99 -4
- package/lib/components/switch/index.js +8 -8
- package/lib/components/switch/index.js.map +1 -1
- package/lib/components/switch/src/switch.d.ts +31 -0
- package/lib/components/switch/src/switch.js +92 -0
- package/lib/components/switch/src/switch.js.map +1 -0
- package/lib/components/switch/src/switch.vue.d.ts +98 -0
- package/lib/components/switch/src/{index.vue_vue_type_script_lang.js → switch.vue_vue_type_script_lang.js} +28 -101
- package/lib/components/switch/src/switch.vue_vue_type_script_lang.js.map +1 -0
- package/lib/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.js → switch.vue_vue_type_template_id_538fbc85_lang.js} +1 -1
- package/lib/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.js.map +1 -0
- package/lib/components/switch/src/switch2.js +12 -0
- package/lib/components/switch/src/switch2.js.map +1 -0
- package/lib/components/table/index.d.ts +9 -9
- package/lib/components/table/src/config.js +4 -4
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js +3 -3
- package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +1 -1
- package/lib/components/table/src/table/style-helper.js +6 -8
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-column/defaults.d.ts +2 -2
- package/lib/components/table/src/table-column/defaults.js.map +1 -1
- package/lib/components/table/src/table-column/index.d.ts +3 -3
- package/lib/components/table/src/table.vue.d.ts +3 -3
- package/lib/components/table/src/util.js +0 -1
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/tabs/index.d.ts +4 -4
- package/lib/components/tabs/src/tab-nav.js +4 -4
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +2 -2
- package/lib/components/tabs/src/tabs.js +2 -2
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/tag/src/tag.vue_vue_type_script_lang.js +5 -5
- package/lib/components/tag/src/tag.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.js.map +1 -1
- package/lib/components/time-picker/index.d.ts +10 -10
- package/lib/components/time-picker/src/common/date-utils.d.ts +1 -1
- package/lib/components/time-picker/src/common/date-utils.js +1 -3
- package/lib/components/time-picker/src/common/date-utils.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -8
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/props.d.ts +1 -1
- package/lib/components/time-picker/src/common/props.js +2 -2
- package/lib/components/time-picker/src/common/props.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js +3 -3
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +5 -5
- package/lib/components/time-select/index.d.ts +4 -4
- package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
- package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +3 -3
- package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.js.map +1 -1
- package/lib/components/timeline/index.d.ts +4 -4
- package/lib/components/timeline/src/item.vue.d.ts +2 -2
- package/lib/components/tooltip/src/index.js +4 -2
- package/lib/components/tooltip/src/index.js.map +1 -1
- package/lib/components/transfer/index.d.ts +8 -8
- package/lib/components/transfer/src/index.vue.d.ts +4 -4
- package/lib/components/transfer/src/index.vue_vue_type_script_lang.js +3 -3
- package/lib/components/transfer/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -2
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js +3 -3
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js.map +1 -1
- package/lib/components/tree/index.d.ts +2 -2
- package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +3 -3
- package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.js.map +1 -1
- package/lib/components/tree/src/tree.vue.d.ts +1 -1
- package/lib/components/tree-v2/index.d.ts +2 -2
- package/lib/components/tree-v2/src/composables/useTree.d.ts +29 -0
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
- package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js +2 -2
- package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
- package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js +8 -8
- package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/defaults.js +1 -1
- package/lib/defaults.js.map +1 -1
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +46 -41
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-common-props/index.d.ts +5 -0
- package/lib/hooks/use-common-props/index.js +37 -0
- package/lib/hooks/use-common-props/index.js.map +1 -0
- package/lib/hooks/use-form-item/index.d.ts +1 -14
- package/lib/hooks/use-form-item/index.js +1 -23
- package/lib/hooks/use-form-item/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +4 -1
- package/lib/hooks/use-global-config/index.js +7 -5
- package/lib/hooks/use-global-config/index.js.map +1 -1
- package/lib/hooks/use-locale/index.d.ts +6 -5
- package/lib/hooks/use-locale/index.js +8 -5
- package/lib/hooks/use-locale/index.js.map +1 -1
- package/lib/hooks/use-lockscreen/index.js +4 -0
- package/lib/hooks/use-lockscreen/index.js.map +1 -1
- package/lib/hooks/use-prop/index.d.ts +2 -0
- package/lib/hooks/use-prop/index.js +16 -0
- package/lib/hooks/use-prop/index.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +59 -43
- package/lib/index.js.map +1 -1
- package/lib/locale/index.d.ts +0 -5
- package/lib/locale/index.js +0 -63
- package/lib/locale/index.js.map +1 -1
- package/lib/locale/lang/ca.js +2 -2
- package/lib/locale/lang/ca.js.map +1 -1
- package/lib/locale/lang/en.js +2 -2
- package/lib/locale/lang/en.js.map +1 -1
- package/lib/make-installer.d.ts +1 -2
- package/lib/make-installer.js +2 -4
- package/lib/make-installer.js.map +1 -1
- package/lib/plugin.d.ts +2 -47
- package/lib/plugin.js +1 -1
- package/lib/plugin.js.map +1 -1
- package/lib/tokens/form.d.ts +1 -1
- package/lib/tokens/form.js.map +1 -1
- package/lib/utils/aria.d.ts +1 -0
- package/lib/utils/aria.js +2 -1
- package/lib/utils/aria.js.map +1 -1
- package/lib/utils/config.d.ts +1 -1
- package/lib/utils/config.js.map +1 -1
- package/lib/utils/icon.js +14 -14
- package/lib/utils/icon.js.map +1 -1
- package/lib/utils/util.d.ts +8 -2
- package/lib/utils/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +3 -3
- package/tags.json +1 -1
- package/theme-chalk/base.css +1 -1
- package/theme-chalk/el-autocomplete.css +1 -1
- package/theme-chalk/el-cascader-panel.css +1 -1
- package/theme-chalk/el-cascader.css +1 -1
- package/theme-chalk/el-check-tag.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-divider.css +1 -1
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-icon.css +1 -1
- package/theme-chalk/el-image.css +1 -1
- package/theme-chalk/el-input-number.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-option-item.css +1 -1
- package/theme-chalk/el-option.css +1 -1
- package/theme-chalk/el-select-dropdown.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-steps.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/el-transfer.css +1 -1
- package/theme-chalk/el-tree.css +1 -1
- package/theme-chalk/el-upload.css +1 -1
- package/theme-chalk/el-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/check-tag.scss +1 -1
- package/theme-chalk/src/common/var.scss +7 -7
- package/theme-chalk/src/date-picker/date-table.scss +1 -1
- package/theme-chalk/src/date-picker/month-table.scss +1 -1
- package/theme-chalk/src/date-picker/time-spinner.scss +1 -1
- package/theme-chalk/src/date-picker/year-table.scss +1 -1
- package/theme-chalk/src/divider.scss +2 -1
- package/theme-chalk/src/dropdown.scss +0 -4
- package/theme-chalk/src/icon.scss +1 -2
- package/theme-chalk/src/image.scss +4 -4
- package/theme-chalk/src/input-number.scss +1 -1
- package/theme-chalk/src/input.scss +5 -1
- package/theme-chalk/src/menu.scss +1 -1
- package/theme-chalk/src/mixins/mixins.scss +1 -1
- package/theme-chalk/src/select-v2.scss +1 -1
- package/theme-chalk/src/select.scss +22 -18
- package/theme-chalk/src/steps.scss +1 -1
- package/theme-chalk/src/table.scss +1 -1
- package/theme-chalk/src/tabs.scss +1 -1
- package/theme-chalk/src/time-select.scss +1 -1
- package/theme-chalk/src/upload.scss +1 -1
- package/theme-chalk/src/var.scss +1 -1
- package/web-types.json +1 -1
- package/es/components/calendar/src/index.mjs +0 -7
- package/es/components/calendar/src/index.mjs.map +0 -1
- package/es/components/calendar/src/index.vue.d.ts +0 -33
- package/es/components/calendar/src/index.vue_vue_type_script_lang.mjs.map +0 -1
- package/es/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.mjs.map +0 -1
- package/es/components/drawer/src/index.mjs +0 -7
- package/es/components/drawer/src/index.mjs.map +0 -1
- package/es/components/drawer/src/index.vue.d.ts +0 -138
- package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs +0 -56
- package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs.map +0 -1
- package/es/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.mjs.map +0 -1
- package/es/components/loading/src/createLoadingComponent.d.ts +0 -2
- package/es/components/loading/src/createLoadingComponent.mjs +0 -121
- package/es/components/loading/src/createLoadingComponent.mjs.map +0 -1
- package/es/components/loading/src/index.d.ts +0 -3
- package/es/components/loading/src/index.mjs +0 -106
- package/es/components/loading/src/index.mjs.map +0 -1
- package/es/components/loading/src/loading.type.d.ts +0 -44
- package/es/components/loading/src/loading.type.mjs +0 -2
- package/es/components/loading/src/loading.type.mjs.map +0 -1
- package/es/components/progress/src/index.mjs +0 -7
- package/es/components/progress/src/index.mjs.map +0 -1
- package/es/components/progress/src/index.vue.d.ts +0 -2
- package/es/components/progress/src/index.vue_vue_type_script_lang.mjs.map +0 -1
- package/es/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.mjs.map +0 -1
- package/es/components/switch/src/index.mjs +0 -7
- package/es/components/switch/src/index.mjs.map +0 -1
- package/es/components/switch/src/index.vue.d.ts +0 -2
- package/es/components/switch/src/index.vue_vue_type_script_lang.mjs +0 -190
- package/es/components/switch/src/index.vue_vue_type_script_lang.mjs.map +0 -1
- package/es/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.mjs.map +0 -1
- package/lib/components/calendar/src/index.js +0 -12
- package/lib/components/calendar/src/index.js.map +0 -1
- package/lib/components/calendar/src/index.vue.d.ts +0 -33
- package/lib/components/calendar/src/index.vue_vue_type_script_lang.js.map +0 -1
- package/lib/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.js.map +0 -1
- package/lib/components/drawer/src/index.js +0 -12
- package/lib/components/drawer/src/index.js.map +0 -1
- package/lib/components/drawer/src/index.vue.d.ts +0 -138
- package/lib/components/drawer/src/index.vue_vue_type_script_lang.js +0 -60
- package/lib/components/drawer/src/index.vue_vue_type_script_lang.js.map +0 -1
- package/lib/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.js.map +0 -1
- package/lib/components/loading/src/createLoadingComponent.d.ts +0 -2
- package/lib/components/loading/src/createLoadingComponent.js +0 -125
- package/lib/components/loading/src/createLoadingComponent.js.map +0 -1
- package/lib/components/loading/src/index.d.ts +0 -3
- package/lib/components/loading/src/index.js +0 -110
- package/lib/components/loading/src/index.js.map +0 -1
- package/lib/components/loading/src/loading.type.d.ts +0 -44
- package/lib/components/loading/src/loading.type.js +0 -3
- package/lib/components/loading/src/loading.type.js.map +0 -1
- package/lib/components/progress/src/index.js +0 -12
- package/lib/components/progress/src/index.js.map +0 -1
- package/lib/components/progress/src/index.vue.d.ts +0 -2
- package/lib/components/progress/src/index.vue_vue_type_script_lang.js +0 -213
- package/lib/components/progress/src/index.vue_vue_type_script_lang.js.map +0 -1
- package/lib/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.js.map +0 -1
- package/lib/components/switch/src/index.js +0 -12
- package/lib/components/switch/src/index.js.map +0 -1
- package/lib/components/switch/src/index.vue.d.ts +0 -2
- package/lib/components/switch/src/index.vue_vue_type_script_lang.js.map +0 -1
- package/lib/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer.vue_vue_type_template_id_e0557736_lang.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue?vue&type=template&id=e0557736&lang.js"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n name=\"el-drawer-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n aria-labelledby=\"el-drawer__title\"\n :aria-label=\"title\"\n :class=\"['el-drawer', direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <header\n v-if=\"withHeader\"\n id=\"el-drawer__title\"\n class=\"el-drawer__header\"\n >\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n class=\"el-drawer__close-btn\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon class=\"el-drawer__close\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section class=\"el-drawer__body\">\n <slot></slot>\n </section>\n </template>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { drawerProps, drawerEmits } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_createVNode","_createElementVNode","_createElementBlock","_renderSlot"],"mappings":";;;;;EA8BY,IAAG;AAAA,EACH,OAAM;AAAA;;;;;EAkBG,OAAM;AAAA;;;;;;sBAhDzBA;IAAU,IAAG;AAAA,IAAQ,WAAW;;IAC9BC;MACE,MAAK;AAAA,MACJ,cAAa;MACb,cAAa;MACb,eAAc;;uBAEf;uBAAAA;UAEG,MAAM;UACN,iBAAe;UACf,WAAS;UACT,SAAO;;2BAER;2BAAAC;cACE,KAAI;AAAA,cAEJ,cAAW;AAAA,cACX,mBAAgB;AAAA,cACf,cAAY;cACZ,oCAAqB,gBAAW,wBAAmB;cACnD;cAGD,MAAK;AAAA,cACJ,iDAAD;;;cAGQ,gCADRC,6BAAA;gBAKEC,qCAAA;kBACEF;oBAAM,MAAK;AAAA,oBAAW,OAAO;qCACxB;;gBAIC,+BADRC;;kBAEG;kBACD,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,gDAAO;;kBAERF,kCAAS,OAAM;qCAAmB;sBAAAA,YAAS;AAAA;AAAA;;;;cAG/B,8BACdE,8BAAA;gBACEC;;;;;;;;kBAzCE;;;;;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import script from './drawer.vue_vue_type_script_lang.mjs';
|
|
2
|
+
export { default } from './drawer.vue_vue_type_script_lang.mjs';
|
|
3
|
+
import { render } from './drawer.vue_vue_type_template_id_e0557736_lang.mjs';
|
|
4
|
+
|
|
5
|
+
script.render = render;
|
|
6
|
+
script.__file = "packages/components/drawer/src/drawer.vue";
|
|
7
|
+
//# sourceMappingURL=drawer2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -41,7 +41,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
41
41
|
visible: import("vue").Ref<boolean>;
|
|
42
42
|
scrollbar: import("vue").Ref<null>;
|
|
43
43
|
wrapStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
44
|
-
dropdownSize: import("vue").ComputedRef<
|
|
44
|
+
dropdownSize: import("vue").ComputedRef<"" | import("../../utils/types").ComponentSize>;
|
|
45
45
|
handlerMainButtonClick: (event: any) => void;
|
|
46
46
|
triggerVnode: import("vue").Ref<import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null>;
|
|
47
47
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "visible-change" | "command")[], "click" | "visible-change" | "command", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -104,8 +104,8 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
104
104
|
} & {
|
|
105
105
|
icon?: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
|
|
106
106
|
}>, {
|
|
107
|
-
disabled: boolean;
|
|
108
107
|
icon: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
|
|
108
|
+
disabled: boolean;
|
|
109
109
|
command: import("../../utils/props").BuildPropType<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
|
|
110
110
|
divided: boolean;
|
|
111
111
|
}>;
|
|
@@ -137,8 +137,8 @@ export declare const ElDropdownItem: import("../../utils/types").SFCWithInstall<
|
|
|
137
137
|
} & {
|
|
138
138
|
icon?: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
|
|
139
139
|
}>, {
|
|
140
|
-
disabled: boolean;
|
|
141
140
|
icon: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
|
|
141
|
+
disabled: boolean;
|
|
142
142
|
command: import("../../utils/props").BuildPropType<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
|
|
143
143
|
divided: boolean;
|
|
144
144
|
}>>;
|
|
@@ -18,8 +18,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
18
18
|
} & {
|
|
19
19
|
icon?: import("element-plus/es/utils/props").BuildPropType<import("element-plus/es/utils/props").PropWrapper<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
|
|
20
20
|
}>, {
|
|
21
|
-
disabled: boolean;
|
|
22
21
|
icon: import("element-plus/es/utils/props").BuildPropType<import("element-plus/es/utils/props").PropWrapper<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
|
|
22
|
+
disabled: boolean;
|
|
23
23
|
command: import("element-plus/es/utils/props").BuildPropType<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
|
|
24
24
|
divided: boolean;
|
|
25
25
|
}>;
|
|
@@ -46,7 +46,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
46
46
|
visible: import("vue").Ref<boolean>;
|
|
47
47
|
scrollbar: import("vue").Ref<null>;
|
|
48
48
|
wrapStyle: import("vue").ComputedRef<CSSProperties>;
|
|
49
|
-
dropdownSize: import("vue").ComputedRef<
|
|
49
|
+
dropdownSize: import("vue").ComputedRef<"" | import("../../../utils/types").ComponentSize>;
|
|
50
50
|
handlerMainButtonClick: (event: any) => void;
|
|
51
51
|
triggerVnode: import("vue").Ref<Nullable<ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>>>;
|
|
52
52
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "visible-change" | "command")[], "click" | "visible-change" | "command", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -5,9 +5,10 @@ import { ElScrollbar } from '../../scrollbar/index.mjs';
|
|
|
5
5
|
import { ElIcon } from '../../icon/index.mjs';
|
|
6
6
|
import { addClass, removeClass, on } from '../../../utils/dom.mjs';
|
|
7
7
|
import { addUnit } from '../../../utils/util.mjs';
|
|
8
|
-
import { ArrowDown } from '@element-plus/icons';
|
|
9
|
-
import
|
|
8
|
+
import { ArrowDown } from '@element-plus/icons-vue';
|
|
9
|
+
import '../../../hooks/index.mjs';
|
|
10
10
|
import { Effect } from '../../popper/src/use-popper/defaults.mjs';
|
|
11
|
+
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
11
12
|
|
|
12
13
|
const { ButtonGroup: ElButtonGroup } = ElButton;
|
|
13
14
|
var script = defineComponent({
|
|
@@ -63,7 +64,6 @@ var script = defineComponent({
|
|
|
63
64
|
emits: ["visible-change", "click", "command"],
|
|
64
65
|
setup(props, { emit }) {
|
|
65
66
|
const _instance = getCurrentInstance();
|
|
66
|
-
const { ELEMENT } = useDropdown();
|
|
67
67
|
const timeout = ref(null);
|
|
68
68
|
const visible = ref(false);
|
|
69
69
|
const scrollbar = ref(null);
|
|
@@ -142,7 +142,7 @@ var script = defineComponent({
|
|
|
142
142
|
var _a, _b;
|
|
143
143
|
(_b = (_a = triggerElm.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
|
|
144
144
|
}
|
|
145
|
-
const dropdownSize =
|
|
145
|
+
const dropdownSize = useSize();
|
|
146
146
|
function commandHandler(...args) {
|
|
147
147
|
emit("command", ...args);
|
|
148
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div :class=\"[dropdownSize ? 'el-dropdown--' + dropdownSize : '']\">\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons'\nimport { useDropdown } from './useDropdown'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, ComponentPublicInstance, CSSProperties } from 'vue'\nimport type { TriggerType } from '@element-plus/hooks/use-popper/use-target-events'\nimport type { ButtonType } from '@element-plus/components/button/src/types'\n\ntype Nullable<T> = null | T\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElPopper,\n ElIcon,\n ArrowDown,\n },\n props: {\n trigger: {\n type: String as PropType<TriggerType | 'contextmenu'>,\n default: 'hover',\n },\n type: String as PropType<ButtonType>,\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom',\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: [Number, String],\n default: 0,\n },\n effect: {\n type: String as PropType<Effect>,\n default: Effect.LIGHT,\n },\n maxHeight: {\n type: [Number, String],\n default: '',\n },\n },\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const { ELEMENT } = useDropdown()\n\n const timeout = ref<Nullable<number>>(null)\n\n const visible = ref(false)\n const scrollbar = ref(null)\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n\n watch(\n () => visible.value,\n (val) => {\n if (val) triggerElmFocus()\n if (!val) triggerElmBlur()\n emit('visible-change', val)\n }\n )\n\n const focusing = ref(false)\n watch(\n () => focusing.value,\n (val) => {\n const selfDefine = triggerElm.value\n if (selfDefine) {\n if (val) {\n addClass(selfDefine, 'focusing')\n } else {\n removeClass(selfDefine, 'focusing')\n }\n }\n }\n )\n\n const triggerVnode = ref<Nullable<ComponentPublicInstance>>(null)\n const triggerElm = computed<Nullable<HTMLButtonElement>>(() => {\n const _: any = (triggerVnode.value?.$refs.triggerRef as HTMLElement)\n ?.children[0]\n return !props.splitButton ? _ : _?.children?.[1]\n })\n\n function handleClick() {\n if (triggerElm.value?.disabled) return\n if (visible.value) {\n hide()\n } else {\n show()\n }\n }\n\n function show() {\n if (triggerElm.value?.disabled) return\n timeout.value && clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = true\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.showTimeout\n )\n }\n\n function hide() {\n if (triggerElm.value?.disabled) return\n removeTabindex()\n if (props.tabindex >= 0) {\n resetTabindex(triggerElm.value)\n }\n clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = false\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.hideTimeout\n )\n }\n\n function removeTabindex() {\n triggerElm.value?.setAttribute('tabindex', '-1')\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function triggerElmFocus() {\n triggerElm.value?.focus?.()\n }\n\n function triggerElmBlur() {\n triggerElm.value?.blur?.()\n }\n\n const dropdownSize = computed(() => props.size || ELEMENT.size)\n\n function commandHandler(...args) {\n emit('command', ...args)\n }\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n show,\n hide,\n trigger: computed(() => props.trigger),\n hideOnClick: computed(() => props.hideOnClick),\n triggerElm,\n })\n\n onMounted(() => {\n if (!props.splitButton) {\n on(triggerElm.value, 'focus', () => {\n focusing.value = true\n })\n on(triggerElm.value, 'blur', () => {\n focusing.value = false\n })\n on(triggerElm.value, 'click', () => {\n focusing.value = false\n })\n }\n if (props.trigger === 'hover') {\n on(triggerElm.value, 'mouseenter', show)\n on(triggerElm.value, 'mouseleave', hide)\n } else if (props.trigger === 'click') {\n on(triggerElm.value, 'click', handleClick)\n } else if (props.trigger === 'contextmenu') {\n on(triggerElm.value, 'contextmenu', (e) => {\n e.preventDefault()\n handleClick()\n })\n }\n\n Object.assign(_instance, {\n handleClick,\n hide,\n resetTabindex,\n })\n })\n\n const handlerMainButtonClick = (event) => {\n emit('click', event)\n hide()\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownSize,\n handlerMainButtonClick,\n triggerVnode,\n }\n },\n})\n</script>\n"],"names":["ElPopper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div :class=\"[dropdownSize ? 'el-dropdown--' + dropdownSize : '']\">\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, ComponentPublicInstance, CSSProperties } from 'vue'\nimport type { TriggerType } from '@element-plus/hooks/use-popper/use-target-events'\nimport type { ButtonType } from '@element-plus/components/button/src/types'\n\ntype Nullable<T> = null | T\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElPopper,\n ElIcon,\n ArrowDown,\n },\n props: {\n trigger: {\n type: String as PropType<TriggerType | 'contextmenu'>,\n default: 'hover',\n },\n type: String as PropType<ButtonType>,\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom',\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: [Number, String],\n default: 0,\n },\n effect: {\n type: String as PropType<Effect>,\n default: Effect.LIGHT,\n },\n maxHeight: {\n type: [Number, String],\n default: '',\n },\n },\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const timeout = ref<Nullable<number>>(null)\n\n const visible = ref(false)\n const scrollbar = ref(null)\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n\n watch(\n () => visible.value,\n (val) => {\n if (val) triggerElmFocus()\n if (!val) triggerElmBlur()\n emit('visible-change', val)\n }\n )\n\n const focusing = ref(false)\n watch(\n () => focusing.value,\n (val) => {\n const selfDefine = triggerElm.value\n if (selfDefine) {\n if (val) {\n addClass(selfDefine, 'focusing')\n } else {\n removeClass(selfDefine, 'focusing')\n }\n }\n }\n )\n\n const triggerVnode = ref<Nullable<ComponentPublicInstance>>(null)\n const triggerElm = computed<Nullable<HTMLButtonElement>>(() => {\n const _: any = (triggerVnode.value?.$refs.triggerRef as HTMLElement)\n ?.children[0]\n return !props.splitButton ? _ : _?.children?.[1]\n })\n\n function handleClick() {\n if (triggerElm.value?.disabled) return\n if (visible.value) {\n hide()\n } else {\n show()\n }\n }\n\n function show() {\n if (triggerElm.value?.disabled) return\n timeout.value && clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = true\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.showTimeout\n )\n }\n\n function hide() {\n if (triggerElm.value?.disabled) return\n removeTabindex()\n if (props.tabindex >= 0) {\n resetTabindex(triggerElm.value)\n }\n clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = false\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.hideTimeout\n )\n }\n\n function removeTabindex() {\n triggerElm.value?.setAttribute('tabindex', '-1')\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function triggerElmFocus() {\n triggerElm.value?.focus?.()\n }\n\n function triggerElmBlur() {\n triggerElm.value?.blur?.()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args) {\n emit('command', ...args)\n }\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n show,\n hide,\n trigger: computed(() => props.trigger),\n hideOnClick: computed(() => props.hideOnClick),\n triggerElm,\n })\n\n onMounted(() => {\n if (!props.splitButton) {\n on(triggerElm.value, 'focus', () => {\n focusing.value = true\n })\n on(triggerElm.value, 'blur', () => {\n focusing.value = false\n })\n on(triggerElm.value, 'click', () => {\n focusing.value = false\n })\n }\n if (props.trigger === 'hover') {\n on(triggerElm.value, 'mouseenter', show)\n on(triggerElm.value, 'mouseleave', hide)\n } else if (props.trigger === 'click') {\n on(triggerElm.value, 'click', handleClick)\n } else if (props.trigger === 'contextmenu') {\n on(triggerElm.value, 'contextmenu', (e) => {\n e.preventDefault()\n handleClick()\n })\n }\n\n Object.assign(_instance, {\n handleClick,\n hide,\n resetTabindex,\n })\n })\n\n const handlerMainButtonClick = (event) => {\n emit('click', event)\n hide()\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownSize,\n handlerMainButtonClick,\n triggerVnode,\n }\n },\n})\n</script>\n"],"names":["ElPopper"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue?vue&type=template&id=3ed790a5&lang.js"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div :class=\"[dropdownSize ? 'el-dropdown--' + dropdownSize : '']\">\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons'\nimport {
|
|
1
|
+
{"version":3,"file":"dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue?vue&type=template&id=3ed790a5&lang.js"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div :class=\"[dropdownSize ? 'el-dropdown--' + dropdownSize : '']\">\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, ComponentPublicInstance, CSSProperties } from 'vue'\nimport type { TriggerType } from '@element-plus/hooks/use-popper/use-target-events'\nimport type { ButtonType } from '@element-plus/components/button/src/types'\n\ntype Nullable<T> = null | T\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElPopper,\n ElIcon,\n ArrowDown,\n },\n props: {\n trigger: {\n type: String as PropType<TriggerType | 'contextmenu'>,\n default: 'hover',\n },\n type: String as PropType<ButtonType>,\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom',\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: [Number, String],\n default: 0,\n },\n effect: {\n type: String as PropType<Effect>,\n default: Effect.LIGHT,\n },\n maxHeight: {\n type: [Number, String],\n default: '',\n },\n },\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const timeout = ref<Nullable<number>>(null)\n\n const visible = ref(false)\n const scrollbar = ref(null)\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n\n watch(\n () => visible.value,\n (val) => {\n if (val) triggerElmFocus()\n if (!val) triggerElmBlur()\n emit('visible-change', val)\n }\n )\n\n const focusing = ref(false)\n watch(\n () => focusing.value,\n (val) => {\n const selfDefine = triggerElm.value\n if (selfDefine) {\n if (val) {\n addClass(selfDefine, 'focusing')\n } else {\n removeClass(selfDefine, 'focusing')\n }\n }\n }\n )\n\n const triggerVnode = ref<Nullable<ComponentPublicInstance>>(null)\n const triggerElm = computed<Nullable<HTMLButtonElement>>(() => {\n const _: any = (triggerVnode.value?.$refs.triggerRef as HTMLElement)\n ?.children[0]\n return !props.splitButton ? _ : _?.children?.[1]\n })\n\n function handleClick() {\n if (triggerElm.value?.disabled) return\n if (visible.value) {\n hide()\n } else {\n show()\n }\n }\n\n function show() {\n if (triggerElm.value?.disabled) return\n timeout.value && clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = true\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.showTimeout\n )\n }\n\n function hide() {\n if (triggerElm.value?.disabled) return\n removeTabindex()\n if (props.tabindex >= 0) {\n resetTabindex(triggerElm.value)\n }\n clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = false\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.hideTimeout\n )\n }\n\n function removeTabindex() {\n triggerElm.value?.setAttribute('tabindex', '-1')\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function triggerElmFocus() {\n triggerElm.value?.focus?.()\n }\n\n function triggerElmBlur() {\n triggerElm.value?.blur?.()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args) {\n emit('command', ...args)\n }\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n show,\n hide,\n trigger: computed(() => props.trigger),\n hideOnClick: computed(() => props.hideOnClick),\n triggerElm,\n })\n\n onMounted(() => {\n if (!props.splitButton) {\n on(triggerElm.value, 'focus', () => {\n focusing.value = true\n })\n on(triggerElm.value, 'blur', () => {\n focusing.value = false\n })\n on(triggerElm.value, 'click', () => {\n focusing.value = false\n })\n }\n if (props.trigger === 'hover') {\n on(triggerElm.value, 'mouseenter', show)\n on(triggerElm.value, 'mouseleave', hide)\n } else if (props.trigger === 'click') {\n on(triggerElm.value, 'click', handleClick)\n } else if (props.trigger === 'contextmenu') {\n on(triggerElm.value, 'contextmenu', (e) => {\n e.preventDefault()\n handleClick()\n })\n }\n\n Object.assign(_instance, {\n handleClick,\n hide,\n resetTabindex,\n })\n })\n\n const handlerMainButtonClick = (event) => {\n emit('click', event)\n hide()\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownSize,\n handlerMainButtonClick,\n triggerVnode,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode","_createBlock"],"mappings":";;qBACO,OAAM;;;;;;;;sBAAXA,0BAAA;IACEC;MACE,KAAI;AAAA,MACI,SAAS;gEAAA;MAChB,WAAW;MACX,uBAAqB;MACrB,QAAQ;MACT,MAAA;AAAA,MACC,eAAa;AAAA,MACb,UAAU;MACX,gBAAa;AAAA,MACb,kBAAA;AAAA,MACA,YAAW;AAAA,MACV,2BAAyB;AAAA,MACzB,oBAAkB;AAAA;MAER,iBACT;QAAAA;UACE,KAAI;AAAA,UACJ,KAAI;AAAA,UACH,cAAY;UACb,cAAW;AAAA;2BAEX;YAAAC;;;;;MAGO,iBACT;QAAAC;UAAM,uBAAQ,sCAAiC;;WAChC,mBAAbD,+DAEEE;6BACE;cAAAH;gBACG,MAAM;gBACN,MAAM;gBACN,SAAO;;iCAER;kBAAAC;;;;cAEFD;gBACG,MAAM;gBACN,MAAM;gBACP,OAAM;AAAA;iCAEN;kBAAAA,kCAAS,OAAM;qCAAoB;sBAAAA,YAAc;AAAA;AAAA;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { inject, computed, ref } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { generateId } from '../../../utils/util.mjs';
|
|
3
3
|
import { EVENT_CODE } from '../../../utils/aria.mjs';
|
|
4
4
|
import { addClass, on } from '../../../utils/dom.mjs';
|
|
5
5
|
|
|
6
6
|
const useDropdown = () => {
|
|
7
|
-
const ELEMENT = useGlobalConfig();
|
|
8
7
|
const elDropdown = inject("elDropdown", {});
|
|
9
8
|
const _elDropdownSize = computed(() => elDropdown == null ? void 0 : elDropdown.dropdownSize);
|
|
10
9
|
return {
|
|
11
|
-
ELEMENT,
|
|
12
10
|
elDropdown,
|
|
13
11
|
_elDropdownSize
|
|
14
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdown.mjs","sources":["../../../../../../packages/components/dropdown/src/useDropdown.ts"],"sourcesContent":["import { inject, computed, ref } from 'vue'\nimport { generateId
|
|
1
|
+
{"version":3,"file":"useDropdown.mjs","sources":["../../../../../../packages/components/dropdown/src/useDropdown.ts"],"sourcesContent":["import { inject, computed, ref } from 'vue'\nimport { generateId } from '@element-plus/utils/util'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { on, addClass } from '@element-plus/utils/dom'\n\nimport type { Nullable } from '@element-plus/utils/types'\nimport type { IElDropdownInstance } from './dropdown'\n\nexport const useDropdown = () => {\n const elDropdown = inject<IElDropdownInstance>('elDropdown', {})\n const _elDropdownSize = computed(() => elDropdown?.dropdownSize)\n\n return {\n elDropdown,\n _elDropdownSize,\n }\n}\n\nexport const initDropdownDomEvent = (\n dropdownChildren,\n triggerElm,\n _instance\n) => {\n const menuItems = ref<Nullable<HTMLButtonElement[]>>(null)\n const menuItemsArray = ref<Nullable<HTMLElement[]>>(null)\n const dropdownElm = ref<Nullable<HTMLElement>>(null)\n const listId = ref(`dropdown-menu-${generateId()}`)\n dropdownElm.value = dropdownChildren?.subTree.el\n\n function removeTabindex() {\n triggerElm.setAttribute('tabindex', '-1')\n menuItemsArray.value?.forEach((item) => {\n item.setAttribute('tabindex', '-1')\n })\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function handleTriggerKeyDown(ev: KeyboardEvent) {\n const code = ev.code\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n removeTabindex()\n resetTabindex(menuItems.value[0])\n menuItems.value[0].focus()\n ev.preventDefault()\n ev.stopPropagation()\n } else if (code === EVENT_CODE.enter) {\n _instance.handleClick()\n } else if ([EVENT_CODE.tab, EVENT_CODE.esc].includes(code)) {\n _instance.hide()\n }\n }\n\n function handleItemKeyDown(ev) {\n const code = ev.code\n const target = ev.target\n const currentIndex = menuItemsArray.value.indexOf(target)\n const max = menuItemsArray.value.length - 1\n let nextIndex\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n if (code === EVENT_CODE.up) {\n nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0\n } else {\n nextIndex = currentIndex < max ? currentIndex + 1 : max\n }\n removeTabindex()\n resetTabindex(menuItems.value[nextIndex])\n menuItems.value[nextIndex].focus()\n ev.preventDefault()\n ev.stopPropagation()\n } else if (code === EVENT_CODE.enter) {\n triggerElmFocus()\n target.click()\n if (_instance.props.hideOnClick) {\n _instance.hide()\n }\n } else if ([EVENT_CODE.tab, EVENT_CODE.esc].includes(code)) {\n _instance.hide()\n triggerElmFocus()\n }\n }\n\n function initAria() {\n dropdownElm.value.setAttribute('id', listId.value)\n triggerElm.setAttribute('aria-haspopup', 'list')\n triggerElm.setAttribute('aria-controls', listId.value)\n if (!_instance.props.splitButton) {\n triggerElm.setAttribute('role', 'button')\n triggerElm.setAttribute('tabindex', _instance.props.tabindex)\n addClass(triggerElm, 'el-dropdown-selfdefine')\n }\n }\n\n function initEvent() {\n on(triggerElm, 'keydown', handleTriggerKeyDown)\n on(dropdownElm.value, 'keydown', handleItemKeyDown, true)\n }\n\n function initDomOperation() {\n menuItems.value = dropdownElm.value.querySelectorAll(\n \"[tabindex='-1']\"\n ) as unknown as HTMLButtonElement[]\n menuItemsArray.value = [].slice.call(menuItems.value)\n\n initEvent()\n initAria()\n }\n\n function triggerElmFocus() {\n triggerElm.focus()\n }\n\n initDomOperation()\n}\n"],"names":[],"mappings":";;;;;MAQa,cAAc,MAAM;AAC/B,QAAM,aAAa,OAA4B,cAAc;AAC7D,QAAM,kBAAkB,SAAS,MAAM,yCAAY;AAEnD,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA;MAIS,uBAAuB,CAClC,kBACA,YACA,cACG;AACH,QAAM,YAAY,IAAmC;AACrD,QAAM,iBAAiB,IAA6B;AACpD,QAAM,cAAc,IAA2B;AAC/C,QAAM,SAAS,IAAI,iBAAiB;AACpC,cAAY,QAAQ,qDAAkB,QAAQ;AAE9C,4BAA0B;AA7B5B;AA8BI,eAAW,aAAa,YAAY;AACpC,yBAAe,UAAf,mBAAsB,QAAQ,CAAC,SAAS;AACtC,WAAK,aAAa,YAAY;AAAA;AAAA;AAIlC,yBAAuB,KAAK;AAC1B;AACA,+BAAK,aAAa,YAAY;AAAA;AAGhC,gCAA8B,IAAmB;AAC/C,UAAM,OAAO,GAAG;AAChB,QAAI,CAAC,WAAW,IAAI,WAAW,MAAM,SAAS,OAAO;AACnD;AACA,oBAAc,UAAU,MAAM;AAC9B,gBAAU,MAAM,GAAG;AACnB,SAAG;AACH,SAAG;AAAA,eACM,SAAS,WAAW,OAAO;AACpC,gBAAU;AAAA,eACD,CAAC,WAAW,KAAK,WAAW,KAAK,SAAS,OAAO;AAC1D,gBAAU;AAAA;AAAA;AAId,6BAA2B,IAAI;AAC7B,UAAM,OAAO,GAAG;AAChB,UAAM,SAAS,GAAG;AAClB,UAAM,eAAe,eAAe,MAAM,QAAQ;AAClD,UAAM,MAAM,eAAe,MAAM,SAAS;AAC1C,QAAI;AACJ,QAAI,CAAC,WAAW,IAAI,WAAW,MAAM,SAAS,OAAO;AACnD,UAAI,SAAS,WAAW,IAAI;AAC1B,oBAAY,iBAAiB,IAAI,eAAe,IAAI;AAAA,aAC/C;AACL,oBAAY,eAAe,MAAM,eAAe,IAAI;AAAA;AAEtD;AACA,oBAAc,UAAU,MAAM;AAC9B,gBAAU,MAAM,WAAW;AAC3B,SAAG;AACH,SAAG;AAAA,eACM,SAAS,WAAW,OAAO;AACpC;AACA,aAAO;AACP,UAAI,UAAU,MAAM,aAAa;AAC/B,kBAAU;AAAA;AAAA,eAEH,CAAC,WAAW,KAAK,WAAW,KAAK,SAAS,OAAO;AAC1D,gBAAU;AACV;AAAA;AAAA;AAIJ,sBAAoB;AAClB,gBAAY,MAAM,aAAa,MAAM,OAAO;AAC5C,eAAW,aAAa,iBAAiB;AACzC,eAAW,aAAa,iBAAiB,OAAO;AAChD,QAAI,CAAC,UAAU,MAAM,aAAa;AAChC,iBAAW,aAAa,QAAQ;AAChC,iBAAW,aAAa,YAAY,UAAU,MAAM;AACpD,eAAS,YAAY;AAAA;AAAA;AAIzB,uBAAqB;AACnB,OAAG,YAAY,WAAW;AAC1B,OAAG,YAAY,OAAO,WAAW,mBAAmB;AAAA;AAGtD,8BAA4B;AAC1B,cAAU,QAAQ,YAAY,MAAM,iBAClC;AAEF,mBAAe,QAAQ,GAAG,MAAM,KAAK,UAAU;AAE/C;AACA;AAAA;AAGF,6BAA2B;AACzB,eAAW;AAAA;AAGb;AAAA;;;;"}
|
|
@@ -142,12 +142,12 @@ export declare const ElForm: import("../../utils/types").SFCWithInstall<import("
|
|
|
142
142
|
inlineMessage: string | boolean;
|
|
143
143
|
showMessage: boolean;
|
|
144
144
|
} & {
|
|
145
|
-
error?: string | undefined;
|
|
146
145
|
required?: boolean | undefined;
|
|
147
146
|
size?: import("../../utils/types").ComponentSize | undefined;
|
|
148
147
|
label?: string | undefined;
|
|
149
|
-
|
|
148
|
+
error?: string | undefined;
|
|
150
149
|
prop?: string | undefined;
|
|
150
|
+
rules?: import("./src/form.type").FormItemRule | import("./src/form.type").FormItemRule[] | undefined;
|
|
151
151
|
validateStatus?: string | undefined;
|
|
152
152
|
for?: string | undefined;
|
|
153
153
|
}>, {
|
|
@@ -221,12 +221,12 @@ export declare const ElFormItem: import("../../utils/types").SFCWithInstall<impo
|
|
|
221
221
|
inlineMessage: string | boolean;
|
|
222
222
|
showMessage: boolean;
|
|
223
223
|
} & {
|
|
224
|
-
error?: string | undefined;
|
|
225
224
|
required?: boolean | undefined;
|
|
226
225
|
size?: import("../../utils/types").ComponentSize | undefined;
|
|
227
226
|
label?: string | undefined;
|
|
228
|
-
|
|
227
|
+
error?: string | undefined;
|
|
229
228
|
prop?: string | undefined;
|
|
229
|
+
rules?: import("./src/form.type").FormItemRule | import("./src/form.type").FormItemRule[] | undefined;
|
|
230
230
|
validateStatus?: string | undefined;
|
|
231
231
|
for?: string | undefined;
|
|
232
232
|
}>, {
|
|
@@ -65,12 +65,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
65
65
|
inlineMessage: string | boolean;
|
|
66
66
|
showMessage: boolean;
|
|
67
67
|
} & {
|
|
68
|
-
error?: string | undefined;
|
|
69
68
|
required?: boolean | undefined;
|
|
70
69
|
size?: ComponentSize | undefined;
|
|
71
70
|
label?: string | undefined;
|
|
72
|
-
|
|
71
|
+
error?: string | undefined;
|
|
73
72
|
prop?: string | undefined;
|
|
73
|
+
rules?: FormItemRule | FormItemRule[] | undefined;
|
|
74
74
|
validateStatus?: string | undefined;
|
|
75
75
|
for?: string | undefined;
|
|
76
76
|
}>, {
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { defineComponent, inject, ref, getCurrentInstance, computed, watch, nextTick, reactive, toRefs, onMounted, onBeforeUnmount, provide } from 'vue';
|
|
2
2
|
import { NOOP } from '@vue/shared';
|
|
3
3
|
import AsyncValidator from 'async-validator';
|
|
4
|
-
import {
|
|
4
|
+
import { addUnit, getPropByPath } from '../../../utils/util.mjs';
|
|
5
5
|
import { isValidComponentSize } from '../../../utils/validators.mjs';
|
|
6
6
|
import '../../../tokens/index.mjs';
|
|
7
|
+
import '../../../hooks/index.mjs';
|
|
7
8
|
import LabelWrap from './label-wrap.mjs';
|
|
8
9
|
import { elFormKey, elFormItemKey } from '../../../tokens/form.mjs';
|
|
10
|
+
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
9
11
|
|
|
10
12
|
var script = defineComponent({
|
|
11
13
|
name: "ElFormItem",
|
|
@@ -42,7 +44,6 @@ var script = defineComponent({
|
|
|
42
44
|
}
|
|
43
45
|
},
|
|
44
46
|
setup(props, { slots }) {
|
|
45
|
-
const $ELEMENT = useGlobalConfig();
|
|
46
47
|
const elForm = inject(elFormKey, {});
|
|
47
48
|
const validateState = ref("");
|
|
48
49
|
const validateMessage = ref("");
|
|
@@ -120,10 +121,7 @@ var script = defineComponent({
|
|
|
120
121
|
}
|
|
121
122
|
return required;
|
|
122
123
|
});
|
|
123
|
-
const
|
|
124
|
-
const sizeClass = computed(() => {
|
|
125
|
-
return elFormItemSize.value || $ELEMENT.size;
|
|
126
|
-
});
|
|
124
|
+
const sizeClass = useSize(void 0, { formItem: false });
|
|
127
125
|
const validate = (trigger, callback = NOOP) => {
|
|
128
126
|
if (!isValidationEnabled.value) {
|
|
129
127
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport {\n addUnit,\n getPropByPath,\n useGlobalConfig,\n} from '@element-plus/utils/util'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const $ELEMENT = useGlobalConfig()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const elFormItemSize = computed(() => props.size || elForm.size)\n const sizeClass = computed<ComponentSize>(() => {\n return elFormItemSize.value || $ELEMENT.size\n })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAqEA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,IACN,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO,CAAC,QAAQ;AAAA,IAChB,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,KAAK;AAAA,IACL,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA;AAAA,EAGf,MAAM,OAAO,EAAE,SAAS;AACtB,UAAM,WAAW;AAEjB,UAAM,SAAS,OAAO,WAAW;AACjC,UAAM,gBAAgB,IAAI;AAC1B,UAAM,kBAAkB,IAAI;AAC5B,UAAM,sBAAsB,IAAI;AAEhC,UAAM,qBAAqB,IAAI;AAE/B,UAAM,cAAc;AAEpB,UAAM,KAAK;AACX,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,SAAS,GAAG;AAChB,aAAO,UAAU,OAAO,KAAK,SAAS,UAAU;AAC9C,YAAI,OAAO,KAAK,SAAS,cAAc;AACrC,iBAAO;AAAA;AAET,iBAAS,OAAO;AAAA;AAElB,aAAO;AAAA;AAGT,QAAI,eAAe;AAEnB,UACE,MAAM,MAAM,OACZ,CAAC,QAAQ;AACP,sBAAgB,QAAQ;AACxB,oBAAc,QAAQ,MAAM,UAAU;AAAA,OAExC;AAAA,MACE,WAAW;AAAA;AAGf,UACE,MAAM,MAAM,gBACZ,CAAC,QAAQ;AACP,oBAAc,QAAQ;AAAA;AAI1B,UAAM,WAAW,SAAS,MAAM,MAAM,OAAO,MAAM;AACnD,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,MAAqB;AAC3B,UAAI,OAAO,kBAAkB;AAAO,eAAO;AAC3C,YAAM,aAAa,QAAQ,MAAM,cAAc,OAAO;AACtD,UAAI,YAAY;AACd,YAAI,QAAQ;AAAA;AAEd,aAAO;AAAA;AAET,UAAM,eAAe,SAAS,MAAM;AAClC,YAAM,MAAqB;AAC3B,UAAI,OAAO,kBAAkB,SAAS,OAAO,QAAQ;AACnD,eAAO;AAAA;AAET,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,cAAc,SAAS,OAAO;AACvD,eAAO;AAAA;AAET,YAAM,aAAa,QAAQ,MAAM,cAAc,OAAO;AACtD,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,OAAO;AAChC,YAAI,aAAa;AAAA;AAEnB,aAAO;AAAA;AAET,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,QAAQ,OAAO;AACrB,UAAI,CAAC,SAAS,CAAC,MAAM,MAAM;AACzB;AAAA;AAGF,UAAI,OAAO,MAAM;AACjB,UAAI,KAAK,QAAQ,SAAS,IAAI;AAC5B,eAAO,KAAK,QAAQ,KAAK;AAAA;AAG3B,aAAO,cAAc,OAAO,MAAM,MAAM;AAAA;AAE1C,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,QAAQ;AACd,UAAI,WAAW;AAEf,UAAI,SAAS,MAAM,QAAQ;AACzB,cAAM,MAAM,CAAC,SAAS;AACpB,cAAI,KAAK,UAAU;AACjB,uBAAW;AACX,mBAAO;AAAA;AAET,iBAAO;AAAA;AAAA;AAGX,aAAO;AAAA;AAET,UAAM,iBAAiB,SAAS,MAAM,MAAM,QAAQ,OAAO;AAC3D,UAAM,YAAY,SAAwB,MAAM;AAC9C,aAAO,eAAe,SAAS,SAAS;AAAA;AAG1C,UAAM,WAAW,CACf,SACA,WAAkC,SAC/B;AACH,UAAI,CAAC,oBAAoB,OAAO;AAC9B;AACA;AAAA;AAEF,YAAM,QAAQ,gBAAgB;AAC9B,UAAK,EAAC,SAAS,MAAM,WAAW,MAAM,MAAM,aAAa,QAAW;AAClE;AACA;AAAA;AAEF,oBAAc,QAAQ;AACtB,YAAM,aAAa;AACnB,UAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,cAAM,QAAQ,CAAC,SAAS;AACtB,iBAAO,KAAK;AAAA;AAAA;AAGhB,iBAAW,MAAM,QAAQ;AACzB,YAAM,YAAY,IAAI,eAAe;AACrC,YAAM,QAAQ;AACd,YAAM,MAAM,QAAQ,WAAW;AAC/B,gBAAU,SAAS,OAAO,EAAE,aAAa,QAAQ,CAAC,QAAQ,WAAW;;AACnE,sBAAc,QAAQ,CAAC,SAAS,YAAY;AAC5C,wBAAgB,QAAQ,SACpB,OAAO,GAAG,WAAW,GAAG,MAAM,qBAC9B;AAEJ,iBAAS,gBAAgB,OAAO,SAAS,SAAS;AAClD,qBAAO,SAAP,gCACE,YACA,MAAM,MACN,CAAC,QACD,gBAAgB,SAAS;AAAA;AAAA;AAK/B,UAAM,gBAAgB,MAAM;AAC1B,oBAAc,QAAQ;AACtB,sBAAgB,QAAQ;AAAA;AAE1B,UAAM,aAAa,MAAM;AACvB,YAAM,QAAQ,OAAO;AACrB,YAAM,QAAQ,WAAW;AACzB,UAAI,OAAO,MAAM;AACjB,UAAI,KAAK,QAAQ,SAAS,IAAI;AAC5B,eAAO,KAAK,QAAQ,KAAK;AAAA;AAE3B,YAAM,OAAO,cAAc,OAAO,MAAM;AACxC,UAAI,MAAM,QAAQ,QAAQ;AACxB,aAAK,EAAE,KAAK,KAAK,GAAG,OAAO;AAAA,aACtB;AACL,aAAK,EAAE,KAAK,KAAK;AAAA;AAEnB,eAAS,MAAM;AACb;AAAA;AAAA;AAIJ,UAAM,WAAW,MAAM;AACrB,YAAM,YAAY,OAAO;AACzB,YAAM,YAAY,MAAM;AACxB,YAAM,eACJ,MAAM,aAAa,SAAY,EAAE,UAAU,CAAC,CAAC,MAAM,aAAa;AAElE,YAAM,OAAO,cAAc,WAAW,MAAM,QAAQ,IAAI;AACxD,YAAM,iBAAiB,YAAY,KAAK,EAAE,MAAM,QAAQ,OAAO,KAAK,IAAI;AAExE,aAAO,GAAG,OAAO,aAAa,kBAAkB,IAAI,OAAO;AAAA;AAE7D,UAAM,kBAAkB,CAAC,YAAY;AACnC,YAAM,QAAQ;AAEd,aAAO,MACJ,OAAO,CAAC,SAAS;AAChB,YAAI,CAAC,KAAK,WAAW,YAAY;AAAI,iBAAO;AAC5C,YAAI,MAAM,QAAQ,KAAK,UAAU;AAC/B,iBAAO,KAAK,QAAQ,QAAQ,WAAW;AAAA,eAClC;AACL,iBAAO,KAAK,YAAY;AAAA;AAAA,SAG3B,IAAI,CAAC,eAAe;AAAA;AAGzB,UAAM,4BAA4B,MAAM;;AACtC,0BAAoB,QAAQ,CAAC,0CAAa;AAAA;AAG5C,UAAM,2BAA2B,CAAC,UAA2B;AAC3D,yBAAmB,QAAQ,QAAQ,GAAG,YAAY;AAAA;AAGpD,UAAM,aAAa,SAAS;AAAA,SACvB,OAAO;AAAA,MACV,MAAM;AAAA,MACN;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAGF,cAAU,MAAM;AACd,UAAI,MAAM,MAAM;AACd,yCAAQ,SAAS;AAEjB,cAAM,QAAQ,WAAW;AACzB,uBAAe,MAAM,QAAQ,SAAS,CAAC,GAAG,SAAS;AAEnD;AAAA;AAAA;AAGJ,oBAAgB,MAAM;AACpB,uCAAQ,YAAY;AAAA;AAGtB,YAAQ,eAAe;AAEvB,UAAM,gBAAgB,SAAS,MAAM;AAAA,MACnC;AAAA,QACE,0BAA0B,OAAO;AAAA,QACjC,YAAY,cAAc,UAAU;AAAA,QACpC,iBAAiB,cAAc,UAAU;AAAA,QACzC,cAAc,cAAc,UAAU;AAAA,QACtC,eAAe,WAAW,SAAS,MAAM;AAAA,QACzC,kBAAkB,OAAO;AAAA;AAAA,MAE3B,UAAU,QAAQ,iBAAiB,UAAU,UAAU;AAAA;AAGzD,UAAM,kBAAkB,SAAS,MAAM;AACrC,aACE,cAAc,UAAU,WACxB,MAAM,eACN,OAAO;AAAA;AAIX,UAAM,eAAe,SACnB,MAAO,OAAM,SAAS,cAAc,eAAe;AAGrD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"form-item.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport { addUnit, getPropByPath } from '@element-plus/utils/util'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport { useSize } from '@element-plus/hooks'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const sizeClass = useSize(undefined, { formItem: false })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.vue_vue_type_template_id_24eda48b_lang.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue?vue&type=template&id=24eda48b&lang.js"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport {\n addUnit,\n getPropByPath,\n useGlobalConfig,\n} from '@element-plus/utils/util'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const $ELEMENT = useGlobalConfig()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const elFormItemSize = computed(() => props.size || elForm.size)\n const sizeClass = computed<ComponentSize>(() => {\n return elFormItemSize.value || $ELEMENT.size\n })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode"],"mappings":";;;;;sBACEA;IAAK,KAAI;AAAA,IAAc,uBAAM,gBAAuB;;IAClDC;MACG,iBAAe,gBAAW;MAC1B,cAAY,YAAO;;uBAEpB;QACQ,cAAS,YAAO,sBADxBD;;UAEG,KAAK;UACN,OAAM;AAAA,UACL,sBAAO;;UAERE,mCAAoB,OAAO,qBAA3B;4CACK;;;;;;IAITC;MAAK,OAAM;AAAA,MAAyB,sBAAO;;MACzCD;MACAD,0BAAY,MAAK;yBACf;UAAY,uBAAZC;;YAA2C,OAAO;aAAlD;YACEC;cACE,uBAAM;;;+BAQH;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"form-item.vue_vue_type_template_id_24eda48b_lang.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue?vue&type=template&id=24eda48b&lang.js"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport AsyncValidator from 'async-validator'\nimport { addUnit, getPropByPath } from '@element-plus/utils/util'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-plus/tokens'\nimport { useSize } from '@element-plus/hooks'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type { ElFormContext, ValidateFieldCallback } from '@element-plus/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'ElFormItem',\n componentName: 'ElFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n },\n setup(props, { slots }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n const isValidationEnabled = ref(false)\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'ElForm') {\n if (parent.type.name === 'ElFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n watch(\n () => props.error,\n (val) => {\n validateMessage.value = val\n validateState.value = val ? 'error' : ''\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.validateStatus,\n (val) => {\n validateState.value = val\n }\n )\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const sizeClass = useSize(undefined, { formItem: false })\n\n const validate = (\n trigger: string,\n callback: ValidateFieldCallback = NOOP\n ) => {\n if (!isValidationEnabled.value) {\n callback()\n return\n }\n const rules = getFilteredRule(trigger)\n if ((!rules || rules.length === 0) && props.required === undefined) {\n callback()\n return\n }\n validateState.value = 'validating'\n const descriptor = {}\n if (rules && rules.length > 0) {\n rules.forEach((rule) => {\n delete rule.trigger\n })\n }\n descriptor[props.prop] = rules\n const validator = new AsyncValidator(descriptor)\n const model = {}\n model[props.prop] = fieldValue.value\n validator.validate(model, { firstFields: true }, (errors, fields) => {\n validateState.value = !errors ? 'success' : 'error'\n validateMessage.value = errors\n ? errors[0].message || `${props.prop} is required`\n : ''\n // fix: #3860 after version 3.5.2, async-validator also return fields if validation fails\n callback(validateMessage.value, errors ? fields : {})\n elForm.emit?.(\n 'validate',\n props.prop,\n !errors,\n validateMessage.value || null\n )\n })\n }\n\n const clearValidate = () => {\n validateState.value = ''\n validateMessage.value = ''\n }\n const resetField = () => {\n const model = elForm.model\n const value = fieldValue.value\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n const prop = getPropByPath(model, path, true)\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue)\n } else {\n prop.o[prop.k] = initialValue\n }\n nextTick(() => {\n clearValidate()\n })\n }\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n const getFilteredRule = (trigger) => {\n const rules = getRules()\n\n return rules\n .filter((rule) => {\n if (!rule.trigger || trigger === '') return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1\n } else {\n return rule.trigger === trigger\n }\n })\n .map((rule) => ({ ...rule }))\n }\n\n const evaluateValidationEnabled = () => {\n isValidationEnabled.value = !!getRules()?.length\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n validateState,\n $el: formItemRef,\n evaluateValidationEnabled,\n resetField,\n clearValidate,\n validate,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n elForm?.addField(elFormItem)\n\n const value = fieldValue.value\n initialValue = Array.isArray(value) ? [...value] : value\n\n evaluateValidationEnabled()\n }\n })\n onBeforeUnmount(() => {\n elForm?.removeField(elFormItem)\n })\n\n provide(elFormItemKey, elFormItem)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n const currentLabel = computed(\n () => (props.label || '') + (elForm.labelSuffix || '')\n )\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n resetField,\n clearValidate,\n currentLabel,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode"],"mappings":";;;;;sBACEA;IAAK,KAAI;AAAA,IAAc,uBAAM,gBAAuB;;IAClDC;MACG,iBAAe,gBAAW;MAC1B,cAAY,YAAO;;uBAEpB;QACQ,cAAS,YAAO,sBADxBD;;UAEG,KAAK;UACN,OAAM;AAAA,UACL,sBAAO;;UAERE,mCAAoB,OAAO,qBAA3B;4CACK;;;;;;IAITC;MAAK,OAAM;AAAA,MAAyB,sBAAO;;MACzCD;MACAD,0BAAY,MAAK;yBACf;UAAY,uBAAZC;;YAA2C,OAAO;aAAlD;YACEC;cACE,uBAAM;;;+BAQH;;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ import { ElIcon } from '../../icon/index.mjs';
|
|
|
4
4
|
import '../../../hooks/index.mjs';
|
|
5
5
|
import { EVENT_CODE } from '../../../utils/aria.mjs';
|
|
6
6
|
import { isFirefox, rafThrottle } from '../../../utils/util.mjs';
|
|
7
|
-
import { FullScreen, ScaleToOriginal, Close, ArrowLeft, ArrowRight, ZoomOut, ZoomIn, RefreshLeft, RefreshRight } from '@element-plus/icons';
|
|
7
|
+
import { FullScreen, ScaleToOriginal, Close, ArrowLeft, ArrowRight, ZoomOut, ZoomIn, RefreshLeft, RefreshRight } from '@element-plus/icons-vue';
|
|
8
8
|
import { imageViewerProps, imageViewerEmits } from './image-viewer.mjs';
|
|
9
9
|
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-viewer.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <transition name=\"viewer-fade\">\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n class=\"el-image-viewer__wrapper\"\n :style=\"{ zIndex }\"\n >\n <div\n class=\"el-image-viewer__mask\"\n @click.self=\"hideOnClickModal && hide()\"\n />\n\n <!-- CLOSE -->\n <span class=\"el-image-viewer__btn el-image-viewer__close\" @click=\"hide\">\n <el-icon><close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n class=\"el-image-viewer__btn el-image-viewer__prev\"\n :class=\"{ 'is-disabled': !infinite && isFirst }\"\n @click=\"prev\"\n >\n <el-icon><arrow-left /></el-icon>\n </span>\n <span\n class=\"el-image-viewer__btn el-image-viewer__next\"\n :class=\"{ 'is-disabled': !infinite && isLast }\"\n @click=\"next\"\n >\n <el-icon><arrow-right /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div class=\"el-image-viewer__btn el-image-viewer__actions\">\n <div class=\"el-image-viewer__actions__inner\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <zoom-out />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <zoom-in />\n </el-icon>\n <i class=\"el-image-viewer__actions__divider\"></i>\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i class=\"el-image-viewer__actions__divider\"></i>\n <el-icon @click=\"handleActions('anticlockwise')\">\n <refresh-left />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <refresh-right />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div class=\"el-image-viewer__canvas\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n ref=\"img\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n class=\"el-image-viewer__img\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n ref,\n onMounted,\n watch,\n nextTick,\n effectScope,\n markRaw,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { rafThrottle, isFirefox } from '@element-plus/utils/util'\nimport {\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n FullScreen,\n ScaleToOriginal,\n} from '@element-plus/icons'\nimport { imageViewerProps, imageViewerEmits } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport default defineComponent({\n name: 'ElImageViewer',\n components: {\n ElIcon,\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n },\n props: imageViewerProps,\n emits: imageViewerEmits,\n\n setup(props, { emit }) {\n const { t } = useLocale()\n const wrapper = ref<HTMLDivElement>()\n const img = ref<HTMLImageElement>()\n\n const scopeEventListener = effectScope()\n\n const loading = ref(true)\n const index = ref(props.initialIndex)\n const mode = ref(Mode.CONTAIN)\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n })\n\n const isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n })\n\n const isFirst = computed(() => {\n return index.value === 0\n })\n\n const isLast = computed(() => {\n return index.value === props.urlList.length - 1\n })\n\n const currentImg = computed(() => {\n return props.urlList[index.value]\n })\n\n const imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg)`,\n transition: enableTransition ? 'transform .3s' : '',\n marginLeft: `${offsetX}px`,\n marginTop: `${offsetY}px`,\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n })\n\n function hide() {\n unregisterEventListener()\n emit('close')\n }\n\n function registerEventListener() {\n const keydownHandler = rafThrottle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = rafThrottle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 0.015,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 0.015,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n }\n\n function unregisterEventListener() {\n scopeEventListener.stop()\n }\n\n function handleImgLoad() {\n loading.value = false\n }\n\n function handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n }\n\n function handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const divLeft = wrapper.value.clientLeft\n const divRight = wrapper.value.clientLeft + wrapper.value.clientWidth\n const divTop = wrapper.value.clientTop\n const divBottom = wrapper.value.clientTop + wrapper.value.clientHeight\n\n const dragHandler = rafThrottle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(\n document,\n 'mousemove',\n dragHandler\n )\n useEventListener(document, 'mouseup', (evt) => {\n const mouseX = evt.pageX\n const mouseY = evt.pageY\n if (\n mouseX < divLeft ||\n mouseX > divRight ||\n mouseY < divTop ||\n mouseY > divBottom\n ) {\n reset()\n }\n removeMousemove()\n })\n\n e.preventDefault()\n }\n\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n }\n\n function toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n }\n\n function prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n }\n\n function next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n }\n\n function handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 0.2,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = parseFloat(\n (transform.value.scale - zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n transform.value.scale = parseFloat(\n (transform.value.scale + zoomRate).toFixed(3)\n )\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n }\n\n watch(currentImg, () => {\n nextTick(() => {\n const $img = img.value\n if (!$img?.complete) {\n loading.value = true\n }\n })\n })\n\n watch(index, (val) => {\n reset()\n emit('switch', val)\n })\n\n onMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n })\n\n return {\n index,\n wrapper,\n img,\n isSingle,\n isFirst,\n isLast,\n currentImg,\n imgStyle,\n mode,\n handleActions,\n prev,\n next,\n hide,\n toggleMode,\n handleImgLoad,\n handleImgError,\n handleMouseDown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-viewer.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <transition name=\"viewer-fade\">\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n class=\"el-image-viewer__wrapper\"\n :style=\"{ zIndex }\"\n >\n <div\n class=\"el-image-viewer__mask\"\n @click.self=\"hideOnClickModal && hide()\"\n />\n\n <!-- CLOSE -->\n <span class=\"el-image-viewer__btn el-image-viewer__close\" @click=\"hide\">\n <el-icon><close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n class=\"el-image-viewer__btn el-image-viewer__prev\"\n :class=\"{ 'is-disabled': !infinite && isFirst }\"\n @click=\"prev\"\n >\n <el-icon><arrow-left /></el-icon>\n </span>\n <span\n class=\"el-image-viewer__btn el-image-viewer__next\"\n :class=\"{ 'is-disabled': !infinite && isLast }\"\n @click=\"next\"\n >\n <el-icon><arrow-right /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div class=\"el-image-viewer__btn el-image-viewer__actions\">\n <div class=\"el-image-viewer__actions__inner\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <zoom-out />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <zoom-in />\n </el-icon>\n <i class=\"el-image-viewer__actions__divider\"></i>\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i class=\"el-image-viewer__actions__divider\"></i>\n <el-icon @click=\"handleActions('anticlockwise')\">\n <refresh-left />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <refresh-right />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div class=\"el-image-viewer__canvas\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n ref=\"img\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n class=\"el-image-viewer__img\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n ref,\n onMounted,\n watch,\n nextTick,\n effectScope,\n markRaw,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { rafThrottle, isFirefox } from '@element-plus/utils/util'\nimport {\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n FullScreen,\n ScaleToOriginal,\n} from '@element-plus/icons-vue'\nimport { imageViewerProps, imageViewerEmits } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport default defineComponent({\n name: 'ElImageViewer',\n components: {\n ElIcon,\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n },\n props: imageViewerProps,\n emits: imageViewerEmits,\n\n setup(props, { emit }) {\n const { t } = useLocale()\n const wrapper = ref<HTMLDivElement>()\n const img = ref<HTMLImageElement>()\n\n const scopeEventListener = effectScope()\n\n const loading = ref(true)\n const index = ref(props.initialIndex)\n const mode = ref(Mode.CONTAIN)\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n })\n\n const isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n })\n\n const isFirst = computed(() => {\n return index.value === 0\n })\n\n const isLast = computed(() => {\n return index.value === props.urlList.length - 1\n })\n\n const currentImg = computed(() => {\n return props.urlList[index.value]\n })\n\n const imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg)`,\n transition: enableTransition ? 'transform .3s' : '',\n marginLeft: `${offsetX}px`,\n marginTop: `${offsetY}px`,\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n })\n\n function hide() {\n unregisterEventListener()\n emit('close')\n }\n\n function registerEventListener() {\n const keydownHandler = rafThrottle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = rafThrottle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 0.015,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 0.015,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n }\n\n function unregisterEventListener() {\n scopeEventListener.stop()\n }\n\n function handleImgLoad() {\n loading.value = false\n }\n\n function handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n }\n\n function handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const divLeft = wrapper.value.clientLeft\n const divRight = wrapper.value.clientLeft + wrapper.value.clientWidth\n const divTop = wrapper.value.clientTop\n const divBottom = wrapper.value.clientTop + wrapper.value.clientHeight\n\n const dragHandler = rafThrottle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(\n document,\n 'mousemove',\n dragHandler\n )\n useEventListener(document, 'mouseup', (evt) => {\n const mouseX = evt.pageX\n const mouseY = evt.pageY\n if (\n mouseX < divLeft ||\n mouseX > divRight ||\n mouseY < divTop ||\n mouseY > divBottom\n ) {\n reset()\n }\n removeMousemove()\n })\n\n e.preventDefault()\n }\n\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n }\n\n function toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n }\n\n function prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n }\n\n function next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n }\n\n function handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 0.2,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = parseFloat(\n (transform.value.scale - zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n transform.value.scale = parseFloat(\n (transform.value.scale + zoomRate).toFixed(3)\n )\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n }\n\n watch(currentImg, () => {\n nextTick(() => {\n const $img = img.value\n if (!$img?.complete) {\n loading.value = true\n }\n })\n })\n\n watch(index, (val) => {\n reset()\n emit('switch', val)\n })\n\n onMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n })\n\n return {\n index,\n wrapper,\n img,\n isSingle,\n isFirst,\n isLast,\n currentImg,\n imgStyle,\n mode,\n handleActions,\n prev,\n next,\n hide,\n toggleMode,\n handleImgLoad,\n handleImgError,\n handleMouseDown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|