UNPKG

simplest-scale-srceen

Version:
2 lines (1 loc) 1.55 kB
var rui=function(r,n){"use strict";const l=n.defineComponent({name:"scale-screen",props:{width:{default:window.screen.width>1920?window.screen.width:1920,type:Number},height:{default:window.screen.height>1080?window.screen.height:1080,type:Number}},setup(){const e=n.ref(),t=n.ref(),s=n.ref(1),i=n.ref("auto");return{containerEl:e,handle:t,scale:s,scrollHeight:i}},render(){const e=this.$slots.default||null;return e?n.createVNode("div",{class:"scale-screen-wrap",style:{height:this.scrollHeight}},[n.createVNode("div",{class:"scale-screen",ref:t=>this.containerEl=t},[e()])]):n.createVNode("div",null,null)},methods:{resize(e){let{width:t,height:s}=this.$props;const i=(window.innerWidth-e)/t;this.scale=i,this.scrollHeight=i*s+"px",this.$emit("change",{scale:i,width:this.$props.width,height:this.$props.height}),this.containerEl.setAttribute("style",`width:${t}px;height:${s}px;transform: scale(${i});`)}},mounted(){const e=window.innerWidth-this.containerEl.offsetWidth;let t=null;this.handle=()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{this.resize(e)},30)},this.resize(e),window.addEventListener("resize",this.handle,!1)},unmounted(){window.removeEventListener("resize",this.handle)}}),o=((e,t)=>{const s=e.__vccOpts||e;for(const[i,h]of t)s[i]=h;return s})(l,[["__scopeId","data-v-f3a65895"]]);let c=!1;const d=function(e){c||(c=!0,e.component("scale-screen",o))};return typeof window<"u"&&window.Vue&&d(window.Vue),r.ScaleScreen=o,r.default=d,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r}({},Vue);