reka-ui
Version:
Vue port for Radix UI Primitives.
52 lines (49 loc) • 1.68 kB
JavaScript
import { useForwardExpose } from "../shared/useForwardExpose.js";
import { Presence_default } from "../Presence/Presence.js";
import { injectDialogRootContext } from "./DialogRoot.js";
import { DialogOverlayImpl_default } from "./DialogOverlayImpl.js";
import { createBlock, createCommentVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
//#region src/Dialog/DialogOverlay.vue?vue&type=script&setup=true&lang.ts
var DialogOverlay_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
__name: "DialogOverlay",
props: {
forceMount: {
type: Boolean,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const rootContext = injectDialogRootContext();
const { forwardRef } = useForwardExpose();
return (_ctx, _cache) => {
return unref(rootContext)?.modal.value ? (openBlock(), createBlock(unref(Presence_default), {
key: 0,
present: _ctx.forceMount || unref(rootContext).open.value
}, {
default: withCtx(() => [createVNode(DialogOverlayImpl_default, mergeProps(_ctx.$attrs, {
ref: unref(forwardRef),
as: _ctx.as,
"as-child": _ctx.asChild
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, ["as", "as-child"])]),
_: 3
}, 8, ["present"])) : createCommentVNode("v-if", true);
};
}
});
//#endregion
//#region src/Dialog/DialogOverlay.vue
var DialogOverlay_default = DialogOverlay_vue_vue_type_script_setup_true_lang_default;
//#endregion
export { DialogOverlay_default };
//# sourceMappingURL=DialogOverlay.js.map