UNPKG

hongluan-ui

Version:
136 lines (131 loc) 4.75 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var index$1 = require('../../tooltip/index.js'); require('../../popper/index.js'); require('../../../utils/index.js'); require('../../../hooks/index.js'); var popover = require('./popover.js'); var index = require('../../../hooks/use-namespace/index.js'); var shared = require('@vue/shared'); var deprecation = require('../../popper/src/deprecation.js'); const updateEventKeyRaw = `onUpdate:visible`; const __default__ = vue.defineComponent({ name: "Popover", inheritAttrs: false }); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, props: popover.popoverProps, emits: popover.popoverEmits, setup(__props, { expose, emit }) { const props = __props; const { namespace } = index.useNamespace("popover"); const tooltipRef = vue.ref(); const popperRef = vue.computed(() => { var _a; return (_a = vue.unref(tooltipRef)) == null ? void 0 : _a.popperRef; }); const width = vue.computed(() => { if (shared.isString(props.width)) { return props.width; } return `${props.width}px`; }); const style = vue.computed(() => { return [ { width: width.value }, props.popperStyle ]; }); const kls = vue.computed(() => { return [namespace.value, props.popperClass, { "plain": !!props.content }, props.tooltip ? "tooltip" : ""]; }); const gpuAcceleration = vue.computed(() => { return props.transition === "fade"; }); const finalTrigger = vue.computed(() => { return props.tooltip ? "hover" : props.trigger; }); const { compatTeleported } = deprecation.useDeprecateAppendToBody("Popover", "appendToBody"); const onUpdateVisible = vue.computed(() => { return props[updateEventKeyRaw]; }); const hide = () => { var _a; (_a = tooltipRef.value) == null ? void 0 : _a.hide(); }; const beforeEnter = () => { emit("before-enter"); }; const beforeLeave = () => { emit("before-leave"); }; const afterEnter = () => { emit("after-enter"); }; const afterLeave = () => { emit("update:visible", false); emit("after-leave"); }; expose({ popperRef, hide }); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(index$1.HlTooltip), vue.mergeProps({ ref_key: "tooltipRef", ref: tooltipRef }, _ctx.$attrs, { trigger: vue.unref(finalTrigger), placement: _ctx.placement, disabled: _ctx.disabled, visible: _ctx.visible, transition: _ctx.transition, "popper-options": _ctx.popperOptions, "outside-ignore": _ctx.outsideIgnore, tabindex: _ctx.tabindex, "append-to-body": _ctx.appendToBody, content: _ctx.content, offset: _ctx.offset, "show-after": _ctx.showAfter, "hide-after": _ctx.hideAfter, "auto-close": _ctx.autoClose, "show-arrow": _ctx.showArrow, "aria-label": _ctx.title, effect: _ctx.effect, enterable: _ctx.enterable, "popper-class": vue.unref(kls), "popper-style": vue.unref(style), teleported: vue.unref(compatTeleported), persistent: _ctx.persistent, "gpu-acceleration": vue.unref(gpuAcceleration), "trigger-keys": _ctx.triggerKeys, "onUpdate:visible": vue.unref(onUpdateVisible), onBeforeShow: beforeEnter, onBeforeHide: beforeLeave, onShow: afterEnter, onHide: afterLeave }), { content: vue.withCtx(() => [ _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", { key: 0, class: "popover-title", role: "title" }, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("v-if", true), vue.renderSlot(_ctx.$slots, "default", {}, () => [ vue.createTextVNode(vue.toDisplayString(_ctx.content), 1) ]) ]), default: vue.withCtx(() => [ _ctx.$slots.reference ? vue.renderSlot(_ctx.$slots, "reference", { key: 0 }) : vue.createCommentVNode("v-if", true) ]), _: 3 }, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "outside-ignore", "tabindex", "append-to-body", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "gpu-acceleration", "trigger-keys", "onUpdate:visible"]); }; } }); exports["default"] = _sfc_main; //# sourceMappingURL=popover2.js.map