UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 2.03 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../hooks/index.js");require("../portal/index.js");require("../config-provider/index.js");const y=require("@vueuse/core"),g=require("./style/index.js"),q=require("../hooks/useFullScreen.js"),k=require("../config-provider/hooks/use-namespace.js"),x=require("../portal/index.vue.js"),S=e.defineComponent({name:"FullScreen",__name:"index",props:{wrapperElementName:{default:"div"},zIndex:{default:2147483647},to:{default:"body"}},setup(h,{expose:d}){const{target:s,full:p,enter:v,exit:w}=q.useFullScreen(),{b:f,bm:m,be:_}=k.useNamespace("full-screen"),b=g.default("full-screen"),t=e.ref(!1),l=e.ref(),i=y.useScrollLock(document.body),n=e.ref();e.watch(()=>e.unref(p),r=>{r||(t.value=!1,l.value=void 0)});async function a(r,u=!1){await o(),t.value=!0,l.value=r,r==="browser"?v(u):i.value=!0}async function o(r=!1){t.value=!1,l.value==="browser"?await w(r):i.value=!1,l.value=void 0}async function c(r,u=!1){t.value?l.value!==r?await a(r,u):await o(u):await a(r,u)}return d({target:e.computed(()=>e.unref(s)),portalRoot:e.computed(()=>e.unref(n)),full:e.computed(()=>e.unref(t)),mode:e.computed(()=>e.unref(l)),enter:a,exit:o,toggle:c}),(r,u)=>(e.openBlock(),e.createBlock(e.unref(x.default),{to:r.to,disabled:l.value!=="window"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.wrapperElementName),e.mergeProps({ref_key:"target",ref:s},r.$attrs,{class:[e.unref(f)(),e.unref(f)("wrapper"),t.value&&l.value==="window"?e.unref(m)("wrapper","full"):null,e.unref(b)],style:{zIndex:t.value&&l.value==="window"?r.zIndex:"unset"}}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{full:t.value,enter:a,exit:o,toggle:c,mode:l.value,portalRoot:n.value}),e.createElementVNode("div",{ref_key:"portalRootRef",ref:n,class:e.normalizeClass(e.unref(_)("wrapper","portal-root"))},null,2)]),_:3},16,["class","style"]))]),_:3},8,["to","disabled"]))}});exports.default=S;