UNPKG

@slidy/svelte

Version:

Simple, configurable & reusable carousel component built with SvelteJS

2 lines (1 loc) 984 B
var y={status:!0,interval:1e3};function L(e,r=y){let{status:t=!1}=r,{interval:E=1e3}=r,n,i=a=>{e.dispatchEvent(new CustomEvent(a))},s=()=>{t=!0,window.clearInterval(n),n=window.setInterval(()=>{console.log(t),i("play")},E)},o=()=>{window.clearInterval(n),i("pause")},v=()=>{t&&o()},u=()=>{t&&s()},c=()=>{t&&o()},l=()=>{t&&s()},p=()=>{!t&&document.visibilityState==="hidden"?o():s()},m=()=>{window.addEventListener("visibilitychange",p,!1),e.addEventListener("pointerover",v,{passive:!0}),e.addEventListener("pointerout",u,{passive:!0}),e.addEventListener("focusin",c,{passive:!0}),e.addEventListener("focusout",l,{passive:!0})},w=()=>{window.clearInterval(n),window.removeEventListener("visibilitychange",p),e.removeEventListener("pointerover",v),e.removeEventListener("pointerout",u),e.removeEventListener("focusin",c),e.removeEventListener("focusout",l)},d=()=>{m(),s()},f=()=>{t=!1,w(),i("stop")};return t&&d(),{update({status:a}){a?d():f()},destroy(){f()}}}export{L as autoplay};