element-plus 1.2.0-beta.4 → 1.2.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +1149 -988
- package/dist/index.full.min.js +9 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +9 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1145 -982
- package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/calendar/index.d.ts +2 -2
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs.map +1 -1
- package/es/components/calendar/src/index.vue.d.ts +1 -1
- package/es/components/calendar/src/index.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/calendar/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.mjs.map +1 -1
- package/es/components/carousel/src/item.vue_vue_type_script_lang.mjs +0 -1
- package/es/components/carousel/src/item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/carousel/src/item.vue_vue_type_template_id_3d2e4fb8_lang.mjs.map +1 -1
- package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs +13 -18
- package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/es/components/cascader-panel/src/menu.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/cascader-panel/src/menu.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +2 -2
- package/es/components/color-picker/src/index.vue.d.ts +1 -1
- package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
- package/es/components/config-provider/index.d.ts +2 -1
- package/es/components/config-provider/index.mjs +1 -0
- package/es/components/config-provider/index.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +1 -1
- package/es/components/config-provider/src/index.d.ts +1 -1
- package/es/components/config-provider/src/index.mjs +2 -2
- package/es/components/config-provider/src/index.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_template_id_0572814e_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_template_id_2f6fcbf2_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_template_id_441df31d_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.mjs.map +1 -1
- package/es/components/dialog/src/use-dialog.mjs +4 -4
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/es/components/empty/src/empty.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/empty/src/empty.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/empty/src/empty.vue_vue_type_template_id_10d211eb_lang.mjs.map +1 -1
- package/es/components/image/index.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +1 -1
- package/es/components/image/src/image.vue_vue_type_script_lang.mjs +3 -3
- package/es/components/image/src/image.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/image/src/image.vue_vue_type_template_id_34467287_lang.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.mjs.map +1 -1
- package/es/components/index.mjs +1 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/input/src/input.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/menu/src/menu-collapse-transition.vue_vue_type_script_lang.mjs +1 -2
- package/es/components/menu/src/menu-collapse-transition.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/menu/src/menu-collapse-transition.vue_vue_type_template_id_db8e3ce6_lang.mjs.map +1 -1
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +8 -8
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.mjs +2 -0
- package/es/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.mjs.map +1 -1
- package/es/components/page-header/index.d.ts +1 -1
- package/es/components/page-header/src/page-header.vue.d.ts +1 -1
- package/es/components/page-header/src/page-header.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/page-header/src/page-header.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/page-header/src/page-header.vue_vue_type_template_id_d12fb4b2_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.vue.d.ts +1 -1
- package/es/components/pagination/src/components/jumper.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/pagination/src/components/jumper.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.vue_vue_type_template_id_772239ce_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +1 -1
- package/es/components/pagination/src/components/sizes.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/pagination/src/components/sizes.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue_vue_type_template_id_3a063678_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/total.vue.d.ts +1 -1
- package/es/components/pagination/src/components/total.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/pagination/src/components/total.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/pagination/src/components/total.vue_vue_type_template_id_bc261314_lang.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -2
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs +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.map +1 -1
- package/es/components/popper/src/use-popper/defaults.mjs +1 -1
- package/es/components/popper/src/use-popper/index.d.ts +1 -1538
- package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue_vue_type_template_id_303f965d_lang.mjs.map +1 -1
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +3 -3
- 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.map +1 -1
- package/es/components/select/src/useSelect.mjs +3 -3
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +2 -2
- package/es/components/select-v2/src/select.vue.d.ts +1 -1
- package/es/components/select-v2/src/useSelect.mjs +2 -2
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/table/index.d.ts +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +2 -2
- package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
- package/es/components/table/src/table-body/index.d.ts +1 -1
- package/es/components/table/src/table-footer/index.d.ts +1 -1
- package/es/components/table/src/table-header/index.d.ts +1 -1
- package/es/components/table/src/table.vue.d.ts +5 -13
- package/es/components/table/src/table.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/table/src/table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +2 -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.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_template_id_3b3cfa6a_lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_template_id_57d94b44_lang.mjs.map +1 -1
- package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +1 -1
- package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map +1 -1
- package/es/components/tree/index.d.ts +2 -2
- package/es/components/tree/src/tree.vue.d.ts +1 -1
- package/es/components/tree/src/tree.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/tree/src/tree.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tree/src/tree.vue_vue_type_template_id_7539bec5_lang.mjs.map +1 -1
- package/es/components/tree-v2/index.d.ts +1 -1
- package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/es/components/tree-v2/src/tree.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/tree-v2/src/tree.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue_vue_type_template_id_5b45a1b2_lang.mjs.map +1 -1
- package/es/components/tree-v2/src/virtual-tree.mjs +4 -4
- package/es/components/upload/src/upload-list.vue.d.ts +1 -1
- package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs +2 -2
- package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.mjs.map +1 -1
- package/es/hooks/index.d.ts +12 -15
- package/es/hooks/index.mjs +12 -15
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-attrs/index.d.ts +2 -2
- package/es/hooks/use-attrs/index.mjs +2 -2
- package/es/hooks/use-attrs/index.mjs.map +1 -1
- package/es/hooks/use-focus/index.d.ts +1 -2
- package/es/hooks/use-focus/index.mjs +2 -2
- package/es/hooks/use-focus/index.mjs.map +1 -1
- package/es/hooks/use-form-item/index.d.ts +1 -1
- package/es/hooks/use-form-item/index.mjs +3 -3
- package/es/hooks/use-form-item/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +1 -1
- package/es/hooks/use-global-config/index.mjs +1 -3
- package/es/hooks/use-global-config/index.mjs.map +1 -1
- package/es/hooks/use-locale/index.d.ts +9 -7
- package/es/hooks/use-locale/index.mjs +18 -51
- package/es/hooks/use-locale/index.mjs.map +1 -1
- package/es/hooks/use-lockscreen/index.d.ts +1 -2
- package/es/hooks/use-lockscreen/index.mjs +19 -21
- package/es/hooks/use-lockscreen/index.mjs.map +1 -1
- package/es/hooks/use-modal/index.d.ts +3 -3
- package/es/hooks/use-modal/index.mjs +6 -8
- package/es/hooks/use-modal/index.mjs.map +1 -1
- package/es/hooks/use-model-toggle/index.d.ts +3 -5
- package/es/hooks/use-model-toggle/index.mjs +9 -6
- package/es/hooks/use-model-toggle/index.mjs.map +1 -1
- package/es/hooks/use-popper/index.mjs +2 -2
- package/es/hooks/use-popper/index.mjs.map +1 -1
- package/es/hooks/use-prevent-global/index.d.ts +1 -2
- package/es/hooks/use-prevent-global/index.mjs +7 -7
- package/es/hooks/use-prevent-global/index.mjs.map +1 -1
- package/es/hooks/use-restore-active/index.d.ts +1 -2
- package/es/hooks/use-restore-active/index.mjs +2 -2
- package/es/hooks/use-restore-active/index.mjs.map +1 -1
- package/es/hooks/use-teleport/index.d.ts +1 -2
- package/es/hooks/use-teleport/index.mjs +4 -4
- package/es/hooks/use-teleport/index.mjs.map +1 -1
- package/es/hooks/use-throttle-render/index.d.ts +1 -1
- package/es/hooks/use-throttle-render/index.mjs +3 -3
- package/es/hooks/use-throttle-render/index.mjs.map +1 -1
- package/es/hooks/use-timeout/index.d.ts +2 -2
- package/es/hooks/use-timeout/index.mjs +10 -12
- package/es/hooks/use-timeout/index.mjs.map +1 -1
- package/es/hooks/use-transition-fallthrough/index.d.ts +1 -1
- package/es/hooks/use-transition-fallthrough/index.mjs.map +1 -1
- package/es/index.mjs +13 -15
- package/es/index.mjs.map +1 -1
- package/es/make-installer.mjs +2 -2
- package/es/make-installer.mjs.map +1 -1
- package/es/tokens/config-provider.d.ts +3 -3
- package/es/tokens/config-provider.mjs.map +1 -1
- package/es/utils/types.d.ts +25 -0
- 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 +1 -1
- package/lib/components/calendar/index.d.ts +2 -2
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js +1 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map +1 -1
- package/lib/components/calendar/src/index.vue.d.ts +1 -1
- package/lib/components/calendar/src/index.vue_vue_type_script_lang.js +1 -1
- package/lib/components/calendar/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.js.map +1 -1
- package/lib/components/carousel/src/item.vue_vue_type_script_lang.js +0 -1
- package/lib/components/carousel/src/item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/carousel/src/item.vue_vue_type_template_id_3d2e4fb8_lang.js.map +1 -1
- package/lib/components/cascader/src/index.vue_vue_type_script_lang.js +1 -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.map +1 -1
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js +13 -18
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/lib/components/cascader-panel/src/menu.vue_vue_type_script_lang.js +1 -1
- package/lib/components/cascader-panel/src/menu.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.vue_vue_type_template_id_9c79e4e2_lang.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +2 -2
- package/lib/components/color-picker/src/index.vue.d.ts +1 -1
- package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js +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.map +1 -1
- package/lib/components/config-provider/index.d.ts +2 -1
- package/lib/components/config-provider/index.js +2 -0
- package/lib/components/config-provider/index.js.map +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +1 -1
- package/lib/components/config-provider/src/index.d.ts +1 -1
- package/lib/components/config-provider/src/index.js +1 -1
- package/lib/components/config-provider/src/index.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue_vue_type_template_id_0572814e_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-month-table.vue_vue_type_template_id_2f6fcbf2_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-year-table.vue_vue_type_template_id_441df31d_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.js.map +1 -1
- package/lib/components/dialog/src/use-dialog.js +3 -3
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/lib/components/empty/src/empty.vue_vue_type_script_lang.js +1 -1
- package/lib/components/empty/src/empty.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/empty/src/empty.vue_vue_type_template_id_10d211eb_lang.js.map +1 -1
- package/lib/components/image/index.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +1 -1
- package/lib/components/image/src/image.vue_vue_type_script_lang.js +2 -2
- package/lib/components/image/src/image.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/image/src/image.vue_vue_type_template_id_34467287_lang.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.js.map +1 -1
- package/lib/components/index.js +2 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/src/input.vue_vue_type_script_lang.js +1 -1
- package/lib/components/menu/src/menu-collapse-transition.vue_vue_type_script_lang.js +1 -2
- package/lib/components/menu/src/menu-collapse-transition.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/menu/src/menu-collapse-transition.vue_vue_type_template_id_db8e3ce6_lang.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +6 -6
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.js +2 -0
- package/lib/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.js.map +1 -1
- package/lib/components/page-header/index.d.ts +1 -1
- package/lib/components/page-header/src/page-header.vue.d.ts +1 -1
- package/lib/components/page-header/src/page-header.vue_vue_type_script_lang.js +1 -1
- package/lib/components/page-header/src/page-header.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/page-header/src/page-header.vue_vue_type_template_id_d12fb4b2_lang.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.vue.d.ts +1 -1
- package/lib/components/pagination/src/components/jumper.vue_vue_type_script_lang.js +1 -1
- package/lib/components/pagination/src/components/jumper.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.vue_vue_type_template_id_772239ce_lang.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -1
- package/lib/components/pagination/src/components/sizes.vue_vue_type_script_lang.js +1 -1
- package/lib/components/pagination/src/components/sizes.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue_vue_type_template_id_3a063678_lang.js.map +1 -1
- package/lib/components/pagination/src/components/total.vue.d.ts +1 -1
- package/lib/components/pagination/src/components/total.vue_vue_type_script_lang.js +1 -1
- package/lib/components/pagination/src/components/total.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/components/total.vue_vue_type_template_id_bc261314_lang.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js +1 -1
- 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.map +1 -1
- package/lib/components/popper/src/use-popper/defaults.js +1 -1
- package/lib/components/popper/src/use-popper/index.d.ts +1 -1538
- package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_lang.js +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue_vue_type_template_id_303f965d_lang.js.map +1 -1
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +2 -2
- 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.map +1 -1
- package/lib/components/select/src/useSelect.js +2 -2
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +2 -2
- package/lib/components/select-v2/src/select.vue.d.ts +1 -1
- package/lib/components/select-v2/src/useSelect.js +1 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.vue_vue_type_script_lang.js +1 -1
- package/lib/components/skeleton/src/skeleton.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/table/index.d.ts +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +2 -2
- package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js +1 -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.map +1 -1
- package/lib/components/table/src/table-body/index.d.ts +1 -1
- package/lib/components/table/src/table-footer/index.d.ts +1 -1
- package/lib/components/table/src/table-header/index.d.ts +1 -1
- package/lib/components/table/src/table.vue.d.ts +5 -13
- package/lib/components/table/src/table.vue_vue_type_script_lang.js +1 -1
- package/lib/components/table/src/table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +1 -1
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_script_lang.js +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue_vue_type_template_id_3b3cfa6a_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_script_lang.js +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue_vue_type_template_id_57d94b44_lang.js.map +1 -1
- package/lib/components/transfer/src/index.vue_vue_type_script_lang.js +1 -1
- package/lib/components/transfer/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +1 -1
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js +1 -1
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js.map +1 -1
- package/lib/components/tree/index.d.ts +2 -2
- package/lib/components/tree/src/tree.vue.d.ts +1 -1
- package/lib/components/tree/src/tree.vue_vue_type_script_lang.js +1 -1
- package/lib/components/tree/src/tree.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tree/src/tree.vue_vue_type_template_id_7539bec5_lang.js.map +1 -1
- package/lib/components/tree-v2/index.d.ts +1 -1
- package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/lib/components/tree-v2/src/tree.vue_vue_type_script_lang.js +1 -1
- package/lib/components/tree-v2/src/tree.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue_vue_type_template_id_5b45a1b2_lang.js.map +1 -1
- package/lib/components/tree-v2/src/virtual-tree.js +4 -4
- package/lib/components/upload/src/upload-list.vue.d.ts +1 -1
- package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js +1 -1
- package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.js.map +1 -1
- package/lib/hooks/index.d.ts +12 -15
- package/lib/hooks/index.js +42 -48
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-attrs/index.d.ts +2 -2
- package/lib/hooks/use-attrs/index.js +2 -2
- package/lib/hooks/use-attrs/index.js.map +1 -1
- package/lib/hooks/use-focus/index.d.ts +1 -2
- package/lib/hooks/use-focus/index.js +2 -2
- package/lib/hooks/use-focus/index.js.map +1 -1
- package/lib/hooks/use-form-item/index.d.ts +1 -1
- package/lib/hooks/use-form-item/index.js +2 -2
- package/lib/hooks/use-form-item/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +1 -1
- package/lib/hooks/use-global-config/index.js +1 -3
- package/lib/hooks/use-global-config/index.js.map +1 -1
- package/lib/hooks/use-locale/index.d.ts +9 -7
- package/lib/hooks/use-locale/index.js +23 -50
- package/lib/hooks/use-locale/index.js.map +1 -1
- package/lib/hooks/use-lockscreen/index.d.ts +1 -2
- package/lib/hooks/use-lockscreen/index.js +18 -20
- package/lib/hooks/use-lockscreen/index.js.map +1 -1
- package/lib/hooks/use-modal/index.d.ts +3 -3
- package/lib/hooks/use-modal/index.js +6 -8
- package/lib/hooks/use-modal/index.js.map +1 -1
- package/lib/hooks/use-model-toggle/index.d.ts +3 -5
- package/lib/hooks/use-model-toggle/index.js +9 -6
- package/lib/hooks/use-model-toggle/index.js.map +1 -1
- package/lib/hooks/use-popper/index.js +2 -2
- package/lib/hooks/use-popper/index.js.map +1 -1
- package/lib/hooks/use-prevent-global/index.d.ts +1 -2
- package/lib/hooks/use-prevent-global/index.js +7 -7
- package/lib/hooks/use-prevent-global/index.js.map +1 -1
- package/lib/hooks/use-restore-active/index.d.ts +1 -2
- package/lib/hooks/use-restore-active/index.js +2 -2
- package/lib/hooks/use-restore-active/index.js.map +1 -1
- package/lib/hooks/use-teleport/index.d.ts +1 -2
- package/lib/hooks/use-teleport/index.js +4 -4
- package/lib/hooks/use-teleport/index.js.map +1 -1
- package/lib/hooks/use-throttle-render/index.d.ts +1 -1
- package/lib/hooks/use-throttle-render/index.js +3 -3
- package/lib/hooks/use-throttle-render/index.js.map +1 -1
- package/lib/hooks/use-timeout/index.d.ts +2 -2
- package/lib/hooks/use-timeout/index.js +10 -12
- package/lib/hooks/use-timeout/index.js.map +1 -1
- package/lib/hooks/use-transition-fallthrough/index.d.ts +1 -1
- package/lib/hooks/use-transition-fallthrough/index.js.map +1 -1
- package/lib/index.js +46 -50
- package/lib/index.js.map +1 -1
- package/lib/make-installer.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/tokens/config-provider.d.ts +3 -3
- package/lib/tokens/config-provider.js.map +1 -1
- package/lib/utils/types.d.ts +25 -0
- 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/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-tag.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/dropdown.scss +2 -0
- package/theme-chalk/src/input.scss +4 -0
- package/theme-chalk/src/tag.scss +4 -1
- package/web-types.json +1 -1
- package/es/components/cascader/index.d.ts +0 -8748
- package/es/components/cascader/src/index.vue.d.ts +0 -4380
- package/es/components/message-box/src/index.vue.d.ts +0 -1838
- package/es/components/popper/index.d.ts +0 -3476
- package/es/components/popper/src/index.vue.d.ts +0 -1735
- package/es/hooks/use-css-var/index.d.ts +0 -36
- package/es/hooks/use-css-var/index.mjs +0 -45
- package/es/hooks/use-css-var/index.mjs.map +0 -1
- package/es/hooks/use-events/index.d.ts +0 -7
- package/es/hooks/use-events/index.mjs +0 -19
- package/es/hooks/use-events/index.mjs.map +0 -1
- package/es/hooks/use-migrating/index.d.ts +0 -7
- package/es/hooks/use-migrating/index.mjs +0 -35
- package/es/hooks/use-migrating/index.mjs.map +0 -1
- package/es/hooks/use-transition/index.d.ts +0 -13
- package/es/hooks/use-transition/index.mjs +0 -25
- package/es/hooks/use-transition/index.mjs.map +0 -1
- package/lib/components/cascader/index.d.ts +0 -8748
- package/lib/components/cascader/src/index.vue.d.ts +0 -4380
- package/lib/components/message-box/src/index.vue.d.ts +0 -1838
- package/lib/components/popper/index.d.ts +0 -3476
- package/lib/components/popper/src/index.vue.d.ts +0 -1735
- package/lib/hooks/use-css-var/index.d.ts +0 -36
- package/lib/hooks/use-css-var/index.js +0 -51
- package/lib/hooks/use-css-var/index.js.map +0 -1
- package/lib/hooks/use-events/index.d.ts +0 -7
- package/lib/hooks/use-events/index.js +0 -23
- package/lib/hooks/use-events/index.js.map +0 -1
- package/lib/hooks/use-migrating/index.d.ts +0 -7
- package/lib/hooks/use-migrating/index.js +0 -39
- package/lib/hooks/use-migrating/index.js.map +0 -1
- package/lib/hooks/use-transition/index.d.ts +0 -13
- package/lib/hooks/use-transition/index.js +0 -30
- package/lib/hooks/use-transition/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/index.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div class=\"el-transfer__buttons\">\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { elFormItemKey } from '@element-plus/tokens'\nimport {
|
|
1
|
+
{"version":3,"file":"index.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/index.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div class=\"el-transfer__buttons\">\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { elFormItemKey } from '@element-plus/tokens'\nimport { useLocale } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons'\nimport TransferPanel from './transfer-panel.vue'\nimport { useComputedData } from './useComputedData'\nimport {\n useCheckedChange,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n} from './useCheckedChange'\nimport { useMove } from './useMove'\nimport { CHANGE_EVENT } from './transfer'\n\nimport type { PropType, VNode } from 'vue'\nimport type { ElFormItemContext } from '@element-plus/tokens'\nimport type { DataItem, Format, Key, Props, TargetOrder } from './transfer'\n\nexport default defineComponent({\n name: 'ElTransfer',\n\n components: {\n TransferPanel,\n ElButton,\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n\n props: {\n data: {\n type: Array as PropType<DataItem[]>,\n default: () => [],\n },\n titles: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n buttonTexts: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n filterPlaceholder: {\n type: String,\n default: '',\n },\n filterMethod: Function as PropType<\n (query: string, item: DataItem) => boolean\n >,\n leftDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n rightDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n renderContent: Function as PropType<(h, option) => VNode>,\n modelValue: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n format: {\n type: Object as PropType<Format>,\n default: () => ({}),\n },\n filterable: {\n type: Boolean,\n default: false,\n },\n props: {\n type: Object as PropType<Props>,\n default: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n },\n targetOrder: {\n type: String as PropType<TargetOrder>,\n default: 'original',\n validator: (val: string) => {\n return ['original', 'push', 'unshift'].includes(val)\n },\n },\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n ],\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const checkedState = reactive({\n leftChecked: [],\n rightChecked: [],\n })\n\n const { propsKey, sourceData, targetData } = useComputedData(props)\n\n const { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n )\n\n const { addToLeft, addToRight } = useMove(\n props,\n checkedState,\n propsKey,\n emit\n )\n\n const leftPanel = ref(null)\n const rightPanel = ref(null)\n\n const clearQuery = (which: 'left' | 'right') => {\n if (which === 'left') {\n leftPanel.value.query = ''\n } else if (which === 'right') {\n rightPanel.value.query = ''\n }\n }\n\n const hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\n const leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n )\n\n const rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n )\n\n const panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n )\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change')\n }\n )\n\n const optionRender = computed(() => (option) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n if (slots.default) return slots.default({ option })\n\n return h('span', option[props.props.label] || option[props.props.key])\n })\n\n return {\n sourceData,\n targetData,\n onSourceCheckedChange,\n onTargetCheckedChange,\n addToLeft,\n addToRight,\n\n ...toRefs(checkedState),\n\n hasButtonTexts,\n leftPanelTitle,\n rightPanelTitle,\n panelFilterPlaceholder,\n clearQuery,\n\n optionRender,\n }\n },\n})\n</script>\n"],"names":["TransferPanel"],"mappings":";;;;;;;;;;;;;;;;AAsFA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,mBACVA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,IAGd,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,eAAe;AAAA,IACf,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAO;AAAA,IAElB,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAO,QACd,OAAO;AAAA,QACP,KAAK;AAAA,QACL,UAAU;AAAA;AAAA;AAAA,IAGd,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QAAgB;AAC1B,eAAO,CAAC,YAAY,QAAQ,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,EAKtD,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,MAAM;AACd,UAAM,aAAa,OAAO,eAAe;AAEzC,UAAM,eAAe,SAAS;AAAA,MAC5B,aAAa;AAAA,MACb,cAAc;AAAA;AAGhB,UAAM,EAAE,UAAU,YAAY,eAAe,gBAAgB;AAE7D,UAAM,EAAE,uBAAuB,0BAA0B,iBACvD,cACA;AAGF,UAAM,EAAE,WAAW,eAAe,QAChC,OACA,cACA,UACA;AAGF,UAAM,YAAY,IAAI;AACtB,UAAM,aAAa,IAAI;AAEvB,UAAM,aAAa,CAAC,UAA4B;AAC9C,UAAI,UAAU,QAAQ;AACpB,kBAAU,MAAM,QAAQ;AAAA,iBACf,UAAU,SAAS;AAC5B,mBAAW,MAAM,QAAQ;AAAA;AAAA;AAI7B,UAAM,iBAAiB,SAAS,MAAM,MAAM,YAAY,WAAW;AAEnE,UAAM,iBAAiB,SACrB,MAAM,MAAM,OAAO,MAAM,EAAE;AAG7B,UAAM,kBAAkB,SACtB,MAAM,MAAM,OAAO,MAAM,EAAE;AAG7B,UAAM,yBAAyB,SAC7B,MAAM,MAAM,qBAAqB,EAAE;AAGrC,UACE,MAAM,MAAM,YACZ,MAAM;;AACJ,uBAAW,aAAX,oCAAsB;AAAA;AAI1B,UAAM,eAAe,SAAS,MAAM,CAAC,WAAW;AAC9C,UAAI,MAAM;AAAe,eAAO,MAAM,cAAc,GAAG;AAEvD,UAAI,MAAM;AAAS,eAAO,MAAM,QAAQ,EAAE;AAE1C,aAAO,EAAE,QAAQ,OAAO,MAAM,MAAM,UAAU,OAAO,MAAM,MAAM;AAAA;AAGnE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,SAEG,OAAO;AAAA,MAEV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue_vue_type_template_id_6c8b9070_lang.mjs","sources":["../../../../../../packages/components/transfer/src/index.vue?vue&type=template&id=6c8b9070&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div class=\"el-transfer__buttons\">\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { elFormItemKey } from '@element-plus/tokens'\nimport {
|
|
1
|
+
{"version":3,"file":"index.vue_vue_type_template_id_6c8b9070_lang.mjs","sources":["../../../../../../packages/components/transfer/src/index.vue?vue&type=template&id=6c8b9070&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <slot name=\"left-footer\"></slot>\n </transfer-panel>\n <div class=\"el-transfer__buttons\">\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"rightChecked.length === 0\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"buttonTexts[0] !== undefined\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']\"\n :disabled=\"leftChecked.length === 0\"\n @click=\"addToRight\"\n >\n <span v-if=\"buttonTexts[1] !== undefined\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <slot name=\"right-footer\"></slot>\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n h,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport { elFormItemKey } from '@element-plus/tokens'\nimport { useLocale } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons'\nimport TransferPanel from './transfer-panel.vue'\nimport { useComputedData } from './useComputedData'\nimport {\n useCheckedChange,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n} from './useCheckedChange'\nimport { useMove } from './useMove'\nimport { CHANGE_EVENT } from './transfer'\n\nimport type { PropType, VNode } from 'vue'\nimport type { ElFormItemContext } from '@element-plus/tokens'\nimport type { DataItem, Format, Key, Props, TargetOrder } from './transfer'\n\nexport default defineComponent({\n name: 'ElTransfer',\n\n components: {\n TransferPanel,\n ElButton,\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n\n props: {\n data: {\n type: Array as PropType<DataItem[]>,\n default: () => [],\n },\n titles: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n buttonTexts: {\n type: Array as PropType<any> as PropType<[string, string]>,\n default: () => [],\n },\n filterPlaceholder: {\n type: String,\n default: '',\n },\n filterMethod: Function as PropType<\n (query: string, item: DataItem) => boolean\n >,\n leftDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n rightDefaultChecked: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n renderContent: Function as PropType<(h, option) => VNode>,\n modelValue: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n format: {\n type: Object as PropType<Format>,\n default: () => ({}),\n },\n filterable: {\n type: Boolean,\n default: false,\n },\n props: {\n type: Object as PropType<Props>,\n default: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n },\n targetOrder: {\n type: String as PropType<TargetOrder>,\n default: 'original',\n validator: (val: string) => {\n return ['original', 'push', 'unshift'].includes(val)\n },\n },\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n LEFT_CHECK_CHANGE_EVENT,\n RIGHT_CHECK_CHANGE_EVENT,\n ],\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const checkedState = reactive({\n leftChecked: [],\n rightChecked: [],\n })\n\n const { propsKey, sourceData, targetData } = useComputedData(props)\n\n const { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n )\n\n const { addToLeft, addToRight } = useMove(\n props,\n checkedState,\n propsKey,\n emit\n )\n\n const leftPanel = ref(null)\n const rightPanel = ref(null)\n\n const clearQuery = (which: 'left' | 'right') => {\n if (which === 'left') {\n leftPanel.value.query = ''\n } else if (which === 'right') {\n rightPanel.value.query = ''\n }\n }\n\n const hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\n const leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n )\n\n const rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n )\n\n const panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n )\n\n watch(\n () => props.modelValue,\n () => {\n elFormItem.validate?.('change')\n }\n )\n\n const optionRender = computed(() => (option) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n if (slots.default) return slots.default({ option })\n\n return h('span', option[props.props.label] || option[props.props.key])\n })\n\n return {\n sourceData,\n targetData,\n onSourceCheckedChange,\n onTargetCheckedChange,\n addToLeft,\n addToRight,\n\n ...toRefs(checkedState),\n\n hasButtonTexts,\n leftPanelTitle,\n rightPanelTitle,\n panelFilterPlaceholder,\n clearQuery,\n\n optionRender,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode"],"mappings":";;qBACO,OAAM;qBAgBJ,OAAM;;;;;;;;;sBAhBbA,0BAAA;IACEC;MACE,KAAI;AAAA,MACH,MAAM;MACN,iBAAe;MACf,aAAa;MACb,OAAO;MACP,YAAY;MACZ,QAAQ;MACR,iBAAe;MACf,mBAAiB;MACjB,OAAO;MACP,iBAAgB;;uBAEjB;QAAAC;;;;IAEFC,0BAAA;MACEF;QACE,MAAK;AAAA,QACJ,8CAA+B;QAC/B,UAAU,kBAAa;QACvB,SAAO;;yBAER;UAAAA;6BAAS;cAAAA,YAAc;AAAA;AAAA;;UACX,wBAAmB,uBAA/BD,uDAA6C;;;;MAE/CC;QACE,MAAK;AAAA,QACJ,8CAA+B;QAC/B,UAAU,iBAAY;QACtB,SAAO;;yBAER;UAAY,wBAAmB,uBAA/BD,uDAA6C;UAC7CC;6BAAS;cAAAA,YAAe;AAAA;AAAA;;;;;;IAG5BA;MACE,KAAI;AAAA,MACH,MAAM;MACN,iBAAe;MACf,aAAa;MACb,YAAY;MACZ,QAAQ;MACR,iBAAe;MACf,OAAO;MACP,mBAAiB;MACjB,OAAO;MACP,iBAAgB;;uBAEjB;QAAAC;;;;;;;;;"}
|
|
@@ -28,7 +28,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
28
|
inputIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>>;
|
|
29
29
|
hasFooter: import("vue").ComputedRef<boolean>;
|
|
30
30
|
clearQuery: () => void;
|
|
31
|
-
t: (
|
|
31
|
+
t: import("element-plus/es/hooks").Translator;
|
|
32
32
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "checked-change"[], "checked-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
33
33
|
data?: unknown;
|
|
34
34
|
optionRender?: unknown;
|
|
@@ -5,7 +5,7 @@ import { ElIcon } from '../../icon/index.mjs';
|
|
|
5
5
|
import { ElInput } from '../../input/index.mjs';
|
|
6
6
|
import { CircleClose, Search } from '@element-plus/icons';
|
|
7
7
|
import { useCheckProps, CHECKED_CHANGE_EVENT, useCheck } from './useCheck.mjs';
|
|
8
|
-
import {
|
|
8
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
9
9
|
|
|
10
10
|
var script = defineComponent({
|
|
11
11
|
name: "ElTransferPanel",
|
|
@@ -19,7 +19,7 @@ var script = defineComponent({
|
|
|
19
19
|
props: useCheckProps,
|
|
20
20
|
emits: [CHECKED_CHANGE_EVENT],
|
|
21
21
|
setup(props, { slots }) {
|
|
22
|
-
const { t } =
|
|
22
|
+
const { t } = useLocale();
|
|
23
23
|
const panelState = reactive({
|
|
24
24
|
checked: [],
|
|
25
25
|
allChecked: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-panel.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport {
|
|
1
|
+
{"version":3,"file":"transfer-panel.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElIcon from '@element-plus/components/icon'\nimport ElInput from '@element-plus/components/input'\nimport { CircleClose, Search } from '@element-plus/icons'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n ElIcon,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const inputIcon = computed(() => {\n return panelState.query.length > 0 && panelState.inputHover\n ? CircleClose\n : Search\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const clearQuery = () => {\n if (inputIcon.value === CircleClose) {\n panelState.query = ''\n }\n }\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n inputIcon,\n hasFooter,\n clearQuery,\n\n t,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAqEA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,CAAC,EAAE,aAAa;AAAA;AAAA,EAGjC,OAAO;AAAA,EAEP,OAAO,CAAC;AAAA,EAER,MAAM,OAAO,EAAE,SAAS;AACtB,UAAM,EAAE,MAAM;AAEd,UAAM,aAAa,SAAS;AAAA,MAC1B,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,mBAAmB;AAAA;AAGrB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS,OAAO;AAEpB,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,WAAW,MAAM,SAAS,KAAK,aAAa,MAAM,WAAW;AAAA;AAGtE,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,WAAW,MAAM,SAAS,KAAK,WAAW,aAC7C,cACA;AAAA;AAGN,UAAM,YAAY,SAAS,MAAM,CAAC,CAAC,MAAM,UAAU,GAAG,SAAS;AAE/D,UAAM,aAAa,MAAM;AACvB,UAAI,UAAU,UAAU,aAAa;AACnC,mBAAW,QAAQ;AAAA;AAAA;AAIvB,UAAM,EAAE,SAAS,YAAY,OAAO,YAAY,sBAC9C,OAAO;AAET,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;"}
|
package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue?vue&type=template&id=1a7d1f9c&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport {
|
|
1
|
+
{"version":3,"file":"transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue?vue&type=template&id=1a7d1f9c&lang.js"],"sourcesContent":["<template>\n <div class=\"el-transfer-panel\">\n <p class=\"el-transfer-panel__header\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div\n :class=\"['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']\"\n >\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n class=\"el-transfer-panel__filter\"\n size=\"small\"\n :placeholder=\"placeholder\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <template #prefix>\n <el-icon v-if=\"inputIcon\" class=\"el-input__icon\" @click=\"clearQuery\">\n <component :is=\"inputIcon\" />\n </el-icon>\n </template>\n </el-input>\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"{ 'is-filterable': filterable }\"\n class=\"el-transfer-panel__list\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n class=\"el-transfer-panel__item\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n class=\"el-transfer-panel__empty\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\n </div>\n <p v-if=\"hasFooter\" class=\"el-transfer-panel__footer\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElIcon from '@element-plus/components/icon'\nimport ElInput from '@element-plus/components/input'\nimport { CircleClose, Search } from '@element-plus/icons'\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n ElIcon,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const inputIcon = computed(() => {\n return panelState.query.length > 0 && panelState.inputHover\n ? CircleClose\n : Search\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const clearQuery = () => {\n if (inputIcon.value === CircleClose) {\n panelState.query = ''\n }\n }\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n inputIcon,\n hasFooter,\n clearQuery,\n\n t,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_createVNode","_createBlock","_renderSlot"],"mappings":";;qBACO,OAAM;qBACN,OAAM;;;EAoDW,OAAM;AAAA;;;;;;;sBArD5BA,0BAAA;IACEC,wBAAA;MACEC;oBACW;qEAAA;QACR,eAAe;QACf,UAAQ;;yBAET;0CAAG;UACHD,iDAAS;;;;;IAIbA;MACG,kDAAmC;;MAG5B,gCADRE;;oBAEW;qEAAA;QACT,OAAM;AAAA,QACN,MAAK;AAAA,QACJ,aAAa;QACb,oDAAY;QACZ,oDAAY;;QAEF,gBACT;UAAe,+BAAfA;;YAA0B,OAAM;AAAA,YAAkB,SAAO;;6BACvD;4BAAAA,oCAAgB;;;;;;;qBAItBD;oBAEW;qEAAA;QACR,0CAA0B,mBACrB;AAAA;yBAGJ;4BADFF,8CACiB,oBAAR;gCADTG;cAEG,KAAK,KAAK;cACX,OAAM;AAAA,cACL,OAAO,KAAK;cACZ,UAAU,KAAK;;+BAEhB;gBAAAD;kBAAiB,QAAQ,kBAAa;AAAA;;;;;;;;iBAZ/B,mBAAc,UAAK;;qBAe9BD,0BAEE,OAAM,8CAEH,kBAAa,gCAA2B;gBAHnC,mBAAc,UAAK;;;IAMtB,+BAATD,wBAAA;MACEI;;;;;;;"}
|
|
@@ -364,7 +364,7 @@ declare const _Tree: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
364
364
|
getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
|
|
365
365
|
setCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
|
|
366
366
|
setCurrentKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
|
|
367
|
-
t: (
|
|
367
|
+
t: import("../..").Translator;
|
|
368
368
|
getNode: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/model/node").default;
|
|
369
369
|
remove: (data: import("./src/model/node").default | import("./src/tree.type").TreeNodeData) => void;
|
|
370
370
|
append: (data: import("./src/tree.type").TreeNodeData, parentNode: import("./src/model/node").default | import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => void;
|
|
@@ -824,7 +824,7 @@ export declare const ElTree: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
824
824
|
getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
|
|
825
825
|
setCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
|
|
826
826
|
setCurrentKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
|
|
827
|
-
t: (
|
|
827
|
+
t: import("../..").Translator;
|
|
828
828
|
getNode: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/model/node").default;
|
|
829
829
|
remove: (data: import("./src/model/node").default | import("./src/tree.type").TreeNodeData) => void;
|
|
830
830
|
append: (data: import("./src/tree.type").TreeNodeData, parentNode: import("./src/model/node").default | import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => void;
|
|
@@ -367,7 +367,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
367
367
|
getHalfCheckedKeys: () => TreeKey[];
|
|
368
368
|
setCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
|
|
369
369
|
setCurrentKey: (key: TreeKey, shouldAutoExpandParent?: boolean) => void;
|
|
370
|
-
t: (
|
|
370
|
+
t: import("element-plus/es/hooks").Translator;
|
|
371
371
|
getNode: (data: TreeKey | TreeNodeData) => Node;
|
|
372
372
|
remove: (data: TreeNodeData | Node) => void;
|
|
373
373
|
append: (data: TreeNodeData, parentNode: TreeNodeData | TreeKey | Node) => void;
|
|
@@ -7,7 +7,7 @@ import { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast
|
|
|
7
7
|
import { useDragNodeHandler } from './model/useDragNode.mjs';
|
|
8
8
|
import { useKeydown } from './model/useKeydown.mjs';
|
|
9
9
|
import script$1 from './tree-node.vue_vue_type_script_lang.mjs';
|
|
10
|
-
import {
|
|
10
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
11
11
|
|
|
12
12
|
var script = defineComponent({
|
|
13
13
|
name: "ElTree",
|
|
@@ -92,7 +92,7 @@ var script = defineComponent({
|
|
|
92
92
|
"node-drag-over"
|
|
93
93
|
],
|
|
94
94
|
setup(props, ctx) {
|
|
95
|
-
const { t } =
|
|
95
|
+
const { t } = useLocale();
|
|
96
96
|
const store = ref(new TreeStore({
|
|
97
97
|
key: props.nodeKey,
|
|
98
98
|
data: props.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocaleInject()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.defaultExpandedKeys = newVal\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly: boolean,\n includeHalfChecked: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["ElTreeNode","getNodeKey","getNodeKeyUtil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.defaultExpandedKeys = newVal\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly: boolean,\n includeHalfChecked: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["ElTreeNode","getNodeKey","getNodeKeyUtil"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.vue_vue_type_template_id_7539bec5_lang.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue?vue&type=template&id=7539bec5&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocaleInject()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.defaultExpandedKeys = newVal\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly: boolean,\n includeHalfChecked: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","_createElementVNode"],"mappings":";;;;EAuBwB,OAAM;AAAA;qBAClB,OAAM;;EAMZ,KAAI;AAAA,EACJ,OAAM;AAAA;;;;sBA9BVA;IACE,KAAI;AAAA,IACJ,uBAAM;;;;;;IAON,MAAK;AAAA;sBAELA,8CACkB,UAAK,aAAd;0BADTC;QAEG,KAAK,gBAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;QACP,WAAW;QACX,uBAAqB;QACrB,iBAAe;QACf,kBAAgB;QAChB,cAAa;;;IAEL,6BAAXD,0BAAA;MACEE,2BAAA,4BACE,yBAAA,YAAa;;mBAGjBA,0BAAA;cACU,eAAU;AAAA;AAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"tree.vue_vue_type_template_id_7539bec5_lang.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue?vue&type=template&id=7539bec5&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.defaultExpandedKeys = newVal\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly: boolean,\n includeHalfChecked: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","_createElementVNode"],"mappings":";;;;EAuBwB,OAAM;AAAA;qBAClB,OAAM;;EAMZ,KAAI;AAAA,EACJ,OAAM;AAAA;;;;sBA9BVA;IACE,KAAI;AAAA,IACJ,uBAAM;;;;;;IAON,MAAK;AAAA;sBAELA,8CACkB,UAAK,aAAd;0BADTC;QAEG,KAAK,gBAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;QACP,WAAW;QACX,uBAAqB;QACrB,iBAAe;QACf,kBAAgB;QAChB,cAAa;;;IAEL,6BAAXD,0BAAA;MACEE,2BAAA,4BACE,yBAAA,YAAa;;mBAGjBA,0BAAA;cACU,eAAU;AAAA;AAAA;;;;;"}
|
|
@@ -22,7 +22,7 @@ export declare const ElTreeV2: import("../../utils/types").SFCWithInstall<import
|
|
|
22
22
|
readonly filterMethod: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("./src/types").FilterMethod>, unknown, unknown, unknown, unknown>;
|
|
23
23
|
readonly perfMode: import("../../utils/props").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
|
|
24
24
|
}, {
|
|
25
|
-
t: (
|
|
25
|
+
t: import("../..").Translator;
|
|
26
26
|
flattenTree: import("vue").ComputedRef<import("./src/types").TreeNode[]>;
|
|
27
27
|
itemSize: number;
|
|
28
28
|
isNotEmpty: import("vue").ComputedRef<boolean>;
|
|
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
22
22
|
readonly filterMethod: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<import("./types").FilterMethod>, unknown, unknown, unknown, unknown>;
|
|
23
23
|
readonly perfMode: import("../../../utils/props").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
|
|
24
24
|
}, {
|
|
25
|
-
t: (
|
|
25
|
+
t: import("element-plus/es/hooks").Translator;
|
|
26
26
|
flattenTree: import("vue").ComputedRef<import("./types").TreeNode[]>;
|
|
27
27
|
itemSize: number;
|
|
28
28
|
isNotEmpty: import("vue").ComputedRef<boolean>;
|
|
@@ -6,7 +6,7 @@ import './tree-node.mjs';
|
|
|
6
6
|
import { treeProps, treeEmits, ROOT_TREE_INJECTION_KEY } from './virtual-tree.mjs';
|
|
7
7
|
import script$1 from './tree-node.vue_vue_type_script_lang.mjs';
|
|
8
8
|
import FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';
|
|
9
|
-
import {
|
|
9
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
10
10
|
|
|
11
11
|
var script = defineComponent({
|
|
12
12
|
name: "ElTreeV2",
|
|
@@ -22,7 +22,7 @@ var script = defineComponent({
|
|
|
22
22
|
props,
|
|
23
23
|
instance: getCurrentInstance()
|
|
24
24
|
});
|
|
25
|
-
const { t } =
|
|
25
|
+
const { t } = useLocale();
|
|
26
26
|
const {
|
|
27
27
|
flattenTree,
|
|
28
28
|
isNotEmpty,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n <div\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n }\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n class-name=\"el-tree-virtual-list\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"itemSize\"\n :perf-mode=\"perfMode\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"isExpanded(data[index])\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n ></el-tree-node>\n </template>\n </fixed-size-list>\n <div v-else class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport {
|
|
1
|
+
{"version":3,"file":"tree.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n <div\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n }\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n class-name=\"el-tree-virtual-list\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"itemSize\"\n :perf-mode=\"perfMode\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"isExpanded(data[index])\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n ></el-tree-node>\n </template>\n </fixed-size-list>\n <div v-else class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport { ROOT_TREE_INJECTION_KEY, treeEmits, treeProps } from './virtual-tree'\nimport type { TreeProps } from './types'\n\nexport default defineComponent({\n name: 'ElTreeV2',\n components: {\n ElTreeNode,\n FixedSizeList,\n },\n props: treeProps,\n emits: treeEmits,\n setup(props: TreeProps, ctx) {\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx,\n props,\n instance: getCurrentInstance(),\n })\n const { t } = useLocale()\n const {\n flattenTree,\n isNotEmpty,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n toggleCheckbox,\n handleNodeClick,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n } = useTree(props, ctx.emit)\n\n ctx.expose({\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n })\n\n return {\n t,\n flattenTree,\n itemSize: 26,\n isNotEmpty,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeCheck,\n }\n },\n})\n</script>\n"],"names":["ElTreeNode"],"mappings":";;;;;;;;;;AAoDA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,gBACVA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM,OAAkB,KAAK;AAC3B,YAAQ,yBAAyB;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,UAAU;AAAA;AAEZ,UAAM,EAAE,MAAM;AACd,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,QAAQ,OAAO,IAAI;AAEvB,QAAI,OAAO;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAGF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.vue_vue_type_template_id_5b45a1b2_lang.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue?vue&type=template&id=5b45a1b2&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n }\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n class-name=\"el-tree-virtual-list\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"itemSize\"\n :perf-mode=\"perfMode\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"isExpanded(data[index])\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n ></el-tree-node>\n </template>\n </fixed-size-list>\n <div v-else class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport {
|
|
1
|
+
{"version":3,"file":"tree.vue_vue_type_template_id_5b45a1b2_lang.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue?vue&type=template&id=5b45a1b2&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n }\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n class-name=\"el-tree-virtual-list\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"itemSize\"\n :perf-mode=\"perfMode\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"isExpanded(data[index])\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n ></el-tree-node>\n </template>\n </fixed-size-list>\n <div v-else class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport { ROOT_TREE_INJECTION_KEY, treeEmits, treeProps } from './virtual-tree'\nimport type { TreeProps } from './types'\n\nexport default defineComponent({\n name: 'ElTreeV2',\n components: {\n ElTreeNode,\n FixedSizeList,\n },\n props: treeProps,\n emits: treeEmits,\n setup(props: TreeProps, ctx) {\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx,\n props,\n instance: getCurrentInstance(),\n })\n const { t } = useLocale()\n const {\n flattenTree,\n isNotEmpty,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n toggleCheckbox,\n handleNodeClick,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n } = useTree(props, ctx.emit)\n\n ctx.expose({\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n })\n\n return {\n t,\n flattenTree,\n itemSize: 26,\n isNotEmpty,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeCheck,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","_createVNode","_createElementVNode"],"mappings":";;;;EAmCgB,OAAM;AAAA;qBACV,OAAM;;;;;sBAnChBA;IACE,uBAAM;;;IAIN,MAAK;AAAA;IAGG,gCADRC;;MAEE,cAAW;AAAA,MACV,MAAM;MACN,OAAO,iBAAY;AAAA,MACnB,QAAQ;MACR,aAAW;MACX,aAAW;;MAED,iBACT,GADoB,MAAM,OAAO;QACjCC;UACG,KAAK,KAAK,OAAO;AAAA,UACjB,sBAAO;AAAA,UACP,MAAM,KAAK;AAAA,UACX,UAAU,gBAAW,KAAK;AAAA,UAC1B,iBAAe;UACf,SAAS,eAAU,KAAK;AAAA,UACxB,eAAe,qBAAgB,KAAK;AAAA,UACpC,UAAU,gBAAW,KAAK;AAAA,UAC1B,SAAS,eAAU,KAAK;AAAA,UACxB,sBAAoB,6BAAwB,KAAK;AAAA,UACjD,SAAO;UACP,UAAQ;UACR,SAAO;;;;kFAIdF,0BAAA;MACEG,2BAAA,4BACE,yBAAA,YAAa;;;;;;;"}
|
|
@@ -33,10 +33,10 @@ const treeProps = buildProps({
|
|
|
33
33
|
props: {
|
|
34
34
|
type: definePropType(Object),
|
|
35
35
|
default: () => mutable({
|
|
36
|
-
children: "children"
|
|
37
|
-
label: "label"
|
|
38
|
-
disabled: "disabled"
|
|
39
|
-
value: "id"
|
|
36
|
+
children: "children" /* CHILDREN */,
|
|
37
|
+
label: "label" /* LABEL */,
|
|
38
|
+
disabled: "disabled" /* DISABLED */,
|
|
39
|
+
value: "id" /* KEY */
|
|
40
40
|
})
|
|
41
41
|
},
|
|
42
42
|
highlightCurrent: {
|
|
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
22
22
|
handleClick: (file: UploadFile) => void;
|
|
23
23
|
handleRemove: (e: Event, file: UploadFile) => void;
|
|
24
24
|
onFileClicked: (e: Event) => void;
|
|
25
|
-
t: (
|
|
25
|
+
t: import("element-plus/es/hooks").Translator;
|
|
26
26
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "remove"[], "remove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
27
27
|
files?: unknown;
|
|
28
28
|
disabled?: unknown;
|
|
@@ -4,7 +4,7 @@ import { ElIcon } from '../../icon/index.mjs';
|
|
|
4
4
|
import { Document, Delete, Close, ZoomIn, Check, CircleCheck } from '@element-plus/icons';
|
|
5
5
|
import '../../../hooks/index.mjs';
|
|
6
6
|
import _Progress from '../../progress/index.mjs';
|
|
7
|
-
import {
|
|
7
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
8
8
|
|
|
9
9
|
var script = defineComponent({
|
|
10
10
|
name: "ElUploadList",
|
|
@@ -38,7 +38,7 @@ var script = defineComponent({
|
|
|
38
38
|
},
|
|
39
39
|
emits: ["remove"],
|
|
40
40
|
setup(props, { emit }) {
|
|
41
|
-
const { t } =
|
|
41
|
+
const { t } = useLocale();
|
|
42
42
|
const handleClick = (file) => {
|
|
43
43
|
props.handlePreview(file);
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-list.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n 'el-upload-list',\n 'el-upload-list--' + listType,\n { 'is-disabled': disabled },\n ]\"\n name=\"el-list\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file\"\n :class=\"[\n 'el-upload-list__item',\n 'is-' + file.status,\n focusing ? 'focusing' : '',\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove($event, file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"onFileClicked\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n file.status !== 'uploading' &&\n ['picture-card', 'picture'].includes(listType)\n \"\n class=\"el-upload-list__item-thumbnail\"\n :src=\"file.url\"\n alt=\"\"\n />\n <a class=\"el-upload-list__item-name\" @click=\"handleClick(file)\">\n <el-icon class=\"el-icon--document\"><document /></el-icon>\n {{ file.name }}\n </a>\n <label class=\"el-upload-list__item-status-label\">\n <el-icon\n v-if=\"listType === 'text'\"\n class=\"el-icon--upload-success el-icon--circle-check\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n class=\"el-icon--upload-success el-icon--check\"\n >\n <check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n class=\"el-icon--close\"\n @click=\"handleRemove($event, file)\"\n >\n <close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" class=\"el-icon--close-tip\">{{\n t('el.upload.deleteTip')\n }}</i>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"+file.percentage\"\n />\n <span\n v-if=\"listType === 'picture-card'\"\n class=\"el-upload-list__item-actions\"\n >\n <span\n class=\"el-upload-list__item-preview\"\n @click=\"handlePreview(file)\"\n >\n <el-icon class=\"el-icon--zoom-in\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove($event, file)\"\n >\n <el-icon class=\"el-icon--delete\"><delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n </transition-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n} from '@element-plus/icons'\nimport {
|
|
1
|
+
{"version":3,"file":"upload-list.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n 'el-upload-list',\n 'el-upload-list--' + listType,\n { 'is-disabled': disabled },\n ]\"\n name=\"el-list\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file\"\n :class=\"[\n 'el-upload-list__item',\n 'is-' + file.status,\n focusing ? 'focusing' : '',\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove($event, file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"onFileClicked\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n file.status !== 'uploading' &&\n ['picture-card', 'picture'].includes(listType)\n \"\n class=\"el-upload-list__item-thumbnail\"\n :src=\"file.url\"\n alt=\"\"\n />\n <a class=\"el-upload-list__item-name\" @click=\"handleClick(file)\">\n <el-icon class=\"el-icon--document\"><document /></el-icon>\n {{ file.name }}\n </a>\n <label class=\"el-upload-list__item-status-label\">\n <el-icon\n v-if=\"listType === 'text'\"\n class=\"el-icon--upload-success el-icon--circle-check\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n class=\"el-icon--upload-success el-icon--check\"\n >\n <check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n class=\"el-icon--close\"\n @click=\"handleRemove($event, file)\"\n >\n <close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" class=\"el-icon--close-tip\">{{\n t('el.upload.deleteTip')\n }}</i>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"+file.percentage\"\n />\n <span\n v-if=\"listType === 'picture-card'\"\n class=\"el-upload-list__item-actions\"\n >\n <span\n class=\"el-upload-list__item-preview\"\n @click=\"handlePreview(file)\"\n >\n <el-icon class=\"el-icon--zoom-in\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove($event, file)\"\n >\n <el-icon class=\"el-icon--delete\"><delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n </transition-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n} from '@element-plus/icons'\nimport { useLocale } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\n\nimport type { PropType } from 'vue'\nimport type { UploadFile } from './upload.type'\n\nexport default defineComponent({\n name: 'ElUploadList',\n components: {\n ElProgress,\n ElIcon,\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n },\n props: {\n files: {\n type: Array as PropType<UploadFile[]>,\n default: () => [] as File[],\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n handlePreview: {\n type: Function as PropType<(file: UploadFile) => void>,\n default: () => NOOP,\n },\n listType: {\n type: String as PropType<'picture' | 'picture-card' | 'text'>,\n default: 'text',\n },\n },\n emits: ['remove'],\n setup(props, { emit }) {\n const { t } = useLocale()\n\n const handleClick = (file: UploadFile) => {\n props.handlePreview(file)\n }\n\n const onFileClicked = (e: Event) => {\n ;(e.target as HTMLElement).focus()\n }\n\n const handleRemove = (e: Event, file: UploadFile) => {\n emit('remove', file)\n }\n return {\n focusing: ref(false),\n handleClick,\n handleRemove,\n onFileClicked,\n t,\n }\n },\n})\n</script>\n"],"names":["ElProgress"],"mappings":";;;;;;;;AA+GA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,gBACVA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,OAAO,CAAC;AAAA,EACR,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,MAAM;AAEd,UAAM,cAAc,CAAC,SAAqB;AACxC,YAAM,cAAc;AAAA;AAGtB,UAAM,gBAAgB,CAAC,MAAa;AAClC;AAAC,MAAC,EAAE,OAAuB;AAAA;AAG7B,UAAM,eAAe,CAAC,GAAU,SAAqB;AACnD,WAAK,UAAU;AAAA;AAEjB,WAAO;AAAA,MACL,UAAU,IAAI;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-list.vue_vue_type_template_id_192277b6_lang.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue?vue&type=template&id=192277b6&lang.js"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n 'el-upload-list',\n 'el-upload-list--' + listType,\n { 'is-disabled': disabled },\n ]\"\n name=\"el-list\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file\"\n :class=\"[\n 'el-upload-list__item',\n 'is-' + file.status,\n focusing ? 'focusing' : '',\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove($event, file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"onFileClicked\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n file.status !== 'uploading' &&\n ['picture-card', 'picture'].includes(listType)\n \"\n class=\"el-upload-list__item-thumbnail\"\n :src=\"file.url\"\n alt=\"\"\n />\n <a class=\"el-upload-list__item-name\" @click=\"handleClick(file)\">\n <el-icon class=\"el-icon--document\"><document /></el-icon>\n {{ file.name }}\n </a>\n <label class=\"el-upload-list__item-status-label\">\n <el-icon\n v-if=\"listType === 'text'\"\n class=\"el-icon--upload-success el-icon--circle-check\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n class=\"el-icon--upload-success el-icon--check\"\n >\n <check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n class=\"el-icon--close\"\n @click=\"handleRemove($event, file)\"\n >\n <close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" class=\"el-icon--close-tip\">{{\n t('el.upload.deleteTip')\n }}</i>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"+file.percentage\"\n />\n <span\n v-if=\"listType === 'picture-card'\"\n class=\"el-upload-list__item-actions\"\n >\n <span\n class=\"el-upload-list__item-preview\"\n @click=\"handlePreview(file)\"\n >\n <el-icon class=\"el-icon--zoom-in\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove($event, file)\"\n >\n <el-icon class=\"el-icon--delete\"><delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n </transition-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n} from '@element-plus/icons'\nimport {
|
|
1
|
+
{"version":3,"file":"upload-list.vue_vue_type_template_id_192277b6_lang.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue?vue&type=template&id=192277b6&lang.js"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n 'el-upload-list',\n 'el-upload-list--' + listType,\n { 'is-disabled': disabled },\n ]\"\n name=\"el-list\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file\"\n :class=\"[\n 'el-upload-list__item',\n 'is-' + file.status,\n focusing ? 'focusing' : '',\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove($event, file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"onFileClicked\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n file.status !== 'uploading' &&\n ['picture-card', 'picture'].includes(listType)\n \"\n class=\"el-upload-list__item-thumbnail\"\n :src=\"file.url\"\n alt=\"\"\n />\n <a class=\"el-upload-list__item-name\" @click=\"handleClick(file)\">\n <el-icon class=\"el-icon--document\"><document /></el-icon>\n {{ file.name }}\n </a>\n <label class=\"el-upload-list__item-status-label\">\n <el-icon\n v-if=\"listType === 'text'\"\n class=\"el-icon--upload-success el-icon--circle-check\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n class=\"el-icon--upload-success el-icon--check\"\n >\n <check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n class=\"el-icon--close\"\n @click=\"handleRemove($event, file)\"\n >\n <close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" class=\"el-icon--close-tip\">{{\n t('el.upload.deleteTip')\n }}</i>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"+file.percentage\"\n />\n <span\n v-if=\"listType === 'picture-card'\"\n class=\"el-upload-list__item-actions\"\n >\n <span\n class=\"el-upload-list__item-preview\"\n @click=\"handlePreview(file)\"\n >\n <el-icon class=\"el-icon--zoom-in\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove($event, file)\"\n >\n <el-icon class=\"el-icon--delete\"><delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n </transition-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n} from '@element-plus/icons'\nimport { useLocale } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\n\nimport type { PropType } from 'vue'\nimport type { UploadFile } from './upload.type'\n\nexport default defineComponent({\n name: 'ElUploadList',\n components: {\n ElProgress,\n ElIcon,\n Document,\n Delete,\n Close,\n ZoomIn,\n Check,\n CircleCheck,\n },\n props: {\n files: {\n type: Array as PropType<UploadFile[]>,\n default: () => [] as File[],\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n handlePreview: {\n type: Function as PropType<(file: UploadFile) => void>,\n default: () => NOOP,\n },\n listType: {\n type: String as PropType<'picture' | 'picture-card' | 'text'>,\n default: 'text',\n },\n },\n emits: ['remove'],\n setup(props, { emit }) {\n const { t } = useLocale()\n\n const handleClick = (file: UploadFile) => {\n props.handlePreview(file)\n }\n\n const onFileClicked = (e: Event) => {\n ;(e.target as HTMLElement).focus()\n }\n\n const handleRemove = (e: Event, file: UploadFile) => {\n emit('remove', file)\n }\n return {\n focusing: ref(false),\n handleClick,\n handleRemove,\n onFileClicked,\n t,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_createElementBlock","_renderSlot","_createElementVNode","_createVNode","_createCommentVNode"],"mappings":";;;;;qBAsCe,OAAM;;;EAwBO,OAAM;AAAA;;;EAWxB,OAAM;AAAA;;;;;;;;;;;;sBAxEdA;IACE,KAAI;AAAA,IACH;;;;;IAKD,MAAK;AAAA;qBAGH;wBADFC,8CACiB,aAAR;4BADTA;UAEG,KAAK,KAAK,OAAO;AAAA,UACjB;;;;;UAKD,UAAS;AAAA,UACR,iCAAiB,iBAAY,kBAAa,QAAQ;UAClD,+CAAO;UACP,8CAAM;UACN,gDAAO;;UAERC,qCAAO,QAAP;+GACED;;cAKE,OAAM;AAAA,cACL,KAAK,KAAK;AAAA,cACX,KAAI;AAAA;YAENE;cAAG,OAAM;AAAA,cAA6B,qBAAO,iBAAY;AAAA;cACvDC,kCAAS,OAAM;iCAAoB;kBAAAA,YAAY;AAAA;AAAA;;oDAC5C,KAAK;;YAEVD,4BAAA;cAEU,yCADRH;;gBAEE,OAAM;AAAA;iCAEN;kBAAAI;;;gDAGuC,SAAS,+BADlDJ;;gBAEE,OAAM;AAAA;iCAEN;kBAAAI;;;;;aAIK,8BADTJ;;cAEE,OAAM;AAAA,cACL,qBAAO,kBAAa,QAAQ;AAAA;+BAE7B;gBAAAI;;;;YAEFC;YACAA;YACAA;aACU,8BAAVJ,wBAAA,4BACE;YAGM,KAAK,uCADbD;;cAEG,MAAM;cACN,gBAAc;cACd,aAAa,KAAK;AAAA;YAGb,iDADRC,2BAAA;cAIEE;gBACE,OAAM;AAAA,gBACL,qBAAO,mBAAc;AAAA;gBAEtBC,kCAAS,OAAM;mCAAmB;oBAAAA,YAAW;AAAA;AAAA;;;eAGtC,8BADTH;;gBAEE,OAAM;AAAA,gBACL,qBAAO,kBAAa,QAAQ;AAAA;gBAE7BG,kCAAS,OAAM;mCAAkB;oBAAAA,YAAU;AAAA;AAAA;;;;;;;;;;;;;;"}
|