You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
15 KiB

1 month ago
  1. {"ast":null,"code":"import { defineComponent, ref, toRef, computed, provide, readonly, unref, watch, onDeactivated, openBlock, createBlock, withCtx, createVNode, renderSlot, createCommentVNode, createElementBlock, toDisplayString } from 'vue';\nimport { ElPopper } from '../../popper/index.mjs';\nimport { TOOLTIP_INJECTION_KEY } from './constants.mjs';\nimport { useTooltipProps, tooltipEmits, useTooltipModelToggle } from './tooltip.mjs';\nimport ElTooltipTrigger from './trigger2.mjs';\nimport ElTooltipContent from './content2.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { usePopperContainer } from '../../../hooks/use-popper-container/index.mjs';\nimport { useDelayedToggle } from '../../../hooks/use-delayed-toggle/index.mjs';\nimport ElPopperArrow from '../../popper/src/arrow2.mjs';\nimport { useId } from '../../../hooks/use-id/index.mjs';\nimport { isBoolean } from '../../../utils/types.mjs';\nconst __default__ = defineComponent({\n name: \"ElTooltip\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: useTooltipProps,\n emits: tooltipEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n usePopperContainer();\n const id = useId();\n const popperRef = ref();\n const contentRef = ref();\n const updatePopper = () => {\n var _a;\n const popperComponent = unref(popperRef);\n if (popperComponent) {\n (_a = popperComponent.popperInstanceRef) == null ? void 0 : _a.update();\n }\n };\n const open = ref(false);\n const toggleReason = ref();\n const {\n show,\n hide,\n hasUpdateHandler\n } = useTooltipModelToggle({\n indicator: open,\n toggleReason\n });\n const {\n onOpen,\n onClose\n } = useDelayedToggle({\n showAfter: toRef(props, \"showAfter\"),\n hideAfter: toRef(props, \"hideAfter\"),\n autoClose: toRef(props, \"autoClose\"),\n open: show,\n close: hide\n });\n const controlled = computed(() => isBoolean(props.visible) && !hasUpdateHandler.value);\n provide(TOOLTIP_INJECTION_KEY, {\n controlled,\n id,\n open: readonly(open),\n trigger: toRef(props, \"trigger\"),\n onOpen: event => {\n onOpen(event);\n },\n onClose: event => {\n onClose(event);\n },\n onToggle: event => {\n if (unref(open)) {\n onClose(event);\n } else {\n onOpen(event);\n }\n },\n onShow: () => {\n emit(\"show\", toggleReason.value);\n },\n onHide: () => {\n emit(\"hide\", toggleReason.value);\n },\n onBeforeShow: () => {\n emit(\"before-show\", toggleReason.value);\n },\n onBeforeHide: () => {\n emit(\"before-hide\", toggleReason.value);\n },\n updatePopper\n });\n watch(() => props.disabled, disabled => {\n if (disabled && open.value) {\n open.value = false;\n }\n });\n const isFocusInsideContent = event => {\n var _a;\n return (_a = contentRef.value) == null ? void 0 : _a.isFocusInsideContent(event);\n };\n onDeactivated(() => open.value && hide());\n expose({\n popperRef,\n contentRef,\n isFocusInsideContent,\n updatePopper,\n onOpen,\n onClose,\n hide\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ElPopper), {\n ref_key: \"popperRef\",\n ref: popperRef,\n role: _ctx.role\n }, {\n default: withCtx(() => [createVNode(ElTooltipTrigger, {\n disabled: _ctx.disabled,\n trigger: _ctx.trigger,\n \"trigger-keys\": _ctx.triggerKeys,\n \"virtual-ref\": _ctx.virtualRef,\n \"virtual-triggering\": _ctx.virtualTriggering\n }, {\n default: withCtx(() => [_ctx.$slots.default ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : createCommentVNode(\"v-if\", true)]),\n _: 3\n }, 8, [\"disabled\", \"trigge