Files
mini-yu/unpackage/dist/build/web/assets/pages-index-index.DbD4HGdN.js

2 lines
10 KiB
JavaScript
Raw Normal View History

2026-02-10 08:05:03 +08:00
import{o as t,c as a,w as o,r as e,n as s,a as n,b as i,i as r,d as l,e as u,f as c,g as p,h as d,j as h,k as m,l as g,m as b,p as y,F as v,s as D,q as f,S as T,t as x,u as S,v as k,x as C,y as _,z as w}from"./index-CJxdOECQ.js";import{u as B,p as $,t as z,g as M,a as P,_ as I,b as E,c as L,r as A}from"./button.BC3KjxGU.js";import{u as F}from"./using-custom-navbar.D_-3PoX-.js";const G=`${$}-draggable`;const j=I(B({name:G,options:{styleIsolation:"shared"},props:{...{direction:{type:String,value:"all"},tClass:{type:String,default:""},tClassButton:{type:String,default:""},customStyle:{type:[String,Object],default:""}}},emits:["move","start","end"],data:()=>({prefix:$,classPrefix:G,tools:z,systemInfo:M()}),mounted(){this.computedRect()},methods:{onTouchStart(t){const{systemInfo:a}=this;"none"!==this.direction&&(this.startX=t.touches[0].clientX+a.windowWidth-this.rect.right,this.startY=t.touches[0].clientY+a.windowHeight-this.rect.bottom,this.$emit("start",{startX:this.startX,startY:this.startY,rect:this.rect,e:t}))},onTouchMove(t){const{systemInfo:a}=this;if("none"===this.direction)return;let o=this.startX-t.touches[0].clientX,e=this.startY-t.touches[0].clientY;"vertical"===this.direction&&(o=a.windowWidth-this.rect.right),"horizontal"===this.direction&&(e=a.windowHeight-this.rect.bottom),this.$emit("move",{x:o,y:e,rect:this.rect,e:t})},async onTouchEnd(t){"none"!==this.direction&&(await this.computedRect(),this.$emit("end",{rect:this.rect,e:t}))},async computedRect(){this.rect={right:0,bottom:0,width:0,height:0};try{this.rect=await P(this,`.${this.classPrefix}`)}catch(t){}}}}),[["render",function(l,u,c,p,d,h){const m=r;return t(),a(m,{class:s([l.classPrefix,l.tClass]),style:n(l.tools._style([l.customStyle])),onTouchstart:l.onTouchStart,onTouchmove:i(l.onTouchMove,["stop","prevent"]),onTouchend:l.onTouchEnd},{default:o((()=>[e(l.$slots,"default",{},void 0,!0)])),_:3},8,["class","style","onTouchstart","onTouchmove","onTouchend"])}],["__scopeId","data-v-74d90c49"]]),O={buttonProps:{type:Object},draggable:{type:[String,Boolean],default:!1},icon:{type:String,default:""},style:{type:String,default:"right: 16px; bottom: 32px;"},text:{type:String,default:""},usingCustomNavbar:Boolean,yBounds:{type:Array},onClick:{type:Function,default:()=>({})},onDragEnd:{type:Function,default:()=>({})},onDragStart:{type:Function,default:()=>({})}},X=`${$}-fab`,Y={size:"large",shape:"circle",theme:"primary",tClass:`${$}-fab__button`};const R=I(B({name:X,options:{styleIsolation:"shared"},externalClasses:[`${$}-class`,`${$}-class-button`],mixins:[F],components:{TButton:E,TDraggable:j},props:{...O},emits:["move","start","end"],data:()=>({prefix:$,classPrefix:X,moveStyle:null,tools:z,systemInfo:M()}),computed:{buttonData(){return{...Y,shape:this.text?"round":"circle",...this.buttonProps,icon:this.icon,content:this.text,ariaLabel:this.ariaLabel}}},watch:{icon:"computedSize",ariaLabel:"computedSize",yBounds:"computedSize",buttonProps:"computedSize",text:{handler(t){this.content=t,this.computedSize()},immediate:!0}},methods:{onTplButtonTap(t){this.$emit("click",{e:t})},onStart(t){this.$emit("drag-start",t)},onMove(t){const{yBounds:a=[],distanceTop:o,systemInfo:e}=this,{x:s,y:n,rect:i}=t,r=e.windowWidth-i.width,l=e.windowHeight-Math.max(o,L(a[0]))-i.height,u=Math.max(0,Math.min(s,r)),c=Math.max(0,L(a[1]),Math.min(n,l));this.moveStyle=`right: ${u}px; bottom: ${c}px;`},onEnd(t){this.$emit("drag-end",t)},computedSize(){this.draggable&&setTimeout((()=>{var t,a,o;const e=null==(a=null==(t=this.$refs.draggableTemplate)?void 0:t.$refs)?void 0:a.draggable;(null==(o=null==this?void 0:this.yBounds)?void 0:o[1])?(this.moveStyle=`bottom: ${L(this.yBounds[1])}px`,null==e||e.computedRect()):null==e||e.computedRect()}))},getActionClass:(t,a)=>`${t}-${a}`}}),[["render",function(i,u,c,p,d,h){const m=A(l("t-button"),E),g=A(l("t-draggable"),j),b=r;return i.draggable?(t(),a(g,{key:0,ref:"draggable","custom-style":i.tools._style(["right: 16px; bottom: 32px;",i.customStyle,i.moveStyle]),direction:!0===i.draggable?"all":i.draggable,"t-class":i.tClass,onStart:i.onStart,onMove:i.