@element-plus/nightly 0.0.20220108 → 0.0.20220112
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 +27 -82
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +440 -445
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +444 -450
- 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 +1 -0
- package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs +4 -4
- package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +18 -2
- package/es/components/cascader/src/index.vue.d.ts +9 -1
- 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 +5 -3
- package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
- 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 +2 -1
- package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +6 -0
- 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/descriptions/index.d.ts +4 -4
- package/es/components/descriptions/src/description-item.d.ts +2 -2
- package/es/components/dropdown/index.d.ts +19 -7
- package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs +32 -26
- package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
- package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs +6 -3
- package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
- package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs +8 -7
- package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +11 -3
- 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 +1 -0
- package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
- package/es/components/index.mjs +1 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs +2 -1
- package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +2 -2
- package/es/components/pagination/index.d.ts +2 -2
- package/es/components/pagination/src/pagination.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +2 -1
- package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
- package/es/components/popover/index.d.ts +18 -2
- package/es/components/popover/src/index.vue.d.ts +9 -1
- package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +2 -1
- package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -1
- package/es/components/popper/src/content.vue_vue_type_script_lang.mjs +2 -1
- package/es/components/popper/src/content.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs.map +1 -1
- package/es/components/popper/src/trigger.vue.d.ts +3 -3
- package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/es/components/select/index.d.ts +9 -1
- package/es/components/select/src/select.vue.d.ts +9 -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 +1 -0
- 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 +9 -1
- package/es/components/select-v2/index.d.ts +18 -2
- package/es/components/select-v2/src/select.vue.d.ts +9 -1
- package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +1 -0
- package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.d.ts +9 -1
- package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +2 -1
- package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +9 -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 +2 -1
- package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +9 -1
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -2
- 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 +5 -2
- package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
- package/es/components/time-select/index.d.ts +14 -0
- package/es/components/time-select/src/time-select.vue.d.ts +7 -0
- package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +45 -7
- 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/tooltip/index.d.ts +5 -0
- package/es/components/tooltip/index.mjs +1 -0
- package/es/components/tooltip/index.mjs.map +1 -1
- package/es/components/tooltip/src/content.vue.d.ts +13 -6
- package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs +42 -67
- package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs +53 -56
- package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs.map +1 -1
- package/es/components/tooltip/src/tokens.d.ts +1 -0
- package/es/components/tooltip/src/tokens.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.d.ts +2 -0
- package/es/components/tooltip/src/tooltip.mjs +8 -0
- package/es/components/tooltip/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +4 -0
- package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs +2 -1
- package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs +2 -1
- package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.vue.d.ts +1 -1
- package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs +2 -2
- package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs.map +1 -1
- package/es/components/tree/src/model/useDragNode.mjs +1 -1
- package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
- 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-v2/src/tree-node.vue.d.ts +1 -1
- package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-list.d.ts +2 -2
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/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 +1 -0
- package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js +4 -4
- package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -1
- package/lib/components/cascader/index.d.ts +18 -2
- package/lib/components/cascader/src/index.vue.d.ts +9 -1
- 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 +4 -2
- package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
- 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 +2 -1
- package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +6 -0
- 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/descriptions/index.d.ts +4 -4
- package/lib/components/descriptions/src/description-item.d.ts +2 -2
- package/lib/components/dropdown/index.d.ts +19 -7
- package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js +31 -25
- package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
- package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js +6 -3
- package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
- package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js +7 -6
- package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +11 -3
- 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 +1 -0
- package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
- package/lib/components/index.js +2 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js +2 -1
- package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +2 -2
- package/lib/components/pagination/index.d.ts +2 -2
- package/lib/components/pagination/src/pagination.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +2 -1
- package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
- package/lib/components/popover/index.d.ts +18 -2
- package/lib/components/popover/src/index.vue.d.ts +9 -1
- package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +2 -1
- package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -1
- package/lib/components/popper/src/content.vue_vue_type_script_lang.js +2 -1
- package/lib/components/popper/src/content.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js.map +1 -1
- package/lib/components/popper/src/trigger.vue.d.ts +3 -3
- package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js +2 -2
- package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/lib/components/select/index.d.ts +9 -1
- package/lib/components/select/src/select.vue.d.ts +9 -1
- 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 +1 -0
- 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 +9 -1
- package/lib/components/select-v2/index.d.ts +18 -2
- package/lib/components/select-v2/src/select.vue.d.ts +9 -1
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +1 -0
- package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.d.ts +9 -1
- package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +2 -1
- package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +9 -1
- 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 +2 -1
- package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -1
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -2
- 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 +5 -2
- package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
- package/lib/components/time-select/index.d.ts +14 -0
- package/lib/components/time-select/src/time-select.vue.d.ts +7 -0
- package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +50 -7
- 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/tooltip/index.d.ts +5 -0
- package/lib/components/tooltip/index.js +2 -0
- package/lib/components/tooltip/index.js.map +1 -1
- package/lib/components/tooltip/src/content.vue.d.ts +13 -6
- package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js +43 -68
- package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js +52 -55
- package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js.map +1 -1
- package/lib/components/tooltip/src/tokens.d.ts +1 -0
- package/lib/components/tooltip/src/tokens.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.d.ts +2 -0
- package/lib/components/tooltip/src/tooltip.js +8 -0
- package/lib/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -0
- package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js +2 -1
- package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js +2 -1
- package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js.map +1 -1
- package/lib/components/tooltip/src/trigger.vue.d.ts +1 -1
- package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js +2 -2
- package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js +2 -2
- package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js.map +1 -1
- package/lib/components/tree/src/model/useDragNode.js +1 -1
- package/lib/components/tree/src/model/useDragNode.js.map +1 -1
- package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +1 -1
- 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-v2/src/tree-node.vue.d.ts +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -2
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
- package/lib/index.js +2 -0
- package/lib/index.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 +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-tree.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/dropdown.scss +13 -18
- package/theme-chalk/src/tabs.scss +8 -6
- package/theme-chalk/src/tree.scss +2 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue?vue&type=template&id=78e07aa7&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n defaultValue,\n arrowControl,\n } = pickerBase.props\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue).locale(lang.value)\n if (!defaultValue) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode"],"mappings":";;;;;;EAY+B;;;;;;EAYF;;qBACb,KAAK,EAAC,6BAA6B;;;;;;sBAuFtC,KAAK,EAAC;eA4Bb,KAAK,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;iDAjIqB;;;;;;gBAKvB;;;;;;;iCAOJ;;;cAEI;;;;uBAIS;yBACC;;;;6CAIV;;;;;2BAQY;;4BAEC;;;;;;iCAMM;uBACVA;;;;;;;wBAIX;;;;;;;gBASQ;;;;;YAKJ;gCAAS,CAAgB;;;;;;;gBAIrB;;;;;YAKJ;;gBAAS;;;;;;;;;YAIT,MAAM;YACL;6BACG;0BAEN;YAEE;YACA,KAAK;YAEJ,OAAK;;;;;gBAIF;;;;;YAKJ;gCAAS,CAAiB;;;;;;;gBAItB;;;;;YAKJ;;;;;;;;;;;;;;;;kCAMiB;;;+BAGH;;;;;6BAGhB;;oBAEO,EAAE;;;;;;;;;sBAOA;;;0CAGe;;;;;;;;QAW1B,IAAI,EAAC;QACL;QACA,OAAM;;;yBAGN;;;;;;;MAEF;;;;;"}
|
|
1
|
+
{"version":3,"file":"panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue?vue&type=template&id=78e07aa7&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n defaultValue,\n arrowControl,\n } = pickerBase.props\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue).locale(lang.value)\n if (!defaultValue) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode"],"mappings":";;;;;;EAY+B;;;;;;EAYF;;qBACb,KAAK,EAAC,6BAA6B;;;;;;sBAuFtC,KAAK,EAAC;eA4Bb,KAAK,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;iDAjIqB;;;;;;gBAKvB;;;;;;;iCAOJ;;;cAEI;;;;uBAIS;yBACC;;;;6CAIV;;;;;2BAQY;;4BAEC;;;;;;iCAMM;uBACVA;;;;;;;wBAIX;;;;;;;gBASQ;;;;;YAKJ;gCAAS,CAAgB;;;;;;;gBAIrB;;;;;YAKJ;;gBAAS;;;;;;;;;YAIT,MAAM;YACL;6BACG;0BAEN;YAEE;YACA,KAAK;YAEJ,OAAK;;;;;gBAIF;;;;;YAKJ;gCAAS,CAAiB;;;;;;;gBAItB;;;;;YAKJ;;;;;;;;;;;;;;;;kCAMiB;;;+BAGH;;;;;6BAGhB;;oBAEO,EAAE;;;;;;;;;sBAOA;;;0CAGe;;;;;;;;QAW1B,IAAI,EAAC;QACL;QACA,OAAM;;;yBAGN;;;;;;;MAEF;;;;;"}
|
|
@@ -95,8 +95,8 @@ export declare const ElDescriptions: import("../../utils/types").SFCWithInstall<
|
|
|
95
95
|
span: number;
|
|
96
96
|
width: string | number;
|
|
97
97
|
align: string;
|
|
98
|
-
minWidth: string | number;
|
|
99
98
|
className: string;
|
|
99
|
+
minWidth: string | number;
|
|
100
100
|
labelAlign: string;
|
|
101
101
|
labelClassName: string;
|
|
102
102
|
} & {}>, {
|
|
@@ -104,8 +104,8 @@ export declare const ElDescriptions: import("../../utils/types").SFCWithInstall<
|
|
|
104
104
|
span: number;
|
|
105
105
|
width: string | number;
|
|
106
106
|
align: string;
|
|
107
|
-
minWidth: string | number;
|
|
108
107
|
className: string;
|
|
108
|
+
minWidth: string | number;
|
|
109
109
|
labelAlign: string;
|
|
110
110
|
labelClassName: string;
|
|
111
111
|
}>;
|
|
@@ -158,8 +158,8 @@ export declare const ElDescriptionsItem: import("../../utils/types").SFCWithInst
|
|
|
158
158
|
span: number;
|
|
159
159
|
width: string | number;
|
|
160
160
|
align: string;
|
|
161
|
-
minWidth: string | number;
|
|
162
161
|
className: string;
|
|
162
|
+
minWidth: string | number;
|
|
163
163
|
labelAlign: string;
|
|
164
164
|
labelClassName: string;
|
|
165
165
|
} & {}>, {
|
|
@@ -167,8 +167,8 @@ export declare const ElDescriptionsItem: import("../../utils/types").SFCWithInst
|
|
|
167
167
|
span: number;
|
|
168
168
|
width: string | number;
|
|
169
169
|
align: string;
|
|
170
|
-
minWidth: string | number;
|
|
171
170
|
className: string;
|
|
171
|
+
minWidth: string | number;
|
|
172
172
|
labelAlign: string;
|
|
173
173
|
labelClassName: string;
|
|
174
174
|
}>>;
|
|
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
45
|
span: number;
|
|
46
46
|
width: string | number;
|
|
47
47
|
align: string;
|
|
48
|
-
minWidth: string | number;
|
|
49
48
|
className: string;
|
|
49
|
+
minWidth: string | number;
|
|
50
50
|
labelAlign: string;
|
|
51
51
|
labelClassName: string;
|
|
52
52
|
} & {}>, {
|
|
@@ -54,8 +54,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
54
54
|
span: number;
|
|
55
55
|
width: string | number;
|
|
56
56
|
align: string;
|
|
57
|
-
minWidth: string | number;
|
|
58
57
|
className: string;
|
|
58
|
+
minWidth: string | number;
|
|
59
59
|
labelAlign: string;
|
|
60
60
|
labelClassName: string;
|
|
61
61
|
}>;
|
|
@@ -107,6 +107,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
107
107
|
stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
108
108
|
showAfter: number;
|
|
109
109
|
hideAfter: number;
|
|
110
|
+
appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
110
111
|
rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
111
112
|
persistent: boolean;
|
|
112
113
|
teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -126,6 +127,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
126
127
|
trigger?: unknown;
|
|
127
128
|
virtualRef?: unknown;
|
|
128
129
|
virtualTriggering?: unknown;
|
|
130
|
+
appendTo?: unknown;
|
|
129
131
|
content?: unknown;
|
|
130
132
|
rawContent?: unknown;
|
|
131
133
|
persistent?: unknown;
|
|
@@ -223,6 +225,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
223
225
|
stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
224
226
|
showAfter: number;
|
|
225
227
|
hideAfter: number;
|
|
228
|
+
appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
226
229
|
rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
227
230
|
persistent: boolean;
|
|
228
231
|
teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -237,7 +240,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
237
240
|
virtualTriggering?: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown> | undefined;
|
|
238
241
|
}> & {
|
|
239
242
|
[x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
|
|
240
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
|
|
243
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
|
|
241
244
|
$attrs: {
|
|
242
245
|
[x: string]: unknown;
|
|
243
246
|
};
|
|
@@ -261,6 +264,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
261
264
|
trigger?: unknown;
|
|
262
265
|
virtualRef?: unknown;
|
|
263
266
|
virtualTriggering?: unknown;
|
|
267
|
+
appendTo?: unknown;
|
|
264
268
|
content?: unknown;
|
|
265
269
|
rawContent?: unknown;
|
|
266
270
|
persistent?: unknown;
|
|
@@ -358,6 +362,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
358
362
|
stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
359
363
|
showAfter: number;
|
|
360
364
|
hideAfter: number;
|
|
365
|
+
appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
361
366
|
rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
362
367
|
persistent: boolean;
|
|
363
368
|
teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -489,6 +494,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
489
494
|
stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
490
495
|
showAfter: number;
|
|
491
496
|
hideAfter: number;
|
|
497
|
+
appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
492
498
|
rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
493
499
|
persistent: boolean;
|
|
494
500
|
teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -528,6 +534,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
528
534
|
trigger?: unknown;
|
|
529
535
|
virtualRef?: unknown;
|
|
530
536
|
virtualTriggering?: unknown;
|
|
537
|
+
appendTo?: unknown;
|
|
531
538
|
content?: unknown;
|
|
532
539
|
rawContent?: unknown;
|
|
533
540
|
persistent?: unknown;
|
|
@@ -625,6 +632,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
625
632
|
stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
626
633
|
showAfter: number;
|
|
627
634
|
hideAfter: number;
|
|
635
|
+
appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
628
636
|
rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
629
637
|
persistent: boolean;
|
|
630
638
|
teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -704,9 +712,9 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
704
712
|
} & {
|
|
705
713
|
size: string;
|
|
706
714
|
effect: string;
|
|
707
|
-
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
708
715
|
placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
709
716
|
popperClass: string;
|
|
717
|
+
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
710
718
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
711
719
|
tabindex: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
712
720
|
hideOnClick: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -724,9 +732,9 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
724
732
|
type: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("../../utils/props").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown>;
|
|
725
733
|
size: string;
|
|
726
734
|
effect: string;
|
|
727
|
-
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
728
735
|
placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
729
736
|
popperClass: string;
|
|
737
|
+
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
730
738
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
731
739
|
tabindex: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
732
740
|
loop: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
@@ -742,11 +750,11 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
742
750
|
readonly textValue: StringConstructor;
|
|
743
751
|
readonly icon: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
|
|
744
752
|
}, {
|
|
745
|
-
handleClick: (
|
|
753
|
+
handleClick: (event: PointerEvent) => void;
|
|
746
754
|
handlePointerMove: (event: PointerEvent) => void;
|
|
747
755
|
handlePointerLeave: (event: PointerEvent) => void;
|
|
748
756
|
textContent: import("vue").ComputedRef<string>;
|
|
749
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
757
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
750
758
|
readonly command?: unknown;
|
|
751
759
|
readonly disabled?: unknown;
|
|
752
760
|
readonly divided?: unknown;
|
|
@@ -760,6 +768,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
760
768
|
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;
|
|
761
769
|
textValue?: string | undefined;
|
|
762
770
|
}> & {
|
|
771
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
763
772
|
onPointermove?: ((...args: any[]) => any) | undefined;
|
|
764
773
|
onPointerleave?: ((...args: any[]) => any) | undefined;
|
|
765
774
|
}, {
|
|
@@ -774,6 +783,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
774
783
|
size: import("vue").ComputedRef<string> | undefined;
|
|
775
784
|
rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
|
|
776
785
|
tabIndex: import("vue").Ref<number>;
|
|
786
|
+
dropdownKls: import("vue").ComputedRef<string[]>;
|
|
777
787
|
dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
|
|
778
788
|
handleKeydown: (e: KeyboardEvent) => void;
|
|
779
789
|
onBlur: (e: Event) => void;
|
|
@@ -795,11 +805,11 @@ export declare const ElDropdownItem: import("../../utils/types").SFCWithInstall<
|
|
|
795
805
|
readonly textValue: StringConstructor;
|
|
796
806
|
readonly icon: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
|
|
797
807
|
}, {
|
|
798
|
-
handleClick: (
|
|
808
|
+
handleClick: (event: PointerEvent) => void;
|
|
799
809
|
handlePointerMove: (event: PointerEvent) => void;
|
|
800
810
|
handlePointerLeave: (event: PointerEvent) => void;
|
|
801
811
|
textContent: import("vue").ComputedRef<string>;
|
|
802
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
812
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
803
813
|
readonly command?: unknown;
|
|
804
814
|
readonly disabled?: unknown;
|
|
805
815
|
readonly divided?: unknown;
|
|
@@ -813,6 +823,7 @@ export declare const ElDropdownItem: import("../../utils/types").SFCWithInstall<
|
|
|
813
823
|
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;
|
|
814
824
|
textValue?: string | undefined;
|
|
815
825
|
}> & {
|
|
826
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
816
827
|
onPointermove?: ((...args: any[]) => any) | undefined;
|
|
817
828
|
onPointerleave?: ((...args: any[]) => any) | undefined;
|
|
818
829
|
}, {
|
|
@@ -827,6 +838,7 @@ export declare const ElDropdownMenu: import("../../utils/types").SFCWithInstall<
|
|
|
827
838
|
size: import("vue").ComputedRef<string> | undefined;
|
|
828
839
|
rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
|
|
829
840
|
tabIndex: import("vue").Ref<number>;
|
|
841
|
+
dropdownKls: import("vue").ComputedRef<string[]>;
|
|
830
842
|
dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
|
|
831
843
|
handleKeydown: (e: KeyboardEvent) => void;
|
|
832
844
|
onBlur: (e: Event) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item-impl.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n
|
|
1
|
+
{"version":3,"file":"dropdown-item-impl.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div v-if=\"divided\" class=\"el-dropdown-menu__item--divided\"></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n }\"\n :tabindex=\"tabIndex\"\n role=\"menuitem\"\n @click=\"(e) => $emit('click', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(_, { emit }) {\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('click', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAqCA,aAAe;;AAEf,EAAE,UAAU;IACR,MAAM;GACP;OACI,EAAE;EACP;EACA,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACjB,MAAM,EAAE,iBAAiB,EAAE;IAC3B;IACA,MAAM;MACJ,uBAAuB;MACvB,QAAQ;;;MAGR,eAAe;QACb,MAAM,CAAC;UACL;IACN;;MAEE,IAAI;QACF,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC;QACL,OAAO,IAAI;OACZ;wBACiB,CAAC,CAAC;;MAEpB,OAAO;MACP,OAAO,EAAE;QACP,CAAC,oBAAoB,GAAG,EAAE;OAC3B;;;MAGD,aAAa;MACb,eAAe;MACf;;;;;;"}
|
package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs
CHANGED
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
import { resolveComponent, openBlock, createElementBlock, mergeProps, createBlock, withCtx, resolveDynamicComponent,
|
|
1
|
+
import { resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createElementVNode, mergeProps, createBlock, withCtx, resolveDynamicComponent, renderSlot } from 'vue';
|
|
2
2
|
|
|
3
|
-
const _hoisted_1 =
|
|
3
|
+
const _hoisted_1 = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "el-dropdown-menu__item--divided"
|
|
6
|
+
};
|
|
7
|
+
const _hoisted_2 = ["aria-disabled", "tabindex"];
|
|
4
8
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
5
9
|
const _component_el_icon = resolveComponent("el-icon");
|
|
6
|
-
return openBlock(), createElementBlock(
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
10
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
11
|
+
_ctx.divided ? (openBlock(), createElementBlock("div", _hoisted_1)) : createCommentVNode("v-if", true),
|
|
12
|
+
createElementVNode("div", mergeProps({ ref: _ctx.itemRef }, _ctx.dataset, {
|
|
13
|
+
"aria-disabled": _ctx.disabled,
|
|
14
|
+
class: {
|
|
15
|
+
"el-dropdown-menu__item": true,
|
|
16
|
+
"is-disabled": _ctx.disabled
|
|
17
|
+
},
|
|
18
|
+
tabindex: _ctx.tabIndex,
|
|
19
|
+
role: "menuitem",
|
|
20
|
+
onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("click", e)),
|
|
21
|
+
onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
|
|
22
|
+
onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
|
|
23
|
+
onMousedown: _cache[3] || (_cache[3] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args)),
|
|
24
|
+
onPointermove: _cache[4] || (_cache[4] = (e) => _ctx.$emit("pointermove", e)),
|
|
25
|
+
onPointerleave: _cache[5] || (_cache[5] = (e) => _ctx.$emit("pointerleave", e))
|
|
26
|
+
}), [
|
|
27
|
+
_ctx.icon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
|
|
28
|
+
default: withCtx(() => [
|
|
29
|
+
(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
|
|
30
|
+
]),
|
|
31
|
+
_: 1
|
|
32
|
+
})) : createCommentVNode("v-if", true),
|
|
33
|
+
renderSlot(_ctx.$slots, "default")
|
|
34
|
+
], 16, _hoisted_2)
|
|
35
|
+
], 64);
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
export { render };
|
package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue?vue&type=template&id=6daab4f2&lang.js"],"sourcesContent":["<template>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n
|
|
1
|
+
{"version":3,"file":"dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue?vue&type=template&id=6daab4f2&lang.js"],"sourcesContent":["<template>\n <div v-if=\"divided\" class=\"el-dropdown-menu__item--divided\"></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n }\"\n :tabindex=\"tabIndex\"\n role=\"menuitem\"\n @click=\"(e) => $emit('click', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(_, { emit }) {\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('click', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;;;EACsB;;;;;;;;;;;;MAIjB,eAAa;MACb;;;;MAIA;MACD;MACC,oCAAQ,CAAC,KAAK;MACd;MACA,SAAO;iBACEA;;;;OAIK;;;;;;;;"}
|
|
@@ -5,11 +5,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5
5
|
readonly textValue: StringConstructor;
|
|
6
6
|
readonly icon: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
|
|
7
7
|
}, {
|
|
8
|
-
handleClick: (
|
|
8
|
+
handleClick: (event: PointerEvent) => void;
|
|
9
9
|
handlePointerMove: (event: PointerEvent) => void;
|
|
10
10
|
handlePointerLeave: (event: PointerEvent) => void;
|
|
11
11
|
textContent: import("vue").ComputedRef<string>;
|
|
12
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
12
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
13
13
|
readonly command?: unknown;
|
|
14
14
|
readonly disabled?: unknown;
|
|
15
15
|
readonly divided?: unknown;
|
|
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
23
|
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;
|
|
24
24
|
textValue?: string | undefined;
|
|
25
25
|
}> & {
|
|
26
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
26
27
|
onPointermove?: ((...args: any[]) => any) | undefined;
|
|
27
28
|
onPointerleave?: ((...args: any[]) => any) | undefined;
|
|
28
29
|
}, {
|
|
@@ -16,7 +16,7 @@ var script = defineComponent({
|
|
|
16
16
|
ElDropdownItemImpl: script$2
|
|
17
17
|
},
|
|
18
18
|
props: dropdownItemProps,
|
|
19
|
-
emits: ["pointermove", "pointerleave"],
|
|
19
|
+
emits: ["pointermove", "pointerleave", "click"],
|
|
20
20
|
setup(props, { emit }) {
|
|
21
21
|
const { elDropdown } = useDropdown();
|
|
22
22
|
const _instance = getCurrentInstance();
|
|
@@ -47,7 +47,10 @@ var script = defineComponent({
|
|
|
47
47
|
}, whenMouse((e) => {
|
|
48
48
|
onItemLeave(e);
|
|
49
49
|
}));
|
|
50
|
-
|
|
50
|
+
const handleClick = composeEventHandlers((e) => {
|
|
51
|
+
emit("click", e);
|
|
52
|
+
return e.defaultPrevented;
|
|
53
|
+
}, (e) => {
|
|
51
54
|
var _a, _b, _c;
|
|
52
55
|
if (props.disabled) {
|
|
53
56
|
e.stopImmediatePropagation();
|
|
@@ -57,7 +60,7 @@ var script = defineComponent({
|
|
|
57
60
|
(_b = elDropdown.handleClick) == null ? void 0 : _b.call(elDropdown);
|
|
58
61
|
}
|
|
59
62
|
(_c = elDropdown.commandHandler) == null ? void 0 : _c.call(elDropdown, props.command, _instance, e);
|
|
60
|
-
}
|
|
63
|
+
});
|
|
61
64
|
return {
|
|
62
65
|
handleClick,
|
|
63
66
|
handlePointerMove,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n
|
|
1
|
+
{"version":3,"file":"dropdown-item.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl"],"mappings":";;;;;;;;;;AAkCA,aAAe,eAAe;;AAE9B,EAAE,UAAU;8BACRA;uBACAC;wBACAC,QAAkB;;OAEf,EAAE;EACP;EACA,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,UAAU,KAAK,WAAW,GAAG;IACrC,MAAM,SAAS,GAAG;IAClB,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,cAAc,QAAQ,CAAC,MAAM;MACjC,IAAI,EAAE,EAAE,EAAE;MACV,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;KAC1D,CAAC,CAAC;UACG,EAAE,WAAW,EAAE;UACf;;;KAGL,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK;MAClB,IAAI,EAAE,CAAC;UACH,KAAK,CAAC,QAAQ,EAAE;QAClB,WAAW,CAAC,CAAC,CAAC,CAAC;OAChB;QACC,YAAY,CAAC,EAAE;QACf,IAAI,CAAC,CAAC,CAAC;UACL,CAAC;UACD,CAAC,EAAE;;;;UAIH;;MAEJ;;;KAGD,CAAC,CAAC,CAAC;UACE,WAAW,GAAG;UACd,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACV,EAAE,gBAAgB,CAAC;OACzB;MACD,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;UACX,KAAK,CAAC;;;;MAIV,IAAI,CAAC,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC;QACnC,GAAG,GAAG,UAAU,CAAC;;SAEhB,GAAG,UAAU,CAAC;MACjB,CAAC;WACI;iBACM;uBACM;;;;;;;;;"}
|
package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n
|
|
1
|
+
{"version":3,"file":"dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;IAEK;;;;;;;;;YAMI;YACA,aAAW;YACX;;6BAED;cAAA;;;;;;;;;;;;;"}
|
|
@@ -4,6 +4,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4
4
|
size: import("vue").ComputedRef<string> | undefined;
|
|
5
5
|
rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
|
|
6
6
|
tabIndex: import("vue").Ref<number>;
|
|
7
|
+
dropdownKls: import("vue").ComputedRef<string[]>;
|
|
7
8
|
dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
|
|
8
9
|
handleKeydown: (e: KeyboardEvent) => void;
|
|
9
10
|
onBlur: (e: Event) => void;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { defineComponent, inject, unref } from 'vue';
|
|
2
|
-
import '../../../directives/index.mjs';
|
|
1
|
+
import { defineComponent, inject, computed, unref } from 'vue';
|
|
3
2
|
import { EVENT_CODE } from '../../../utils/aria.mjs';
|
|
4
3
|
import '../../focus-trap/index.mjs';
|
|
5
4
|
import '../../roving-focus-group/index.mjs';
|
|
@@ -7,7 +6,6 @@ import { composeRefs, composeEventHandlers } from '../../../utils/dom.mjs';
|
|
|
7
6
|
import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
|
|
8
7
|
import { dropdownMenuProps, DROPDOWN_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY, FIRST_LAST_KEYS, LAST_KEYS } from './dropdown.mjs';
|
|
9
8
|
import { useDropdown } from './useDropdown.mjs';
|
|
10
|
-
import ClickOutside from '../../../directives/click-outside/index.mjs';
|
|
11
9
|
import { FOCUS_TRAP_INJECTION_KEY } from '../../focus-trap/src/tokens.mjs';
|
|
12
10
|
import { ROVING_FOCUS_GROUP_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
|
|
13
11
|
import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group.mjs';
|
|
@@ -15,10 +13,6 @@ import { focusFirst } from '../../roving-focus-group/src/utils.mjs';
|
|
|
15
13
|
|
|
16
14
|
var script = defineComponent({
|
|
17
15
|
name: "ElDropdownMenu",
|
|
18
|
-
directives: {
|
|
19
|
-
ClickOutside
|
|
20
|
-
},
|
|
21
|
-
inheritAttrs: false,
|
|
22
16
|
props: dropdownMenuProps,
|
|
23
17
|
setup(props) {
|
|
24
18
|
const { _elDropdownSize } = useDropdown();
|
|
@@ -35,6 +29,12 @@ var script = defineComponent({
|
|
|
35
29
|
onMousedown
|
|
36
30
|
} = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, void 0);
|
|
37
31
|
const { collectionRef: rovingFocusGroupCollectionRef } = inject(COLLECTION_INJECTION_KEY$1, void 0);
|
|
32
|
+
const dropdownKls = computed(() => {
|
|
33
|
+
return [
|
|
34
|
+
"el-dropdown-menu",
|
|
35
|
+
size.value && `el-dropdown-menu--${size.value}`
|
|
36
|
+
];
|
|
37
|
+
});
|
|
38
38
|
const dropdownListWrapperRef = composeRefs(contentRef, dropdownCollectionRef, focusTrapRef, rovingFocusGroupRef, rovingFocusGroupCollectionRef);
|
|
39
39
|
const composedKeydown = composeEventHandlers((e) => {
|
|
40
40
|
var _a;
|
|
@@ -67,6 +67,7 @@ var script = defineComponent({
|
|
|
67
67
|
size,
|
|
68
68
|
rovingFocusGroupRootStyle,
|
|
69
69
|
tabIndex,
|
|
70
|
+
dropdownKls,
|
|
70
71
|
dropdownListWrapperRef,
|
|
71
72
|
handleKeydown,
|
|
72
73
|
onBlur,
|