'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../utils/index.js'); var runtime = require('../../../utils/vue/props/runtime.js'); var refs = require('../../../utils/vue/refs.js'); var vnode = require('../../../utils/vue/vnode.js'); const forwardRefProps = runtime.buildProps({ setRef: { type: runtime.definePropType(Function), required: true }, onlyChild: Boolean }); var ForwardRef = vue.defineComponent({ props: forwardRefProps, setup(props, { slots }) { const fragmentRef = vue.ref(); const setRef = refs.composeRefs(fragmentRef, (el) => { if (el) { props.setRef(el.nextElementSibling); } else { props.setRef(null); } }); return () => { var _a; const [firstChild] = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || []; const child = props.onlyChild ? vnode.ensureOnlyChild(firstChild.children) : firstChild.children; return vue.createVNode(vue.Fragment, { "ref": setRef }, [child]); }; } }); exports["default"] = ForwardRef; exports.forwardRefProps = forwardRefProps; //# sourceMappingURL=forward-ref.js.map