lath
Version:
Seamless connection of pages.
67 lines (66 loc) • 4.39 kB
JavaScript
import{s as setTimeout}from"./index-553c4cec.js";import"./launcher-f761b2d6.js";const setGlobalCSS=()=>{var e=document.createElement("style");e.innerHTML=`
body {
overscroll-behavior-y: none;
}
`,document.getElementsByTagName("head")[0].appendChild(e)},getBaseStyle=e=>{e=e?"30, 30, 30":"255, 255, 255";return`
.applet-loading {
position: fixed;
z-index: 1;
height: 2em;
width: 2em;
overflow: visible;
margin: auto;
right: 0;
bottom: 0;
left: 0;
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
transform: translate3d(0, 0, 0) scale(.6);
}
.applet-spinner {
content: ' ';
display: block;
font-size: 10px;
width: 1em;
height: 1em;
margin-top: -7em;
border-radius: 0.5em;
transform: translate3d(0, 0, 0) rotate(0deg);
animation-duration: 16ms;
box-shadow: rgba(${e}, 0.75) 1.5em 0 0 0, rgba(${e}, 0.75) 1.1em 1.1em 0 0, rgba(${e}, 0.75) 0 1.5em 0 0, rgba(${e}, 0.75) -1.1em 1.1em 0 0, rgba(${e}, 0.75) -1.5em 0 0 0, rgba(${e}, 0.75) -1.1em -1.1em 0 0, rgba(${e}, 0.75) 0 -1.5em 0 0, rgba(${e}, 0.75) 1.1em -1.1em 0 0;
}
@keyframes applet-spinner {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
`},getHolderStyle=e=>`
position: fixed;
top: 0;
left: 0;
right: 0;
height: 200px;
z-index: 999999;
background: ${e?"rgba(255, 255, 255, .5)":"rgba(0, 0, 0, .5)"};
transform: translate3d(0, -100%, 0);
transition-property: transform;
border-radius: 0 0 50% 50%;
backdrop-filter: saturate(180%) blur(20px);
-webkit-backdrop-filter: saturate(180%) blur(20px);
`,holdLayerStyle=`
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 7;
display: none;
`,createPullToRefreshHolder=(e,t)=>{var r=document.createElement("applet-refresh-hold"),a=document.createElement("applet-pull-refresh"),l=null==(l=a.attachShadow)?void 0:l.call(a,{mode:"open"}),a=document.createElement("div"),o=document.createElement("div"),n=document.createElement("div"),s=document.createElement("style");return s.innerHTML=getBaseStyle(e),a.style.cssText=getHolderStyle(e),r.style.cssText=holdLayerStyle,l.appendChild(s),o.className="applet-loading",o.appendChild(n),n.className="applet-spinner",a.appendChild(o),l.appendChild(a),t.appendChild(l),t.appendChild(r),setGlobalCSS(),{holder:a,spinner:n,holdLayer:r}},registerPullDownEvent=(a,l,o,n,e)=>{if(l&&o&&n&&e){const s=e=>{e=e.changedTouches,e=e[e.length-1];return[e.clientX,e.clientY]},i={startY:0,y:0,scrollStartY:0,hasTouchStart:!1,triggered:!1};var t=()=>{i.hasTouchStart=!1,n.style.filter="blur(0px)",o.style.transitionDuration=".4s",i.triggered?(n.style.animation="applet-spinner 1000ms infinite linear",e.style.display="block",setTimeout(()=>{o.style.transform="translate3d(0, -100%, 0)",setTimeout(()=>{if(a.config.forcedToRefresh)return location.reload();a.refresh().then(()=>{e.style.display="none",n.style.animation="none",i.triggered=!1}).catch(()=>{location.reload()})},400)},800),a.trigger("pullToRefreshRelease")):(o.style.transform="translate3d(0, -100%, 0)",a.trigger("pullToRefreshCancel"))};l.addEventListener("touchstart",e=>{var t,r;i.triggered||(r="BODY"===l.tagName,t=null==l?void 0:l.scrollTop,100<(r=null!=(r=r?null==(r=e.view)?void 0:r.scrollY:t)?r:t))||(o.style.transitionDuration="0s",i.scrollStartY=r,i.startY=s(e)[1],i.hasTouchStart=!0)}),l.addEventListener("touchend",t),l.addEventListener("touchcancel",t),l.addEventListener("touchmove",e=>{var t,r;!1===i.hasTouchStart||100<i.scrollStartY||([e,t]=s(e),i.y=t-i.startY,i.y<10)||i.y<i.scrollStartY+50||(t=l.offsetWidth,e=50-(50-Math.max(Math.min(e/t*100,100),0))/3,r=.6*(t=Math.max(Math.min((i.y-50)/300*100,100),0)),o.style.borderBottomLeftRadius=e+"%",o.style.borderBottomRightRadius=100-e+"%",o.style.transform=`translate3d(0, -${100-r}%, 0)`,n.style.transform=`translate3d(0, 0, 0) rotate(${1.2*i.y%360}deg)`,100===t?(i.triggered=!0,n.style.filter="blur(2px)",a.trigger("pullToRefreshReady")):(i.triggered=!1,n.style.filter="blur(0px)",a.trigger("pullToRefreshRequest")))})}};export{createPullToRefreshHolder,registerPullDownEvent};