@element-plus/nightly 0.0.20211230 → 0.0.20220103
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 +0 -8
- package/dist/index.css +1 -1
- package/dist/index.full.js +47534 -47521
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +183 -171
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +1 -1
- package/es/components/cascader/index.d.ts +6 -6
- package/es/components/cascader/src/index.vue.d.ts +3 -3
- package/es/components/checkbox/index.d.ts +4 -4
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
- package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/es/components/checkbox/src/useCheckbox.d.ts +2 -2
- package/es/components/color-picker/index.d.ts +2 -2
- package/es/components/color-picker/src/index.vue.d.ts +1 -1
- package/es/components/config-provider/index.d.ts +8 -4
- 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 +26 -1
- package/es/components/config-provider/src/config-provider.mjs +18 -4
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/date-picker/index.d.ts +6 -6
- package/es/components/date-picker/src/date-picker.d.ts +3 -3
- package/es/components/descriptions/index.d.ts +1 -1
- package/es/components/descriptions/src/descriptions-cell.mjs +12 -3
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/descriptions/src/index.vue.d.ts +1 -1
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs +7 -2
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs +14 -17
- package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs.map +1 -1
- package/es/components/dialog/index.d.ts +2 -2
- package/es/components/dialog/src/dialog.vue.d.ts +2 -2
- package/es/components/dialog/src/use-dialog.mjs +1 -1
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/drawer/index.d.ts +2 -2
- package/es/components/drawer/src/drawer.vue.d.ts +2 -2
- package/es/components/dropdown/index.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/es/components/image/index.d.ts +2 -2
- package/es/components/image/src/image.vue.d.ts +2 -2
- package/es/components/input/index.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +1 -1
- package/es/components/input-number/index.d.ts +3 -3
- package/es/components/input-number/src/input-number.vue.d.ts +3 -3
- package/es/components/loading/src/service.mjs +1 -1
- package/es/components/loading/src/service.mjs.map +1 -1
- package/es/components/message/src/message-method.mjs +1 -1
- package/es/components/message/src/message-method.mjs.map +1 -1
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.mjs.map +1 -1
- package/es/components/notification/src/notification.vue.d.ts +2 -2
- package/es/components/notification/src/notify.mjs +1 -1
- package/es/components/notification/src/notify.mjs.map +1 -1
- package/es/components/overlay/index.d.ts +1 -1
- package/es/components/overlay/src/overlay.d.ts +1 -1
- package/es/components/popover/src/usePopover.mjs +1 -1
- package/es/components/popover/src/usePopover.mjs.map +1 -1
- package/es/components/popper/src/use-popper/index.mjs +1 -1
- package/es/components/popper/src/use-popper/index.mjs.map +1 -1
- package/es/components/radio/index.d.ts +3 -3
- package/es/components/radio/src/radio-button.vue.d.ts +1 -1
- package/es/components/radio/src/radio.d.ts +1 -1
- package/es/components/radio/src/radio.vue.d.ts +1 -1
- package/es/components/select/index.d.ts +1 -1
- package/es/components/select/src/select.vue.d.ts +1 -1
- package/es/components/select/src/useSelect.d.ts +1 -1
- package/es/components/select-v2/index.d.ts +2 -2
- package/es/components/select-v2/src/select.vue.d.ts +1 -1
- package/es/components/select-v2/src/useSelect.d.ts +1 -1
- package/es/components/table/index.d.ts +1 -1
- package/es/components/table/src/table/style-helper.d.ts +1 -1
- package/es/components/table/src/table.vue.d.ts +1 -1
- package/es/components/table/src/util.mjs +1 -1
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/teleport/index.d.ts +1 -1
- package/es/components/teleport/src/teleport.vue.d.ts +1 -1
- package/es/components/time-picker/index.d.ts +6 -6
- package/es/components/time-picker/src/common/picker.vue.d.ts +4 -4
- package/es/components/time-picker/src/common/props.d.ts +1 -1
- package/es/components/time-picker/src/common/props.mjs +1 -1
- package/es/components/time-picker/src/common/props.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker.d.ts +3 -3
- package/es/components/tree/src/model/tree-store.mjs +1 -1
- package/es/components/tree/src/model/tree-store.mjs.map +1 -1
- package/es/defaults.d.ts +11 -1
- package/es/hooks/index.mjs +1 -1
- package/es/hooks/use-common-props/index.d.ts +1 -1
- package/es/hooks/use-common-props/index.mjs +1 -3
- package/es/hooks/use-common-props/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +14 -2
- package/es/hooks/use-global-config/index.mjs +26 -4
- package/es/hooks/use-global-config/index.mjs.map +1 -1
- package/es/hooks/use-popper/index.mjs +1 -1
- package/es/hooks/use-popper/index.mjs.map +1 -1
- package/es/index.d.ts +13 -2
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/make-installer.d.ts +2 -2
- package/es/make-installer.mjs +14 -17
- package/es/make-installer.mjs.map +1 -1
- package/es/tokens/config-provider.d.ts +2 -2
- package/es/tokens/config-provider.mjs.map +1 -1
- package/es/utils/popup-manager.d.ts +5 -3
- package/es/utils/popup-manager.mjs +21 -25
- package/es/utils/popup-manager.mjs.map +1 -1
- package/es/utils/util.d.ts +2 -8
- package/es/utils/util.mjs +13 -10
- package/es/utils/util.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +13 -0
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +1 -1
- package/lib/components/cascader/index.d.ts +6 -6
- package/lib/components/cascader/src/index.vue.d.ts +3 -3
- package/lib/components/checkbox/index.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/lib/components/checkbox/src/useCheckbox.d.ts +2 -2
- package/lib/components/color-picker/index.d.ts +2 -2
- package/lib/components/color-picker/src/index.vue.d.ts +1 -1
- package/lib/components/config-provider/index.d.ts +8 -4
- package/lib/components/config-provider/index.js +1 -2
- package/lib/components/config-provider/index.js.map +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +26 -1
- package/lib/components/config-provider/src/config-provider.js +17 -2
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/date-picker/index.d.ts +6 -6
- package/lib/components/date-picker/src/date-picker.d.ts +3 -3
- package/lib/components/descriptions/index.d.ts +1 -1
- package/lib/components/descriptions/src/descriptions-cell.js +12 -3
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/descriptions/src/index.vue.d.ts +1 -1
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js +6 -1
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js +13 -16
- package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js.map +1 -1
- package/lib/components/dialog/index.d.ts +2 -2
- package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
- package/lib/components/dialog/src/use-dialog.js +2 -2
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/drawer/index.d.ts +2 -2
- package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
- package/lib/components/dropdown/index.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/lib/components/image/index.d.ts +2 -2
- package/lib/components/image/src/image.vue.d.ts +2 -2
- package/lib/components/input/index.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +1 -1
- package/lib/components/input-number/index.d.ts +3 -3
- package/lib/components/input-number/src/input-number.vue.d.ts +3 -3
- package/lib/components/loading/src/service.js +1 -1
- package/lib/components/loading/src/service.js.map +1 -1
- package/lib/components/message/src/message-method.js +1 -1
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +2 -2
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_template_id_7035e868_lang.js.map +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +2 -2
- package/lib/components/notification/src/notify.js +1 -1
- package/lib/components/notification/src/notify.js.map +1 -1
- package/lib/components/overlay/index.d.ts +1 -1
- package/lib/components/overlay/src/overlay.d.ts +1 -1
- package/lib/components/popover/src/usePopover.js +2 -2
- package/lib/components/popover/src/usePopover.js.map +1 -1
- package/lib/components/popper/src/use-popper/index.js +2 -2
- package/lib/components/popper/src/use-popper/index.js.map +1 -1
- package/lib/components/radio/index.d.ts +3 -3
- package/lib/components/radio/src/radio-button.vue.d.ts +1 -1
- package/lib/components/radio/src/radio.d.ts +1 -1
- package/lib/components/radio/src/radio.vue.d.ts +1 -1
- package/lib/components/select/index.d.ts +1 -1
- package/lib/components/select/src/select.vue.d.ts +1 -1
- package/lib/components/select/src/useSelect.d.ts +1 -1
- package/lib/components/select-v2/index.d.ts +2 -2
- package/lib/components/select-v2/src/select.vue.d.ts +1 -1
- package/lib/components/select-v2/src/useSelect.d.ts +1 -1
- package/lib/components/table/index.d.ts +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +1 -1
- package/lib/components/table/src/table.vue.d.ts +1 -1
- package/lib/components/table/src/util.js +1 -1
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/teleport/index.d.ts +1 -1
- package/lib/components/teleport/src/teleport.vue.d.ts +1 -1
- package/lib/components/time-picker/index.d.ts +6 -6
- package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -4
- package/lib/components/time-picker/src/common/props.d.ts +1 -1
- package/lib/components/time-picker/src/common/props.js +1 -1
- package/lib/components/time-picker/src/common/props.js.map +1 -1
- package/lib/components/time-picker/src/time-picker.d.ts +3 -3
- package/lib/components/tree/src/model/tree-store.js +1 -1
- package/lib/components/tree/src/model/tree-store.js.map +1 -1
- package/lib/defaults.d.ts +11 -1
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-common-props/index.d.ts +1 -1
- package/lib/hooks/use-common-props/index.js +1 -3
- package/lib/hooks/use-common-props/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +14 -2
- package/lib/hooks/use-global-config/index.js +25 -2
- package/lib/hooks/use-global-config/index.js.map +1 -1
- package/lib/hooks/use-popper/index.js +2 -2
- package/lib/hooks/use-popper/index.js.map +1 -1
- package/lib/index.d.ts +13 -2
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/make-installer.d.ts +2 -2
- package/lib/make-installer.js +14 -17
- package/lib/make-installer.js.map +1 -1
- package/lib/tokens/config-provider.d.ts +2 -2
- package/lib/tokens/config-provider.js.map +1 -1
- package/lib/utils/popup-manager.d.ts +5 -3
- package/lib/utils/popup-manager.js +21 -25
- package/lib/utils/popup-manager.js.map +1 -1
- package/lib/utils/util.d.ts +2 -8
- package/lib/utils/util.js +17 -13
- package/lib/utils/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-button.css +1 -1
- package/theme-chalk/el-cascader-panel.css +1 -1
- package/theme-chalk/el-checkbox-button.css +1 -1
- package/theme-chalk/el-descriptions-item.css +1 -1
- package/theme-chalk/el-descriptions.css +1 -1
- package/theme-chalk/el-form.css +1 -1
- package/theme-chalk/el-input-number.css +1 -1
- package/theme-chalk/el-radio-button.css +1 -1
- package/theme-chalk/el-radio.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/cascader-panel.scss +1 -1
- package/theme-chalk/src/common/var.scss +2 -4
- package/theme-chalk/src/descriptions-item.scss +56 -2
- package/theme-chalk/src/descriptions.scss +75 -27
- package/theme-chalk/src/form.scss +2 -1
- package/theme-chalk/src/input-number.scss +13 -4
- package/theme-chalk/src/radio-button.scss +4 -4
- package/theme-chalk/src/radio.scss +1 -1
- package/web-types.json +1 -1
- package/es/components/config-provider/src/index.d.ts +0 -19
- package/es/components/config-provider/src/index.mjs +0 -22
- package/es/components/config-provider/src/index.mjs.map +0 -1
- package/es/utils/config.d.ts +0 -9
- package/es/utils/config.mjs +0 -10
- package/es/utils/config.mjs.map +0 -1
- package/lib/components/config-provider/src/index.d.ts +0 -19
- package/lib/components/config-provider/src/index.js +0 -26
- package/lib/components/config-provider/src/index.js.map +0 -1
- package/lib/utils/config.d.ts +0 -9
- package/lib/utils/config.js +0 -15
- package/lib/utils/config.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue_vue_type_template_id_7035e868_lang.mjs","sources":["../../../../../../packages/components/message-box/src/index.vue?vue&type=template&id=7035e868&lang.js"],"sourcesContent":["<template>\n <transition name=\"fade-in-linear\" @after-leave=\"$emit('vanish')\">\n <el-overlay\n v-show=\"visible\"\n :z-index=\"zIndex\"\n :overlay-class=\"['is-message-box', modalClass]\"\n :mask=\"modal\"\n @click.self=\"handleWrapperClick\"\n >\n <div\n ref=\"root\"\n v-trap-focus\n :aria-label=\"title || 'dialog'\"\n aria-modal=\"true\"\n :class=\"[\n 'el-message-box',\n customClass,\n { 'el-message-box--center': center },\n ]\"\n :style=\"customStyle\"\n >\n <div\n v-if=\"title !== null && title !== undefined\"\n class=\"el-message-box__header\"\n >\n <div class=\"el-message-box__title\">\n <el-icon\n v-if=\"iconComponent && center\"\n class=\"el-message-box__status\"\n :class=\"typeClass\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <span>{{ title }}</span>\n </div>\n <button\n v-if=\"showClose\"\n type=\"button\"\n class=\"el-message-box__headerbtn\"\n aria-label=\"Close\"\n @click=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n @keydown.prevent.enter=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n >\n <el-icon class=\"el-message-box__close\"><close /></el-icon>\n </button>\n </div>\n <div class=\"el-message-box__content\">\n <div class=\"el-message-box__container\">\n <el-icon\n v-if=\"iconComponent && !center && hasMessage\"\n class=\"el-message-box__status\"\n :class=\"typeClass\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <div v-if=\"hasMessage\" class=\"el-message-box__message\">\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\">{{ message }}</p>\n <p v-else v-html=\"message\"></p>\n </slot>\n </div>\n </div>\n <div v-show=\"showInput\" class=\"el-message-box__input\">\n <el-input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :type=\"inputType\"\n :placeholder=\"inputPlaceholder\"\n :class=\"{ invalid: validateError }\"\n @keydown.prevent.enter=\"handleInputEnter\"\n />\n <div\n class=\"el-message-box__errormsg\"\n :style=\"{\n visibility: !!editorErrorMessage ? 'visible' : 'hidden',\n }\"\n >\n {{ editorErrorMessage }}\n </div>\n </div>\n </div>\n <div class=\"el-message-box__btns\">\n <el-button\n v-if=\"showCancelButton\"\n :loading=\"cancelButtonLoading\"\n :class=\"[cancelButtonClass]\"\n :round=\"roundButton\"\n :size=\"buttonSize || ''\"\n @click=\"handleAction('cancel')\"\n @keydown.prevent.enter=\"handleAction('cancel')\"\n >\n {{ cancelButtonText || t('el.messagebox.cancel') }}\n </el-button>\n <el-button\n v-show=\"showConfirmButton\"\n ref=\"confirmRef\"\n type=\"primary\"\n :loading=\"confirmButtonLoading\"\n :class=\"[confirmButtonClasses]\"\n :round=\"roundButton\"\n :disabled=\"confirmButtonDisabled\"\n :size=\"buttonSize || ''\"\n @click=\"handleAction('confirm')\"\n @keydown.prevent.enter=\"handleAction('confirm')\"\n >\n {{ confirmButtonText || t('el.messagebox.confirm') }}\n </el-button>\n </div>\n </div>\n </el-overlay>\n </transition>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onMounted,\n onBeforeUnmount,\n computed,\n watch,\n reactive,\n ref,\n toRefs,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport { TrapFocus } from '@element-plus/directives'\nimport {\n useModal,\n useLockscreen,\n useLocale,\n useRestoreActive,\n usePreventGlobal,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport { on, off } from '@element-plus/utils/dom'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils/icon'\n\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type {\n Action,\n MessageBoxState,\n MessageBoxType,\n} from './message-box.type'\n\nexport default defineComponent({\n name: 'ElMessageBox',\n directives: {\n TrapFocus,\n },\n components: {\n ElButton,\n ElInput,\n ElOverlay,\n ElIcon,\n ...TypeComponents,\n },\n inheritAttrs: false,\n props: {\n buttonSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n closeOnHashChange: {\n type: Boolean,\n default: true,\n },\n center: Boolean,\n roundButton: {\n default: false,\n type: Boolean,\n },\n container: {\n type: String, // default append to body\n default: 'body',\n },\n boxType: {\n type: String as PropType<MessageBoxType>,\n default: '',\n },\n },\n emits: ['vanish', 'action'],\n setup(props, { emit }) {\n // const popup = usePopup(props, doClose)\n const { t } = useLocale()\n const visible = ref(false)\n // s represents state\n const state = reactive<MessageBoxState>({\n beforeClose: null,\n callback: null,\n cancelButtonText: '',\n cancelButtonClass: '',\n confirmButtonText: '',\n confirmButtonClass: '',\n customClass: '',\n customStyle: {},\n dangerouslyUseHTMLString: false,\n distinguishCancelAndClose: false,\n icon: '',\n inputPattern: null,\n inputPlaceholder: '',\n inputType: 'text',\n inputValue: null,\n inputValidator: null,\n inputErrorMessage: '',\n message: null,\n modalFade: true,\n modalClass: '',\n showCancelButton: false,\n showConfirmButton: true,\n type: '',\n title: undefined,\n showInput: false,\n action: '' as Action,\n confirmButtonLoading: false,\n cancelButtonLoading: false,\n confirmButtonDisabled: false,\n editorErrorMessage: '',\n // refer to: https://github.com/ElemeFE/element/commit/2999279ae34ef10c373ca795c87b020ed6753eed\n // seemed ok for now without this state.\n // isOnComposition: false, // temporary remove\n validateError: false,\n zIndex: PopupManager.nextZIndex(),\n })\n\n const typeClass = computed(() => {\n const type = state.type\n return type && TypeComponentsMap[type]\n ? `el-message-box-icon--${type}`\n : ''\n })\n\n const iconComponent = computed(\n () => state.icon || TypeComponentsMap[state.type] || ''\n )\n const hasMessage = computed(() => !!state.message)\n const inputRef = ref<ComponentPublicInstance>(null)\n const confirmRef = ref<ComponentPublicInstance>(null)\n\n const confirmButtonClasses = computed(() => state.confirmButtonClass)\n\n watch(\n () => state.inputValue,\n async (val) => {\n await nextTick()\n if (props.boxType === 'prompt' && val !== null) {\n validate()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => visible.value,\n (val) => {\n if (val) {\n if (props.boxType === 'alert' || props.boxType === 'confirm') {\n nextTick().then(() => {\n confirmRef.value?.$el?.focus?.()\n })\n }\n state.zIndex = PopupManager.nextZIndex()\n }\n if (props.boxType !== 'prompt') return\n if (val) {\n nextTick().then(() => {\n if (inputRef.value && inputRef.value.$el) {\n getInputElement().focus()\n }\n })\n } else {\n state.editorErrorMessage = ''\n state.validateError = false\n }\n }\n )\n\n onMounted(async () => {\n await nextTick()\n if (props.closeOnHashChange) {\n on(window, 'hashchange', doClose)\n }\n })\n\n onBeforeUnmount(() => {\n if (props.closeOnHashChange) {\n off(window, 'hashchange', doClose)\n }\n })\n\n function doClose() {\n if (!visible.value) return\n visible.value = false\n nextTick(() => {\n if (state.action) emit('action', state.action)\n })\n }\n\n const handleWrapperClick = () => {\n if (props.closeOnClickModal) {\n handleAction(state.distinguishCancelAndClose ? 'close' : 'cancel')\n }\n }\n\n const handleInputEnter = () => {\n if (state.inputType !== 'textarea') {\n return handleAction('confirm')\n }\n }\n\n const handleAction = (action: Action) => {\n if (props.boxType === 'prompt' && action === 'confirm' && !validate()) {\n return\n }\n\n state.action = action\n\n if (state.beforeClose) {\n state.beforeClose?.(action, state, doClose)\n } else {\n doClose()\n }\n }\n\n const validate = () => {\n if (props.boxType === 'prompt') {\n const inputPattern = state.inputPattern\n if (inputPattern && !inputPattern.test(state.inputValue || '')) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n const inputValidator = state.inputValidator\n if (typeof inputValidator === 'function') {\n const validateResult = inputValidator(state.inputValue)\n if (validateResult === false) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n if (typeof validateResult === 'string') {\n state.editorErrorMessage = validateResult\n state.validateError = true\n return false\n }\n }\n }\n state.editorErrorMessage = ''\n state.validateError = false\n return true\n }\n\n const getInputElement = () => {\n const inputRefs = inputRef.value.$refs\n return (inputRefs.input || inputRefs.textarea) as HTMLElement\n }\n\n const handleClose = () => {\n handleAction('close')\n }\n\n // when close on press escape is disabled, pressing esc should not callout\n // any other message box and close any other dialog-ish elements\n // e.g. Dialog has a close on press esc feature, and when it closes, it calls\n // props.beforeClose method to make a intermediate state by callout a message box\n // for some verification or alerting. then if we allow global event liek this\n // to dispatch, it could callout another message box.\n if (props.closeOnPressEscape) {\n useModal(\n {\n handleClose,\n },\n visible\n )\n } else {\n usePreventGlobal(\n visible,\n 'keydown',\n (e: KeyboardEvent) => e.code === EVENT_CODE.esc\n )\n }\n\n // locks the screen to prevent scroll\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n // restore to prev active element.\n useRestoreActive(visible)\n\n return {\n ...toRefs(state),\n visible,\n hasMessage,\n typeClass,\n iconComponent,\n confirmButtonClasses,\n inputRef,\n confirmRef,\n doClose, // for outside usage\n handleClose, // for out side usage\n handleWrapperClick,\n handleInputEnter,\n handleAction,\n t,\n }\n },\n})\n</script>\n"],"names":["_withModifiers","_createCommentVNode","_withCtx","_createTextVNode"],"mappings":";;;;;;EAuBU;;qBAEK,KAAK,EAAC;qBAyBR,KAAK,EAAC;;;;EASgB;;;;mDAO4B;eAmBlD,KAAK,EAAC,sBAAsB;;;;;;;;;;;IApF3B;;;;;QAGP,SAAOA;;QAEP;;;0BAGD;;YACE,KAAI;;;;;;;;kDASe;;;;;;;;;;2CAYb;;;;;;;;iCAKa;;;;;;;;;;;;;wBAWf;;;;;;;;;;;;;;;sBAOEC;;;;;;;;;;;0BAOY;0CAAV;;;8BACU,SAAgB;;;;;;;;kBAM5B;;;qCAEgB;;;;;;uBAMX,EAACC;kBACLC;;;;;;;;sCAQP;;;;;yBAIU;;;iFAGc;;;;;;;;;;;;;oBAUd;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.vue_vue_type_template_id_7035e868_lang.mjs","sources":["../../../../../../packages/components/message-box/src/index.vue?vue&type=template&id=7035e868&lang.js"],"sourcesContent":["<template>\n <transition name=\"fade-in-linear\" @after-leave=\"$emit('vanish')\">\n <el-overlay\n v-show=\"visible\"\n :z-index=\"zIndex\"\n :overlay-class=\"['is-message-box', modalClass]\"\n :mask=\"modal\"\n @click.self=\"handleWrapperClick\"\n >\n <div\n ref=\"root\"\n v-trap-focus\n :aria-label=\"title || 'dialog'\"\n aria-modal=\"true\"\n :class=\"[\n 'el-message-box',\n customClass,\n { 'el-message-box--center': center },\n ]\"\n :style=\"customStyle\"\n >\n <div\n v-if=\"title !== null && title !== undefined\"\n class=\"el-message-box__header\"\n >\n <div class=\"el-message-box__title\">\n <el-icon\n v-if=\"iconComponent && center\"\n class=\"el-message-box__status\"\n :class=\"typeClass\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <span>{{ title }}</span>\n </div>\n <button\n v-if=\"showClose\"\n type=\"button\"\n class=\"el-message-box__headerbtn\"\n aria-label=\"Close\"\n @click=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n @keydown.prevent.enter=\"\n handleAction(distinguishCancelAndClose ? 'close' : 'cancel')\n \"\n >\n <el-icon class=\"el-message-box__close\"><close /></el-icon>\n </button>\n </div>\n <div class=\"el-message-box__content\">\n <div class=\"el-message-box__container\">\n <el-icon\n v-if=\"iconComponent && !center && hasMessage\"\n class=\"el-message-box__status\"\n :class=\"typeClass\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <div v-if=\"hasMessage\" class=\"el-message-box__message\">\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\">{{ message }}</p>\n <p v-else v-html=\"message\"></p>\n </slot>\n </div>\n </div>\n <div v-show=\"showInput\" class=\"el-message-box__input\">\n <el-input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :type=\"inputType\"\n :placeholder=\"inputPlaceholder\"\n :class=\"{ invalid: validateError }\"\n @keydown.prevent.enter=\"handleInputEnter\"\n />\n <div\n class=\"el-message-box__errormsg\"\n :style=\"{\n visibility: !!editorErrorMessage ? 'visible' : 'hidden',\n }\"\n >\n {{ editorErrorMessage }}\n </div>\n </div>\n </div>\n <div class=\"el-message-box__btns\">\n <el-button\n v-if=\"showCancelButton\"\n :loading=\"cancelButtonLoading\"\n :class=\"[cancelButtonClass]\"\n :round=\"roundButton\"\n :size=\"buttonSize || ''\"\n @click=\"handleAction('cancel')\"\n @keydown.prevent.enter=\"handleAction('cancel')\"\n >\n {{ cancelButtonText || t('el.messagebox.cancel') }}\n </el-button>\n <el-button\n v-show=\"showConfirmButton\"\n ref=\"confirmRef\"\n type=\"primary\"\n :loading=\"confirmButtonLoading\"\n :class=\"[confirmButtonClasses]\"\n :round=\"roundButton\"\n :disabled=\"confirmButtonDisabled\"\n :size=\"buttonSize || ''\"\n @click=\"handleAction('confirm')\"\n @keydown.prevent.enter=\"handleAction('confirm')\"\n >\n {{ confirmButtonText || t('el.messagebox.confirm') }}\n </el-button>\n </div>\n </div>\n </el-overlay>\n </transition>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onMounted,\n onBeforeUnmount,\n computed,\n watch,\n reactive,\n ref,\n toRefs,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport { TrapFocus } from '@element-plus/directives'\nimport {\n useModal,\n useLockscreen,\n useLocale,\n useRestoreActive,\n usePreventGlobal,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { on, off } from '@element-plus/utils/dom'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils/icon'\n\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type {\n Action,\n MessageBoxState,\n MessageBoxType,\n} from './message-box.type'\n\nexport default defineComponent({\n name: 'ElMessageBox',\n directives: {\n TrapFocus,\n },\n components: {\n ElButton,\n ElInput,\n ElOverlay,\n ElIcon,\n ...TypeComponents,\n },\n inheritAttrs: false,\n props: {\n buttonSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n closeOnHashChange: {\n type: Boolean,\n default: true,\n },\n center: Boolean,\n roundButton: {\n default: false,\n type: Boolean,\n },\n container: {\n type: String, // default append to body\n default: 'body',\n },\n boxType: {\n type: String as PropType<MessageBoxType>,\n default: '',\n },\n },\n emits: ['vanish', 'action'],\n setup(props, { emit }) {\n // const popup = usePopup(props, doClose)\n const { t } = useLocale()\n const visible = ref(false)\n // s represents state\n const state = reactive<MessageBoxState>({\n beforeClose: null,\n callback: null,\n cancelButtonText: '',\n cancelButtonClass: '',\n confirmButtonText: '',\n confirmButtonClass: '',\n customClass: '',\n customStyle: {},\n dangerouslyUseHTMLString: false,\n distinguishCancelAndClose: false,\n icon: '',\n inputPattern: null,\n inputPlaceholder: '',\n inputType: 'text',\n inputValue: null,\n inputValidator: null,\n inputErrorMessage: '',\n message: null,\n modalFade: true,\n modalClass: '',\n showCancelButton: false,\n showConfirmButton: true,\n type: '',\n title: undefined,\n showInput: false,\n action: '' as Action,\n confirmButtonLoading: false,\n cancelButtonLoading: false,\n confirmButtonDisabled: false,\n editorErrorMessage: '',\n // refer to: https://github.com/ElemeFE/element/commit/2999279ae34ef10c373ca795c87b020ed6753eed\n // seemed ok for now without this state.\n // isOnComposition: false, // temporary remove\n validateError: false,\n zIndex: PopupManager.nextZIndex(),\n })\n\n const typeClass = computed(() => {\n const type = state.type\n return type && TypeComponentsMap[type]\n ? `el-message-box-icon--${type}`\n : ''\n })\n\n const iconComponent = computed(\n () => state.icon || TypeComponentsMap[state.type] || ''\n )\n const hasMessage = computed(() => !!state.message)\n const inputRef = ref<ComponentPublicInstance>(null)\n const confirmRef = ref<ComponentPublicInstance>(null)\n\n const confirmButtonClasses = computed(() => state.confirmButtonClass)\n\n watch(\n () => state.inputValue,\n async (val) => {\n await nextTick()\n if (props.boxType === 'prompt' && val !== null) {\n validate()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => visible.value,\n (val) => {\n if (val) {\n if (props.boxType === 'alert' || props.boxType === 'confirm') {\n nextTick().then(() => {\n confirmRef.value?.$el?.focus?.()\n })\n }\n state.zIndex = PopupManager.nextZIndex()\n }\n if (props.boxType !== 'prompt') return\n if (val) {\n nextTick().then(() => {\n if (inputRef.value && inputRef.value.$el) {\n getInputElement().focus()\n }\n })\n } else {\n state.editorErrorMessage = ''\n state.validateError = false\n }\n }\n )\n\n onMounted(async () => {\n await nextTick()\n if (props.closeOnHashChange) {\n on(window, 'hashchange', doClose)\n }\n })\n\n onBeforeUnmount(() => {\n if (props.closeOnHashChange) {\n off(window, 'hashchange', doClose)\n }\n })\n\n function doClose() {\n if (!visible.value) return\n visible.value = false\n nextTick(() => {\n if (state.action) emit('action', state.action)\n })\n }\n\n const handleWrapperClick = () => {\n if (props.closeOnClickModal) {\n handleAction(state.distinguishCancelAndClose ? 'close' : 'cancel')\n }\n }\n\n const handleInputEnter = () => {\n if (state.inputType !== 'textarea') {\n return handleAction('confirm')\n }\n }\n\n const handleAction = (action: Action) => {\n if (props.boxType === 'prompt' && action === 'confirm' && !validate()) {\n return\n }\n\n state.action = action\n\n if (state.beforeClose) {\n state.beforeClose?.(action, state, doClose)\n } else {\n doClose()\n }\n }\n\n const validate = () => {\n if (props.boxType === 'prompt') {\n const inputPattern = state.inputPattern\n if (inputPattern && !inputPattern.test(state.inputValue || '')) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n const inputValidator = state.inputValidator\n if (typeof inputValidator === 'function') {\n const validateResult = inputValidator(state.inputValue)\n if (validateResult === false) {\n state.editorErrorMessage =\n state.inputErrorMessage || t('el.messagebox.error')\n state.validateError = true\n return false\n }\n if (typeof validateResult === 'string') {\n state.editorErrorMessage = validateResult\n state.validateError = true\n return false\n }\n }\n }\n state.editorErrorMessage = ''\n state.validateError = false\n return true\n }\n\n const getInputElement = () => {\n const inputRefs = inputRef.value.$refs\n return (inputRefs.input || inputRefs.textarea) as HTMLElement\n }\n\n const handleClose = () => {\n handleAction('close')\n }\n\n // when close on press escape is disabled, pressing esc should not callout\n // any other message box and close any other dialog-ish elements\n // e.g. Dialog has a close on press esc feature, and when it closes, it calls\n // props.beforeClose method to make a intermediate state by callout a message box\n // for some verification or alerting. then if we allow global event liek this\n // to dispatch, it could callout another message box.\n if (props.closeOnPressEscape) {\n useModal(\n {\n handleClose,\n },\n visible\n )\n } else {\n usePreventGlobal(\n visible,\n 'keydown',\n (e: KeyboardEvent) => e.code === EVENT_CODE.esc\n )\n }\n\n // locks the screen to prevent scroll\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n // restore to prev active element.\n useRestoreActive(visible)\n\n return {\n ...toRefs(state),\n visible,\n hasMessage,\n typeClass,\n iconComponent,\n confirmButtonClasses,\n inputRef,\n confirmRef,\n doClose, // for outside usage\n handleClose, // for out side usage\n handleWrapperClick,\n handleInputEnter,\n handleAction,\n t,\n }\n },\n})\n</script>\n"],"names":["_withModifiers","_createCommentVNode","_withCtx","_createTextVNode"],"mappings":";;;;;;EAuBU;;qBAEK,KAAK,EAAC;qBAyBR,KAAK,EAAC;;;;EASgB;;;;mDAO4B;eAmBlD,KAAK,EAAC,sBAAsB;;;;;;;;;;;IApF3B;;;;;QAGP,SAAOA;;QAEP;;;0BAGD;;YACE,KAAI;;;;;;;;kDASe;;;;;;;;;;2CAYb;;;;;;;;iCAKa;;;;;;;;;;;;;wBAWf;;;;;;;;;;;;;;;sBAOEC;;;;;;;;;;;0BAOY;0CAAV;;;8BACU,SAAgB;;;;;;;;kBAM5B;;;qCAEgB;;;;;;uBAMX,EAACC;kBACLC;;;;;;;;sCAQP;;;;;yBAIU;;;iFAGc;;;;;;;;;;;;;oBAUd;;;;;;;;;"}
|
|
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
45
|
} & {
|
|
46
46
|
type: import("../../../utils/props").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "error", unknown>;
|
|
47
47
|
icon: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | Comment>, unknown, unknown>;
|
|
48
|
-
title: string;
|
|
49
48
|
zIndex: number;
|
|
49
|
+
title: string;
|
|
50
50
|
message: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
51
51
|
[key: string]: any;
|
|
52
52
|
}>>, unknown, unknown>;
|
|
@@ -65,8 +65,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
65
65
|
}, {
|
|
66
66
|
type: import("../../../utils/props").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "error", unknown>;
|
|
67
67
|
icon: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | Comment>, unknown, unknown>;
|
|
68
|
-
title: string;
|
|
69
68
|
zIndex: number;
|
|
69
|
+
title: string;
|
|
70
70
|
message: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
71
71
|
[key: string]: any;
|
|
72
72
|
}>>, unknown, unknown>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isVNode, createVNode, render } from 'vue';
|
|
2
2
|
import { isClient } from '@vueuse/core';
|
|
3
|
-
import PopupManager from '../../../utils/popup-manager.mjs';
|
|
3
|
+
import { PopupManager } from '../../../utils/popup-manager.mjs';
|
|
4
4
|
import '../../../utils/util.mjs';
|
|
5
5
|
import { debugWarn } from '../../../utils/error.mjs';
|
|
6
6
|
import './notification2.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport { isVNode } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n Notify,\n NotifyFn,\n NotificationQueue,\n NotificationProps,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> = function (options = {}) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n // default options end\n zIndex: PopupManager.nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (options.appendTo instanceof HTMLElement) {\n appendTo = options.appendTo\n } else if (typeof options.appendTo === 'string') {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!(appendTo instanceof HTMLElement)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n}\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos = parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\n\nexport default notify as Notify\n"],"names":["NotificationConstructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { isVNode } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n Notify,\n NotifyFn,\n NotificationQueue,\n NotificationProps,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> = function (options = {}) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n // default options end\n zIndex: PopupManager.nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (options.appendTo instanceof HTMLElement) {\n appendTo = options.appendTo\n } else if (typeof options.appendTo === 'string') {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!(appendTo instanceof HTMLElement)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n}\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos = parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\n\nexport default notify as Notify\n"],"names":["NotificationConstructor"],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ export declare const ElOverlay: import("vue").DefineComponent<{
|
|
|
21
21
|
}> & {
|
|
22
22
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
23
23
|
}, {
|
|
24
|
-
mask: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
25
24
|
zIndex: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("csstype").ZIndexProperty>, unknown, unknown>;
|
|
25
|
+
mask: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
26
26
|
customMaskEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
27
27
|
overlayClass: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | string[] | Record<string, boolean>>, unknown, unknown>;
|
|
28
28
|
}>;
|
|
@@ -34,8 +34,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
34
34
|
}> & {
|
|
35
35
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
36
36
|
}, {
|
|
37
|
-
mask: import("element-plus/es/utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
38
37
|
zIndex: import("element-plus/es/utils/props").BuildPropType<import("element-plus/es/utils/props").PropWrapper<ZIndexProperty>, unknown, unknown>;
|
|
38
|
+
mask: import("element-plus/es/utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
39
39
|
customMaskEvent: import("element-plus/es/utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
|
|
40
40
|
overlayClass: import("element-plus/es/utils/props").BuildPropType<import("element-plus/es/utils/props").PropWrapper<string | string[] | Record<string, boolean>>, unknown, unknown>;
|
|
41
41
|
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, watch } from 'vue';
|
|
2
2
|
import '../../../utils/util.mjs';
|
|
3
3
|
import '../../popper/index.mjs';
|
|
4
|
-
import PopupManager from '../../../utils/popup-manager.mjs';
|
|
4
|
+
import { PopupManager } from '../../../utils/popup-manager.mjs';
|
|
5
5
|
import { isString } from '@vue/shared';
|
|
6
6
|
import usePopper from '../../popper/src/use-popper/index.mjs';
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopover.mjs","sources":["../../../../../../packages/components/popover/src/usePopover.ts"],"sourcesContent":["import { computed, ref, watch } from 'vue'\nimport { isString } from '@element-plus/utils/util'\nimport { usePopper } from '@element-plus/components/popper'\nimport PopupManager from '@element-plus/utils/popup-manager'\n\nimport type { SetupContext } from 'vue'\nimport type { IPopperOptions, EmitType } from '@element-plus/components/popper'\nexport interface IUsePopover extends IPopperOptions {\n width: number | string\n}\n\nexport const SHOW_EVENT = 'show'\nexport const HIDE_EVENT = 'hide'\n\nexport default function usePopover(\n props: IUsePopover,\n ctx: SetupContext<string[]>\n) {\n const zIndex = ref(PopupManager.nextZIndex())\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const popperStyle = computed(() => {\n return {\n width: width.value,\n zIndex: zIndex.value,\n }\n })\n\n const popperProps = usePopper(props, ctx as SetupContext<EmitType[]>)\n\n watch(popperProps.visibility, (val) => {\n if (val) {\n zIndex.value = PopupManager.nextZIndex()\n }\n ctx.emit(val ? SHOW_EVENT : HIDE_EVENT)\n })\n\n return {\n ...popperProps,\n popperStyle,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAIY,MAAC,UAAU,GAAG,OAAO;AACrB,MAAC,UAAU,GAAG,OAAO;AAClB,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;AAChD,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM;AAC/B,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;AACrC,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK;AACxB,MAAM,MAAM,EAAE,MAAM,CAAC,KAAK;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK;AACzC,IAAI,IAAI,GAAG,EAAE;AACb,MAAM,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;AAC/C,KAAK;AACL,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;AAC5C,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,GAAG,WAAW;AAClB,IAAI,WAAW;AACf,GAAG,CAAC;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"usePopover.mjs","sources":["../../../../../../packages/components/popover/src/usePopover.ts"],"sourcesContent":["import { computed, ref, watch } from 'vue'\nimport { isString } from '@element-plus/utils/util'\nimport { usePopper } from '@element-plus/components/popper'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\n\nimport type { SetupContext } from 'vue'\nimport type { IPopperOptions, EmitType } from '@element-plus/components/popper'\nexport interface IUsePopover extends IPopperOptions {\n width: number | string\n}\n\nexport const SHOW_EVENT = 'show'\nexport const HIDE_EVENT = 'hide'\n\nexport default function usePopover(\n props: IUsePopover,\n ctx: SetupContext<string[]>\n) {\n const zIndex = ref(PopupManager.nextZIndex())\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const popperStyle = computed(() => {\n return {\n width: width.value,\n zIndex: zIndex.value,\n }\n })\n\n const popperProps = usePopper(props, ctx as SetupContext<EmitType[]>)\n\n watch(popperProps.visibility, (val) => {\n if (val) {\n zIndex.value = PopupManager.nextZIndex()\n }\n ctx.emit(val ? SHOW_EVENT : HIDE_EVENT)\n })\n\n return {\n ...popperProps,\n popperStyle,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAIY,MAAC,UAAU,GAAG,OAAO;AACrB,MAAC,UAAU,GAAG,OAAO;AAClB,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;AAChD,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM;AAC/B,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;AACrC,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK;AACxB,MAAM,MAAM,EAAE,MAAM,CAAC,KAAK;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK;AACzC,IAAI,IAAI,GAAG,EAAE;AACb,MAAM,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;AAC/C,KAAK;AACL,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;AAC5C,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,GAAG,WAAW;AAClB,IAAI,WAAW;AACf,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, reactive, computed, unref, watch } from 'vue';
|
|
2
2
|
import { createPopper } from '@popperjs/core';
|
|
3
3
|
import { generateId, isBool, isHTMLElement } from '../../../../utils/util.mjs';
|
|
4
|
-
import PopupManager from '../../../../utils/popup-manager.mjs';
|
|
4
|
+
import { PopupManager } from '../../../../utils/popup-manager.mjs';
|
|
5
5
|
import usePopperOptions from './popper-options.mjs';
|
|
6
6
|
export { Effect } from './defaults.mjs';
|
|
7
7
|
import { isString, isArray } from '@vue/shared';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/popper/src/use-popper/index.ts"],"sourcesContent":["import { computed, ref, reactive, watch, unref } from 'vue'\nimport { createPopper } from '@popperjs/core'\nimport {\n generateId,\n isBool,\n isHTMLElement,\n isArray,\n isString,\n} from '@element-plus/utils/util'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport usePopperOptions from './popper-options'\n\nimport type {\n ComponentPublicInstance,\n CSSProperties,\n SetupContext,\n Ref,\n} from 'vue'\nimport type { TimeoutHandle, Nullable } from '@element-plus/utils/types'\nimport type {\n IPopperOptions,\n TriggerType,\n PopperInstance,\n RefElement,\n} from './defaults'\n\nexport type ElementType = ComponentPublicInstance | HTMLElement\nexport type EmitType =\n | 'update:visible'\n | 'after-enter'\n | 'after-leave'\n | 'before-enter'\n | 'before-leave'\n\nexport interface PopperEvents {\n onClick?: (e: Event) => void\n onMouseenter?: (e: Event) => void\n onMouseleave?: (e: Event) => void\n onFocus?: (e: Event) => void\n onBlur?: (e: Event) => void\n}\n\nexport const DEFAULT_TRIGGER = ['hover']\nexport const UPDATE_VISIBLE_EVENT = 'update:visible'\nexport default function (\n props: IPopperOptions,\n { emit }: SetupContext<EmitType[]>\n) {\n const arrowRef = ref<RefElement>(null)\n const triggerRef = ref(null) as Ref<ElementType>\n const popperRef = ref<RefElement>(null)\n\n const popperId = `el-popper-${generateId()}`\n let popperInstance: Nullable<PopperInstance> = null\n let showTimer: Nullable<TimeoutHandle> = null\n let hideTimer: Nullable<TimeoutHandle> = null\n let triggerFocused = false\n\n const isManualMode = () => props.manualMode || props.trigger === 'manual'\n\n const popperStyle = ref<CSSProperties>({ zIndex: PopupManager.nextZIndex() })\n\n const popperOptions = usePopperOptions(props, {\n arrow: arrowRef,\n })\n\n const state = reactive({\n visible: !!props.visible,\n })\n // visible has been taken by props.visible, avoiding name collision\n // Either marking type here or setter parameter\n const visibility = computed<boolean>({\n get() {\n if (props.disabled) {\n return false\n } else {\n return isBool(props.visible) ? props.visible : state.visible\n }\n },\n set(val) {\n if (isManualMode()) return\n isBool(props.visible)\n ? emit(UPDATE_VISIBLE_EVENT, val)\n : (state.visible = val)\n },\n })\n\n function _show() {\n if (props.autoClose > 0) {\n hideTimer = window.setTimeout(() => {\n _hide()\n }, props.autoClose)\n }\n visibility.value = true\n }\n\n function _hide() {\n visibility.value = false\n }\n\n function clearTimers() {\n clearTimeout(showTimer)\n clearTimeout(hideTimer)\n }\n\n const show = () => {\n if (isManualMode() || props.disabled) return\n clearTimers()\n if (props.showAfter === 0) {\n _show()\n } else {\n showTimer = window.setTimeout(() => {\n _show()\n }, props.showAfter)\n }\n }\n\n const hide = () => {\n if (isManualMode()) return\n clearTimers()\n if (props.hideAfter > 0) {\n hideTimer = window.setTimeout(() => {\n close()\n }, props.hideAfter)\n } else {\n close()\n }\n }\n const close = () => {\n _hide()\n if (props.disabled) {\n doDestroy(true)\n }\n }\n\n function onPopperMouseEnter() {\n // if trigger is click, user won't be able to close popper when\n // user tries to move the mouse over popper contents\n if (props.enterable && props.trigger !== 'click') {\n clearTimeout(hideTimer)\n }\n }\n\n function onPopperMouseLeave() {\n const { trigger } = props\n const shouldPrevent =\n (isString(trigger) && (trigger === 'click' || trigger === 'focus')) ||\n // we'd like to test array type trigger here, but the only case we need to cover is trigger === 'click' or\n // trigger === 'focus', because that when trigger is string\n // trigger.length === 1 and trigger[0] === 5 chars string is mutually exclusive.\n // so there will be no need to test if trigger is array type.\n (trigger.length === 1 &&\n (trigger[0] === 'click' || trigger[0] === 'focus'))\n\n if (shouldPrevent) return\n\n hide()\n }\n\n function initializePopper() {\n if (!unref(visibility)) {\n return\n }\n const unwrappedTrigger = unref(triggerRef)\n const _trigger = isHTMLElement(unwrappedTrigger)\n ? unwrappedTrigger\n : (unwrappedTrigger as ComponentPublicInstance).$el\n popperInstance = createPopper(\n _trigger,\n unref(popperRef),\n unref(popperOptions)\n )\n\n popperInstance.update()\n }\n\n function doDestroy(forceDestroy?: boolean) {\n /* istanbul ignore if */\n if (!popperInstance || (unref(visibility) && !forceDestroy)) return\n detachPopper()\n }\n\n function detachPopper() {\n popperInstance?.destroy?.()\n popperInstance = null\n }\n\n const events = {} as PopperEvents\n\n function update() {\n if (!unref(visibility)) {\n return\n }\n if (popperInstance) {\n popperInstance.update()\n } else {\n initializePopper()\n }\n }\n\n function onVisibilityChange(toState: boolean) {\n if (toState) {\n popperStyle.value.zIndex = PopupManager.nextZIndex()\n if (popperInstance) {\n popperInstance.update()\n } else {\n initializePopper()\n }\n }\n }\n\n if (!isManualMode()) {\n const toggleState = () => {\n if (unref(visibility)) {\n hide()\n } else {\n show()\n }\n }\n\n const popperEventsHandler = (e: Event) => {\n e.stopPropagation()\n switch (e.type) {\n case 'click': {\n if (triggerFocused) {\n // reset previous focus event\n triggerFocused = false\n } else {\n toggleState()\n }\n break\n }\n case 'mouseenter': {\n show()\n break\n }\n case 'mouseleave': {\n hide()\n break\n }\n case 'focus': {\n triggerFocused = true\n show()\n break\n }\n case 'blur': {\n triggerFocused = false\n hide()\n break\n }\n }\n }\n\n const triggerEventsMap: Partial<\n Record<TriggerType, (keyof PopperEvents)[]>\n > = {\n click: ['onClick'],\n hover: ['onMouseenter', 'onMouseleave'],\n focus: ['onFocus', 'onBlur'],\n }\n\n const mapEvents = (t: TriggerType) => {\n triggerEventsMap[t].forEach((event) => {\n events[event] = popperEventsHandler\n })\n }\n\n if (isArray(props.trigger)) {\n Object.values(props.trigger).forEach(mapEvents)\n } else {\n mapEvents(props.trigger as TriggerType)\n }\n }\n\n watch(popperOptions, (val) => {\n if (!popperInstance) return\n popperInstance.setOptions(val)\n popperInstance.update()\n })\n\n watch(visibility, onVisibilityChange)\n\n return {\n update,\n doDestroy,\n show,\n hide,\n onPopperMouseEnter,\n onPopperMouseLeave,\n onAfterEnter: () => {\n emit('after-enter')\n },\n onAfterLeave: () => {\n detachPopper()\n emit('after-leave')\n },\n onBeforeEnter: () => {\n emit('before-enter')\n },\n onBeforeLeave: () => {\n emit('before-leave')\n },\n initializePopper,\n isManualMode,\n arrowRef,\n events,\n popperId,\n popperInstance,\n popperRef,\n popperStyle,\n triggerRef,\n visibility,\n }\n}\n\nexport * from './defaults'\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/popper/src/use-popper/index.ts"],"sourcesContent":["import { computed, ref, reactive, watch, unref } from 'vue'\nimport { createPopper } from '@popperjs/core'\nimport {\n generateId,\n isBool,\n isHTMLElement,\n isArray,\n isString,\n} from '@element-plus/utils/util'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport usePopperOptions from './popper-options'\n\nimport type {\n ComponentPublicInstance,\n CSSProperties,\n SetupContext,\n Ref,\n} from 'vue'\nimport type { TimeoutHandle, Nullable } from '@element-plus/utils/types'\nimport type {\n IPopperOptions,\n TriggerType,\n PopperInstance,\n RefElement,\n} from './defaults'\n\nexport type ElementType = ComponentPublicInstance | HTMLElement\nexport type EmitType =\n | 'update:visible'\n | 'after-enter'\n | 'after-leave'\n | 'before-enter'\n | 'before-leave'\n\nexport interface PopperEvents {\n onClick?: (e: Event) => void\n onMouseenter?: (e: Event) => void\n onMouseleave?: (e: Event) => void\n onFocus?: (e: Event) => void\n onBlur?: (e: Event) => void\n}\n\nexport const DEFAULT_TRIGGER = ['hover']\nexport const UPDATE_VISIBLE_EVENT = 'update:visible'\nexport default function (\n props: IPopperOptions,\n { emit }: SetupContext<EmitType[]>\n) {\n const arrowRef = ref<RefElement>(null)\n const triggerRef = ref(null) as Ref<ElementType>\n const popperRef = ref<RefElement>(null)\n\n const popperId = `el-popper-${generateId()}`\n let popperInstance: Nullable<PopperInstance> = null\n let showTimer: Nullable<TimeoutHandle> = null\n let hideTimer: Nullable<TimeoutHandle> = null\n let triggerFocused = false\n\n const isManualMode = () => props.manualMode || props.trigger === 'manual'\n\n const popperStyle = ref<CSSProperties>({ zIndex: PopupManager.nextZIndex() })\n\n const popperOptions = usePopperOptions(props, {\n arrow: arrowRef,\n })\n\n const state = reactive({\n visible: !!props.visible,\n })\n // visible has been taken by props.visible, avoiding name collision\n // Either marking type here or setter parameter\n const visibility = computed<boolean>({\n get() {\n if (props.disabled) {\n return false\n } else {\n return isBool(props.visible) ? props.visible : state.visible\n }\n },\n set(val) {\n if (isManualMode()) return\n isBool(props.visible)\n ? emit(UPDATE_VISIBLE_EVENT, val)\n : (state.visible = val)\n },\n })\n\n function _show() {\n if (props.autoClose > 0) {\n hideTimer = window.setTimeout(() => {\n _hide()\n }, props.autoClose)\n }\n visibility.value = true\n }\n\n function _hide() {\n visibility.value = false\n }\n\n function clearTimers() {\n clearTimeout(showTimer)\n clearTimeout(hideTimer)\n }\n\n const show = () => {\n if (isManualMode() || props.disabled) return\n clearTimers()\n if (props.showAfter === 0) {\n _show()\n } else {\n showTimer = window.setTimeout(() => {\n _show()\n }, props.showAfter)\n }\n }\n\n const hide = () => {\n if (isManualMode()) return\n clearTimers()\n if (props.hideAfter > 0) {\n hideTimer = window.setTimeout(() => {\n close()\n }, props.hideAfter)\n } else {\n close()\n }\n }\n const close = () => {\n _hide()\n if (props.disabled) {\n doDestroy(true)\n }\n }\n\n function onPopperMouseEnter() {\n // if trigger is click, user won't be able to close popper when\n // user tries to move the mouse over popper contents\n if (props.enterable && props.trigger !== 'click') {\n clearTimeout(hideTimer)\n }\n }\n\n function onPopperMouseLeave() {\n const { trigger } = props\n const shouldPrevent =\n (isString(trigger) && (trigger === 'click' || trigger === 'focus')) ||\n // we'd like to test array type trigger here, but the only case we need to cover is trigger === 'click' or\n // trigger === 'focus', because that when trigger is string\n // trigger.length === 1 and trigger[0] === 5 chars string is mutually exclusive.\n // so there will be no need to test if trigger is array type.\n (trigger.length === 1 &&\n (trigger[0] === 'click' || trigger[0] === 'focus'))\n\n if (shouldPrevent) return\n\n hide()\n }\n\n function initializePopper() {\n if (!unref(visibility)) {\n return\n }\n const unwrappedTrigger = unref(triggerRef)\n const _trigger = isHTMLElement(unwrappedTrigger)\n ? unwrappedTrigger\n : (unwrappedTrigger as ComponentPublicInstance).$el\n popperInstance = createPopper(\n _trigger,\n unref(popperRef),\n unref(popperOptions)\n )\n\n popperInstance.update()\n }\n\n function doDestroy(forceDestroy?: boolean) {\n /* istanbul ignore if */\n if (!popperInstance || (unref(visibility) && !forceDestroy)) return\n detachPopper()\n }\n\n function detachPopper() {\n popperInstance?.destroy?.()\n popperInstance = null\n }\n\n const events = {} as PopperEvents\n\n function update() {\n if (!unref(visibility)) {\n return\n }\n if (popperInstance) {\n popperInstance.update()\n } else {\n initializePopper()\n }\n }\n\n function onVisibilityChange(toState: boolean) {\n if (toState) {\n popperStyle.value.zIndex = PopupManager.nextZIndex()\n if (popperInstance) {\n popperInstance.update()\n } else {\n initializePopper()\n }\n }\n }\n\n if (!isManualMode()) {\n const toggleState = () => {\n if (unref(visibility)) {\n hide()\n } else {\n show()\n }\n }\n\n const popperEventsHandler = (e: Event) => {\n e.stopPropagation()\n switch (e.type) {\n case 'click': {\n if (triggerFocused) {\n // reset previous focus event\n triggerFocused = false\n } else {\n toggleState()\n }\n break\n }\n case 'mouseenter': {\n show()\n break\n }\n case 'mouseleave': {\n hide()\n break\n }\n case 'focus': {\n triggerFocused = true\n show()\n break\n }\n case 'blur': {\n triggerFocused = false\n hide()\n break\n }\n }\n }\n\n const triggerEventsMap: Partial<\n Record<TriggerType, (keyof PopperEvents)[]>\n > = {\n click: ['onClick'],\n hover: ['onMouseenter', 'onMouseleave'],\n focus: ['onFocus', 'onBlur'],\n }\n\n const mapEvents = (t: TriggerType) => {\n triggerEventsMap[t].forEach((event) => {\n events[event] = popperEventsHandler\n })\n }\n\n if (isArray(props.trigger)) {\n Object.values(props.trigger).forEach(mapEvents)\n } else {\n mapEvents(props.trigger as TriggerType)\n }\n }\n\n watch(popperOptions, (val) => {\n if (!popperInstance) return\n popperInstance.setOptions(val)\n popperInstance.update()\n })\n\n watch(visibility, onVisibilityChange)\n\n return {\n update,\n doDestroy,\n show,\n hide,\n onPopperMouseEnter,\n onPopperMouseLeave,\n onAfterEnter: () => {\n emit('after-enter')\n },\n onAfterLeave: () => {\n detachPopper()\n emit('after-leave')\n },\n onBeforeEnter: () => {\n emit('before-enter')\n },\n onBeforeLeave: () => {\n emit('before-leave')\n },\n initializePopper,\n isManualMode,\n arrowRef,\n events,\n popperId,\n popperInstance,\n popperRef,\n popperStyle,\n triggerRef,\n visibility,\n }\n}\n\nexport * from './defaults'\n"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export declare const ElRadio: import("../../utils/types").SFCWithInstall<import(
|
|
|
10
10
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
11
11
|
modelValue: import("vue").WritableComputedRef<import("../../utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
12
12
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
13
|
-
size: import("vue").ComputedRef<
|
|
13
|
+
size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
|
|
14
14
|
disabled: import("vue").ComputedRef<boolean>;
|
|
15
15
|
radioRef: import("vue").Ref<HTMLInputElement | undefined>;
|
|
16
16
|
handleChange: () => void;
|
|
@@ -49,7 +49,7 @@ export declare const ElRadio: import("../../utils/types").SFCWithInstall<import(
|
|
|
49
49
|
readonly label: import("../../utils/props").BuildPropReturn<(BooleanConstructor | StringConstructor | NumberConstructor)[], string, unknown, unknown, unknown>;
|
|
50
50
|
}, {
|
|
51
51
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
52
|
-
size: import("vue").ComputedRef<
|
|
52
|
+
size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
|
|
53
53
|
disabled: import("vue").ComputedRef<boolean>;
|
|
54
54
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
55
55
|
modelValue: import("vue").WritableComputedRef<import("../../utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
@@ -149,7 +149,7 @@ export declare const ElRadioButton: import("../../utils/types").SFCWithInstall<i
|
|
|
149
149
|
readonly label: import("../../utils/props").BuildPropReturn<(BooleanConstructor | StringConstructor | NumberConstructor)[], string, unknown, unknown, unknown>;
|
|
150
150
|
}, {
|
|
151
151
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
152
|
-
size: import("vue").ComputedRef<
|
|
152
|
+
size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
|
|
153
153
|
disabled: import("vue").ComputedRef<boolean>;
|
|
154
154
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
155
155
|
modelValue: import("vue").WritableComputedRef<import("../../utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
6
6
|
readonly label: import("../../../utils/props").BuildPropReturn<(BooleanConstructor | StringConstructor | NumberConstructor)[], string, unknown, unknown, unknown>;
|
|
7
7
|
}, {
|
|
8
8
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
9
|
-
size: import("vue").ComputedRef<
|
|
9
|
+
size: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
10
10
|
disabled: import("vue").ComputedRef<boolean>;
|
|
11
11
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
12
12
|
modelValue: import("vue").WritableComputedRef<import("../../../utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
@@ -26,7 +26,7 @@ export declare const useRadio: (props: {
|
|
|
26
26
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
27
27
|
radioGroup: import("element-plus/es/tokens").RadioGroupContext | undefined;
|
|
28
28
|
focus: import("vue").Ref<boolean>;
|
|
29
|
-
size: import("vue").ComputedRef<
|
|
29
|
+
size: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
30
30
|
disabled: import("vue").ComputedRef<boolean>;
|
|
31
31
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
32
32
|
modelValue: import("vue").WritableComputedRef<import("element-plus/es/utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
isGroup: import("vue").ComputedRef<boolean>;
|
|
11
11
|
modelValue: import("vue").WritableComputedRef<import("../../../utils/props").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>>;
|
|
12
12
|
tabIndex: import("vue").ComputedRef<0 | -1>;
|
|
13
|
-
size: import("vue").ComputedRef<
|
|
13
|
+
size: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
14
14
|
disabled: import("vue").ComputedRef<boolean>;
|
|
15
15
|
radioRef: import("vue").Ref<HTMLInputElement | undefined>;
|
|
16
16
|
handleChange: () => void;
|
|
@@ -68,7 +68,7 @@ export declare const ElSelect: import("../../utils/types").SFCWithInstall<import
|
|
|
68
68
|
Effect: typeof import("..").Effect;
|
|
69
69
|
tagInMultiLine: import("vue").Ref<boolean>;
|
|
70
70
|
prefixWidth: import("vue").Ref<null>;
|
|
71
|
-
selectSize: import("vue").ComputedRef<
|
|
71
|
+
selectSize: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
|
|
72
72
|
readonly: import("vue").ComputedRef<any>;
|
|
73
73
|
handleResize: () => void;
|
|
74
74
|
collapseTagSize: import("vue").ComputedRef<"default" | "small">;
|
|
@@ -71,7 +71,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
71
|
Effect: typeof Effect;
|
|
72
72
|
tagInMultiLine: import("vue").Ref<boolean>;
|
|
73
73
|
prefixWidth: import("vue").Ref<null>;
|
|
74
|
-
selectSize: import("vue").ComputedRef<
|
|
74
|
+
selectSize: import("vue").ComputedRef<ComponentSize>;
|
|
75
75
|
readonly: import("vue").ComputedRef<any>;
|
|
76
76
|
handleResize: () => void;
|
|
77
77
|
collapseTagSize: import("vue").ComputedRef<"default" | "small">;
|
|
@@ -28,7 +28,7 @@ export declare function useSelectStates(props: any): {
|
|
|
28
28
|
declare type States = ReturnType<typeof useSelectStates>;
|
|
29
29
|
export declare const useSelect: (props: any, states: States, ctx: any) => {
|
|
30
30
|
optionsArray: import("vue").ComputedRef<any[]>;
|
|
31
|
-
selectSize: import("vue").ComputedRef<
|
|
31
|
+
selectSize: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
32
32
|
handleResize: () => void;
|
|
33
33
|
debouncedOnInputChange: import("lodash").DebouncedFunc<() => void>;
|
|
34
34
|
debouncedQueryChange: import("lodash").DebouncedFunc<(e: any) => void>;
|
|
@@ -91,7 +91,7 @@ declare const _Select: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
91
91
|
hasModelValue: import("vue").ComputedRef<boolean>;
|
|
92
92
|
shouldShowPlaceholder: import("vue").ComputedRef<boolean>;
|
|
93
93
|
selectDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
94
|
-
selectSize: import("vue").ComputedRef<
|
|
94
|
+
selectSize: import("vue").ComputedRef<import("element-plus/es/utils/types").ComponentSize>;
|
|
95
95
|
showClearBtn: import("vue").ComputedRef<boolean>;
|
|
96
96
|
states: {
|
|
97
97
|
inputValue: string;
|
|
@@ -359,7 +359,7 @@ export declare const ElSelectV2: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
359
359
|
hasModelValue: import("vue").ComputedRef<boolean>;
|
|
360
360
|
shouldShowPlaceholder: import("vue").ComputedRef<boolean>;
|
|
361
361
|
selectDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
362
|
-
selectSize: import("vue").ComputedRef<
|
|
362
|
+
selectSize: import("vue").ComputedRef<import("element-plus/es/utils/types").ComponentSize>;
|
|
363
363
|
showClearBtn: import("vue").ComputedRef<boolean>;
|
|
364
364
|
states: {
|
|
365
365
|
inputValue: string;
|
|
@@ -90,7 +90,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
90
90
|
hasModelValue: import("vue").ComputedRef<boolean>;
|
|
91
91
|
shouldShowPlaceholder: import("vue").ComputedRef<boolean>;
|
|
92
92
|
selectDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
93
|
-
selectSize: import("vue").ComputedRef<
|
|
93
|
+
selectSize: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
94
94
|
showClearBtn: import("vue").ComputedRef<boolean>;
|
|
95
95
|
states: {
|
|
96
96
|
inputValue: string;
|
|
@@ -18,7 +18,7 @@ declare const useSelect: (props: ExtractPropTypes<typeof SelectProps>, emit: any
|
|
|
18
18
|
hasModelValue: import("vue").ComputedRef<boolean>;
|
|
19
19
|
shouldShowPlaceholder: import("vue").ComputedRef<boolean>;
|
|
20
20
|
selectDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
21
|
-
selectSize: import("vue").ComputedRef<
|
|
21
|
+
selectSize: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
22
22
|
showClearBtn: import("vue").ComputedRef<boolean>;
|
|
23
23
|
states: {
|
|
24
24
|
inputValue: string;
|
|
@@ -99,7 +99,7 @@ export declare const ElTable: import("../../utils/types").SFCWithInstall<import(
|
|
|
99
99
|
handleHeaderFooterMousewheel: (event: any, data: any) => void;
|
|
100
100
|
handleMouseLeave: () => void;
|
|
101
101
|
tableId: string;
|
|
102
|
-
tableSize: import("vue").ComputedRef<
|
|
102
|
+
tableSize: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
|
|
103
103
|
isHidden: import("vue").Ref<boolean>;
|
|
104
104
|
isEmpty: import("vue").ComputedRef<boolean>;
|
|
105
105
|
renderExpanded: import("vue").Ref<null>;
|
|
@@ -8,7 +8,7 @@ declare function useStyle<T>(props: TableProps<T>, layout: TableLayout<T>, store
|
|
|
8
8
|
isGroup: import("vue").Ref<boolean>;
|
|
9
9
|
handleMouseLeave: () => void;
|
|
10
10
|
handleHeaderFooterMousewheel: (event: any, data: any) => void;
|
|
11
|
-
tableSize: import("vue").ComputedRef<
|
|
11
|
+
tableSize: import("vue").ComputedRef<import("../../../../utils/types").ComponentSize>;
|
|
12
12
|
bodyHeight: import("vue").ComputedRef<{
|
|
13
13
|
height: string;
|
|
14
14
|
'max-height'?: undefined;
|
|
@@ -101,7 +101,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
101
101
|
handleHeaderFooterMousewheel: (event: any, data: any) => void;
|
|
102
102
|
handleMouseLeave: () => void;
|
|
103
103
|
tableId: string;
|
|
104
|
-
tableSize: import("vue").ComputedRef<
|
|
104
|
+
tableSize: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
|
|
105
105
|
isHidden: import("vue").Ref<boolean>;
|
|
106
106
|
isEmpty: import("vue").ComputedRef<boolean>;
|
|
107
107
|
renderExpanded: import("vue").Ref<null>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { hasOwn } from '@vue/shared';
|
|
2
2
|
import { createPopper } from '@popperjs/core';
|
|
3
|
-
import PopupManager from '../../../utils/popup-manager.mjs';
|
|
3
|
+
import { PopupManager } from '../../../utils/popup-manager.mjs';
|
|
4
4
|
import { getValueByPath } from '../../../utils/util.mjs';
|
|
5
5
|
import { off, on } from '../../../utils/dom.mjs';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport { createPopper } from '@popperjs/core'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport { getValueByPath } from '@element-plus/utils/util'\nimport { off, on } from '@element-plus/utils/dom'\n\nimport type {\n PopperInstance,\n IPopperOptions,\n} from '@element-plus/components/popper'\nimport type { Indexable, Nullable } from '@element-plus/utils/types'\nimport type { TableColumnCtx } from './table-column/defaults'\n\nexport const getCell = function (event: Event): HTMLElement {\n let cell = event.target as HTMLElement\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell\n }\n cell = cell.parentNode as HTMLElement\n }\n\n return null\n}\n\nconst isObject = function (obj: unknown): boolean {\n return obj !== null && typeof obj === 'object'\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return getValueByPath(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? getValueByPath(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map(function (value, index) {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort(function (a, b) {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(/el-table_[^\\s]+/gm)\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (let i = 0; i < key.length; i++) {\n current = current[key[i]]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Indexable<any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number {\n if (width !== undefined) {\n width = parseInt(width as string, 10)\n if (isNaN(width)) {\n width = null\n }\n }\n return +width\n}\n\nexport function parseMinWidth(minWidth): number {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth)\n if (isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const addRow = () => {\n statusArr.push(row)\n changed = true\n }\n const removeRow = () => {\n statusArr.splice(index, 1)\n changed = true\n }\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow()\n } else if (!newVal && included) {\n removeRow()\n }\n } else {\n if (included) {\n removeRow()\n } else {\n addRow()\n }\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n trigger: HTMLElement,\n popperContent: string,\n popperOptions: Partial<IPopperOptions>,\n tooltipEffect: string\n) {\n function renderContent(): HTMLDivElement {\n const isLight = tooltipEffect === 'light'\n const content = document.createElement('div')\n content.className = `el-popper ${isLight ? 'is-light' : 'is-dark'}`\n content.innerHTML = popperContent\n content.style.zIndex = String(PopupManager.nextZIndex())\n document.body.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = 'el-popper__arrow'\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper = function removePopper() {\n try {\n popperInstance && popperInstance.destroy()\n content && document.body.removeChild(content)\n off(trigger, 'mouseenter', showPopper)\n off(trigger, 'mouseleave', removePopper)\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n const content = renderContent()\n const arrow = renderArrow()\n content.appendChild(arrow)\n\n popperInstance = createPopper(trigger, content, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n },\n ],\n ...popperOptions,\n })\n on(trigger, 'mouseenter', showPopper)\n on(trigger, 'mouseleave', removePopper)\n return popperInstance\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport { createPopper } from '@popperjs/core'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { getValueByPath } from '@element-plus/utils/util'\nimport { off, on } from '@element-plus/utils/dom'\n\nimport type {\n PopperInstance,\n IPopperOptions,\n} from '@element-plus/components/popper'\nimport type { Indexable, Nullable } from '@element-plus/utils/types'\nimport type { TableColumnCtx } from './table-column/defaults'\n\nexport const getCell = function (event: Event): HTMLElement {\n let cell = event.target as HTMLElement\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell\n }\n cell = cell.parentNode as HTMLElement\n }\n\n return null\n}\n\nconst isObject = function (obj: unknown): boolean {\n return obj !== null && typeof obj === 'object'\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return getValueByPath(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? getValueByPath(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map(function (value, index) {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort(function (a, b) {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(/el-table_[^\\s]+/gm)\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (let i = 0; i < key.length; i++) {\n current = current[key[i]]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Indexable<any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number {\n if (width !== undefined) {\n width = parseInt(width as string, 10)\n if (isNaN(width)) {\n width = null\n }\n }\n return +width\n}\n\nexport function parseMinWidth(minWidth): number {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth)\n if (isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const addRow = () => {\n statusArr.push(row)\n changed = true\n }\n const removeRow = () => {\n statusArr.splice(index, 1)\n changed = true\n }\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow()\n } else if (!newVal && included) {\n removeRow()\n }\n } else {\n if (included) {\n removeRow()\n } else {\n addRow()\n }\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n trigger: HTMLElement,\n popperContent: string,\n popperOptions: Partial<IPopperOptions>,\n tooltipEffect: string\n) {\n function renderContent(): HTMLDivElement {\n const isLight = tooltipEffect === 'light'\n const content = document.createElement('div')\n content.className = `el-popper ${isLight ? 'is-light' : 'is-dark'}`\n content.innerHTML = popperContent\n content.style.zIndex = String(PopupManager.nextZIndex())\n document.body.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = 'el-popper__arrow'\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper = function removePopper() {\n try {\n popperInstance && popperInstance.destroy()\n content && document.body.removeChild(content)\n off(trigger, 'mouseenter', showPopper)\n off(trigger, 'mouseleave', removePopper)\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n const content = renderContent()\n const arrow = renderArrow()\n content.appendChild(arrow)\n\n popperInstance = createPopper(trigger, content, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n },\n ],\n ...popperOptions,\n })\n on(trigger, 'mouseenter', showPopper)\n on(trigger, 'mouseleave', removePopper)\n return popperInstance\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ export declare const ElTeleport: import("../../utils/types").SFCWithInstall<impo
|
|
|
15
15
|
} & {
|
|
16
16
|
style?: import("vue").StyleValue | undefined;
|
|
17
17
|
}>, {
|
|
18
|
-
style: import("vue").StyleValue;
|
|
19
18
|
zIndex: string;
|
|
19
|
+
style: import("vue").StyleValue;
|
|
20
20
|
container: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
21
21
|
}>> & Record<string, any>;
|
|
22
22
|
export default ElTeleport;
|
|
@@ -15,8 +15,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
15
|
} & {
|
|
16
16
|
style?: import("vue").StyleValue | undefined;
|
|
17
17
|
}>, {
|
|
18
|
-
style: import("vue").StyleValue;
|
|
19
18
|
zIndex: string;
|
|
19
|
+
style: import("vue").StyleValue;
|
|
20
20
|
container: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
|
|
21
21
|
}>;
|
|
22
22
|
export default _default;
|