UNPKG

various-ui

Version:

This is a test version of the Vue 3 component library

78 lines (75 loc) 2.8 kB
import { defineComponent, onBeforeUnmount, openBlock, createElementBlock, mergeProps, unref, toHandlers, renderSlot, createVNode, Transition, withCtx, createElementVNode, createTextVNode, toDisplayString, createCommentVNode } from 'vue'; import '../../../utils/index.mjs'; import { UiTooltipFollowPropsOption, UiTooltipFollowEmits } from './index.mjs'; import { useComposable } from './src/composable.mjs'; import { remove } from '../../../utils/src/node/index.mjs'; const _hoisted_1 = { class: "ui-tooltip-content" }; const __default__ = defineComponent({ name: "UiTooltipFollow" }); var _sfc_main = /* @__PURE__ */ defineComponent({ ...__default__, props: UiTooltipFollowPropsOption, emits: UiTooltipFollowEmits, setup(__props, { expose: __expose, emit: __emit }) { const emits = __emit; const define = __props; const { ons, refs, nodes, methods, computeds } = useComposable(define, emits); const { active, visible } = refs; const { tooltip } = nodes; const { show, hidden } = methods; const { style } = computeds; onBeforeUnmount(() => { tooltip.value && remove(document.body, tooltip.value); }); ; __expose({ show, hidden }); return (_ctx, _cache) => { return openBlock(), createElementBlock( "div", mergeProps({ class: ["ui-tooltip-container", { "ui-active": unref(active) }] }, toHandlers(unref(ons).container, true)), [ renderSlot(_ctx.$slots, "default"), createVNode( Transition, toHandlers(unref(ons).animation), { default: withCtx(() => [ unref(visible) ? (openBlock(), createElementBlock( "div", mergeProps({ key: 0 }, toHandlers(unref(ons).content, true), { class: ["ui-tooltip", _ctx.classExtraName], ref_key: "tooltip", ref: tooltip, style: unref(style) }), [ createElementVNode("div", _hoisted_1, [ renderSlot(_ctx.$slots, "content", {}, () => [ createTextVNode( toDisplayString(_ctx.content), 1 /* TEXT */ ) ]) ]) ], 16 /* FULL_PROPS */ )) : createCommentVNode("v-if", true) ]), _: 3 /* FORWARDED */ }, 16 /* FULL_PROPS */ ) ], 16 /* FULL_PROPS */ ); }; } }); export { _sfc_main as default }; //# sourceMappingURL=index.vue2.mjs.map