element-plus
Version:
A Component Library for Vue 3
1 lines • 9.78 kB
Source Map (JSON)
{"version":3,"file":"tooltip2.mjs","sources":["../../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\n <el-popper ref=\"popperRef\">\n <el-tooltip-trigger\n :disabled=\"disabled\"\n :trigger=\"trigger\"\n :virtual-ref=\"virtualRef\"\n :virtual-triggering=\"virtualTriggering\"\n >\n <slot v-if=\"$slots.default\" />\n </el-tooltip-trigger>\n <el-tooltip-content\n :aria-label=\"ariaLabel\"\n :boundaries-padding=\"boundariesPadding\"\n :content=\"content\"\n :disabled=\"disabled\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :fallback-placements=\"fallbackPlacements\"\n :hide-after=\"hideAfter\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :persistent=\"persistent\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :pure=\"pure\"\n :raw-content=\"rawContent\"\n :reference-el=\"referenceEl\"\n :show-after=\"compatShowAfter\"\n :strategy=\"strategy\"\n :teleported=\"teleported\"\n :transition=\"transition\"\n :z-index=\"zIndex\"\n :append-to=\"appendTo\"\n >\n <slot name=\"content\">\n <span v-if=\"rawContent\" v-html=\"content\" />\n <span v-else>{{ content }}</span>\n </slot>\n <el-popper-arrow v-if=\"compatShowArrow\" :arrow-offset=\"arrowOffset\" />\n </el-tooltip-content>\n </el-popper>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n ref,\n provide,\n toRef,\n readonly,\n unref,\n watch,\n} from 'vue'\nimport {\n ElPopper,\n ElPopperArrow,\n usePopperArrowProps,\n} from '@element-plus/components/popper'\n\nimport { debugWarn, isBoolean, isUndefined } from '@element-plus/utils'\nimport {\n usePopperContainer,\n useId,\n createModelToggleComposable,\n useDelayedToggle,\n} from '@element-plus/hooks'\nimport ElTooltipContent from './content.vue'\nimport ElTooltipTrigger from './trigger.vue'\nimport {\n useTooltipContentProps,\n useTooltipTriggerProps,\n useTooltipProps,\n} from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nconst { useModelToggleProps, useModelToggle, useModelToggleEmits } =\n createModelToggleComposable('visible' as const)\n\nexport default defineComponent({\n name: 'ElTooltip',\n components: {\n ElPopper,\n ElPopperArrow,\n ElTooltipContent,\n ElTooltipTrigger,\n },\n props: {\n ...useModelToggleProps,\n ...useTooltipContentProps,\n ...useTooltipTriggerProps,\n ...usePopperArrowProps,\n ...useTooltipProps,\n },\n emits: [...useModelToggleEmits, 'before-show', 'before-hide', 'show', 'hide'],\n setup(props, { emit }) {\n usePopperContainer()\n const compatShowAfter = computed(() => {\n if (!isUndefined(props.openDelay)) {\n debugWarn(\n 'ElTooltip',\n 'open-delay is about to be deprecated in the next major version, please use `show-after` instead'\n )\n }\n return props.openDelay || (props.showAfter as number)\n })\n const compatShowArrow = computed(() => {\n if (!isUndefined(props.visibleArrow)) {\n debugWarn(\n 'ElTooltip',\n '`visible-arrow` is about to be deprecated in the next major version, please use `show-arrow` instead'\n )\n }\n return isBoolean(props.visibleArrow)\n ? props.visibleArrow\n : props.showArrow\n })\n\n const id = useId()\n const popperRef = ref<InstanceType<typeof ElPopper> | null>(null)\n\n const updatePopper = () => {\n const popperComponent = unref(popperRef)\n if (popperComponent) {\n popperComponent.popperInstanceRef?.update()\n }\n }\n const open = ref(false)\n\n const { show, hide } = useModelToggle({\n indicator: open,\n })\n\n const { onOpen, onClose } = useDelayedToggle({\n showAfter: compatShowAfter,\n hideAfter: toRef(props, 'hideAfter'),\n open: show,\n close: hide,\n })\n\n const controlled = computed(() => isBoolean(props.visible))\n\n provide(TOOLTIP_INJECTION_KEY, {\n controlled,\n id,\n open: readonly(open),\n trigger: toRef(props, 'trigger'),\n onOpen,\n onClose,\n onToggle: () => {\n if (unref(open)) {\n onClose()\n } else {\n onOpen()\n }\n },\n onShow: () => {\n emit('show')\n },\n onHide: () => {\n emit('hide')\n },\n onBeforeShow: () => {\n emit('before-show')\n },\n onBeforeHide: () => {\n emit('before-hide')\n },\n updatePopper,\n })\n\n watch(\n () => props.disabled,\n (disabled) => {\n if (disabled && open.value) {\n open.value = false\n }\n }\n )\n\n return {\n compatShowAfter,\n compatShowArrow,\n popperRef,\n open,\n hide,\n updatePopper,\n onOpen,\n onClose,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_withCtx","_createVNode","_renderSlot","_createElementBlock","_toDisplayString"],"mappings":"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"}