UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 7.5 kB
{"version":3,"file":"popconfirm.vue2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n :effect=\"effect\"\n v-bind=\"$attrs\"\n :virtual-triggering=\"virtualTriggering\"\n :virtual-ref=\"virtualRef\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :popper-style=\"style\"\n :teleported=\"teleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n loop\n @show=\"showPopper\"\n >\n <template #content>\n <div ref=\"rootRef\" tabindex=\"-1\" :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <slot name=\"actions\" :confirm=\"confirm\" :cancel=\"cancel\">\n <el-button\n size=\"small\"\n :type=\"cancelButtonType === 'text' ? '' : cancelButtonType\"\n :text=\"cancelButtonType === 'text'\"\n @click=\"cancel\"\n >\n {{ finalCancelButtonText }}\n </el-button>\n <el-button\n size=\"small\"\n :type=\"confirmButtonType === 'text' ? '' : confirmButtonType\"\n :text=\"confirmButtonType === 'text'\"\n @click=\"confirm\"\n >\n {{ finalConfirmButtonText }}\n </el-button>\n </slot>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { addUnit } from '@element-plus/utils'\nimport { QuestionFilled } from '@element-plus/icons-vue'\nimport { popconfirmEmits } from './popconfirm'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { PopconfirmProps } from './popconfirm'\n\ndefineOptions({\n name: 'ElPopconfirm',\n})\n\nconst props = withDefaults(defineProps<PopconfirmProps>(), {\n confirmButtonType: 'primary',\n cancelButtonType: 'text',\n icon: () => QuestionFilled,\n iconColor: '#f90',\n hideAfter: 200,\n effect: 'light',\n teleported: true,\n width: 150,\n})\nconst emit = defineEmits(popconfirmEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('popconfirm')\nconst tooltipRef = ref<TooltipInstance>()\nconst rootRef = ref<HTMLElement>()\n\nconst popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n})\n\nconst showPopper = () => {\n rootRef.value?.focus?.()\n}\n\nconst hidePopper = () => {\n tooltipRef.value?.onClose?.()\n}\n\nconst style = computed(() => {\n return {\n width: addUnit(props.width),\n }\n})\n\nconst confirm = (e: MouseEvent) => {\n emit('confirm', e)\n hidePopper()\n}\nconst cancel = (e: MouseEvent) => {\n emit('cancel', e)\n hidePopper()\n}\n\nconst finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n)\nconst finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n)\n\ndefineExpose({\n popperRef,\n hide: hidePopper,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","$attrs","_createElementVNode","_normalizeClass","_resolveDynamicComponent","_createTextVNode","_renderSlot","_createVNode","$slots"],"mappings":"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"}