element-plus 1.2.0-beta.1 → 1.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +930 -690
- package/dist/index.full.min.js +11 -11
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +937 -699
- package/es/components/affix/src/affix.vue_vue&type=script&lang.mjs +1 -0
- package/es/components/affix/src/affix.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/affix/src/affix.vue_vue&type=template&id=0745df9e&lang.mjs.map +1 -1
- package/es/components/alert/src/alert.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/alert/src/alert.vue_vue&type=template&id=1755b449&lang.mjs +1 -1
- package/es/components/alert/src/alert.vue_vue&type=template&id=1755b449&lang.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.vue_vue&type=script&lang.mjs +4 -0
- package/es/components/breadcrumb/src/breadcrumb-item.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.vue_vue&type=template&id=2f37792a&lang.mjs.map +1 -1
- package/es/components/button/index.d.ts +6 -1
- package/es/components/button/src/button.d.ts +4 -0
- package/es/components/button/src/button.mjs +4 -1
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button.vue.d.ts +6 -1
- package/es/components/button/src/button.vue_vue&type=script&lang.mjs +7 -1
- package/es/components/button/src/button.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/button/src/button.vue_vue&type=template&id=802c5c76&lang.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +8430 -12
- package/es/components/cascader/src/index.vue.d.ts +4216 -6
- package/es/components/cascader/src/index.vue_vue&type=script&lang.mjs +25 -16
- 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/index.d.ts +238 -10
- package/es/components/cascader-panel/src/index.vue.d.ts +122 -8
- package/es/components/cascader-panel/src/index.vue_vue&type=script&lang.mjs +31 -12
- 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 +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 +14 -11
- package/es/components/cascader-panel/src/menu.vue_vue&type=template&id=9c79e4e2&lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/node.vue.d.ts +1 -1
- package/es/components/cascader-panel/src/node.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/node.vue_vue&type=template&id=18b09cb2&lang.mjs +1 -1
- package/es/components/cascader-panel/src/node.vue_vue&type=template&id=18b09cb2&lang.mjs.map +1 -1
- package/es/components/color-picker/src/color.mjs +20 -13
- package/es/components/color-picker/src/color.mjs.map +1 -1
- package/es/components/config-provider/index.d.ts +12 -5
- package/es/components/config-provider/index.mjs +1 -1
- package/es/components/config-provider/index.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +7 -0
- package/es/components/config-provider/src/config-provider.mjs +18 -0
- package/es/components/config-provider/src/config-provider.mjs.map +1 -0
- package/es/components/config-provider/src/index.d.ts +18 -0
- package/es/components/config-provider/src/index.mjs +22 -0
- package/es/components/config-provider/src/index.mjs.map +1 -0
- package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue_vue&type=script&lang.mjs +1 -1
- 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/panel-date-pick.vue_vue&type=script&lang.mjs +23 -16
- 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_vue&type=script&lang.mjs +2 -0
- 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_vue&type=script&lang.mjs +2 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue&type=template&id=2e377892&lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.vue_vue&type=script&lang.mjs +2 -0
- package/es/components/dropdown/src/dropdown-item.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.vue_vue&type=template&id=396ed16b&lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue_vue&type=template&id=3ed790a5&lang.mjs +68 -68
- package/es/components/dropdown/src/dropdown.vue_vue&type=template&id=3ed790a5&lang.mjs.map +1 -1
- package/es/components/form/index.d.ts +2 -2
- package/es/components/form/src/form-item.vue_vue&type=script&lang.mjs +4 -3
- package/es/components/form/src/form-item.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs.map +1 -1
- package/es/components/form/src/form.type.d.ts +1 -3
- package/es/components/form/src/form.vue.d.ts +2 -3
- package/es/components/image/index.d.ts +4 -0
- package/es/components/image/src/image.d.ts +1 -0
- package/es/components/image/src/image.mjs +4 -0
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +4 -0
- package/es/components/image/src/image.vue_vue&type=script&lang.mjs +2 -2
- 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.d.ts +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 +2 -2
- package/es/components/image-viewer/src/image-viewer.vue_vue&type=template&id=4b22ad85&lang.mjs.map +1 -1
- package/es/components/input/src/input.vue_vue&type=script&lang.mjs +2 -2
- package/es/components/input/src/input.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.mjs +18 -16
- package/es/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.mjs.map +1 -1
- package/es/components/loading/src/createLoadingComponent.mjs +3 -7
- package/es/components/loading/src/createLoadingComponent.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +1 -1
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.mjs +1 -1
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/message/src/message-method.mjs +13 -0
- package/es/components/message/src/message-method.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +2 -0
- package/es/components/message/src/message.mjs +8 -0
- package/es/components/message/src/message.mjs.map +1 -1
- package/es/components/message/src/message.vue.d.ts +8 -0
- package/es/components/message/src/message.vue_vue&type=script&lang.mjs +7 -1
- package/es/components/message/src/message.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/message/src/message.vue_vue&type=template&id=031967c2&lang.mjs +56 -46
- package/es/components/message/src/message.vue_vue&type=template&id=031967c2&lang.mjs.map +1 -1
- 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 +3 -3
- package/es/components/page-header/src/page-header.vue_vue&type=template&id=d12fb4b2&lang.mjs.map +1 -1
- 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 +1 -1
- package/es/components/popconfirm/src/popconfirm.vue_vue&type=template&id=16409d25&lang.mjs.map +1 -1
- package/es/components/result/src/index.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/result/src/index.vue_vue&type=template&id=4e01dfba&lang.mjs +4 -3
- package/es/components/result/src/index.vue_vue&type=template&id=4e01dfba&lang.mjs.map +1 -1
- package/es/components/select/index.d.ts +5 -1
- package/es/components/select/src/select.vue.d.ts +5 -1
- package/es/components/select/src/select.vue_vue&type=script&lang.mjs +4 -1
- package/es/components/select/src/select.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/select/src/select.vue_vue&type=template&id=33774f85&lang.mjs +6 -5
- package/es/components/select/src/select.vue_vue&type=template&id=33774f85&lang.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +1 -1
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +14 -0
- package/es/components/select-v2/src/defaults.d.ts +4 -0
- package/es/components/select-v2/src/defaults.mjs +4 -0
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/select-v2/src/select-dropdown.vue_vue&type=script&lang.mjs +1 -0
- package/es/components/select-v2/src/select-dropdown.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +7 -0
- package/es/components/select-v2/src/select.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.mjs +9 -7
- package/es/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.mjs.map +1 -1
- package/es/components/table/src/config.mjs +22 -2
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/store/watcher.mjs +15 -7
- package/es/components/table/src/store/watcher.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +2 -2
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs +2 -3
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-header/event-helper.mjs +3 -1
- package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.vue_vue&type=script&lang.mjs +3 -3
- package/es/components/tabs/src/tab-nav.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/tabs/src/tabs.mjs +1 -1
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/teleport/index.d.ts +23 -0
- package/es/components/teleport/index.mjs +9 -0
- package/es/components/teleport/index.mjs.map +1 -0
- package/es/components/teleport/src/teleport.d.ts +7 -0
- package/es/components/teleport/src/teleport.mjs +18 -0
- package/es/components/teleport/src/teleport.mjs.map +1 -0
- package/es/components/teleport/src/teleport.vue.d.ts +22 -0
- package/es/components/teleport/src/teleport.vue_vue&type=script&lang.mjs +28 -0
- package/es/components/teleport/src/teleport.vue_vue&type=script&lang.mjs.map +1 -0
- package/es/components/teleport/src/teleport.vue_vue&type=template&id=787c6a36&lang.mjs +19 -0
- package/es/components/teleport/src/teleport.vue_vue&type=template&id=787c6a36&lang.mjs.map +1 -0
- package/es/components/teleport/src/teleport2.mjs +7 -0
- package/es/components/teleport/src/teleport2.mjs.map +1 -0
- package/es/components/teleport/style/css.d.ts +0 -0
- package/es/components/teleport/style/css.mjs +2 -0
- package/es/components/teleport/style/css.mjs.map +1 -0
- package/es/components/teleport/style/index.d.ts +0 -0
- package/es/components/teleport/style/index.mjs +2 -0
- package/es/components/teleport/style/index.mjs.map +1 -0
- 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 +11 -8
- 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/basic-time-spinner.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue&type=template&id=4fb3c576&lang.mjs +9 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue&type=template&id=4fb3c576&lang.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue_vue&type=template&id=5beb6389&lang.mjs +6 -3
- package/es/components/time-select/src/time-select.vue_vue&type=template&id=5beb6389&lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue_vue&type=script&lang.mjs +2 -0
- 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 +3 -2
- package/es/components/transfer/src/transfer-panel.vue_vue&type=template&id=1a7d1f9c&lang.mjs.map +1 -1
- package/es/components/transfer/src/useMove.mjs +3 -0
- package/es/components/transfer/src/useMove.mjs.map +1 -1
- package/es/components/tree/index.d.ts +6 -0
- package/es/components/tree/src/tree-node.vue.d.ts +1 -0
- package/es/components/tree/src/tree-node.vue_vue&type=script&lang.mjs +20 -0
- package/es/components/tree/src/tree-node.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/tree/src/tree-node.vue_vue&type=template&id=62959aba&lang.mjs +10 -7
- package/es/components/tree/src/tree-node.vue_vue&type=template&id=62959aba&lang.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +3 -0
- package/es/components/tree/src/tree.vue.d.ts +3 -0
- 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 +2 -1
- package/es/components/tree/src/tree.vue_vue&type=template&id=7539bec5&lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue_vue&type=script&lang.mjs +4 -2
- package/es/components/tree-v2/src/tree-node.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree-node.vue_vue&type=template&id=71d8f826&lang.mjs +5 -4
- package/es/components/tree-v2/src/tree-node.vue_vue&type=template&id=71d8f826&lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/components/tree-v2/src/tree.vue_vue&type=template&id=5b45a1b2&lang.mjs +2 -1
- package/es/components/tree-v2/src/tree.vue_vue&type=template&id=5b45a1b2&lang.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-grid.d.ts +7 -2
- package/es/components/virtual-list/src/builders/build-list.d.ts +9 -3
- package/es/components/virtual-list/src/builders/build-list.mjs +7 -4
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +7 -2
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +9 -3
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +7 -2
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +9 -3
- package/es/components/virtual-list/src/components/scrollbar.mjs +1 -2
- package/es/components/virtual-list/src/components/scrollbar.mjs.map +1 -1
- package/es/components/virtual-list/src/props.d.ts +6 -3
- package/es/components/virtual-list/src/props.mjs +5 -1
- package/es/components/virtual-list/src/props.mjs.map +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +1 -0
- package/es/hooks/use-global-config/index.mjs +15 -0
- package/es/hooks/use-global-config/index.mjs.map +1 -0
- package/es/hooks/use-locale/index.d.ts +2 -4
- package/es/hooks/use-locale/index.mjs +4 -3
- package/es/hooks/use-locale/index.mjs.map +1 -1
- package/es/hooks/use-popper/index.mjs +6 -5
- package/es/hooks/use-popper/index.mjs.map +1 -1
- package/es/index.mjs +2 -0
- package/es/index.mjs.map +1 -1
- package/es/tokens/config-provider.d.ts +4 -0
- package/es/tokens/config-provider.mjs +4 -0
- package/es/tokens/config-provider.mjs.map +1 -0
- package/es/tokens/index.d.ts +1 -0
- package/es/tokens/index.mjs +1 -0
- package/es/tokens/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.vue_vue&type=script&lang.js +1 -0
- package/lib/components/affix/src/affix.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/affix/src/affix.vue_vue&type=template&id=0745df9e&lang.js.map +1 -1
- package/lib/components/alert/src/alert.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/alert/src/alert.vue_vue&type=template&id=1755b449&lang.js +1 -1
- package/lib/components/alert/src/alert.vue_vue&type=template&id=1755b449&lang.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item.vue_vue&type=script&lang.js +4 -0
- package/lib/components/breadcrumb/src/breadcrumb-item.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item.vue_vue&type=template&id=2f37792a&lang.js.map +1 -1
- package/lib/components/button/index.d.ts +6 -1
- package/lib/components/button/src/button.d.ts +4 -0
- package/lib/components/button/src/button.js +4 -1
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +6 -1
- package/lib/components/button/src/button.vue_vue&type=script&lang.js +9 -3
- package/lib/components/button/src/button.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/button/src/button.vue_vue&type=template&id=802c5c76&lang.js.map +1 -1
- package/lib/components/cascader/index.d.ts +8430 -12
- package/lib/components/cascader/src/index.vue.d.ts +4216 -6
- package/lib/components/cascader/src/index.vue_vue&type=script&lang.js +25 -16
- 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/index.d.ts +238 -10
- package/lib/components/cascader-panel/src/index.vue.d.ts +122 -8
- package/lib/components/cascader-panel/src/index.vue_vue&type=script&lang.js +31 -12
- 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 +2 -2
- 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 +14 -11
- package/lib/components/cascader-panel/src/menu.vue_vue&type=template&id=9c79e4e2&lang.js.map +1 -1
- package/lib/components/cascader-panel/src/node.vue.d.ts +1 -1
- package/lib/components/cascader-panel/src/node.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/cascader-panel/src/node.vue_vue&type=template&id=18b09cb2&lang.js +1 -1
- package/lib/components/cascader-panel/src/node.vue_vue&type=template&id=18b09cb2&lang.js.map +1 -1
- package/lib/components/color-picker/src/color.js +20 -13
- package/lib/components/color-picker/src/color.js.map +1 -1
- package/lib/components/config-provider/index.d.ts +12 -5
- package/lib/components/config-provider/index.js +2 -2
- package/lib/components/config-provider/index.js.map +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +7 -0
- package/lib/components/config-provider/src/config-provider.js +22 -0
- package/lib/components/config-provider/src/config-provider.js.map +1 -0
- package/lib/components/config-provider/src/index.d.ts +18 -0
- package/lib/components/config-provider/src/index.js +26 -0
- package/lib/components/config-provider/src/index.js.map +1 -0
- package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js.map +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/panel-date-pick.vue_vue&type=script&lang.js +22 -15
- 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_vue&type=script&lang.js +4 -2
- 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_vue&type=script&lang.js +4 -3
- 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/dropdown/src/dropdown-item.vue_vue&type=script&lang.js +2 -0
- package/lib/components/dropdown/src/dropdown-item.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.vue_vue&type=template&id=396ed16b&lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue_vue&type=template&id=3ed790a5&lang.js +67 -67
- package/lib/components/dropdown/src/dropdown.vue_vue&type=template&id=3ed790a5&lang.js.map +1 -1
- package/lib/components/form/index.d.ts +2 -2
- package/lib/components/form/src/form-item.vue_vue&type=script&lang.js +3 -2
- package/lib/components/form/src/form-item.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js.map +1 -1
- package/lib/components/form/src/form.type.d.ts +1 -3
- package/lib/components/form/src/form.vue.d.ts +2 -3
- package/lib/components/image/index.d.ts +4 -0
- package/lib/components/image/src/image.d.ts +1 -0
- package/lib/components/image/src/image.js +4 -0
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +4 -0
- 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.d.ts +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.js +2 -2
- 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 +2 -2
- package/lib/components/image-viewer/src/image-viewer.vue_vue&type=template&id=4b22ad85&lang.js.map +1 -1
- package/lib/components/input/src/input.vue_vue&type=script&lang.js +1 -1
- package/lib/components/input/src/input.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.js +17 -15
- package/lib/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.js.map +1 -1
- package/lib/components/loading/src/createLoadingComponent.js +3 -7
- package/lib/components/loading/src/createLoadingComponent.js.map +1 -1
- package/lib/components/menu/src/menu.js +1 -1
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.js +1 -1
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/message/src/message-method.js +13 -0
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/message/src/message.d.ts +2 -0
- package/lib/components/message/src/message.js +8 -0
- package/lib/components/message/src/message.js.map +1 -1
- package/lib/components/message/src/message.vue.d.ts +8 -0
- package/lib/components/message/src/message.vue_vue&type=script&lang.js +8 -2
- package/lib/components/message/src/message.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/message/src/message.vue_vue&type=template&id=031967c2&lang.js +55 -45
- package/lib/components/message/src/message.vue_vue&type=template&id=031967c2&lang.js.map +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 +2 -2
- package/lib/components/page-header/src/page-header.vue_vue&type=template&id=d12fb4b2&lang.js.map +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 +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue_vue&type=template&id=16409d25&lang.js.map +1 -1
- package/lib/components/result/src/index.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/result/src/index.vue_vue&type=template&id=4e01dfba&lang.js +3 -2
- package/lib/components/result/src/index.vue_vue&type=template&id=4e01dfba&lang.js.map +1 -1
- package/lib/components/select/index.d.ts +5 -1
- package/lib/components/select/src/select.vue.d.ts +5 -1
- package/lib/components/select/src/select.vue_vue&type=script&lang.js +4 -1
- package/lib/components/select/src/select.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/select/src/select.vue_vue&type=template&id=33774f85&lang.js +6 -5
- package/lib/components/select/src/select.vue_vue&type=template&id=33774f85&lang.js.map +1 -1
- package/lib/components/select/src/useSelect.js +1 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +14 -0
- package/lib/components/select-v2/src/defaults.d.ts +4 -0
- package/lib/components/select-v2/src/defaults.js +4 -0
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/select-v2/src/select-dropdown.vue_vue&type=script&lang.js +1 -0
- package/lib/components/select-v2/src/select-dropdown.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +7 -0
- package/lib/components/select-v2/src/select.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.js +9 -7
- package/lib/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.js.map +1 -1
- package/lib/components/table/src/config.js +22 -2
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/store/watcher.js +14 -6
- package/lib/components/table/src/store/watcher.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +2 -2
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js +2 -3
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-header/event-helper.js +3 -1
- package/lib/components/table/src/table-header/event-helper.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.vue_vue&type=script&lang.js +3 -3
- package/lib/components/tabs/src/tab-nav.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/tabs/src/tabs.js +1 -1
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/teleport/index.d.ts +23 -0
- package/lib/components/teleport/index.js +15 -0
- package/lib/components/teleport/index.js.map +1 -0
- package/lib/components/teleport/src/teleport.d.ts +7 -0
- package/lib/components/teleport/src/teleport.js +22 -0
- package/lib/components/teleport/src/teleport.js.map +1 -0
- package/lib/components/teleport/src/teleport.vue.d.ts +22 -0
- package/lib/components/teleport/src/teleport.vue_vue&type=script&lang.js +32 -0
- package/lib/components/teleport/src/teleport.vue_vue&type=script&lang.js.map +1 -0
- package/lib/components/teleport/src/teleport.vue_vue&type=template&id=787c6a36&lang.js +23 -0
- package/lib/components/teleport/src/teleport.vue_vue&type=template&id=787c6a36&lang.js.map +1 -0
- package/lib/components/teleport/src/teleport2.js +12 -0
- package/lib/components/teleport/src/teleport2.js.map +1 -0
- package/lib/components/teleport/style/css.d.ts +0 -0
- package/lib/components/teleport/style/css.js +3 -0
- package/lib/components/teleport/style/css.js.map +1 -0
- package/lib/components/teleport/style/index.d.ts +0 -0
- package/lib/components/teleport/style/index.js +3 -0
- package/lib/components/teleport/style/index.js.map +1 -0
- 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 +10 -7
- 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/basic-time-spinner.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue&type=template&id=4fb3c576&lang.js +9 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue&type=template&id=4fb3c576&lang.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue_vue&type=template&id=5beb6389&lang.js +5 -2
- package/lib/components/time-select/src/time-select.vue_vue&type=template&id=5beb6389&lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue_vue&type=script&lang.js +4 -2
- 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 +3 -2
- package/lib/components/transfer/src/transfer-panel.vue_vue&type=template&id=1a7d1f9c&lang.js.map +1 -1
- package/lib/components/transfer/src/useMove.js +3 -0
- package/lib/components/transfer/src/useMove.js.map +1 -1
- package/lib/components/tree/index.d.ts +6 -0
- package/lib/components/tree/src/tree-node.vue.d.ts +1 -0
- package/lib/components/tree/src/tree-node.vue_vue&type=script&lang.js +20 -0
- package/lib/components/tree/src/tree-node.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/tree/src/tree-node.vue_vue&type=template&id=62959aba&lang.js +9 -6
- package/lib/components/tree/src/tree-node.vue_vue&type=template&id=62959aba&lang.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +3 -0
- package/lib/components/tree/src/tree.vue.d.ts +3 -0
- 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 +2 -1
- package/lib/components/tree/src/tree.vue_vue&type=template&id=7539bec5&lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue_vue&type=script&lang.js +4 -2
- package/lib/components/tree-v2/src/tree-node.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree-node.vue_vue&type=template&id=71d8f826&lang.js +4 -3
- package/lib/components/tree-v2/src/tree-node.vue_vue&type=template&id=71d8f826&lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue_vue&type=script&lang.js.map +1 -1
- package/lib/components/tree-v2/src/tree.vue_vue&type=template&id=5b45a1b2&lang.js +2 -1
- package/lib/components/tree-v2/src/tree.vue_vue&type=template&id=5b45a1b2&lang.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +7 -2
- package/lib/components/virtual-list/src/builders/build-list.d.ts +9 -3
- package/lib/components/virtual-list/src/builders/build-list.js +7 -4
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +7 -2
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +9 -3
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +7 -2
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +9 -3
- package/lib/components/virtual-list/src/components/scrollbar.js +1 -2
- package/lib/components/virtual-list/src/components/scrollbar.js.map +1 -1
- package/lib/components/virtual-list/src/props.d.ts +6 -3
- package/lib/components/virtual-list/src/props.js +5 -1
- package/lib/components/virtual-list/src/props.js.map +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +1 -0
- package/lib/hooks/use-global-config/index.js +19 -0
- package/lib/hooks/use-global-config/index.js.map +1 -0
- package/lib/hooks/use-locale/index.d.ts +2 -4
- package/lib/hooks/use-locale/index.js +4 -3
- package/lib/hooks/use-locale/index.js.map +1 -1
- package/lib/hooks/use-popper/index.js +6 -5
- package/lib/hooks/use-popper/index.js.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/tokens/config-provider.d.ts +4 -0
- package/lib/tokens/config-provider.js +8 -0
- package/lib/tokens/config-provider.js.map +1 -0
- package/lib/tokens/index.d.ts +1 -0
- package/lib/tokens/index.js +2 -0
- package/lib/tokens/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-checkbox.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-form.css +1 -1
- package/theme-chalk/el-input-number.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-message.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/el-virtual-list.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/checkbox.scss +1 -1
- package/theme-chalk/src/common/var.scss +0 -2
- package/theme-chalk/src/date-picker/picker.scss +0 -1
- package/theme-chalk/src/form.scss +1 -1
- package/theme-chalk/src/input-number.scss +1 -0
- package/theme-chalk/src/input.scss +14 -15
- package/theme-chalk/src/menu.scss +16 -14
- package/theme-chalk/src/message.scss +6 -1
- package/theme-chalk/src/select.scss +2 -3
- package/theme-chalk/src/tabs.scss +6 -0
- package/theme-chalk/src/virtual-list.scss +16 -0
- package/web-types.json +1 -1
- package/es/components/affix/index.d.ts +0 -48
- package/es/components/affix/src/affix.vue.d.ts +0 -48
- package/es/components/color-picker/src/components/alpha-slider.vue.d.ts +0 -30
- package/es/components/config-provider/config-provider.d.ts +0 -11
- package/es/components/config-provider/config-provider.mjs +0 -20
- package/es/components/config-provider/config-provider.mjs.map +0 -1
- package/es/components/select/src/useSelect.d.ts +0 -76
- package/es/components/slider/index.d.ts +0 -307
- package/es/components/slider/src/index.vue.d.ts +0 -155
- package/es/components/slider/src/useSlide.d.ts +0 -21
- package/es/components/tree-v2/src/composables/useTree.d.ts +0 -29
- package/lib/components/affix/index.d.ts +0 -48
- package/lib/components/affix/src/affix.vue.d.ts +0 -48
- package/lib/components/color-picker/src/components/alpha-slider.vue.d.ts +0 -30
- package/lib/components/config-provider/config-provider.d.ts +0 -11
- package/lib/components/config-provider/config-provider.js +0 -24
- package/lib/components/config-provider/config-provider.js.map +0 -1
- package/lib/components/select/src/useSelect.d.ts +0 -76
- package/lib/components/slider/index.d.ts +0 -307
- package/lib/components/slider/src/index.vue.d.ts +0 -155
- package/lib/components/slider/src/useSlide.d.ts +0 -21
- package/lib/components/tree-v2/src/composables/useTree.d.ts +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-date-range.vue_vue&type=template&id=62b45ab2&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-range.vue?vue&type=template&id=62b45ab2&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-range-picker__time-header\">\n <span class=\"el-date-range-picker__editors-wrap\">\n <span class=\"el-date-range-picker__time-picker-wrap\">\n <el-input\n size=\"small\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.startDate')\"\n class=\"el-date-range-picker__editor\"\n :model-value=\"minVisibleDate\"\n @input=\"(val) => handleDateInput(val, 'min')\"\n @change=\"(val) => handleDateChange(val, 'min')\"\n />\n </span>\n <span\n v-clickoutside=\"handleMinTimeClose\"\n class=\"el-date-range-picker__time-picker-wrap\"\n >\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.startTime')\"\n :model-value=\"minVisibleTime\"\n @focus=\"minTimePickerVisible = true\"\n @input=\"(val) => handleTimeInput(val, 'min')\"\n @change=\"(val) => handleTimeChange(val, 'min')\"\n />\n <time-pick-panel\n :visible=\"minTimePickerVisible\"\n :format=\"timeFormat\"\n datetime-role=\"start\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"leftDate\"\n @pick=\"handleMinTimePick\"\n />\n </span>\n </span>\n <span>\n <el-icon><arrow-right /></el-icon>\n </span>\n <span class=\"el-date-range-picker__editors-wrap is-right\">\n <span class=\"el-date-range-picker__time-picker-wrap\">\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.endDate')\"\n :model-value=\"maxVisibleDate\"\n :readonly=\"!minDate\"\n @input=\"(val) => handleDateInput(val, 'max')\"\n @change=\"(val) => handleDateChange(val, 'max')\"\n />\n </span>\n <span\n v-clickoutside=\"handleMaxTimeClose\"\n class=\"el-date-range-picker__time-picker-wrap\"\n >\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.endTime')\"\n :model-value=\"maxVisibleTime\"\n :readonly=\"!minDate\"\n @focus=\"minDate && (maxTimePickerVisible = true)\"\n @input=\"(val) => handleTimeInput(val, 'max')\"\n @change=\"(val) => handleTimeChange(val, 'max')\"\n />\n <time-pick-panel\n datetime-role=\"end\"\n :visible=\"maxTimePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"rightDate\"\n @pick=\"handleMaxTimePick\"\n />\n </span>\n </span>\n </div>\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn arrow-left\"\n @click=\"leftPrevMonth\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableMonthArrow\"\n :class=\"{ 'is-disabled': !enableMonthArrow }\"\n class=\"el-picker-panel__icon-btn arrow-right\"\n @click=\"leftNextMonth\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <date-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableMonthArrow\"\n :class=\"{ 'is-disabled': !enableMonthArrow }\"\n class=\"el-picker-panel__icon-btn arrow-left\"\n @click=\"rightPrevMonth\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn arrow-right\"\n @click=\"rightNextMonth\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <date-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n <div v-if=\"showTime\" class=\"el-picker-panel__footer\">\n <el-button\n v-if=\"clearable\"\n size=\"mini\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"handleClear\"\n >\n {{ t('el.datepicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"mini\"\n class=\"el-picker-panel__link-btn\"\n :disabled=\"btnDisabled\"\n @click=\"handleConfirm(false)\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons'\nimport DateTable from './basic-date-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\nexport default defineComponent({\n directives: { clickoutside: ClickOutside },\n\n components: {\n TimePickPanel,\n DateTable,\n ElInput,\n ElButton,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n\n emits: ['pick', 'set-picker-option', 'calendar-change'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'month'))\n const minDate = ref(null)\n const maxDate = ref(null)\n const dateUserInput = ref({\n min: null,\n max: null,\n })\n\n const timeUserInput = ref({\n min: null,\n max: null,\n })\n\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')} ${t(\n `el.datepicker.month${leftDate.value.month() + 1}`\n )}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')} ${t(\n `el.datepicker.month${rightDate.value.month() + 1}`\n )}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const leftMonth = computed(() => {\n return leftDate.value.month()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year()\n })\n\n const rightMonth = computed(() => {\n return rightDate.value.month()\n })\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const minVisibleDate = computed(() => {\n if (dateUserInput.value.min !== null) return dateUserInput.value.min\n if (minDate.value) return minDate.value.format(dateFormat.value)\n return ''\n })\n\n const maxVisibleDate = computed(() => {\n if (dateUserInput.value.max !== null) return dateUserInput.value.max\n if (maxDate.value || minDate.value)\n return (maxDate.value || minDate.value).format(dateFormat.value)\n return ''\n })\n\n const minVisibleTime = computed(() => {\n if (timeUserInput.value.min !== null) return timeUserInput.value.min\n if (minDate.value) return minDate.value.format(timeFormat.value)\n return ''\n })\n\n const maxVisibleTime = computed(() => {\n if (timeUserInput.value.max !== null) return timeUserInput.value.max\n if (maxDate.value || minDate.value)\n return (maxDate.value || minDate.value).format(timeFormat.value)\n return ''\n })\n\n const timeFormat = computed(() => {\n return extractTimeFormat(format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(format)\n })\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = leftDate.value.add(1, 'month')\n }\n }\n\n const leftPrevMonth = () => {\n leftDate.value = leftDate.value.subtract(1, 'month')\n if (!props.unlinkPanels) {\n rightDate.value = leftDate.value.add(1, 'month')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n rightDate.value = leftDate.value.add(1, 'month')\n } else {\n rightDate.value = rightDate.value.add(1, 'year')\n }\n }\n\n const rightNextMonth = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'month')\n rightDate.value = leftDate.value.add(1, 'month')\n } else {\n rightDate.value = rightDate.value.add(1, 'month')\n }\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const leftNextMonth = () => {\n leftDate.value = leftDate.value.add(1, 'month')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n\n const rightPrevMonth = () => {\n rightDate.value = rightDate.value.subtract(1, 'month')\n }\n\n const enableMonthArrow = computed(() => {\n const nextMonth = (leftMonth.value + 1) % 12\n const yearOffset = leftMonth.value + 1 >= 12 ? 1 : 0\n return (\n props.unlinkPanels &&\n new Date(leftYear.value + yearOffset, nextMonth) <\n new Date(rightYear.value, rightMonth.value)\n )\n })\n\n const enableYearArrow = computed(() => {\n return (\n props.unlinkPanels &&\n rightYear.value * 12 +\n rightMonth.value -\n (leftYear.value * 12 + leftMonth.value + 1) >=\n 12\n )\n })\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const btnDisabled = computed(() => {\n return !(\n minDate.value &&\n maxDate.value &&\n !rangeState.value.selecting &&\n isValidValue([minDate.value, maxDate.value])\n )\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const formatEmit = (emitDayjs: Dayjs, index?) => {\n if (!emitDayjs) return\n if (defaultTime) {\n const defaultTimeD = dayjs(defaultTime[index] || defaultTime).locale(\n lang.value\n )\n return defaultTimeD\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n return emitDayjs\n }\n\n const handleRangePick = (val, close = true) => {\n const min_ = val.minDate\n const max_ = val.maxDate\n const minDate_ = formatEmit(min_, 0)\n const maxDate_ = formatEmit(max_, 1)\n\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n ctx.emit('calendar-change', [min_.toDate(), max_ && max_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close || showTime.value) return\n handleConfirm()\n }\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const minTimePickerVisible = ref(false)\n const maxTimePickerVisible = ref(false)\n\n const handleMinTimeClose = () => {\n minTimePickerVisible.value = false\n }\n\n const handleMaxTimeClose = () => {\n maxTimePickerVisible.value = false\n }\n\n const handleDateInput = (value, type) => {\n dateUserInput.value[type] = value\n const parsedValueD = dayjs(value, dateFormat.value).locale(lang.value)\n\n if (parsedValueD.isValid()) {\n if (disabledDate && disabledDate(parsedValueD.toDate())) {\n return\n }\n if (type === 'min') {\n leftDate.value = parsedValueD\n minDate.value = (minDate.value || leftDate.value)\n .year(parsedValueD.year())\n .month(parsedValueD.month())\n .date(parsedValueD.date())\n if (!props.unlinkPanels) {\n rightDate.value = parsedValueD.add(1, 'month')\n maxDate.value = minDate.value.add(1, 'month')\n }\n } else {\n rightDate.value = parsedValueD\n maxDate.value = (maxDate.value || rightDate.value)\n .year(parsedValueD.year())\n .month(parsedValueD.month())\n .date(parsedValueD.date())\n if (!props.unlinkPanels) {\n leftDate.value = parsedValueD.subtract(1, 'month')\n minDate.value = maxDate.value.subtract(1, 'month')\n }\n }\n }\n }\n\n const handleDateChange = (_, type) => {\n dateUserInput.value[type] = null\n }\n\n const handleTimeInput = (value, type) => {\n timeUserInput.value[type] = value\n const parsedValueD = dayjs(value, timeFormat.value).locale(lang.value)\n\n if (parsedValueD.isValid()) {\n if (type === 'min') {\n minTimePickerVisible.value = true\n minDate.value = (minDate.value || leftDate.value)\n .hour(parsedValueD.hour())\n .minute(parsedValueD.minute())\n .second(parsedValueD.second())\n if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {\n maxDate.value = minDate.value\n }\n } else {\n maxTimePickerVisible.value = true\n maxDate.value = (maxDate.value || rightDate.value)\n .hour(parsedValueD.hour())\n .minute(parsedValueD.minute())\n .second(parsedValueD.second())\n rightDate.value = maxDate.value\n if (maxDate.value && maxDate.value.isBefore(minDate.value)) {\n minDate.value = maxDate.value\n }\n }\n }\n }\n\n const handleTimeChange = (value, type) => {\n timeUserInput.value[type] = null\n if (type === 'min') {\n leftDate.value = minDate.value\n minTimePickerVisible.value = false\n } else {\n rightDate.value = maxDate.value\n maxTimePickerVisible.value = false\n }\n }\n\n const handleMinTimePick = (value, visible, first) => {\n if (timeUserInput.value.min) return\n if (value) {\n leftDate.value = value\n minDate.value = (minDate.value || leftDate.value)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n }\n\n if (!first) {\n minTimePickerVisible.value = visible\n }\n\n if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {\n maxDate.value = minDate.value\n rightDate.value = value\n }\n }\n\n const handleMaxTimePick = (value, visible, first) => {\n if (timeUserInput.value.max) return\n if (value) {\n rightDate.value = value\n maxDate.value = (maxDate.value || rightDate.value)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n }\n\n if (!first) {\n maxTimePickerVisible.value = visible\n }\n\n if (maxDate.value && maxDate.value.isBefore(minDate.value)) {\n minDate.value = maxDate.value\n }\n }\n\n const handleClear = () => {\n leftDate.value = getDefaultValue()[0]\n rightDate.value = leftDate.value.add(1, 'month')\n ctx.emit('pick', null)\n }\n\n const formatToString = (value: Dayjs | Dayjs[]) => {\n return Array.isArray(value)\n ? value.map((_) => _.format(format))\n : value.format(format)\n }\n\n const parseUserInput = (value: Dayjs | Dayjs[]) => {\n return Array.isArray(value)\n ? value.map((_) => dayjs(_, format).locale(lang.value))\n : dayjs(value, format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'month')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n\n start = start.locale(lang.value)\n return [start, start.add(1, 'month')]\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['handleClear', handleClear])\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n format,\n defaultTime,\n defaultValue,\n arrowControl,\n clearable,\n } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const minDateMonth = minDate.value.month()\n const maxDateYear = maxDate.value.year()\n const maxDateMonth = maxDate.value.month()\n rightDate.value =\n minDateYear === maxDateYear && minDateMonth === maxDateMonth\n ? maxDate.value.add(1, 'month')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'month')\n if (maxDate.value) {\n rightDate.value = rightDate.value\n .hour(maxDate.value.hour())\n .minute(maxDate.value.minute())\n .second(maxDate.value.second())\n }\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = null\n maxDate.value = null\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n cellClassName,\n minTimePickerVisible,\n maxTimePickerVisible,\n handleMinTimeClose,\n handleMaxTimeClose,\n handleShortcutClick,\n rangeState,\n minDate,\n maxDate,\n handleRangePick,\n onSelect,\n handleChangeRange,\n btnDisabled,\n enableYearArrow,\n enableMonthArrow,\n rightPrevMonth,\n rightPrevYear,\n rightNextMonth,\n rightNextYear,\n leftPrevMonth,\n leftPrevYear,\n leftNextMonth,\n leftNextYear,\n hasShortcuts,\n leftLabel,\n rightLabel,\n leftDate,\n rightDate,\n showTime,\n t,\n minVisibleDate,\n maxVisibleDate,\n minVisibleTime,\n maxVisibleTime,\n arrowControl,\n handleDateInput,\n handleDateChange,\n handleTimeInput,\n handleTimeChange,\n handleMinTimePick,\n handleMaxTimePick,\n handleClear,\n handleConfirm,\n timeFormat,\n clearable,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel-date-range.vue_vue&type=template&id=62b45ab2&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-range.vue?vue&type=template&id=62b45ab2&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-range-picker__time-header\">\n <span class=\"el-date-range-picker__editors-wrap\">\n <span class=\"el-date-range-picker__time-picker-wrap\">\n <el-input\n size=\"small\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.startDate')\"\n class=\"el-date-range-picker__editor\"\n :model-value=\"minVisibleDate\"\n @input=\"(val) => handleDateInput(val, 'min')\"\n @change=\"(val) => handleDateChange(val, 'min')\"\n />\n </span>\n <span\n v-clickoutside=\"handleMinTimeClose\"\n class=\"el-date-range-picker__time-picker-wrap\"\n >\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.startTime')\"\n :model-value=\"minVisibleTime\"\n @focus=\"minTimePickerVisible = true\"\n @input=\"(val) => handleTimeInput(val, 'min')\"\n @change=\"(val) => handleTimeChange(val, 'min')\"\n />\n <time-pick-panel\n :visible=\"minTimePickerVisible\"\n :format=\"timeFormat\"\n datetime-role=\"start\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"leftDate\"\n @pick=\"handleMinTimePick\"\n />\n </span>\n </span>\n <span>\n <el-icon><arrow-right /></el-icon>\n </span>\n <span class=\"el-date-range-picker__editors-wrap is-right\">\n <span class=\"el-date-range-picker__time-picker-wrap\">\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.endDate')\"\n :model-value=\"maxVisibleDate\"\n :readonly=\"!minDate\"\n @input=\"(val) => handleDateInput(val, 'max')\"\n @change=\"(val) => handleDateChange(val, 'max')\"\n />\n </span>\n <span\n v-clickoutside=\"handleMaxTimeClose\"\n class=\"el-date-range-picker__time-picker-wrap\"\n >\n <el-input\n size=\"small\"\n class=\"el-date-range-picker__editor\"\n :disabled=\"rangeState.selecting\"\n :placeholder=\"t('el.datepicker.endTime')\"\n :model-value=\"maxVisibleTime\"\n :readonly=\"!minDate\"\n @focus=\"minDate && (maxTimePickerVisible = true)\"\n @input=\"(val) => handleTimeInput(val, 'max')\"\n @change=\"(val) => handleTimeChange(val, 'max')\"\n />\n <time-pick-panel\n datetime-role=\"end\"\n :visible=\"maxTimePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"rightDate\"\n @pick=\"handleMaxTimePick\"\n />\n </span>\n </span>\n </div>\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn arrow-left\"\n @click=\"leftPrevMonth\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableMonthArrow\"\n :class=\"{ 'is-disabled': !enableMonthArrow }\"\n class=\"el-picker-panel__icon-btn arrow-right\"\n @click=\"leftNextMonth\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <date-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableMonthArrow\"\n :class=\"{ 'is-disabled': !enableMonthArrow }\"\n class=\"el-picker-panel__icon-btn arrow-left\"\n @click=\"rightPrevMonth\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn arrow-right\"\n @click=\"rightNextMonth\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <date-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n <div v-if=\"showTime\" class=\"el-picker-panel__footer\">\n <el-button\n v-if=\"clearable\"\n size=\"mini\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"handleClear\"\n >\n {{ t('el.datepicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"mini\"\n class=\"el-picker-panel__link-btn\"\n :disabled=\"btnDisabled\"\n @click=\"handleConfirm(false)\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport ElIcon from '@element-plus/components/icon'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons'\nimport DateTable from './basic-date-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\nexport default defineComponent({\n directives: { clickoutside: ClickOutside },\n\n components: {\n TimePickPanel,\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n\n emits: ['pick', 'set-picker-option', 'calendar-change'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'month'))\n const minDate = ref(null)\n const maxDate = ref(null)\n const dateUserInput = ref({\n min: null,\n max: null,\n })\n\n const timeUserInput = ref({\n min: null,\n max: null,\n })\n\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')} ${t(\n `el.datepicker.month${leftDate.value.month() + 1}`\n )}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')} ${t(\n `el.datepicker.month${rightDate.value.month() + 1}`\n )}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const leftMonth = computed(() => {\n return leftDate.value.month()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year()\n })\n\n const rightMonth = computed(() => {\n return rightDate.value.month()\n })\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const minVisibleDate = computed(() => {\n if (dateUserInput.value.min !== null) return dateUserInput.value.min\n if (minDate.value) return minDate.value.format(dateFormat.value)\n return ''\n })\n\n const maxVisibleDate = computed(() => {\n if (dateUserInput.value.max !== null) return dateUserInput.value.max\n if (maxDate.value || minDate.value)\n return (maxDate.value || minDate.value).format(dateFormat.value)\n return ''\n })\n\n const minVisibleTime = computed(() => {\n if (timeUserInput.value.min !== null) return timeUserInput.value.min\n if (minDate.value) return minDate.value.format(timeFormat.value)\n return ''\n })\n\n const maxVisibleTime = computed(() => {\n if (timeUserInput.value.max !== null) return timeUserInput.value.max\n if (maxDate.value || minDate.value)\n return (maxDate.value || minDate.value).format(timeFormat.value)\n return ''\n })\n\n const timeFormat = computed(() => {\n return extractTimeFormat(format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(format)\n })\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = leftDate.value.add(1, 'month')\n }\n }\n\n const leftPrevMonth = () => {\n leftDate.value = leftDate.value.subtract(1, 'month')\n if (!props.unlinkPanels) {\n rightDate.value = leftDate.value.add(1, 'month')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n rightDate.value = leftDate.value.add(1, 'month')\n } else {\n rightDate.value = rightDate.value.add(1, 'year')\n }\n }\n\n const rightNextMonth = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'month')\n rightDate.value = leftDate.value.add(1, 'month')\n } else {\n rightDate.value = rightDate.value.add(1, 'month')\n }\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const leftNextMonth = () => {\n leftDate.value = leftDate.value.add(1, 'month')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n\n const rightPrevMonth = () => {\n rightDate.value = rightDate.value.subtract(1, 'month')\n }\n\n const enableMonthArrow = computed(() => {\n const nextMonth = (leftMonth.value + 1) % 12\n const yearOffset = leftMonth.value + 1 >= 12 ? 1 : 0\n return (\n props.unlinkPanels &&\n new Date(leftYear.value + yearOffset, nextMonth) <\n new Date(rightYear.value, rightMonth.value)\n )\n })\n\n const enableYearArrow = computed(() => {\n return (\n props.unlinkPanels &&\n rightYear.value * 12 +\n rightMonth.value -\n (leftYear.value * 12 + leftMonth.value + 1) >=\n 12\n )\n })\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const btnDisabled = computed(() => {\n return !(\n minDate.value &&\n maxDate.value &&\n !rangeState.value.selecting &&\n isValidValue([minDate.value, maxDate.value])\n )\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const formatEmit = (emitDayjs: Dayjs, index?) => {\n if (!emitDayjs) return\n if (defaultTime) {\n const defaultTimeD = dayjs(defaultTime[index] || defaultTime).locale(\n lang.value\n )\n return defaultTimeD\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n return emitDayjs\n }\n\n const handleRangePick = (val, close = true) => {\n const min_ = val.minDate\n const max_ = val.maxDate\n const minDate_ = formatEmit(min_, 0)\n const maxDate_ = formatEmit(max_, 1)\n\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n ctx.emit('calendar-change', [min_.toDate(), max_ && max_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close || showTime.value) return\n handleConfirm()\n }\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const minTimePickerVisible = ref(false)\n const maxTimePickerVisible = ref(false)\n\n const handleMinTimeClose = () => {\n minTimePickerVisible.value = false\n }\n\n const handleMaxTimeClose = () => {\n maxTimePickerVisible.value = false\n }\n\n const handleDateInput = (value, type) => {\n dateUserInput.value[type] = value\n const parsedValueD = dayjs(value, dateFormat.value).locale(lang.value)\n\n if (parsedValueD.isValid()) {\n if (disabledDate && disabledDate(parsedValueD.toDate())) {\n return\n }\n if (type === 'min') {\n leftDate.value = parsedValueD\n minDate.value = (minDate.value || leftDate.value)\n .year(parsedValueD.year())\n .month(parsedValueD.month())\n .date(parsedValueD.date())\n if (!props.unlinkPanels) {\n rightDate.value = parsedValueD.add(1, 'month')\n maxDate.value = minDate.value.add(1, 'month')\n }\n } else {\n rightDate.value = parsedValueD\n maxDate.value = (maxDate.value || rightDate.value)\n .year(parsedValueD.year())\n .month(parsedValueD.month())\n .date(parsedValueD.date())\n if (!props.unlinkPanels) {\n leftDate.value = parsedValueD.subtract(1, 'month')\n minDate.value = maxDate.value.subtract(1, 'month')\n }\n }\n }\n }\n\n const handleDateChange = (_, type) => {\n dateUserInput.value[type] = null\n }\n\n const handleTimeInput = (value, type) => {\n timeUserInput.value[type] = value\n const parsedValueD = dayjs(value, timeFormat.value).locale(lang.value)\n\n if (parsedValueD.isValid()) {\n if (type === 'min') {\n minTimePickerVisible.value = true\n minDate.value = (minDate.value || leftDate.value)\n .hour(parsedValueD.hour())\n .minute(parsedValueD.minute())\n .second(parsedValueD.second())\n if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {\n maxDate.value = minDate.value\n }\n } else {\n maxTimePickerVisible.value = true\n maxDate.value = (maxDate.value || rightDate.value)\n .hour(parsedValueD.hour())\n .minute(parsedValueD.minute())\n .second(parsedValueD.second())\n rightDate.value = maxDate.value\n if (maxDate.value && maxDate.value.isBefore(minDate.value)) {\n minDate.value = maxDate.value\n }\n }\n }\n }\n\n const handleTimeChange = (value, type) => {\n timeUserInput.value[type] = null\n if (type === 'min') {\n leftDate.value = minDate.value\n minTimePickerVisible.value = false\n } else {\n rightDate.value = maxDate.value\n maxTimePickerVisible.value = false\n }\n }\n\n const handleMinTimePick = (value, visible, first) => {\n if (timeUserInput.value.min) return\n if (value) {\n leftDate.value = value\n minDate.value = (minDate.value || leftDate.value)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n }\n\n if (!first) {\n minTimePickerVisible.value = visible\n }\n\n if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {\n maxDate.value = minDate.value\n rightDate.value = value\n }\n }\n\n const handleMaxTimePick = (value, visible, first) => {\n if (timeUserInput.value.max) return\n if (value) {\n rightDate.value = value\n maxDate.value = (maxDate.value || rightDate.value)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n }\n\n if (!first) {\n maxTimePickerVisible.value = visible\n }\n\n if (maxDate.value && maxDate.value.isBefore(minDate.value)) {\n minDate.value = maxDate.value\n }\n }\n\n const handleClear = () => {\n leftDate.value = getDefaultValue()[0]\n rightDate.value = leftDate.value.add(1, 'month')\n ctx.emit('pick', null)\n }\n\n const formatToString = (value: Dayjs | Dayjs[]) => {\n return Array.isArray(value)\n ? value.map((_) => _.format(format))\n : value.format(format)\n }\n\n const parseUserInput = (value: Dayjs | Dayjs[]) => {\n return Array.isArray(value)\n ? value.map((_) => dayjs(_, format).locale(lang.value))\n : dayjs(value, format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'month')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n\n start = start.locale(lang.value)\n return [start, start.add(1, 'month')]\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['handleClear', handleClear])\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n format,\n defaultTime,\n defaultValue,\n arrowControl,\n clearable,\n } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const minDateMonth = minDate.value.month()\n const maxDateYear = maxDate.value.year()\n const maxDateMonth = maxDate.value.month()\n rightDate.value =\n minDateYear === maxDateYear && minDateMonth === maxDateMonth\n ? maxDate.value.add(1, 'month')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'month')\n if (maxDate.value) {\n rightDate.value = rightDate.value\n .hour(maxDate.value.hour())\n .minute(maxDate.value.minute())\n .second(maxDate.value.second())\n }\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = null\n maxDate.value = null\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n cellClassName,\n minTimePickerVisible,\n maxTimePickerVisible,\n handleMinTimeClose,\n handleMaxTimeClose,\n handleShortcutClick,\n rangeState,\n minDate,\n maxDate,\n handleRangePick,\n onSelect,\n handleChangeRange,\n btnDisabled,\n enableYearArrow,\n enableMonthArrow,\n rightPrevMonth,\n rightPrevYear,\n rightNextMonth,\n rightNextYear,\n leftPrevMonth,\n leftPrevYear,\n leftNextMonth,\n leftNextYear,\n hasShortcuts,\n leftLabel,\n rightLabel,\n leftDate,\n rightDate,\n showTime,\n t,\n minVisibleDate,\n maxVisibleDate,\n minVisibleTime,\n maxVisibleTime,\n arrowControl,\n handleDateInput,\n handleDateChange,\n handleTimeInput,\n handleTimeChange,\n handleMinTimePick,\n handleMaxTimePick,\n handleClear,\n handleConfirm,\n timeFormat,\n clearable,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":"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"}
|
package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue&type=script&lang.js
CHANGED
|
@@ -4,18 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var dayjs = require('dayjs');
|
|
7
|
+
var index = require('../../../icon/index.js');
|
|
7
8
|
require('../../../../hooks/index.js');
|
|
8
9
|
var icons = require('@element-plus/icons');
|
|
9
10
|
require('./basic-month-table.js');
|
|
10
11
|
var basicMonthTable_vue_vue_type_script_lang = require('./basic-month-table.vue_vue&type=script&lang.js');
|
|
11
|
-
var index = require('../../../../hooks/use-locale/index.js');
|
|
12
|
+
var index$1 = require('../../../../hooks/use-locale/index.js');
|
|
12
13
|
|
|
13
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
15
|
|
|
15
16
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
16
17
|
|
|
17
18
|
var script = vue.defineComponent({
|
|
18
|
-
components: { MonthTable: basicMonthTable_vue_vue_type_script_lang["default"], DArrowLeft: icons.DArrowLeft, DArrowRight: icons.DArrowRight },
|
|
19
|
+
components: { MonthTable: basicMonthTable_vue_vue_type_script_lang["default"], ElIcon: index.ElIcon, DArrowLeft: icons.DArrowLeft, DArrowRight: icons.DArrowRight },
|
|
19
20
|
props: {
|
|
20
21
|
unlinkPanels: Boolean,
|
|
21
22
|
parsedValue: {
|
|
@@ -24,7 +25,7 @@ var script = vue.defineComponent({
|
|
|
24
25
|
},
|
|
25
26
|
emits: ["pick", "set-picker-option"],
|
|
26
27
|
setup(props, ctx) {
|
|
27
|
-
const { t, lang } = index.useLocaleInject();
|
|
28
|
+
const { t, lang } = index$1.useLocaleInject();
|
|
28
29
|
const leftDate = vue.ref(dayjs__default["default"]().locale(lang.value));
|
|
29
30
|
const rightDate = vue.ref(dayjs__default["default"]().locale(lang.value).add(1, "year"));
|
|
30
31
|
const hasShortcuts = vue.computed(() => !!shortcuts.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-month-range.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format, defaultValue } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","MonthTable","DArrowLeft","DArrowRight","useLocaleInject","ref","dayjs","computed","inject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel-month-range.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, ElIcon, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format, defaultValue } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","MonthTable","ElIcon","DArrowLeft","DArrowRight","useLocaleInject","ref","dayjs","computed","inject"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-month-range.vue_vue&type=template&id=2e377892&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue?vue&type=template&id=2e377892&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format, defaultValue } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot","_createVNode"],"mappings":";;;;;;qBASS,OAAM;;;EAEgB,OAAM;AAAA;;qBAW1B,OAAM;qBAEP,OAAM;qBAED,OAAM;;qBAiCX,OAAM;qBAMD,OAAM;;;;;;;0BAhEnBA;IACE,2BAAM;;;;;;IAONC,8BAAA;MACEC,yCAAqB,OAAM;AAAA,MAChB,sCAAXF,8BAAA;8BACEA,0DAC4B,iBAAlB,UAAU;kCADpBA;YAEG;AAAA,YACD,MAAK;AAAA,YACL,OAAM;AAAA,YACL,qBAAO,yBAAoB;AAAA,iCAEzB,SAAS;;;MAGhBC,8BAAA;QACEA,8BAAA;UAGEA,8BAAA;YACEA;cACE,MAAK;AAAA,cACL,OAAM;AAAA,cACL,gDAAO;;cAERE;qCAAS;kBAAAA,gBAAgB;AAAA;AAAA;;;YAGnB,sCADRH;;cAEE,MAAK;AAAA,cACJ,WAAW;cACX,6CAAyB,wBACpB;AAAA,cACL,gDAAO;;cAERG;qCAAS;kBAAAA,gBAAiB;AAAA;AAAA;;;YAE5BF,wDAAQ;;UAEVE;YACE,kBAAe;AAAA,YACd,MAAM;YACN,YAAU;YACV,YAAU;YACV,eAAa;YACb,iBAAe;YACf,eAAa;YACb,QAAM;YACN,UAAQ;;;QAGbF,8BAAA;UAOEA,8BAAA;YAEU,sCADRD;;cAEE,MAAK;AAAA,cACJ,WAAW;cACX,6CAAyB,wBACpB;AAAA,cACL,gDAAO;;cAERG;qCAAS;kBAAAA,gBAAgB;AAAA;AAAA;;;YAE3BF;cACE,MAAK;AAAA,cACL,OAAM;AAAA,cACL,gDAAO;;cAERE;qCAAS;kBAAAA,gBAAiB;AAAA;AAAA;;;YAE5BF,wDAAQ;;UAEVE;YACE,kBAAe;AAAA,YACd,MAAM;YACN,YAAU;YACV,YAAU;YACV,eAAa;YACb,iBAAe;YACf,eAAa;YACb,QAAM;YACN,UAAQ;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"panel-month-range.vue_vue&type=template&id=2e377892&lang.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue?vue&type=template&id=2e377892&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"\n el-picker-panel__content\n el-date-range-picker__content\n is-right\n \"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocaleInject } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, ElIcon, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocaleInject()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue)) {\n const left = dayjs(defaultValue[0])\n let right = dayjs(defaultValue[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format, defaultValue } = pickerBase.props\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_renderSlot","_createVNode"],"mappings":";;;;;;qBASS,OAAM;;;EAEgB,OAAM;AAAA;;qBAW1B,OAAM;qBAEP,OAAM;qBAED,OAAM;;qBAiCX,OAAM;qBAMD,OAAM;;;;;;;0BAhEnBA;IACE,2BAAM;;;;;;IAONC,8BAAA;MACEC,yCAAqB,OAAM;AAAA,MAChB,sCAAXF,8BAAA;8BACEA,0DAC4B,iBAAlB,UAAU;kCADpBA;YAEG;AAAA,YACD,MAAK;AAAA,YACL,OAAM;AAAA,YACL,qBAAO,yBAAoB;AAAA,iCAEzB,SAAS;;;MAGhBC,8BAAA;QACEA,8BAAA;UAGEA,8BAAA;YACEA;cACE,MAAK;AAAA,cACL,OAAM;AAAA,cACL,gDAAO;;cAERE;qCAAS;kBAAAA,gBAAgB;AAAA;AAAA;;;YAGnB,sCADRH;;cAEE,MAAK;AAAA,cACJ,WAAW;cACX,6CAAyB,wBACpB;AAAA,cACL,gDAAO;;cAERG;qCAAS;kBAAAA,gBAAiB;AAAA;AAAA;;;YAE5BF,wDAAQ;;UAEVE;YACE,kBAAe;AAAA,YACd,MAAM;YACN,YAAU;YACV,YAAU;YACV,eAAa;YACb,iBAAe;YACf,eAAa;YACb,QAAM;YACN,UAAQ;;;QAGbF,8BAAA;UAOEA,8BAAA;YAEU,sCADRD;;cAEE,MAAK;AAAA,cACJ,WAAW;cACX,6CAAyB,wBACpB;AAAA,cACL,gDAAO;;cAERG;qCAAS;kBAAAA,gBAAgB;AAAA;AAAA;;;YAE3BF;cACE,MAAK;AAAA,cACL,OAAM;AAAA,cACL,gDAAO;;cAERE;qCAAS;kBAAAA,gBAAiB;AAAA;AAAA;;;YAE5BF,wDAAQ;;UAEVE;YACE,kBAAe;AAAA,YACd,MAAM;YACN,YAAU;YACV,YAAU;YACV,eAAa;YACb,iBAAe;YACf,eAAa;YACb,QAAM;YACN,UAAQ;;;;;;;;;;"}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var index = require('../../icon/index.js');
|
|
6
7
|
var props = require('../../../utils/props.js');
|
|
7
8
|
var useDropdown = require('./useDropdown.js');
|
|
8
9
|
|
|
9
10
|
var script = vue.defineComponent({
|
|
10
11
|
name: "ElDropdownItem",
|
|
12
|
+
components: { ElIcon: index.ElIcon },
|
|
11
13
|
props: props.buildProps({
|
|
12
14
|
command: {
|
|
13
15
|
type: [Object, String, Number],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.vue_vue&type=script&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <li\n class=\"el-dropdown-menu__item\"\n :class=\"{\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? null : -1\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot></slot>\n </li>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useDropdown } from './useDropdown'\nimport type { Component } from 'vue'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n props: buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n icon: {\n type: definePropType<string | Component>([String, Object]),\n },\n } as const),\n setup(props) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n\n function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown.hideOnClick.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n\n return {\n handleClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","buildProps","definePropType","useDropdown","getCurrentInstance"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dropdown-item.vue_vue&type=script&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <li\n class=\"el-dropdown-menu__item\"\n :class=\"{\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? null : -1\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot></slot>\n </li>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useDropdown } from './useDropdown'\nimport type { Component } from 'vue'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: { ElIcon },\n props: buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n icon: {\n type: definePropType<string | Component>([String, Object]),\n },\n } as const),\n setup(props) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n\n function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown.hideOnClick.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n\n return {\n handleClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","buildProps","definePropType","useDropdown","getCurrentInstance"],"mappings":";;;;;;;;;AAsBA,aAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,UAAEC;AAAA,EACd,OAAOC,iBAAW;AAAA,IAChB,SAAS;AAAA,MACP,MAAM,CAAC,QAAQ,QAAQ;AAAA,MACvB,SAAS;AAAO;AAAA,IAElB,UAAU;AAAA,IACV,SAAS;AAAA,IACT,MAAM;AAAA,MACJ,MAAMC,qBAAmC,CAAC,QAAQ;AAAA;AAAA;AAAA,EAGtD,MAAM,OAAO;AACX,UAAM,EAAE,eAAeC;AACvB,UAAM,YAAYC;AAElB,yBAAqB,GAAY;;AAE/B,UAAI,MAAM,UAAU;AAClB,UAAE;AACF;AAAA;AAEF,UAAI,WAAW,YAAY,OAAO;AAChC,yBAAW,gBAAX;AAAA;AAEF,uBAAW,mBAAX,oCAA4B,MAAM,SAAS,WAAW;AAAA;AAGxD,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;;"}
|
package/lib/components/dropdown/src/dropdown-item.vue_vue&type=template&id=396ed16b&lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.vue_vue&type=template&id=396ed16b&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"sourcesContent":["<template>\n <li\n class=\"el-dropdown-menu__item\"\n :class=\"{\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? null : -1\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot></slot>\n </li>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useDropdown } from './useDropdown'\nimport type { Component } from 'vue'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n props: buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n icon: {\n type: definePropType<string | Component>([String, Object]),\n },\n } as const),\n setup(props) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n\n function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown.hideOnClick.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n\n return {\n handleClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;0BACEA;IACE,2BAAM;;;;IAKL,iBAAe;IACf,UAAU;IACV,gDAAO;;IAEO,8BAAfC;2BAAqB;0BAAAA,gBAAwBC,4BAAR;;;;IACrCC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"dropdown-item.vue_vue&type=template&id=396ed16b&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"sourcesContent":["<template>\n <li\n class=\"el-dropdown-menu__item\"\n :class=\"{\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? null : -1\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot></slot>\n </li>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useDropdown } from './useDropdown'\nimport type { Component } from 'vue'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: { ElIcon },\n props: buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n icon: {\n type: definePropType<string | Component>([String, Object]),\n },\n } as const),\n setup(props) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n\n function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown.hideOnClick.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n\n return {\n handleClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;0BACEA;IACE,2BAAM;;;;IAKL,iBAAe;IACf,UAAU;IACV,gDAAO;;IAEO,8BAAfC;2BAAqB;0BAAAA,gBAAwBC,4BAAR;;;;IACrCC;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.vue_vue&type=script&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div\n :class=\"[\n 'el-dropdown',\n dropdownSize ? 'el-dropdown--' + dropdownSize : '',\n ]\"\n >\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons'\nimport { useDropdown } from './useDropdown'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, ComponentPublicInstance } from 'vue'\nimport type { TriggerType } from '@element-plus/hooks/use-popper/use-target-events'\nimport type { ButtonType } from '@element-plus/components/button/src/types'\n\ntype Nullable<T> = null | T\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElPopper,\n ElIcon,\n ArrowDown,\n },\n props: {\n trigger: {\n type: String as PropType<TriggerType | 'contextmenu'>,\n default: 'hover',\n },\n type: String as PropType<ButtonType>,\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom',\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: [Number, String],\n default: 0,\n },\n effect: {\n type: String as PropType<Effect>,\n default: Effect.LIGHT,\n },\n maxHeight: {\n type: [Number, String],\n default: '',\n },\n },\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const { ELEMENT } = useDropdown()\n\n const timeout = ref<Nullable<number>>(null)\n\n const visible = ref(false)\n const scrollbar = ref(null)\n const wrapStyle = computed(() => `max-height: ${addUnit(props.maxHeight)}`)\n\n watch(\n () => visible.value,\n (val) => {\n if (val) triggerElmFocus()\n if (!val) triggerElmBlur()\n emit('visible-change', val)\n }\n )\n\n const focusing = ref(false)\n watch(\n () => focusing.value,\n (val) => {\n const selfDefine = triggerElm.value\n if (selfDefine) {\n if (val) {\n addClass(selfDefine, 'focusing')\n } else {\n removeClass(selfDefine, 'focusing')\n }\n }\n }\n )\n\n const triggerVnode = ref<Nullable<ComponentPublicInstance>>(null)\n const triggerElm = computed<Nullable<HTMLButtonElement>>(() => {\n const _: any = (triggerVnode.value?.$refs.triggerRef as HTMLElement)\n ?.children[0]\n return !props.splitButton ? _ : _?.children?.[1]\n })\n\n function handleClick() {\n if (triggerElm.value?.disabled) return\n if (visible.value) {\n hide()\n } else {\n show()\n }\n }\n\n function show() {\n if (triggerElm.value?.disabled) return\n timeout.value && clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = true\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.showTimeout\n )\n }\n\n function hide() {\n if (triggerElm.value?.disabled) return\n removeTabindex()\n if (props.tabindex >= 0) {\n resetTabindex(triggerElm.value)\n }\n clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = false\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.hideTimeout\n )\n }\n\n function removeTabindex() {\n triggerElm.value?.setAttribute('tabindex', '-1')\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function triggerElmFocus() {\n triggerElm.value?.focus?.()\n }\n\n function triggerElmBlur() {\n triggerElm.value?.blur?.()\n }\n\n const dropdownSize = computed(() => props.size || ELEMENT.size)\n\n function commandHandler(...args) {\n emit('command', ...args)\n }\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n show,\n hide,\n trigger: computed(() => props.trigger),\n hideOnClick: computed(() => props.hideOnClick),\n triggerElm,\n })\n\n onMounted(() => {\n if (!props.splitButton) {\n on(triggerElm.value, 'focus', () => {\n focusing.value = true\n })\n on(triggerElm.value, 'blur', () => {\n focusing.value = false\n })\n on(triggerElm.value, 'click', () => {\n focusing.value = false\n })\n }\n if (props.trigger === 'hover') {\n on(triggerElm.value, 'mouseenter', show)\n on(triggerElm.value, 'mouseleave', hide)\n } else if (props.trigger === 'click') {\n on(triggerElm.value, 'click', handleClick)\n } else if (props.trigger === 'contextmenu') {\n on(triggerElm.value, 'contextmenu', (e) => {\n e.preventDefault()\n handleClick()\n })\n }\n\n Object.assign(_instance, {\n handleClick,\n hide,\n resetTabindex,\n })\n })\n\n const handlerMainButtonClick = (event) => {\n emit('click', event)\n hide()\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownSize,\n handlerMainButtonClick,\n triggerVnode,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElPopper","ElIcon","ArrowDown","Effect","getCurrentInstance","useDropdown","ref","computed","addUnit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.vue_vue&type=script&lang.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-popper\n ref=\"triggerVnode\"\n v-model:visible=\"visible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n pure\n :manual-mode=\"true\"\n :trigger=\"[trigger]\"\n popper-class=\"el-dropdown__popper\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n >\n <template #default>\n <el-scrollbar\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-style=\"wrapStyle\"\n view-class=\"el-dropdown__list\"\n >\n <slot name=\"dropdown\"></slot>\n </el-scrollbar>\n </template>\n <template #trigger>\n <div :class=\"[dropdownSize ? 'el-dropdown--' + dropdownSize : '']\">\n <slot v-if=\"!splitButton\" name=\"default\"></slot>\n <template v-else>\n <el-button-group>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\"></slot>\n </el-button>\n <el-button\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n </template>\n </el-popper>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n getCurrentInstance,\n ref,\n computed,\n watch,\n onMounted,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { on, addClass, removeClass } from '@element-plus/utils/dom'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons'\nimport { useDropdown } from './useDropdown'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, ComponentPublicInstance } from 'vue'\nimport type { TriggerType } from '@element-plus/hooks/use-popper/use-target-events'\nimport type { ButtonType } from '@element-plus/components/button/src/types'\n\ntype Nullable<T> = null | T\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElPopper,\n ElIcon,\n ArrowDown,\n },\n props: {\n trigger: {\n type: String as PropType<TriggerType | 'contextmenu'>,\n default: 'hover',\n },\n type: String as PropType<ButtonType>,\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom',\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: [Number, String],\n default: 0,\n },\n effect: {\n type: String as PropType<Effect>,\n default: Effect.LIGHT,\n },\n maxHeight: {\n type: [Number, String],\n default: '',\n },\n },\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const { ELEMENT } = useDropdown()\n\n const timeout = ref<Nullable<number>>(null)\n\n const visible = ref(false)\n const scrollbar = ref(null)\n const wrapStyle = computed(() => `max-height: ${addUnit(props.maxHeight)}`)\n\n watch(\n () => visible.value,\n (val) => {\n if (val) triggerElmFocus()\n if (!val) triggerElmBlur()\n emit('visible-change', val)\n }\n )\n\n const focusing = ref(false)\n watch(\n () => focusing.value,\n (val) => {\n const selfDefine = triggerElm.value\n if (selfDefine) {\n if (val) {\n addClass(selfDefine, 'focusing')\n } else {\n removeClass(selfDefine, 'focusing')\n }\n }\n }\n )\n\n const triggerVnode = ref<Nullable<ComponentPublicInstance>>(null)\n const triggerElm = computed<Nullable<HTMLButtonElement>>(() => {\n const _: any = (triggerVnode.value?.$refs.triggerRef as HTMLElement)\n ?.children[0]\n return !props.splitButton ? _ : _?.children?.[1]\n })\n\n function handleClick() {\n if (triggerElm.value?.disabled) return\n if (visible.value) {\n hide()\n } else {\n show()\n }\n }\n\n function show() {\n if (triggerElm.value?.disabled) return\n timeout.value && clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = true\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.showTimeout\n )\n }\n\n function hide() {\n if (triggerElm.value?.disabled) return\n removeTabindex()\n if (props.tabindex >= 0) {\n resetTabindex(triggerElm.value)\n }\n clearTimeout(timeout.value)\n timeout.value = window.setTimeout(\n () => {\n visible.value = false\n },\n ['click', 'contextmenu'].includes(props.trigger) ? 0 : props.hideTimeout\n )\n }\n\n function removeTabindex() {\n triggerElm.value?.setAttribute('tabindex', '-1')\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function triggerElmFocus() {\n triggerElm.value?.focus?.()\n }\n\n function triggerElmBlur() {\n triggerElm.value?.blur?.()\n }\n\n const dropdownSize = computed(() => props.size || ELEMENT.size)\n\n function commandHandler(...args) {\n emit('command', ...args)\n }\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n show,\n hide,\n trigger: computed(() => props.trigger),\n hideOnClick: computed(() => props.hideOnClick),\n triggerElm,\n })\n\n onMounted(() => {\n if (!props.splitButton) {\n on(triggerElm.value, 'focus', () => {\n focusing.value = true\n })\n on(triggerElm.value, 'blur', () => {\n focusing.value = false\n })\n on(triggerElm.value, 'click', () => {\n focusing.value = false\n })\n }\n if (props.trigger === 'hover') {\n on(triggerElm.value, 'mouseenter', show)\n on(triggerElm.value, 'mouseleave', hide)\n } else if (props.trigger === 'click') {\n on(triggerElm.value, 'click', handleClick)\n } else if (props.trigger === 'contextmenu') {\n on(triggerElm.value, 'contextmenu', (e) => {\n e.preventDefault()\n handleClick()\n })\n }\n\n Object.assign(_instance, {\n handleClick,\n hide,\n resetTabindex,\n })\n })\n\n const handlerMainButtonClick = (event) => {\n emit('click', event)\n hide()\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownSize,\n handlerMainButtonClick,\n triggerVnode,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElPopper","ElIcon","ArrowDown","Effect","getCurrentInstance","useDropdown","ref","computed","addUnit"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
|
|
7
|
+
const _hoisted_1 = { class: "el-dropdown" };
|
|
7
8
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
8
9
|
const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
|
|
9
10
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
@@ -11,76 +12,75 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
11
12
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
12
13
|
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
13
14
|
const _component_el_popper = vue.resolveComponent("el-popper");
|
|
14
|
-
return vue.openBlock(), vue.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
vue.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
vue.renderSlot(_ctx.$slots, "dropdown")
|
|
39
|
-
]),
|
|
40
|
-
_: 3
|
|
41
|
-
}, 8, ["wrap-style"])
|
|
42
|
-
]),
|
|
43
|
-
trigger: vue.withCtx(() => [
|
|
44
|
-
vue.createElementVNode("div", {
|
|
45
|
-
class: vue.normalizeClass([
|
|
46
|
-
"el-dropdown",
|
|
47
|
-
_ctx.dropdownSize ? "el-dropdown--" + _ctx.dropdownSize : ""
|
|
48
|
-
])
|
|
49
|
-
}, [
|
|
50
|
-
!_ctx.splitButton ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createBlock(_component_el_button_group, { key: 1 }, {
|
|
15
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
16
|
+
vue.createVNode(_component_el_popper, {
|
|
17
|
+
ref: "triggerVnode",
|
|
18
|
+
visible: _ctx.visible,
|
|
19
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => _ctx.visible = $event),
|
|
20
|
+
placement: _ctx.placement,
|
|
21
|
+
"fallback-placements": ["bottom", "top", "right", "left"],
|
|
22
|
+
effect: _ctx.effect,
|
|
23
|
+
pure: "",
|
|
24
|
+
"manual-mode": true,
|
|
25
|
+
trigger: [_ctx.trigger],
|
|
26
|
+
"popper-class": "el-dropdown__popper",
|
|
27
|
+
"append-to-body": "",
|
|
28
|
+
transition: "el-zoom-in-top",
|
|
29
|
+
"stop-popper-mouse-event": false,
|
|
30
|
+
"gpu-acceleration": false
|
|
31
|
+
}, {
|
|
32
|
+
default: vue.withCtx(() => [
|
|
33
|
+
vue.createVNode(_component_el_scrollbar, {
|
|
34
|
+
ref: "scrollbar",
|
|
35
|
+
tag: "ul",
|
|
36
|
+
"wrap-style": _ctx.wrapStyle,
|
|
37
|
+
"view-class": "el-dropdown__list"
|
|
38
|
+
}, {
|
|
51
39
|
default: vue.withCtx(() => [
|
|
52
|
-
vue.
|
|
53
|
-
size: _ctx.dropdownSize,
|
|
54
|
-
type: _ctx.type,
|
|
55
|
-
onClick: _ctx.handlerMainButtonClick
|
|
56
|
-
}, {
|
|
57
|
-
default: vue.withCtx(() => [
|
|
58
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
59
|
-
]),
|
|
60
|
-
_: 3
|
|
61
|
-
}, 8, ["size", "type", "onClick"]),
|
|
62
|
-
vue.createVNode(_component_el_button, {
|
|
63
|
-
size: _ctx.dropdownSize,
|
|
64
|
-
type: _ctx.type,
|
|
65
|
-
class: "el-dropdown__caret-button"
|
|
66
|
-
}, {
|
|
67
|
-
default: vue.withCtx(() => [
|
|
68
|
-
vue.createVNode(_component_el_icon, { class: "el-dropdown__icon" }, {
|
|
69
|
-
default: vue.withCtx(() => [
|
|
70
|
-
vue.createVNode(_component_arrow_down)
|
|
71
|
-
]),
|
|
72
|
-
_: 1
|
|
73
|
-
})
|
|
74
|
-
]),
|
|
75
|
-
_: 1
|
|
76
|
-
}, 8, ["size", "type"])
|
|
40
|
+
vue.renderSlot(_ctx.$slots, "dropdown")
|
|
77
41
|
]),
|
|
78
42
|
_: 3
|
|
79
|
-
})
|
|
80
|
-
],
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
43
|
+
}, 8, ["wrap-style"])
|
|
44
|
+
]),
|
|
45
|
+
trigger: vue.withCtx(() => [
|
|
46
|
+
vue.createElementVNode("div", {
|
|
47
|
+
class: vue.normalizeClass([_ctx.dropdownSize ? "el-dropdown--" + _ctx.dropdownSize : ""])
|
|
48
|
+
}, [
|
|
49
|
+
!_ctx.splitButton ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createBlock(_component_el_button_group, { key: 1 }, {
|
|
50
|
+
default: vue.withCtx(() => [
|
|
51
|
+
vue.createVNode(_component_el_button, {
|
|
52
|
+
size: _ctx.dropdownSize,
|
|
53
|
+
type: _ctx.type,
|
|
54
|
+
onClick: _ctx.handlerMainButtonClick
|
|
55
|
+
}, {
|
|
56
|
+
default: vue.withCtx(() => [
|
|
57
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
58
|
+
]),
|
|
59
|
+
_: 3
|
|
60
|
+
}, 8, ["size", "type", "onClick"]),
|
|
61
|
+
vue.createVNode(_component_el_button, {
|
|
62
|
+
size: _ctx.dropdownSize,
|
|
63
|
+
type: _ctx.type,
|
|
64
|
+
class: "el-dropdown__caret-button"
|
|
65
|
+
}, {
|
|
66
|
+
default: vue.withCtx(() => [
|
|
67
|
+
vue.createVNode(_component_el_icon, { class: "el-dropdown__icon" }, {
|
|
68
|
+
default: vue.withCtx(() => [
|
|
69
|
+
vue.createVNode(_component_arrow_down)
|
|
70
|
+
]),
|
|
71
|
+
_: 1
|
|
72
|
+
})
|
|
73
|
+
]),
|
|
74
|
+
_: 1
|
|
75
|
+
}, 8, ["size", "type"])
|
|
76
|
+
]),
|
|
77
|
+
_: 3
|
|
78
|
+
}))
|
|
79
|
+
], 2)
|
|
80
|
+
]),
|
|
81
|
+
_: 3
|
|
82
|
+
}, 8, ["visible", "placement", "effect", "trigger"])
|
|
83
|
+
]);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
exports.render = render;
|