UNPKG

@coreui/vue

Version:

UI Components Library for Vue.js

49 lines (45 loc) 1.36 kB
'use strict'; var vue = require('vue'); const getContainer = (container) => { if (container) { return typeof container === 'function' ? container() : container; } return 'body'; }; const CConditionalTeleport = vue.defineComponent({ name: 'CConditionalTeleport', props: { /** * An HTML element or function that returns a single element, with `document.body` as the default. * * @since 5.0.0 */ container: { type: [Object, String], default: 'body', }, /** * Render some children into a different part of the DOM */ teleport: { type: [Boolean], default: true, }, }, setup(props, { slots }) { const container = vue.ref(getContainer(props.container)); vue.watch(() => [props.container, props.teleport], () => { if (props.teleport) { container.value = getContainer(props.container); } }); return () => vue.h(vue.Teleport, { disabled: props.teleport === false, to: container.value, }, { default: () => slots.default && slots.default(), }); }, }); exports.CConditionalTeleport = CConditionalTeleport; //# sourceMappingURL=CConditionalTeleport.js.map