vueposu
Version:
A hooks library based on Vue Composition-API
2 lines (1 loc) • 13.7 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var r=require("vue-demi"),c=require("@vueposu/utils"),A=require("@vueposu/swr");function ee(e){if(e&&e.__esModule)return e;var t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var te=ee(A);const ne="click";function re(e,t,n=ne){const o=s=>{(Array.isArray(e)?e:[e]).some(u=>{const l=c.getTargetElement(u);return!l||l.contains(s==null?void 0:s.target)})||r.unref(t)(s)};return r.watchEffect(s=>{if(!c.isServer){const a=Array.isArray(r.unref(n))?r.unref(n):[n];a.map(u=>document.addEventListener(r.unref(u),o)),s(()=>{a.map(u=>document==null?void 0:document.removeEventListener(r.unref(u),o))})}})}function oe(){const e=r.ref(""),t=!c.isServer&&"clipboard"in window.navigator,n=async()=>{c.isServer||(e.value=await window.navigator.clipboard.readText())};return n(),E("focus",n),E("copy",n),{copy:i=>{var s,a,u;return e.value=i,c.isServer?new Promise(()=>{}):(u=(a=(s=window==null?void 0:window.navigator)==null?void 0:s.clipboard)==null?void 0:a.writeText)==null?void 0:u.call(a,i)},text:e,supported:t}}function E(...e){let t,n,o,i;const s=()=>{typeof r.unref(e[0])=="string"?(t=window,n=r.unref(e[0]),o=e[1],i=e[2]||!1):(t=c.getTargetElement(e[0]),n=r.unref(e[1]),o=e[2],i=e[3]||!1)},a=()=>{!c.isServer&&t&&t.addEventListener(n,o,i)},u=()=>{!c.isServer&&t&&t.removeEventListener(n,o,i)};r.onMounted(()=>{r.watchEffect(l=>{s(),a(),l(u)})})}function ie(e){if(c.isServer)return{changeIcon:()=>null,restoreIcon:()=>null};let t=document.querySelector("link[rel*='icon']"),n="";t?n=t.href:(t=document.createElement("link"),t.type="image/x-icon",t.rel="shortcut icon",document.head.appendChild(t));const o=s=>{t&&s&&(t.href=s,document.getElementsByTagName("head")[0].appendChild(t))},i=()=>{n&&o(n)};return e&&o(e),{changeIcon:o,restoreIcon:i}}function se(e,t){const n=r.ref(!1);let o;r.watch(e,(s,a,u)=>{o=r.unref(c.isFunction(e)?e():e);const l=()=>{n.value=c.fullscreen.getFullscreenElement()===o,t&&t()};c.fullscreen.on("change",l),u(()=>{c.fullscreen.off("change",l)})});const i=s=>{n.value=c.isDef(s)?Boolean(r.unref(s)):!n.value};return r.watch(n,s=>{if(c.isHTMLElement(o))s?c.fullscreen.request(o):c.fullscreen.exit(o);else throw new Error(`Invalid assignment: expected a DOM Element but got: ${typeof e}`)}),{isFullscreen:r.computed({get:()=>n.value,set:s=>n.value=Boolean(r.unref(s))}),enterFullscreen:()=>i(!0),exitFullscreen:()=>i(!1),toggleFullscreen:i}}const _=["mozvisibilitychange","webkitvisibilitychange","msvisibilitychange","visibilitychange"];function ue(){const e=r.ref(c.isServer?!1:document.hidden),t=()=>setTimeout(()=>e.value=c.isServer?!1:document.hidden);return c.isServer||(r.onMounted(()=>{_.forEach(n=>{document.addEventListener(n,t)})}),r.onUnmounted(()=>{_.forEach(n=>{document.removeEventListener(n,t)})})),e}function ce(e,t=!0){const n=c.isServer?"":document.title,o=r.ref(e||n);document.querySelector("title")||document.head.appendChild(document.createElement("title"));const i=document.querySelector("title");r.watch(o,()=>{c.isServer||(document.title=o.value)},{immediate:!0,flush:"sync"});let s=null;c.isServer||(s=new window.MutationObserver(u=>o.value=u[0].target.textContent+""),s.observe(i,{childList:!0}));const a=()=>{o.value=n};return r.onBeforeUnmount(()=>{r.unref(t)&&a(),s&&s.disconnect()}),{title:o,restoreTitle:a}}const ae={pageX:0,pageY:0,screenX:0,screenY:0,clientX:0,clientY:0};function le(){const e=r.reactive(ae),t=n=>{const{pageX:o,pageY:i,screenX:s,screenY:a,clientX:u,clientY:l}=n;e.pageX=o,e.pageY=i,e.screenX=s,e.screenY=a,e.clientX=u,e.clientY=l};return c.isServer||E(document,"mousemove",t),r.toRefs(r.readonly(e))}const fe={x:0,y:0};function de(e){const t=r.reactive(fe);return E(()=>c.getTargetElement(e,document),"scroll",o=>{var s,a;const i=o.target;i===document?(t.x=((s=document==null?void 0:document.scrollingElement)==null?void 0:s.scrollLeft)||0,t.y=((a=document==null?void 0:document.scrollingElement)==null?void 0:a.scrollTop)||0):(t.x=(i==null?void 0:i.scrollLeft)||0,t.y=(i==null?void 0:i.scrollTop)||0)},{passive:!0}),r.toRefs(r.readonly(t))}const S=e=>c.isDef(e)&&!isNaN(r.unref(e));function Y(e,t={}){const{min:n,max:o,step:i}=t,s=()=>S(e)?Number(r.unref(e)):0,a=()=>S(i)?Number(r.unref(i)):1,u=f=>{let h=+r.unref(f);return S(o)&&(h=Math.min(Number(r.unref(o)),h)),S(n)&&(h=Math.max(Number(r.unref(n)),h)),h},l=r.ref(u(s())),m=f=>{l.value=u(c.isFunction(f)?f(l.value):f)},w=f=>m(Number(c.add(l.value,S(f)?r.unref(f):a()))),v=f=>m(c.subtract(l.value,S(f)?r.unref(f):a())),b=()=>m(u(s())),g=r.computed({get:()=>l.value,set:f=>{if(S(f))m(f);else throw new TypeError(`Invalid assignment: expected a number-string or number but got: ${c.isDef(f)?typeof f:f}`)}});return r.watchEffect(()=>{r.unref(n),r.unref(o),m(l.value)},{flush:"sync"}),{count:g,inc:w,dec:v,set:m,reset:b}}function me(e={}){const{initialValue:t=60,type:n="dec",step:o=1,total:i=0,interval:s=1e3,immediateStart:a=!1}=e,{count:u,inc:l,dec:m}=Y(t),{isActive:w,start:v,stop:b}=K(()=>{r.unref(n)==="dec"&&u.value>r.unref(i)?m(o):r.unref(n)==="inc"&&u.value<r.unref(i)&&l(o)},s,a),g=r.ref(r.unref(w));return r.watch(u,()=>{u.value===r.unref(i)&&(g.value=!1)}),{count:u,isActive:r.readonly(g),start:()=>{v(),g.value=!0},stop:()=>{b(),g.value=!1}}}function ge(e=[]){if(c.isArray(e)===!1)throw new Error("initValue should be a array");const t=r.ref(e),n={move(o,i){t.value.splice(o,0,t.value.splice(i,1)[0])},insert(o,i){t.value.splice(o,0,i)},insertBefore(o,i){t.value.splice(o,-1,i)},insertAfter(o,i){t.value.splice(o+1,0,i)},remove(o){t.value.splice(o,1)},replace(o,i){n.move(o,i)},unshift(...o){t.value.unshift(...o)},shift(){t.value.shift()},pop(){t.value.pop()},push(o){t.value.push(o)}};return{list:t,...n}}function ve(e=[]){const t=r.ref(Array.from(e));return{add:n=>t.value.push(n),remove:()=>t.value.shift(),empty:()=>{t.value=[]},reset:()=>{t.value=Array.from(e)},get first(){return t.value[0]},get last(){return t.value[t.value.length-1]},get size(){return t.value.length}}}function pe(e){const t=r.ref(new Set(r.unref(e))),n={add:o=>{t.value.add(o)},remove:o=>{t.value.delete(o)},has:o=>t.value.has(o),reset:()=>{t.value=new Set(r.unref(e))},clear:()=>{t.value.clear()}};return{set:r.readonly(t),...n}}function be(e,t){const n=()=>c.isDef(r.unref(e))?r.unref(e):!0,o=()=>c.isDef(r.unref(t))?r.unref(t):!n(),i=r.ref(n()),s=l=>{i.value=c.isDef(r.unref(l))?r.unref(l):i.value!==n()?n():o()},a=()=>{i.value=n()},u=()=>{i.value=o()};return{state:r.computed({get:()=>i.value,set:l=>s(l)}),setLeft:a,setRight:u,toggle:s}}function he(){}function Se(e,t){return D(e,t)}function we(e,t){return D(e,t,window==null?void 0:window.sessionStorage)}const L=e=>e===null?"null":typeof e=="boolean"?"boolean":typeof e=="string"||c.isUndefined(e)?"string":c.isObject(e)||c.isArray(e)?"object":Number.isNaN(e)?"any":"number",B={any:{read:(e,t)=>e!=null?e:t,write:e=>String(e)},boolean:{read:(e,t)=>c.isDef(e)?e==="true":t,write:e=>String(e)},number:{read:(e,t)=>c.isDef(e)?Number.parseFloat(e):t,write:e=>String(e)},object:{read:(e,t)=>e?JSON.parse(e):t,write:e=>JSON.stringify(e)},string:{read:(e,t)=>c.isDef(e)?e:t,write:e=>String(e)},null:{read:()=>null,write:()=>"null"}},U=(e,t)=>{let n;const o=c.isUndef(e)?t:e;try{n=L(JSON.parse(o))}catch{n=L(o)}return B[n].read(e,t)},ye=e=>B[L(e)].write(e),k={},G={};let P=()=>{},W=()=>{};if(!c.isServer){window.addEventListener("storage",({key:t,oldValue:n,newValue:o,storageArea:i})=>{const s=i===window.localStorage?k:G;t&&s[t]&&e(t,U(o,n),s)}),P=window.localStorage.setItem.bind(localStorage),W=window.sessionStorage.setItem.bind(sessionStorage),window.localStorage.setItem=(t,n)=>{window.dispatchEvent(new StorageEvent("storage",{key:t,oldValue:window.localStorage.getItem("key"),newValue:n,storageArea:window.localStorage})),P(t,n)},window.sessionStorage.setItem=(t,n)=>{window.dispatchEvent(new StorageEvent("storage",{key:t,oldValue:window.sessionStorage.getItem("key"),newValue:n,storageArea:window.sessionStorage})),W(t,n)};const e=(t,n,o)=>{t in o&&(o[t].value=n)}}function D(e,t,n=window.localStorage){var a;if(c.isServer)return{value:null};const o=n===window.localStorage?k:G,i=u=>(n.setItem(e,ye(u)),u),s=r.reactive((a=o[e])!=null?a:o[e]=r.ref(i(U(n.getItem(e),t))));return r.watch(s,()=>i(s.value),{flush:"post",deep:!0}),s}function Te(e,t=0){const n=r.ref(r.unref(e)),o=N(()=>n.value=r.unref(e),t);return r.watch(e,()=>r.unref(t)>0?o.value():n.value=r.unref(e)),r.readonly(n)}function Ee(e,t,n=0){const o=N(e,n);r.watch(t,(i,s)=>r.unref(n)>0?o.value(i,s):e(i,s))}var Ie=typeof global=="object"&&global&&global.Object===Object&&global,Oe=Ie,je=typeof self=="object"&&self&&self.Object===Object&&self,xe=Oe||je||Function("return this")(),z=xe,Fe=z.Symbol,O=Fe,J=Object.prototype,Le=J.hasOwnProperty,Ae=J.toString,T=O?O.toStringTag:void 0;function De(e){var t=Le.call(e,T),n=e[T];try{e[T]=void 0;var o=!0}catch{}var i=Ae.call(e);return o&&(t?e[T]=n:delete e[T]),i}var Ne=Object.prototype,Ce=Ne.toString;function Me(e){return Ce.call(e)}var Re="[object Null]",$e="[object Undefined]",X=O?O.toStringTag:void 0;function _e(e){return e==null?e===void 0?$e:Re:X&&X in Object(e)?De(e):Me(e)}function Pe(e){return e!=null&&typeof e=="object"}var We="[object Symbol]";function Xe(e){return typeof e=="symbol"||Pe(e)&&_e(e)==We}var He=/\s/;function qe(e){for(var t=e.length;t--&&He.test(e.charAt(t)););return t}var Ye=/^\s+/;function Be(e){return e&&e.slice(0,qe(e)+1).replace(Ye,"")}function j(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var H=0/0,Ue=/^[-+]0x[0-9a-f]+$/i,ke=/^0b[01]+$/i,Ge=/^0o[0-7]+$/i,ze=parseInt;function q(e){if(typeof e=="number")return e;if(Xe(e))return H;if(j(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=j(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Be(e);var n=ke.test(e);return n||Ge.test(e)?ze(e.slice(2),n?2:8):Ue.test(e)?H:+e}var Je=function(){return z.Date.now()},F=Je,Qe="Expected a function",Ke=Math.max,Ve=Math.min;function Q(e,t,n){var o,i,s,a,u,l,m=0,w=!1,v=!1,b=!0;if(typeof e!="function")throw new TypeError(Qe);t=q(t)||0,j(n)&&(w=!!n.leading,v="maxWait"in n,s=v?Ke(q(n.maxWait)||0,t):s,b="trailing"in n?!!n.trailing:b);function g(d){var p=o,y=i;return o=i=void 0,m=d,a=e.apply(y,p),a}function f(d){return m=d,u=setTimeout(I,t),w?g(d):a}function h(d){var p=d-l,y=d-m,$=t-p;return v?Ve($,s-y):$}function M(d){var p=d-l,y=d-m;return l===void 0||p>=t||p<0||v&&y>=s}function I(){var d=F();if(M(d))return R(d);u=setTimeout(I,h(d))}function R(d){return u=void 0,b&&o?g(d):(o=i=void 0,a)}function V(){u!==void 0&&clearTimeout(u),m=0,o=l=i=u=void 0}function Z(){return u===void 0?a:R(F())}function x(){var d=F(),p=M(d);if(o=arguments,i=this,l=d,p){if(u===void 0)return f(l);if(v)return clearTimeout(u),u=setTimeout(I,t),g(l)}return u===void 0&&(u=setTimeout(I,t)),a}return x.cancel=V,x.flush=Z,x}var Ze="Expected a function";function et(e,t,n){var o=!0,i=!0;if(typeof e!="function")throw new TypeError(Ze);return j(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Q(e,t,{leading:o,maxWait:t,trailing:i})}function N(e,t=0){const n=r.ref(()=>{}),o=r.ref(t);return r.watch(o,()=>{c.isFunction(n.value.cancel)&&n.value.cancel(),n.value=Q(e,r.unref(t))},{immediate:!0}),r.readonly(n)}function tt(){const e=r.ref(0),t=r.ref([]),n=new Set,o=(...s)=>{e.value++,t.value=s},i=s=>{c.isFunction(s)&&n.add(s)};return r.watch(e,()=>{for(let s of n)s(...t.value)},{flush:"post"}),r.onUnmounted(()=>{n.clear()}),{emit:o,on:i}}function nt(e,t){return fetch(e,t).then(n=>n.json())}function rt(e,t=0){const n=r.ref(r.unref(e)),o=C(()=>n.value=r.unref(e),t);return r.watch(e,()=>r.unref(t)>0?o.value():n.value=r.unref(e)),r.readonly(n)}function ot(e,t,n=0){const o=C(e,n);r.watch(t,(i,s)=>r.unref(n)>0?o.value(i,s):e(i,s))}function C(e,t=0){const n=r.ref(()=>{}),o=r.ref(t);return r.watch(o,()=>{var i;c.isFunction((i=n.value)==null?void 0:i.cancel)&&n.value.cancel(),n.value=et(e,r.unref(t))},{immediate:!0}),r.readonly(n)}function K(e,t=1e3,n=!0){let o=null;const i=r.ref(n),s=()=>{i.value=!1,o&&(clearInterval(o),o=null)},a=()=>{s(),i.value=!0,o=setInterval(()=>{c.isFunction(e)&&e()},r.unref(t))};return r.watchEffect(u=>{r.unref(n)&&a(),u(s)}),{isActive:r.readonly(i),start:a,stop:s}}function it(e,t=1e3,n=!0){let o=null;const i=r.ref(n),s=()=>{i.value=!1,o&&(clearTimeout(o),o=null)},a=()=>{s(),i.value=!0,o=setTimeout(()=>{c.isFunction(e)&&e(),i.value=!1},r.unref(t))};return r.watchEffect(u=>{r.unref(n)&&a(),u(s)}),{isActive:r.readonly(i),start:a,stop:s}}const{useSWR:ut,useSWRGlobalConfig:ct,...st}=te;Object.defineProperty(exports,"useSWR",{enumerable:!0,get:function(){return A.useSWR}});Object.defineProperty(exports,"useSWRGlobalConfig",{enumerable:!0,get:function(){return A.useSWRGlobalConfig}});exports.swr=st;exports.useClickOutside=re;exports.useClipboard=oe;exports.useCookie=he;exports.useCounter=Y;exports.useCounterInterval=me;exports.useDebounce=Te;exports.useDebounceEffect=Ee;exports.useDebounceFn=N;exports.useDynamicList=ge;exports.useEventEmitter=tt;exports.useEventListener=E;exports.useFavicon=ie;exports.useFullscreen=se;exports.useInterval=K;exports.useLocalStorage=Se;exports.useMouse=le;exports.usePageHidden=ue;exports.useQueue=ve;exports.useRequest=nt;exports.useScroll=de;exports.useSessionStorage=we;exports.useSet=pe;exports.useStorage=D;exports.useThrottle=rt;exports.useThrottleEffect=ot;exports.useThrottleFn=C;exports.useTimeout=it;exports.useTitle=ce;exports.useToggle=be;
;