vue-composable
Advanced tools
Comparing version 1.0.0-alpha.29 to 1.0.0-alpha.31
@@ -1,1 +0,1 @@ | ||
var vueComposable=function(e,t){"use strict";const n=()=>{},r=n,o=n;function a(e){return t.isRef(e)?e.value:e}function s(e){return t.isRef(e)?e:t.ref(e)}const l=Array.isArray,u=e=>"function"==typeof e,i=e=>"string"==typeof e,c=e=>"boolean"==typeof e,v=e=>f(e)&&u(e.getTime),d=e=>"number"==typeof e,f=e=>null!==e&&"object"==typeof e,m=e=>f(e)&&!!e.tagName;function p(e){return f(e)&&u(e.then)&&u(e.catch)}const h=()=>{},g=()=>!1,y={passive:!0};function w(e){return new Promise(t=>{setTimeout(t,e)})}function b(e,t,n){return e<t?t:e>n?n:e}const E="undefined"!=typeof window;function $(e,...t){for(let n=0;n<t.length;n++){const r=t[n];if(void 0===r||!f(r))continue;const o=Object.keys(r);for(let t=0;t<o.length;t++){const n=o[t],s=a(r[n]),l=typeof s,u=typeof e[n];void 0!==e[n]&&l!==u||(e[n]=f(s)?$(e[n]||{},s):r[n])}}return e}function M(e,n,r,o){let a=h;if(e){const l=s(e),u=e=>e.removeEventListener(n,r),i=e=>e.addEventListener(n,r,o);a=()=>{u(l.value)},t.onUnmounted(a),t.onMounted(()=>{t.watch(l,(e,t)=>{t&&u(t),e&&i(e)},{immediate:!0})})}return a}function S(e,t,n){return k(e,t,n)}function k(e,t=50,n={isImmediate:!1}){let r;return function(...o){const a=this,s=n.isImmediate&&void 0===r;void 0!==r&&clearTimeout(r),r=setTimeout((function(){r=void 0,n.isImmediate||e.apply(a,o)}),t),s&&e.apply(a,o)}}function L(e,n){if(!e)throw new Error(`[usePromise] argument can't be '${e}'`);if("function"!=typeof e)throw new Error(`[usePromise] expects function, but received ${typeof e}`);const[r,o]=c(n)?[n,!1]:f(n)?[n.lazy,n.throwException]:[!1,!1],a=t.ref(!1),s=t.ref(null),l=t.ref(null),u=t.ref(),i=async(...t)=>{a.value=!0,s.value=null;const n=t&&e.length!==t.length&&t.length>0&&c(t[t.length-1])?t[t.length-1]:o,r=u.value=e(...t);try{const e=await r;return u.value===r&&(l.value=e),e}catch(e){return u.value===r&&(s.value=e,l.value=null),n?r:void 0}finally{u.value===r&&(a.value=!1)}};return r||i(),{exec:i,result:l,promise:u,loading:a,error:s}}function x(e,n){const r=t.ref(!1);let o=void 0;return{...L((...t)=>{return n=e(...t),new Promise((e,t)=>{o=e=>{r.value=!0,t(e)},n.then(e).catch(t)});var n},n),cancel:e=>{o&&o(e)},cancelled:r}}const I=Symbol(""),R=Symbol(""),P=async(e,t,n,r)=>{const o=t[I].value;let a=-1;const s=e.maxRetries||9001,l=e.retryDelay||O;t.retryErrors.value=[],t.isRetrying.value=!1,t.nextRetry.value=void 0;let u=void 0;do{let e=!1,i=null;try{if(++a,i=r?n(...r):n(),p(i)&&(i=await i),t[R].value)return null;e=!0}catch(e){i=null,t.retryErrors.value.push(e)}if(o!==t[I].value)return i;if(e)return t.isRetrying.value=!1,t.nextRetry.value=void 0,i;if(a>=s)return t.isRetrying.value=!1,t.nextRetry.value=void 0,Promise.reject(new Error(`[useRetry] max retries reached ${s}`));t.isRetrying.value=!0;const c=Date.now(),f=l(a),m=p(f)?await f:f;if(!p(f)||m){if(d(m))u=m;else{if(!v(m))throw new Error(`[useRetry] invalid value received from options.retryDelay '${typeof m}'`);u=m.getTime()}u<c?t.nextRetry.value=c+u:(t.nextRetry.value=u,u-=c),u>0&&await w(u)}if(t[R].value)return null;if(o!==t[I].value)return i}while(a<9e3);return null};const O=()=>0;function C(e){return e&&(c(e.isJson)||c(e.parseImmediate))}let T=void 0;let j=void 0,_=void 0;let D=void 0,A=void 0;function F(e,n){const r=E&&"BroadcastChannel"in self,o=t.ref(null),a=t.ref(null),s=t.ref(null),l=t.ref(!1),u=t.ref(!1);let i=h,c=h,v=h;if(r){const r=new BroadcastChannel(e);r.addEventListener("messageerror",e=>{s.value=e,l.value=!0},y),r.addEventListener("message",e=>{a.value=e,o.value=e.data},y),i=e=>r.postMessage(e),c=()=>{r.close(),u.value=!0},v=(e,n)=>{r.addEventListener("message",e,n),t.onUnmounted(()=>r.removeEventListener("message",e))},t.onUnmounted(()=>{n&&n(),c()})}return{supported:r,data:o,messageEvent:a,errorEvent:s,errored:l,isClosed:u,send:i,close:c,addListener:v}}function U(e,t){const n=getComputedStyle(e).getPropertyValue(t);return n?n.trim():null}function V(e,t,n){e.style.setProperty(t,n)}const W={attributes:!0,childList:!0,subtree:!0},z=e=>e.length<=2||"-"!==e[0]||"-"!==e[1]?`--${e}`:e;const B=e=>function(t){const n=t.data||[];return new Promise(t=>{try{Promise.resolve(e.apply(e,n)).then(e=>t(postMessage([!0,e]))).catch(e=>t(postMessage([!1,e])))}catch(e){t(postMessage([!1,e]))}})};function N(e){const n=!!E&&"matchMedia"in window;let r=void 0,o=void 0,a=h;if(n){r=t.ref(matchMedia(e)),o=t.ref(r.value.matches);const n=e=>{o.value=e.matches};r.value.addEventListener("change",n,y);const a=()=>r.value.removeEventListener("change",n);t.onUnmounted(a)}else r=t.ref({}),o=t.ref(!1);return{supported:n,mediaQueryList:r,matches:o,remove:a}}function H(e,n){const{addListener:r,send:o,close:a,supported:s}=F(e,()=>g()),l=Date.now(),u=t.ref(!1),i=t.ref(0),c=t.computed(()=>1!==i.value||u.value),v=t.ref([]),d=t.ref(n);let m=!1,p=void 0;o({type:0});const h=()=>o({type:5,id:l}),g=()=>{0!==v.value.length&&(u.value&&o({type:3,mind:1,id:Math.min(...v.value)}),o({type:4,id:l}))};return r(e=>{switch(e.data.type){case 0:o({type:2,value:d.value,mind:i.value});break;case 4:{const t=v.value.indexOf(e.data.id);t>=0&&v.value.splice(t,1),p===e.data.id&&v.value.length>0&&o({type:3,mind:1,id:Math.min(l,...v.value)});break}case 2:m=!0,d.value=e.data.value,i.value=e.data.mind;break;case 3:i.value=e.data.mind,p=1===e.data.mind&&e.data.id||void 0,u.value=p===l,u.value&&(v.value=[],h());break;case 5:v.value=[e.data.id],o({type:6,id:l});break;case 6:v.value.push(e.data.id)}},y),h(),t.watch(d,(e,t)=>{if(m)m=!1;else{if(1===i.value&&!1===u.value)return m=!0,void(d.value=t);o({type:2,mind:i.value,value:f(e)?{...e}:e}),m=!1}},{deep:!0,immediate:!1}),E&&window.addEventListener("unload",g,y),t.onUnmounted(()=>{g(),a()}),{supported:s,id:l,data:d,master:u,mind:i,editable:c,targets:v,ping:h,setMind:e=>{switch(e){case 1:u.value=!0;break;case 0:u.value=!1}i.value=e,o({type:3,id:l,mind:i.value})},addListener:r}}function K(e,n){const r=s(n),o=s(e);return f(r.value)||t.isRef(n)?[void 0!==o.value?o:void 0,r]:!f(o.value)||l(o.value)||i(o.value)?[o.value?o:void 0,void 0]:[void 0,o]}function J(e,n){const[r,o]=K(e,n),s=t.computed(()=>new Intl.NumberFormat(a(r),a(o))),l=(e,t,n)=>(t||n?new Intl.NumberFormat(a(n)||a(r),{...a(o),...a(t)}):s.value).format(a(e));return{format:(e,n,r)=>t.computed(()=>l(e,n,r)),formatString:l,formatter:s}}function q(e){if(e)return d(e)?e:Q(e)}const Q=e=>{const t=e.match(/^(\d+)px$/);if(t)return+t[1]};function G(e){const n={},r=new Map,o=t.ref();let a=[];const s=[];for(const o in e){const l=e[o],u=q(l);if(void 0!==u){const e=t.ref(!1);n[o]=e,r.set(u,{name:o,valid:e}),a.push(u)}else{const{matches:e,remove:t}=N(l);n[o]=e,s.push(t)}}a=a.sort((e,t)=>t-e);const l=E?()=>{const e=window.innerWidth;let t=void 0;for(let n=0;n<a.length;n++){const o=a[n],s=r.get(o);s.valid.value=e>=o,e>=o&&void 0===t&&(t=s.name)}o.value=t}:h,u=S(l,10),i=E?()=>window.removeEventListener("resize",u):h;return E&&(t.onMounted(()=>{l(),window.addEventListener("resize",u,y)}),t.onUnmounted(()=>{i(),s.forEach(e=>e())})),{...n,remove:i,current:o}}const X=Symbol(""),Y={sm:640,md:768,lg:1024,xl:1280};function Z(e){return f(e)&&f(e.theme)&&f(e.theme.screens)}function ee(e){return!!f(e)&&(i(e.min)||i(e.max)||d(e.min)||d(e.max))}function te(e){const t=[];if(l(e)){const n=e.map(te);for(let e=0;e<n.length;e++){const r=n[e];t.push(...r)}}else f(n=e)&&i(n.raw)?t.push(e.raw):ee(e)?t.push(function(e){return ee(e)?`(${[e.max&&`max-width: ${e.max}`,e.min&&`min-width: ${e.min}`].filter(Boolean).join(" and ")})`:""}(e)):(i(e)||d(e))&&t.push(`min-width: ${e}`);var n;return t}function ne(e){const n=Z(e)?e.theme.screens:e;if(Z(e))for(const e in n)n.hasOwnProperty(e)&&(n[e]=te(n[e]).join(" or "));const r=G(n);return t.provide(X,r),r}function re(e,t){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&(t&&0!==t.length||!1)}function oe(e){try{if(!e)return!1;const t=":$";return e.setItem(t,t),e.removeItem(t),!0}catch(t){return re(t,e)}}function ae(e,t){try{return e.parse(t)}catch{return t}}let se=void 0;function le(e,n=JSON,r=10){const o=E?window[e]:void 0,a=oe(o);se||(se=new Map,E&&window.addEventListener("storage",e=>{if(e.newValue===e.oldValue)return;let t=se.get("localStorage");t=e.storageArea===window.localStorage?se.get("localStorage"):se.get("sessionStorage"),t&&Object.keys(t.$syncKeys).length>0&&(null===e.key?t.clear():t.$syncKeys[e.key]&&(null===e.newValue?t.removeItem(e.key):t.updateItem(e.key,e.newValue)))}));let l,u=se.get(e);return a&&o?u?l=u.$quotaError:(l=t.ref(!1),u={$refMap:new Map,$watchHandlers:new Map,$syncKeys:{},$quotaError:l,key:o.key,length:o.length,setSync(e,t){t?this.$syncKeys[e]=!0:delete this.$syncKeys[e]},clear(){this.$refMap.forEach((e,t)=>this.removeItem(t))},removeItem(e){const t=this.$refMap.get(e);t&&(t.value=void 0);const n=this.$watchHandlers.get(e);n&&n(),delete this.$syncKeys[e],this.$refMap.delete(e),o.removeItem(e)},getItem(e){const t=o.getItem(e);return t?this.setItem(e,ae(n,t)):null},setItem(e,a){const u=s(a);this.$refMap.set(e,u);const c=(e,t)=>{try{const r=o.getItem(e),a=i(t)?t:n.stringify(t);o.setItem(e,a),r!==a&&E&&this.$syncKeys[e]&&window.dispatchEvent(new StorageEvent(e,{newValue:a,oldValue:r,storageArea:o}))}catch(e){l.value=re(e,o)}};c(e,a);const v=t.watch(u,k(t=>{c(e,t)},r),{immediate:!1,deep:!0});return this.$watchHandlers.set(e,v),u},updateItem(e,t){let r=this.$refMap.get(e);r&&(r.value=ae(n,t))}},se.set(e,u)):(l=t.ref(!1),u={}),{supported:a,quotaError:l,store:u,remove:()=>se.delete(e)}}function ue(e,n,r){const{supported:o,store:a}=le("localStorage");let s=h,l=h,u=h,i=void 0;return o&&a?(u=t=>a.setSync(e,t),s=()=>a.removeItem(e),l=()=>a.clear(),i=a.getItem(e),i||(i=a.setItem(e,n)),!1!==r&&u(!0)):i=t.ref(n),{supported:o,storage:i,clear:l,remove:s,setSync:u}}function ie(e,n,r){const{supported:o,store:a}=le("sessionStorage");let s=h,l=h,u=g,i=void 0;return o&&a?(s=()=>a.removeItem(e),l=()=>a.clear(),i=a.getItem(e),i||(i=a.setItem(e,n))):i=t.ref(n),{supported:o,storage:i,clear:l,remove:s,setSync:u}}let ce=void 0;function ve(e){const n=s(e.currentPage),r=s(e.pageSize),o=t.ref(0),a=s(e.total),l=t.computed({get:()=>o.value,set(e){d(e)&&(o.value=Math.min(e,a.value))}}),u=t.computed({get:()=>n.value,set(e){d(e)&&(n.value=b(e,1,c.value),l.value=(n.value-1)*i.value)}}),i=t.computed({get:()=>r.value,set(e){d(e)&&(r.value=e)}}),c=t.computed(()=>Math.ceil(a.value/i.value));u.value=n.value;return t.watch([a,i],e=>{u.value>c.value&&(u.value=c.value)},{immediate:!1}),{pageSize:i,total:a,currentPage:u,offset:l,lastPage:c,next:()=>++u.value,prev:()=>--u.value,first:()=>u.value=1,last:()=>u.value=c.value}}function de(e){const n=e&&e.refreshMs||1e3,r=!e||!c(e.sync)||e.sync,o=e&&u(e.timeFn)&&e.timeFn||Date.now;let a=void 0,s=void 0;const l=t.ref(o()),i=()=>{clearInterval(a),clearTimeout(s)},v=E?()=>a=setInterval(()=>l.value=o(),n):h;if(r){const e=1e3-(l.value-1e3*Math.floor(l.value/1e3));s=setTimeout(v,e)}else v();return t.onUnmounted(i),{now:l,remove:i}}function fe(e,n){return t.computed(()=>{const r=a(e);if(!n)return r;const o=t.isRef(n)?t.reactive(n.value):t.reactive(n);return r.replace(/({?{[\w\s]*}?})/g,e=>{const t=e.replace("{","").replace("}","").trim();if(e[0]===e[1]&&"{"===e[0])return`${t}`;const n=l(o)?o[+t]:o[t];return void 0===n?e:`${a(n)}`})})}function me(e,n,r=".",o=h){return t.computed(()=>{const t=a(e),s=a(n);if(void 0===t)return o(s,t,s,t);if(!s)return t;const l=s.split(r);let u=t;for(let e=0;e<l.length;e++){let n=l[e];if("]"===n[n.length-1]){const t=/\[[`'"]?([^`'"\]]*)[`'"]?\]/g;let r=n,o=t.exec(r);if(o){let a=o[0].length,s=o.index-a,u=1;do{o.index,s=o.index,a=o[0].length,n=n.slice(0,-o[0].length),l.splice(e+u,0,o[1]),++u}while(o=t.exec(r));if(!n&&"["===r[0]&&r.length>2)continue}else n="",console.warn(`[usePath] invalid path provided "${r}"`)}if(!f(u))return o(l.slice(0,e+1).join(r),u,s,t);if(!n)return o(l.slice(0,e+1).join(r),u,s,t);if(u=u[n],!u)return o(l.slice(0,e+1).join(r),u,s,t)}return u})}function pe(e){return void 0!==e.$value}const he=(e,n,r)=>{const{$message:o,$validator:s,...l}=function(e){return f(e)}(n)?n:{$validator:n,$message:""},{$pending:u,$promise:i,$invalid:c,$error:v}=((e,n,r)=>{const o=t.ref(null),s=t.ref(!1),l=t.ref(),u=t.ref(!1);let i=void 0;const c=e=>{o.value=(async()=>{try{s.value=!0;const t=n(e,i);p(t)?u.value=!await t:u.value=!t}catch(e){throw u.value=!0,e}finally{s.value=!1}})().catch(e=>(l.value=a(e),u.value=!0,e))};return r.push(r=>{i=r,t.watch(()=>{try{n(e.value,i)}catch(e){}return e.value},c,{deep:!0,immediate:!0})}),{$promise:o,$pending:s,$invalid:u,$error:l}})(e,s,r);return{$pending:u,$error:v,$promise:i,$invalid:c,$message:o,...l}},ge=(e,n)=>{const r={},o=pe(e)?s(e.$value):void 0;for(const s of Object.keys(e))if("$"!==s[0])if(o){const t=he(o,e[s],n);r[s]={...t,$value:o}}else{const o=ge(e[s],n);let l,u,i=void 0;if(pe(o)){const e=Object.keys(o).filter(e=>"$"!==e[0]).map(e=>o[e]);l=t.computed(()=>e.map(e=>e.$error).filter(Boolean).map(e=>a(e))),u=t.computed(()=>e.some(e=>!!a(e.$invalid)))}else{const e=Object.keys(o).map(e=>o[e]);l=t.computed(()=>e.map(e=>a(e.$errors)).filter(Boolean).filter(e=>e.some(Boolean))),i=t.computed(()=>e.some(e=>e.$anyDirty||c(a(e.$dirty))&&a(e.$dirty))),u=t.computed(()=>e.some(e=>!!a(e.$anyInvalid)))}r[s]={...o,$errors:l,$anyInvalid:u},i&&(r[s].$anyDirty=i)}else{if("$value"===s){r[s]=o;const e=t.ref(!1),n=t.watch(o,()=>{e.value=!0,n()},{immediate:!1,deep:!0});r.$dirty=e;continue}r[s]=e[s]}return r};const ye=Symbol("");function we(e){const n=t.ref(Object.keys(e.messages)),l=t.ref(e.messages),i=t.ref(e.locale),v=t.ref({});let d=t.ref();const f={},m=(e,n)=>{if(f[e])return f[e];const r=n.value[e];if(!r)return t.ref({});let o=u(r)?r():r;return p(o)?o.then(t=>f[e]=s(t)):u(r)?s(o):f[e]=t.computed(()=>n.value[e])},h=!!e.fallback&&(!c(e.notFoundFallback)||e.notFoundFallback);let g=!1;if(h){const t=m(e.fallback,l);p(t)?(t.then(e=>{d.value=e.value}),g=!0):d.value=t.value}else d.value={};const y=t.ref(0);t.watch(l,()=>y.value++,{deep:!0,immediate:!1}),t.watch([i,d,y],([t,n,r])=>{if(t===e.fallback&&h)v.value=n;else{const e=e=>v.value=$({},n,a(e)),r=m(t,l);p(r)?r.then(e):e(r)}},{immediate:!g});const w=(t,n)=>e.resolve?s(e.resolve(v.value,t,n)):fe(me(v,t,".",(e,t,n,r)=>n),n);return{locale:i,locales:n,i18n:v,$t:w,$ts:(e,t)=>w(e,t).value,addLocale:(e,t)=>{n.value.indexOf(e)>=0||n.value.push(e),delete f[e],__VUE_2__?o(l.value):l.value[e]=t},removeLocale:t=>{const o=n.value.indexOf(t);if(o>=0){const r=[i.value,d.value&&e.fallback,...n.value].find(e=>e&&e!==t);r&&(t===e.fallback&&(d.value=void 0),t===i.value&&(i.value=r)),n.value.splice(o,1)}__VUE_2__?r(l.value):delete l.value[t],delete f[t]}}}function be(e){const n=we(e);return t.provide(ye,n),n}return e.FALSE_OP=g,e.NO_OP=h,e.PASSIVE_EV=y,e.buildI18n=we,e.debounce=k,e.deepClone=$,e.exponentialDelay=e=>{const t=100*Math.pow(2,e);return t+.2*t*Math.random()},e.exposeWorker=function(e){this.onmessage=async t=>{const n=e(t.data);if(void 0===n)this.postMessage(n);else if(null===n)this.postMessage(n);else if(l(n))this.postMessage(n);else if(n[Symbol.asyncIterator])for await(const e of n)this.postMessage(e);else if(n[Symbol.iterator])for(const e of n)this.postMessage(e);else this.postMessage(await n)}},e.getCssVariableFor=U,e.isArray=l,e.isBoolean=c,e.isClient=E,e.isDate=v,e.isElement=m,e.isFunction=u,e.isNumber=d,e.isObject=f,e.isPromise=p,e.isString=i,e.isSymbol=e=>"symbol"==typeof e,e.minMax=b,e.noDelay=O,e.promisedTimeout=w,e.refShared=function(e,n){const r=t.getCurrentInstance(),o=n||(__VUE_2__?r.$vnode.tag:r.vnode.scopeId);if(!o)return t.ref(e);const{data:a,supported:s}=H(o,e);return a},e.setBreakpointTailwindCSS=ne,e.setCssVariableFor=V,e.setI18n=be,e.storageAvailable=oe,e.unwrap=a,e.useArrayPagination=function(e,n){const r=s(e),o=ve({currentPage:1,pageSize:10,...n,total:t.computed(()=>r.value.length)}),a=t.computed(()=>{const e=r.value;return Array.isArray(e)?e.slice(o.offset.value,o.offset.value+o.pageSize.value):[]});return{...o,result:a}},e.useBreakpoint=G,e.useBreakpointChrome=function(){return G({mobileS:320,mobileM:375,mobileL:425,tablet:768,laptop:1024,laptopL:1440,desktop4K:2560})},e.useBreakpointTailwindCSS=function(e){const n=t.inject(X);return n||ne(e||Y)},e.useBroadcastChannel=F,e.useCancellablePromise=x,e.useCssVariables=function(e,n,r){const o=E&&"MutationObserver"in self,[l,u]=t.isRef(n)||m(n)?[n,r||W]:[o&&document.documentElement||{},n||W],c=t.ref(!0),v={},d=[],f=Object.entries(e).map(e=>{const[t,n]=i(e[1])?[e[1]]:[e[1].name,e[1].value];return n&&(d.push(()=>V(a(l),t,a(n))),v[e[0]]=s(n)),[e[0],z(t)]});for(let e=0;e<f.length;e++){const[n,r]=f[e];v[n]||(v[n]=t.ref(t.isRef(l)&&!l.value||!o?null:U(a(l),r))),o&&t.watch([v[n],s(l)],e=>{c&&e[1]&&e[0]!==U(e[1],r)&&V(e[1],r,e[0])},{immediate:!t.isRef(l)})}if(!o)return{...v,stop:h,resume:h,supported:o,observing:c};const p=()=>{for(let e=0;e<f.length;e++){const[t,n]=f[e];v[t].value=U(a(l),n)}},g=new MutationObserver(p),y=()=>{g.disconnect(),c.value=!1},w=()=>{c.value||p(),g.observe(a(l),u),c.value=!0};return t.onUnmounted(y),t.isRef(l)?t.onMounted(()=>{d.forEach(e=>e()),t.watch(l,(e,t)=>{t&&y(),e&&w()})}):(E||l)&&(d.forEach(e=>e()),w()),{...v,supported:o,resume:w,stop:y,observing:c}},e.useCurrencyFormat=function(e,n,r){const o=a(e),s=!f(o),l=s?e:t.computed(()=>a(e).currency),[u,i]=K(n,s?r:e),c=t.computed(()=>{const e=a(i)||{},t=a(l)||e.currency;return{style:"currency",...e,currency:t}}),v=J(u),d=(e,t,n,r,o)=>{const s={...c.value,...a(r)},l=a(t)||s.currency,u=a(n)||s.currencyDisplay;return v.formatString(e,{...s,currency:l,currencyDisplay:u},o)};return{format:(e,n,r,o,a)=>t.computed(()=>d(e,n,r,o,a)),formatString:d}},e.useDateNow=function(e){return de({refreshMs:e&&e.refreshMs||1e3,sync:!e||!c(e.sync)||e.sync,timeFn:Date.now})},e.useDebounce=S,e.useEvent=M,e.useFetch=function(e,n){const r=t.ref(null),o=t.ref(""),a=t.ref(),s=t.ref(null),[l,u]=C(e)?[!1!==e.isJson,!1!==e.parseImmediate]:C(n)?[!1!==n.isJson,!1!==n.parseImmediate]:[!0,!0],c=e?i(e)?n:C(e)?e:i(e.url)?n:e:void 0,v=t.ref(!1),d=t.ref();let f=void 0;const m=L(async(e,t)=>{f=new AbortController;const n=await fetch(e,{signal:f.signal,...c,...t});if(n){const e=[l?n.clone().json().then(e=>r.value=e).catch(e=>{r.value=null,s.value=e}):Promise.resolve(),n.clone().blob().then(e=>{a.value=e}),n.clone().text().then(e=>{o.value=e})];u&&await Promise.all(e)}return n},!0),p=t.computed(()=>m.result.value&&m.result.value.status||null),h=t.computed(()=>m.result.value&&m.result.value.statusText||null);return e&&(i(e)||i(e.url))&&m.exec(e,void 0,!1),{...m,cancel:e=>{f&&(f.abort(),v.value=!0,d.value=e)},isCancelled:v,cancelledMessage:d,text:o,blob:a,json:r,jsonError:s,status:p,statusText:h}},e.useFormat=fe,e.useGeolocation=function(e){const n=E&&!!navigator.geolocation,r=t.ref(e?!1===e.immediate:void 0),o=t.ref(null),a=t.ref(null),s=t.ref(null),l=t.ref(e&&e.enableHighAccuracy||null);let u=h;if(n){const n=e=>{a.value=e.timestamp,s.value=e.coords,o.value=null},i=e=>{a.value=Date.now(),s.value=null,o.value=e},v=()=>!0!==r.value&&f&&navigator.geolocation.clearWatch(f);let d=()=>navigator.geolocation.getCurrentPosition(n,i,e);u=r.value?()=>{r.value?r.value=!1:d()}:d;let f=0;t.onMounted(()=>t.watch([l,r],t=>{v();const r=c(t[0])?t[0]:e?e.enableHighAccuracy:void 0;f=navigator.geolocation.watchPosition(n,i,e?{...e,enableHighAccuracy:r}:{enableHighAccuracy:r})},{immediate:!r.value})),t.onUnmounted(v)}return{supported:n,refresh:u,error:o,timestamp:a,coords:s,highAccuracy:l}},e.useI18n=function(e){return e?be(e):t.inject(ye)},e.useIntersectionObserver=function(e,n){const r=E&&"IntersectionObserver"in window,o=e?s(e):void 0,l=!o||!m(o.value)&&o.value?void 0:o,u=t.computed(()=>n?a(n):l?void 0:a(e)),i=t.ref([]),c=t.computed(()=>i.value.length>0&&i.value.every(e=>e.isIntersecting)),v=e=>{i.value=e};let d=t.ref();r&&t.watch(u,e=>{d.value&&d.value.disconnect();const t=e&&e&&{root:a(e.root),rootMargin:a(e.rootMargin),threshold:a(e.threshold)}||void 0;d.value=new IntersectionObserver(v,t),i.value.map(e=>e.target).forEach(d.value.observe)},{deep:!0,immediate:!0});const f=r?e=>{const t=a(e);d.value.observe(t)}:h,p=r?e=>{const t=a(e);d.value.unobserve(t)}:h,g=()=>d.value.disconnect();return l&&(t.onMounted(()=>{l.value&&f(l)}),t.onUnmounted(()=>{g()})),{supported:r,elements:i,observe:f,unobserve:p,disconnect:g,isIntersecting:c}},e.useIntlNumberFormat=J,e.useLanguage=function(){if(D||(D=E?t.ref(navigator.language):t.ref("")),!A)if(E){A=t.ref(navigator.languages);const e=()=>{D.value=navigator.language,A.value=navigator.languages};window.addEventListener("languagechange",e,y)}else A=t.ref([]);return{language:D,languages:A}},e.useLocalStorage=ue,e.useMatchMedia=N,e.useNetworkInformation=function(){const e=!!E&&(navigator.connection||navigator.mozConnection||navigator.webkitConnection),n=!!e,r=t.ref(0),o=t.ref(0),a=t.ref("none"),s=t.ref(0),l=t.ref(!1),u=t.ref("none");let i=h,c=h;return e&&(i=()=>{r.value=e.downlink,o.value=e.downlinkMax,a.value=e.effectiveType,s.value=e.rtt,l.value=e.saveData,u.value=e.type},c=M(e,"change",i,y),i()),{supported:n,downlink:r,downlinkMax:o,effectiveType:a,rtt:s,saveData:l,type:u,remove:c}},e.useNow=de,e.useOnMouseMove=function(e,n,r){const o=t.ref(0),a=t.ref(0);let s=e=>{o.value=e.x,a.value=e.y};const[l,u]=d(n)?[void 0,n]:[n,r];u&&(s=S(s,r));const i=M(e,"mousemove",s,l);return{mouseX:o,mouseY:a,remove:i}},e.useOnResize=function(e,n,r){const o=s(e),a=t.ref(o.value&&o.value.clientHeight),l=t.ref(o.value&&o.value.clientWidth);let u=()=>{a.value=o.value.clientHeight,l.value=o.value.clientWidth};const[i,c]=d(n)?[void 0,n]:[n,r];c&&(u=S(u,r));const v=E?M(window,"resize",u,i||y):h;return{height:a,width:l,remove:v}},e.useOnScroll=function(e,n,r){const o=e=>!(d(e)||c(e)||!m(e)&&!t.isRef(e)||!e),a=o(e)?s(e):t.ref(E&&window||void 0),l=o(e)?a:t.ref(E&&window.document.scrollingElement||void 0),u=t.ref(l.value&&l.value.scrollTop||0),i=t.ref(l.value&&l.value.scrollLeft||0);let v=()=>{u.value=l.value.scrollTop,i.value=l.value.scrollLeft};const f=(...e)=>l.value&&l.value.scrollTo&&l.value.scrollTo.apply(l.value,e),p=e=>f({top:e}),h=e=>f({left:e}),[g,w]=d(e)||!e?[y,e]:d(n)?[y,n]:[n,r];w&&(v=S(v,r));const b=M(a,"scroll",v,g),$=t.watch(u,p,{immediate:!1}),k=t.watch(i,h,{immediate:!1});return{scrollTop:u,scrollLeft:i,scrollTo:f,remove:()=>{b(),k(),$()},scrollTopTo:p,scrollLeftTo:h}},e.useOnline=function(){const e=E&&"onLine"in navigator;return e||(T=t.ref(!1)),T||(T=t.ref(navigator.onLine),window.addEventListener("offline",()=>T.value=!1,y),window.addEventListener("online",()=>T.value=!0,y)),{supported:e,online:T}},e.usePageVisibility=function(){return _||(_=t.ref(E&&document.hidden)),j||(E?(j=t.ref(document.visibilityState),document.addEventListener("visibilitychange",()=>{j.value=document.visibilityState,_.value=document.hidden},y)):j=t.ref("visible")),{visibility:j,hidden:_}},e.usePagination=ve,e.usePath=me,e.usePerformanceNow=function(e){return de({refreshMs:e&&e.refreshMs||1e3,sync:!e||!c(e.sync)||e.sync,timeFn:()=>performance.now()})},e.usePromise=L,e.usePromiseLazy=function(e,t=!1){return L(e,{lazy:!0,throwException:t})},e.useRetry=function(e,n){const r=!e||u(e)?{}:e,o=u(e)?e:n;if(!u(e)&&!f(e))throw new Error("[useRetry] options needs to be 'object'");if(o&&!u(o))throw new Error("[useRetry] factory needs to be 'function'");const a=t.ref(!1),s=t.ref(),l=t.ref([]),i={value:!1},c={isRetrying:a,retryCount:t.computed(()=>l.value.length),nextRetry:s,retryErrors:l,[I]:{value:0},[R]:i},v=o?(...e)=>(++c[I].value,P(r,c,o,e)):e=>(++c[I].value,P(r,c,e,void 0));return{...c,cancel:()=>{c.isRetrying.value=!1,c.retryErrors.value.push(new Error("[useRetry] cancelled")),c.nextRetry.value=void 0,i.value=!0},exec:v}},e.useSessionStorage=ie,e.useShare=function(e){const n=E&&"share"in navigator;let r=()=>Promise.resolve(!1),o=g,a=t.ref(!1),s=t.ref(!1);return n&&(r=e=>(a.value=!1,s.value=!1,navigator.share(e).then(e=>(a.value=!0,e)).catch(e=>(a.value=!1,s.value=!0,!1))),o=e=>navigator.canShare(e),e&&o(e)&&r(e)),{supported:n,share:r,canShare:o,shared:a,cancelled:s}},e.useSharedRef=H,e.useStorage=function(e,t,n){return void 0===ce&&(ce=le("localStorage").supported),ce?ue(e,t,n):ie(e,t)},e.useValidation=function(e){const n=[],r=ge({input:e},n),o=t.reactive(r.input);return n.forEach(e=>e(o)),o},e.useWebSocket=function(e,n){const r=E&&"WebSocket"in window;let o=null;const a=t.ref(),s=t.ref(),l=t.ref(null),u=t.ref(!1),i=t.ref(!1),c=t.ref(!1);let v=h,d=h;return r&&(o=new WebSocket(e,n),o.addEventListener("message",e=>{a.value=e,l.value=e.data}),o.addEventListener("error",e=>{s.value=e,c.value=!0}),o.addEventListener("close",()=>{u.value=!1,i.value=!0}),o.addEventListener("open",()=>{u.value=!0,i.value=!1}),v=e=>o.send(e),d=(e,t)=>{o.close(e,t)}),{supported:r,ws:o,send:v,close:d,messageEvent:a,errorEvent:s,data:l,isOpen:u,isClosed:i,errored:c}},e.useWebStorage=le,e.useWorker=function(e,n,r){const o=E&&"Worker"in self,a=t.ref(),s=t.ref(),l=t.ref(!o),u=t.ref(!o);if(!o)return l.value=!0,{worker:void 0,data:s,postMessage:h,terminate:h,errorEvent:a,errored:u,terminated:l};const i=new Worker(e,r),c=e=>i.postMessage(e);function v(){i.terminate(),l.value=!0}return i.addEventListener("message",e=>{s.value=e.data},y),i.addEventListener("error",e=>{a.value=e,u.value=!0},y),t.onUnmounted(v),n&&c(n),{worker:i,data:s,postMessage:c,terminate:v,errorEvent:a,errored:u,terminated:l}},e.useWorkerFunction=function(e,n){const r=E&&"Worker"in self,o=t.computed(()=>n&&a(n.dependencies)||[]),s=t.computed(()=>n&&a(n.timeout));if(!r)return x(e,{lazy:!0,throwException:!0});const l=x((...n)=>new Promise((r,a)=>{const u=function(e,t){const n=[t.length>0?`importScripts("${t.join('","')}");`:"","onmessage=",`(${B.toString()})(${e.toString()})`],r=new Blob(n,{type:"text/javascript"});return URL.createObjectURL(r)}(e,o.value),i=new Worker(u);let c=-1;const v=s.value,d=()=>{i.terminate(),URL.revokeObjectURL(u),clearTimeout(c),m()},f=n.length===e.length+1&&t.isRef(n[n.length-1])&&!1===n[n.length-1].value?t.computed(()=>l.cancelled.value||n[n.length-1].value):l.cancelled,m=f?t.watch(f,()=>{d(),r(void 0)},{immediate:!1}):h;i.addEventListener("message",e=>{e.data[0]?r(e.data[1]):a(e.data[1]),d()},y),i.addEventListener("error",e=>{d(),a(e)},y),i.postMessage([...n]),v&&(c=setTimeout(()=>{l.cancel(`[WebWorker] timeout after ${v}ms`)},v))}),{lazy:!0,throwException:!0});return l},e.wrap=s,e}({},VueRuntimeCore); | ||
var vueComposable=function(e,t){"use strict";function n(e){return t.isRef(e)?e.value:e}function r(e){return t.isRef(e)?e:t.ref(e)}const o=Array.isArray,a=e=>"function"==typeof e,s=e=>"string"==typeof e,l=e=>"boolean"==typeof e,u=e=>c(e)&&a(e.getTime),i=e=>"number"==typeof e,c=e=>null!==e&&"object"==typeof e,v=e=>c(e)&&!!e.tagName;function d(e){return c(e)&&a(e.then)&&a(e.catch)}const f=()=>{},m=()=>!1,p={passive:!0};function h(e){return new Promise(t=>{setTimeout(t,e)})}function g(e,t,n){return e<t?t:e>n?n:e}const y="undefined"!=typeof window;function w(e,...t){for(let r=0;r<t.length;r++){const o=t[r];if(void 0===o||!c(o))continue;const a=Object.keys(o);for(let t=0;t<a.length;t++){const r=a[t],s=n(o[r]),l=typeof s,u=typeof e[r];void 0!==e[r]&&l!==u||(e[r]=c(s)?w(e[r]||{},s):o[r])}}return e}function b(e,n,o,a){let s=f;if(e){const l=r(e),u=e=>e.removeEventListener(n,o),i=e=>e.addEventListener(n,o,a);s=()=>{u(l.value)},t.onUnmounted(s),t.onMounted(()=>{t.watch(l,(e,t)=>{t&&u(t),e&&i(e)},{immediate:!0})})}return s}function E(e,t,n){return $(e,t,n)}function $(e,t=50,n={isImmediate:!1}){let r;return function(...o){const a=this,s=n.isImmediate&&void 0===r;void 0!==r&&clearTimeout(r),r=setTimeout((function(){r=void 0,n.isImmediate||e.apply(a,o)}),t),s&&e.apply(a,o)}}function M(e,n){if(!e)throw new Error(`[usePromise] argument can't be '${e}'`);if("function"!=typeof e)throw new Error(`[usePromise] expects function, but received ${typeof e}`);const[r,o]=l(n)?[n,!1]:c(n)?[n.lazy,n.throwException]:[!1,!1],a=t.ref(!1),s=t.ref(null),u=t.ref(null),i=t.ref(),v=async(...t)=>{a.value=!0,s.value=null;const n=t&&e.length!==t.length&&t.length>0&&l(t[t.length-1])?t[t.length-1]:o,r=i.value=e(...t);try{const e=await r;return i.value===r&&(u.value=e),e}catch(e){return i.value===r&&(s.value=e,u.value=null),n?r:void 0}finally{i.value===r&&(a.value=!1)}};return r||v(),{exec:v,result:u,promise:i,loading:a,error:s}}function S(e,n){const r=t.ref(!1);let o=void 0;return{...M((...t)=>{return n=e(...t),new Promise((e,t)=>{o=e=>{r.value=!0,t(e)},n.then(e).catch(t)});var n},n),cancel:e=>{o&&o(e)},cancelled:r}}const k=Symbol(""),I=Symbol(""),L=async(e,t,n,r)=>{const o=t[k].value;let a=-1;const s=e.maxRetries||9001,l=e.retryDelay||x;t.retryErrors.value=[],t.isRetrying.value=!1,t.nextRetry.value=void 0;let c=void 0;do{let e=!1,v=null;try{if(++a,v=r?n(...r):n(),d(v)&&(v=await v),t[I].value)return null;e=!0}catch(e){v=null,t.retryErrors.value.push(e)}if(o!==t[k].value)return v;if(e)return t.isRetrying.value=!1,t.nextRetry.value=void 0,v;if(a>=s)return t.isRetrying.value=!1,t.nextRetry.value=void 0,Promise.reject(new Error(`[useRetry] max retries reached ${s}`));t.isRetrying.value=!0;const f=Date.now(),m=l(a),p=d(m)?await m:m;if(!d(m)||p){if(i(p))c=p;else{if(!u(p))throw new Error(`[useRetry] invalid value received from options.retryDelay '${typeof p}'`);c=p.getTime()}c<f?t.nextRetry.value=f+c:(t.nextRetry.value=c,c-=f),c>0&&await h(c)}if(t[I].value)return null;if(o!==t[k].value)return v}while(a<9e3);return null};const x=()=>0;function R(e){return e&&(l(e.isJson)||l(e.parseImmediate))}let O=void 0;let P=void 0,C=void 0;let T=void 0,j=void 0;function D(e,n){const r=y&&"BroadcastChannel"in self,o=t.ref(null),a=t.ref(null),s=t.ref(null),l=t.ref(!1),u=t.ref(!1);let i=f,c=f,v=f;if(r){const r=new BroadcastChannel(e);r.addEventListener("messageerror",e=>{s.value=e,l.value=!0},p),r.addEventListener("message",e=>{a.value=e,o.value=e.data},p),i=e=>r.postMessage(e),c=()=>{r.close(),u.value=!0},v=(e,n)=>{r.addEventListener("message",e,n),t.onUnmounted(()=>r.removeEventListener("message",e))},t.onUnmounted(()=>{n&&n(),c()})}return{supported:r,data:o,messageEvent:a,errorEvent:s,errored:l,isClosed:u,send:i,close:c,addListener:v}}function A(e,t){const n=getComputedStyle(e).getPropertyValue(t);return n?n.trim():null}function F(e,t,n){e.style.setProperty(t,n)}const V={attributes:!0,childList:!0,subtree:!0},U=e=>e.length<=2||"-"!==e[0]||"-"!==e[1]?`--${e}`:e;const W=e=>function(t){const n=t.data||[];return new Promise(t=>{try{Promise.resolve(e.apply(e,n)).then(e=>t(postMessage([!0,e]))).catch(e=>t(postMessage([!1,e])))}catch(e){t(postMessage([!1,e]))}})};function z(e){const n=!!y&&"matchMedia"in window;let r=void 0,o=void 0,a=f;if(n){r=t.ref(matchMedia(e)),o=t.ref(r.value.matches);const n=e=>{o.value=e.matches};r.value.addEventListener("change",n,p);const a=()=>r.value.removeEventListener("change",n);t.onUnmounted(a)}else r=t.ref({}),o=t.ref(!1);return{supported:n,mediaQueryList:r,matches:o,remove:a}}function N(e,n){const{addListener:r,send:o,close:a,supported:s}=D(e,()=>w()),l=Date.now(),u=t.ref(!1),i=t.ref(0),v=t.computed(()=>1!==i.value||u.value),d=t.ref([]),f=t.ref(n);let m=!1,h=void 0;o({type:0});const g=()=>o({type:5,id:l}),w=()=>{0!==d.value.length&&(u.value&&o({type:3,mind:1,id:Math.min(...d.value)}),o({type:4,id:l}))};return r(e=>{switch(e.data.type){case 0:o({type:2,value:f.value,mind:i.value});break;case 4:{const t=d.value.indexOf(e.data.id);t>=0&&d.value.splice(t,1),h===e.data.id&&d.value.length>0&&o({type:3,mind:1,id:Math.min(l,...d.value)});break}case 2:m=!0,f.value=e.data.value,i.value=e.data.mind;break;case 3:i.value=e.data.mind,h=1===e.data.mind&&e.data.id||void 0,u.value=h===l,u.value&&(d.value=[],g());break;case 5:d.value=[e.data.id],o({type:6,id:l});break;case 6:d.value.push(e.data.id)}},p),g(),t.watch(f,(e,t)=>{if(m)m=!1;else{if(1===i.value&&!1===u.value)return m=!0,void(f.value=t);o({type:2,mind:i.value,value:c(e)?{...e}:e}),m=!1}},{deep:!0,immediate:!1}),y&&window.addEventListener("unload",w,p),t.onUnmounted(()=>{w(),a()}),{supported:s,id:l,data:f,master:u,mind:i,editable:v,targets:d,ping:g,setMind:e=>{switch(e){case 1:u.value=!0;break;case 0:u.value=!1}i.value=e,o({type:3,id:l,mind:i.value})},addListener:r}}function B(e,n){const a=r(n),l=r(e);return c(a.value)||t.isRef(n)?[void 0!==l.value?l:void 0,a]:!c(l.value)||o(l.value)||s(l.value)?[l.value?l:void 0,void 0]:[void 0,l]}function H(e,r){const[o,a]=B(e,r),s=t.computed(()=>new Intl.NumberFormat(n(o),n(a))),l=(e,t,r)=>(t||r?new Intl.NumberFormat(n(r)||n(o),{...n(a),...n(t)}):s.value).format(n(e));return{format:(e,n,r)=>t.computed(()=>l(e,n,r)),formatString:l,formatter:s}}function K(e){if(e)return i(e)?e:_(e)}const _=e=>{const t=e.match(/^(\d+)px$/);if(t)return+t[1]};function J(e){const n={},r=new Map,o=t.ref();let a=[];const s=[];for(const o in e){const l=e[o],u=K(l);if(void 0!==u){const e=t.ref(!1);n[o]=e,r.set(u,{name:o,valid:e}),a.push(u)}else{const{matches:e,remove:t}=z(l);n[o]=e,s.push(t)}}a=a.sort((e,t)=>t-e);const l=y?()=>{const e=window.innerWidth;let t=void 0;for(let n=0;n<a.length;n++){const o=a[n],s=r.get(o);s.valid.value=e>=o,e>=o&&void 0===t&&(t=s.name)}o.value=t}:f,u=E(l,10),i=y?()=>window.removeEventListener("resize",u):f;return y&&(t.onMounted(()=>{l(),window.addEventListener("resize",u,p)}),t.onUnmounted(()=>{i(),s.forEach(e=>e())})),{...n,remove:i,current:o}}const q=Symbol(""),Q={sm:640,md:768,lg:1024,xl:1280};function G(e){return c(e)&&c(e.theme)&&c(e.theme.screens)}function X(e){return!!c(e)&&(s(e.min)||s(e.max)||i(e.min)||i(e.max))}function Y(e){const t=[];if(o(e)){const n=e.map(Y);for(let e=0;e<n.length;e++){const r=n[e];t.push(...r)}}else c(n=e)&&s(n.raw)?t.push(e.raw):X(e)?t.push(function(e){return X(e)?`(${[e.max&&`max-width: ${e.max}`,e.min&&`min-width: ${e.min}`].filter(Boolean).join(" and ")})`:""}(e)):(s(e)||i(e))&&t.push(`min-width: ${e}`);var n;return t}function Z(e){const n=G(e)?e.theme.screens:e;if(G(e))for(const e in n)n.hasOwnProperty(e)&&(n[e]=Y(n[e]).join(" or "));const r=J(n);return t.provide(q,r),r}function ee(e,t){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&(t&&0!==t.length||!1)}function te(e){try{if(!e)return!1;const t=":$";return e.setItem(t,t),e.removeItem(t),!0}catch(t){return ee(t,e)}}function ne(e,t){try{return e.parse(t)}catch{return t}}let re=void 0;function oe(e,n=JSON,o=10){const a=y?window[e]:void 0,l=te(a);re||(re=new Map,y&&window.addEventListener("storage",e=>{if(e.newValue===e.oldValue)return;let t=re.get("localStorage");t=e.storageArea===window.localStorage?re.get("localStorage"):re.get("sessionStorage"),t&&Object.keys(t.$syncKeys).length>0&&(null===e.key?t.clear():t.$syncKeys[e.key]&&(null===e.newValue?t.removeItem(e.key):t.updateItem(e.key,e.newValue)))}));let u,i=re.get(e);return l&&a?i?u=i.$quotaError:(u=t.ref(!1),i={$refMap:new Map,$watchHandlers:new Map,$syncKeys:{},$quotaError:u,key:a.key,length:a.length,setSync(e,t){t?this.$syncKeys[e]=!0:delete this.$syncKeys[e]},clear(){this.$refMap.forEach((e,t)=>this.removeItem(t))},removeItem(e){const t=this.$refMap.get(e);t&&(t.value=void 0);const n=this.$watchHandlers.get(e);n&&n(),delete this.$syncKeys[e],this.$refMap.delete(e),a.removeItem(e)},getItem(e){const t=a.getItem(e);return t?this.setItem(e,ne(n,t)):null},setItem(e,l){const i=r(l);this.$refMap.set(e,i);const c=(e,t)=>{try{const r=a.getItem(e),o=s(t)?t:n.stringify(t);a.setItem(e,o),r!==o&&y&&this.$syncKeys[e]&&window.dispatchEvent(new StorageEvent(e,{newValue:o,oldValue:r,storageArea:a}))}catch(e){u.value=ee(e,a)}};c(e,l);const v=t.watch(i,$(t=>{c(e,t)},o),{immediate:!1,deep:!0});return this.$watchHandlers.set(e,v),i},updateItem(e,t){let r=this.$refMap.get(e);r&&(r.value=ne(n,t))}},re.set(e,i)):(u=t.ref(!1),i={}),{supported:l,quotaError:u,store:i,remove:()=>re.delete(e)}}function ae(e,n,r){const{supported:o,store:a}=oe("localStorage");let s=f,l=f,u=f,i=void 0;return o&&a?(u=t=>a.setSync(e,t),s=()=>a.removeItem(e),l=()=>a.clear(),i=a.getItem(e),i||(i=a.setItem(e,n)),!1!==r&&u(!0)):i=t.ref(n),{supported:o,storage:i,clear:l,remove:s,setSync:u}}function se(e,n,r){const{supported:o,store:a}=oe("sessionStorage");let s=f,l=f,u=m,i=void 0;return o&&a?(s=()=>a.removeItem(e),l=()=>a.clear(),i=a.getItem(e),i||(i=a.setItem(e,n))):i=t.ref(n),{supported:o,storage:i,clear:l,remove:s,setSync:u}}let le=void 0;function ue(e){const n=r(e.currentPage),o=r(e.pageSize),a=t.ref(0),s=r(e.total),l=t.computed({get:()=>a.value,set(e){i(e)&&(a.value=Math.min(e,s.value))}}),u=t.computed({get:()=>n.value,set(e){i(e)&&(n.value=g(e,1,v.value),l.value=(n.value-1)*c.value)}}),c=t.computed({get:()=>o.value,set(e){i(e)&&(o.value=e)}}),v=t.computed(()=>Math.ceil(s.value/c.value));u.value=n.value;return t.watch([s,c],e=>{u.value>v.value&&(u.value=v.value)},{immediate:!1}),{pageSize:c,total:s,currentPage:u,offset:l,lastPage:v,next:()=>++u.value,prev:()=>--u.value,first:()=>u.value=1,last:()=>u.value=v.value}}function ie(e){const n=e&&e.refreshMs||1e3,r=!e||!l(e.sync)||e.sync,o=e&&a(e.timeFn)&&e.timeFn||Date.now;let s=void 0,u=void 0;const i=t.ref(o()),c=()=>{clearInterval(s),clearTimeout(u)},v=y?()=>s=setInterval(()=>i.value=o(),n):f;if(r){const e=1e3-(i.value-1e3*Math.floor(i.value/1e3));u=setTimeout(v,e)}else v();return t.onUnmounted(c),{now:i,remove:c}}function ce(e,r){return t.computed(()=>{const a=n(e);if(!r)return a;const s=t.isRef(r)?t.reactive(r.value):t.reactive(r);return a.replace(/({?{[\w\s]*}?})/g,e=>{const t=e.replace("{","").replace("}","").trim();if(e[0]===e[1]&&"{"===e[0])return`${t}`;const r=o(s)?s[+t]:s[t];return void 0===r?e:`${n(r)}`})})}function ve(e,r,o=".",a=f){return t.computed(()=>{const t=n(e),s=n(r);if(void 0===t)return a(s,t,s,t);if(!s)return t;const l=s.split(o);let u=t;for(let e=0;e<l.length;e++){let n=l[e];if("]"===n[n.length-1]){const t=/\[[`'"]?([^`'"\]]*)[`'"]?\]/g;let r=n,o=t.exec(r);if(o){let a=o[0].length,s=o.index-a,u=1;do{o.index,s=o.index,a=o[0].length,n=n.slice(0,-o[0].length),l.splice(e+u,0,o[1]),++u}while(o=t.exec(r));if(!n&&"["===r[0]&&r.length>2)continue}else n="",console.warn(`[usePath] invalid path provided "${r}"`)}if(!c(u))return a(l.slice(0,e+1).join(o),u,s,t);if(!n)return a(l.slice(0,e+1).join(o),u,s,t);if(u=u[n],!u)return a(l.slice(0,e+1).join(o),u,s,t)}return u})}function de(e){return void 0!==e.$value}const fe=(e,r,o)=>{const{$message:a,$validator:s,...l}=function(e){return c(e)}(r)?r:{$validator:r,$message:""},{$pending:u,$promise:i,$invalid:v,$error:f}=((e,r,o)=>{const a=t.ref(null),s=t.ref(!1),l=t.ref(),u=t.ref(!1);let i=void 0;const c=e=>{a.value=(async()=>{try{s.value=!0;const t=r(e,i);d(t)?u.value=!await t:u.value=!t}catch(e){throw u.value=!0,e}finally{s.value=!1}})().catch(e=>(l.value=n(e),u.value=!0,e))};return o.push(n=>{i=n,t.watch(()=>{try{r(e.value,i)}catch(e){}return e.value},c,{deep:!0,immediate:!0})}),{$promise:a,$pending:s,$invalid:u,$error:l}})(e,s,o);return{$pending:u,$error:f,$promise:i,$invalid:v,$message:a,...l}},me=(e,o)=>{const a={},s=de(e)?r(e.$value):void 0;for(const r of Object.keys(e))if("$"!==r[0])if(s){const t=fe(s,e[r],o);a[r]={...t,$value:s}}else{const s=me(e[r],o);let u,i,c=void 0;if(de(s)){const e=Object.keys(s).filter(e=>"$"!==e[0]).map(e=>s[e]);u=t.computed(()=>e.map(e=>e.$error).filter(Boolean).map(e=>n(e))),i=t.computed(()=>e.some(e=>!!n(e.$invalid)))}else{const e=Object.keys(s).map(e=>s[e]);u=t.computed(()=>e.map(e=>n(e.$errors)).filter(Boolean).filter(e=>e.some(Boolean))),c=t.computed(()=>e.some(e=>e.$anyDirty||l(n(e.$dirty))&&n(e.$dirty))),i=t.computed(()=>e.some(e=>!!n(e.$anyInvalid)))}a[r]={...s,$errors:u,$anyInvalid:i},c&&(a[r].$anyDirty=c)}else{if("$value"===r){a[r]=s;const e=t.ref(!1),n=t.watch(s,()=>{e.value=!0,n()},{immediate:!1,deep:!0});a.$dirty=e;continue}a[r]=e[r]}return a};const pe=Symbol("");function he(e){const o=t.ref(Object.keys(e.messages)),s=t.ref(e.messages),u=t.ref(e.locale),i=t.ref({});let c=t.ref();const v={},f=(e,n)=>{if(v[e])return v[e];const o=n.value[e];if(!o)return t.ref({});let s=a(o)?o():o;return d(s)?s.then(t=>v[e]=r(t)):a(o)?r(s):v[e]=t.computed(()=>n.value[e])},m=!!e.fallback&&(!l(e.notFoundFallback)||e.notFoundFallback);let p=!1;if(m){const t=f(e.fallback,s);d(t)?(t.then(e=>{c.value=e.value}),p=!0):c.value=t.value}else c.value={};const h=t.ref(0);t.watch(s,()=>h.value++,{deep:!0,immediate:!1}),t.watch([u,c,h],([t,r,o])=>{if(t===e.fallback&&m)i.value=r;else{const e=e=>i.value=w({},r,n(e)),o=f(t,s);d(o)?o.then(e):e(o)}},{immediate:!p});const g=(t,n)=>e.resolve?r(e.resolve(i.value,t,n)):ce(ve(i,t,".",(e,t,n,r)=>n),n);return{locale:u,locales:o,i18n:i,$t:g,$ts:(e,t)=>g(e,t).value,addLocale:(e,t)=>{o.value.indexOf(e)>=0||o.value.push(e),delete v[e],s.value[e]=t},removeLocale:t=>{const n=o.value.indexOf(t);if(n>=0){const r=[u.value,c.value&&e.fallback,...o.value].find(e=>e&&e!==t);r&&(t===e.fallback&&(c.value=void 0),t===u.value&&(u.value=r)),o.value.splice(n,1)}delete s.value[t],delete v[t]}}}function ge(e){const n=he(e);return t.provide(pe,n),n}return e.COMMIT="c7c72b9",e.FALSE_OP=m,e.NO_OP=f,e.PASSIVE_EV=p,e.VERSION="1.0.0-alpha.31",e.VUE_VERSION="3",e.buildI18n=he,e.debounce=$,e.deepClone=w,e.exponentialDelay=e=>{const t=100*Math.pow(2,e);return t+.2*t*Math.random()},e.exposeWorker=function(e){this.onmessage=async t=>{const n=e(t.data);if(void 0===n)this.postMessage(n);else if(null===n)this.postMessage(n);else if(o(n))this.postMessage(n);else if(n[Symbol.asyncIterator])for await(const e of n)this.postMessage(e);else if(n[Symbol.iterator])for(const e of n)this.postMessage(e);else this.postMessage(await n)}},e.getCssVariableFor=A,e.isArray=o,e.isBoolean=l,e.isClient=y,e.isDate=u,e.isElement=v,e.isFunction=a,e.isNumber=i,e.isObject=c,e.isPromise=d,e.isString=s,e.isSymbol=e=>"symbol"==typeof e,e.minMax=g,e.noDelay=x,e.promisedTimeout=h,e.refShared=function(e,n){const r=t.getCurrentInstance(),o=n||r.vnode.scopeId;if(!o)return t.ref(e);const{data:a,supported:s}=N(o,e);return a},e.setBreakpointTailwindCSS=Z,e.setCssVariableFor=F,e.setI18n=ge,e.storageAvailable=te,e.unwrap=n,e.useArrayPagination=function(e,n){const o=r(e),a=ue({currentPage:1,pageSize:10,...n,total:t.computed(()=>o.value.length)}),s=t.computed(()=>{const e=o.value;return Array.isArray(e)?e.slice(a.offset.value,a.offset.value+a.pageSize.value):[]});return{...a,result:s}},e.useBreakpoint=J,e.useBreakpointChrome=function(){return J({mobileS:320,mobileM:375,mobileL:425,tablet:768,laptop:1024,laptopL:1440,desktop4K:2560})},e.useBreakpointTailwindCSS=function(e){const n=t.inject(q);return n||Z(e||Q)},e.useBroadcastChannel=D,e.useCancellablePromise=S,e.useCssVariables=function(e,o,a){const l=y&&"MutationObserver"in self,[u,i]=t.isRef(o)||v(o)?[o,a||V]:[l&&document.documentElement||{},o||V],c=t.ref(!0),d={},m=[],p=Object.entries(e).map(e=>{const[t,o]=s(e[1])?[e[1]]:[e[1].name,e[1].value];return o&&(m.push(()=>F(n(u),t,n(o))),d[e[0]]=r(o)),[e[0],U(t)]});for(let e=0;e<p.length;e++){const[o,a]=p[e];d[o]||(d[o]=t.ref(t.isRef(u)&&!u.value||!l?null:A(n(u),a))),l&&t.watch([d[o],r(u)],e=>{c&&e[1]&&e[0]!==A(e[1],a)&&F(e[1],a,e[0])},{immediate:!t.isRef(u)})}if(!l)return{...d,stop:f,resume:f,supported:l,observing:c};const h=()=>{for(let e=0;e<p.length;e++){const[t,r]=p[e];d[t].value=A(n(u),r)}},g=new MutationObserver(h),w=()=>{g.disconnect(),c.value=!1},b=()=>{c.value||h(),g.observe(n(u),i),c.value=!0};return t.onUnmounted(w),t.isRef(u)?t.onMounted(()=>{m.forEach(e=>e()),t.watch(u,(e,t)=>{t&&w(),e&&b()})}):(y||u)&&(m.forEach(e=>e()),b()),{...d,supported:l,resume:b,stop:w,observing:c}},e.useCurrencyFormat=function(e,r,o){const a=n(e),s=!c(a),l=s?e:t.computed(()=>n(e).currency),[u,i]=B(r,s?o:e),v=t.computed(()=>{const e=n(i)||{},t=n(l)||e.currency;return{style:"currency",...e,currency:t}}),d=H(u),f=(e,t,r,o,a)=>{const s={...v.value,...n(o)},l=n(t)||s.currency,u=n(r)||s.currencyDisplay;return d.formatString(e,{...s,currency:l,currencyDisplay:u},a)};return{format:(e,n,r,o,a)=>t.computed(()=>f(e,n,r,o,a)),formatString:f}},e.useDateNow=function(e){return ie({refreshMs:e&&e.refreshMs||1e3,sync:!e||!l(e.sync)||e.sync,timeFn:Date.now})},e.useDebounce=E,e.useEvent=b,e.useFetch=function(e,n){const r=t.ref(null),o=t.ref(""),a=t.ref(),l=t.ref(null),[u,i]=R(e)?[!1!==e.isJson,!1!==e.parseImmediate]:R(n)?[!1!==n.isJson,!1!==n.parseImmediate]:[!0,!0],c=e?s(e)?n:R(e)?e:s(e.url)?n:e:void 0,v=t.ref(!1),d=t.ref();let f=void 0;const m=M(async(e,t)=>{f=new AbortController;const n=await fetch(e,{signal:f.signal,...c,...t});if(n){const e=[u?n.clone().json().then(e=>r.value=e).catch(e=>{r.value=null,l.value=e}):Promise.resolve(),n.clone().blob().then(e=>{a.value=e}),n.clone().text().then(e=>{o.value=e})];i&&await Promise.all(e)}return n},!0),p=t.computed(()=>m.result.value&&m.result.value.status||null),h=t.computed(()=>m.result.value&&m.result.value.statusText||null);return e&&(s(e)||s(e.url))&&m.exec(e,void 0,!1),{...m,cancel:e=>{f&&(f.abort(),v.value=!0,d.value=e)},isCancelled:v,cancelledMessage:d,text:o,blob:a,json:r,jsonError:l,status:p,statusText:h}},e.useFormat=ce,e.useGeolocation=function(e){const n=y&&!!navigator.geolocation,r=t.ref(e?!1===e.immediate:void 0),o=t.ref(null),a=t.ref(null),s=t.ref(null),u=t.ref(e&&e.enableHighAccuracy||null);let i=f;if(n){const n=e=>{a.value=e.timestamp,s.value=e.coords,o.value=null},c=e=>{a.value=Date.now(),s.value=null,o.value=e},v=()=>!0!==r.value&&f&&navigator.geolocation.clearWatch(f);let d=()=>navigator.geolocation.getCurrentPosition(n,c,e);i=r.value?()=>{r.value?r.value=!1:d()}:d;let f=0;t.onMounted(()=>t.watch([u,r],t=>{v();const r=l(t[0])?t[0]:e?e.enableHighAccuracy:void 0;f=navigator.geolocation.watchPosition(n,c,e?{...e,enableHighAccuracy:r}:{enableHighAccuracy:r})},{immediate:!r.value})),t.onUnmounted(v)}return{supported:n,refresh:i,error:o,timestamp:a,coords:s,highAccuracy:u}},e.useI18n=function(e){return e?ge(e):t.inject(pe)},e.useIntersectionObserver=function(e,o){const a=y&&"IntersectionObserver"in window,s=e?r(e):void 0,l=!s||!v(s.value)&&s.value?void 0:s,u=t.computed(()=>o?n(o):l?void 0:n(e)),i=t.ref([]),c=t.computed(()=>i.value.length>0&&i.value.every(e=>e.isIntersecting)),d=e=>{i.value=e};let m=t.ref();a&&t.watch(u,e=>{m.value&&m.value.disconnect();const t=e&&e&&{root:n(e.root),rootMargin:n(e.rootMargin),threshold:n(e.threshold)}||void 0;m.value=new IntersectionObserver(d,t),i.value.map(e=>e.target).forEach(m.value.observe)},{deep:!0,immediate:!0});const p=a?e=>{const t=n(e);m.value.observe(t)}:f,h=a?e=>{const t=n(e);m.value.unobserve(t)}:f,g=()=>m.value.disconnect();return l&&(t.onMounted(()=>{l.value&&p(l)}),t.onUnmounted(()=>{g()})),{supported:a,elements:i,observe:p,unobserve:h,disconnect:g,isIntersecting:c}},e.useIntlNumberFormat=H,e.useLanguage=function(){if(T||(T=y?t.ref(navigator.language):t.ref("")),!j)if(y){j=t.ref(navigator.languages);const e=()=>{T.value=navigator.language,j.value=navigator.languages};window.addEventListener("languagechange",e,p)}else j=t.ref([]);return{language:T,languages:j}},e.useLocalStorage=ae,e.useMatchMedia=z,e.useNetworkInformation=function(){const e=!!y&&(navigator.connection||navigator.mozConnection||navigator.webkitConnection),n=!!e,r=t.ref(0),o=t.ref(0),a=t.ref("none"),s=t.ref(0),l=t.ref(!1),u=t.ref("none");let i=f,c=f;return e&&(i=()=>{r.value=e.downlink,o.value=e.downlinkMax,a.value=e.effectiveType,s.value=e.rtt,l.value=e.saveData,u.value=e.type},c=b(e,"change",i,p),i()),{supported:n,downlink:r,downlinkMax:o,effectiveType:a,rtt:s,saveData:l,type:u,remove:c}},e.useNow=ie,e.useOnMouseMove=function(e,n,r){const o=t.ref(0),a=t.ref(0);let s=e=>{o.value=e.x,a.value=e.y};const[l,u]=i(n)?[void 0,n]:[n,r];u&&(s=E(s,r));const c=b(e,"mousemove",s,l);return{mouseX:o,mouseY:a,remove:c}},e.useOnResize=function(e,n,o){const a=r(e),s=t.ref(a.value&&a.value.clientHeight),l=t.ref(a.value&&a.value.clientWidth);let u=()=>{s.value=a.value.clientHeight,l.value=a.value.clientWidth};const[c,v]=i(n)?[void 0,n]:[n,o];v&&(u=E(u,o));const d=y?b(window,"resize",u,c||p):f;return{height:s,width:l,remove:d}},e.useOnScroll=function(e,n,o){const a=e=>!(i(e)||l(e)||!v(e)&&!t.isRef(e)||!e),s=a(e)?r(e):t.ref(y&&window||void 0),u=a(e)?s:t.ref(y&&window.document.scrollingElement||void 0),c=t.ref(u.value&&u.value.scrollTop||0),d=t.ref(u.value&&u.value.scrollLeft||0);let f=()=>{c.value=u.value.scrollTop,d.value=u.value.scrollLeft};const m=(...e)=>u.value&&u.value.scrollTo&&u.value.scrollTo.apply(u.value,e),h=e=>m({top:e}),g=e=>m({left:e}),[w,$]=i(e)||!e?[p,e]:i(n)?[p,n]:[n,o];$&&(f=E(f,o));const M=b(s,"scroll",f,w),S=t.watch(c,h,{immediate:!1}),k=t.watch(d,g,{immediate:!1});return{scrollTop:c,scrollLeft:d,scrollTo:m,remove:()=>{M(),k(),S()},scrollTopTo:h,scrollLeftTo:g}},e.useOnline=function(){const e=y&&"onLine"in navigator;return e||(O=t.ref(!1)),O||(O=t.ref(navigator.onLine),window.addEventListener("offline",()=>O.value=!1,p),window.addEventListener("online",()=>O.value=!0,p)),{supported:e,online:O}},e.usePageVisibility=function(){return C||(C=t.ref(y&&document.hidden)),P||(y?(P=t.ref(document.visibilityState),document.addEventListener("visibilitychange",()=>{P.value=document.visibilityState,C.value=document.hidden},p)):P=t.ref("visible")),{visibility:P,hidden:C}},e.usePagination=ue,e.usePath=ve,e.usePerformanceNow=function(e){return ie({refreshMs:e&&e.refreshMs||1e3,sync:!e||!l(e.sync)||e.sync,timeFn:()=>performance.now()})},e.usePromise=M,e.usePromiseLazy=function(e,t=!1){return M(e,{lazy:!0,throwException:t})},e.useRetry=function(e,n){const r=!e||a(e)?{}:e,o=a(e)?e:n;if(!a(e)&&!c(e))throw new Error("[useRetry] options needs to be 'object'");if(o&&!a(o))throw new Error("[useRetry] factory needs to be 'function'");const s=t.ref(!1),l=t.ref(),u=t.ref([]),i={value:!1},v={isRetrying:s,retryCount:t.computed(()=>u.value.length),nextRetry:l,retryErrors:u,[k]:{value:0},[I]:i},d=o?(...e)=>(++v[k].value,L(r,v,o,e)):e=>(++v[k].value,L(r,v,e,void 0));return{...v,cancel:()=>{v.isRetrying.value=!1,v.retryErrors.value.push(new Error("[useRetry] cancelled")),v.nextRetry.value=void 0,i.value=!0},exec:d}},e.useSessionStorage=se,e.useShare=function(e){const n=y&&"share"in navigator;let r=()=>Promise.resolve(!1),o=m,a=t.ref(!1),s=t.ref(!1);return n&&(r=e=>(a.value=!1,s.value=!1,navigator.share(e).then(e=>(a.value=!0,e)).catch(e=>(a.value=!1,s.value=!0,!1))),o=e=>navigator.canShare(e),e&&o(e)&&r(e)),{supported:n,share:r,canShare:o,shared:a,cancelled:s}},e.useSharedRef=N,e.useStorage=function(e,t,n){return void 0===le&&(le=oe("localStorage").supported),le?ae(e,t,n):se(e,t)},e.useValidation=function(e){const n=[],r=me({input:e},n),o=t.reactive(r.input);return n.forEach(e=>e(o)),o},e.useWebSocket=function(e,n){const r=y&&"WebSocket"in window;let o=null;const a=t.ref(),s=t.ref(),l=t.ref(null),u=t.ref(!1),i=t.ref(!1),c=t.ref(!1);let v=f,d=f;return r&&(o=new WebSocket(e,n),o.addEventListener("message",e=>{a.value=e,l.value=e.data}),o.addEventListener("error",e=>{s.value=e,c.value=!0}),o.addEventListener("close",()=>{u.value=!1,i.value=!0}),o.addEventListener("open",()=>{u.value=!0,i.value=!1}),v=e=>o.send(e),d=(e,t)=>{o.close(e,t)}),{supported:r,ws:o,send:v,close:d,messageEvent:a,errorEvent:s,data:l,isOpen:u,isClosed:i,errored:c}},e.useWebStorage=oe,e.useWorker=function(e,n,r){const o=y&&"Worker"in self,a=t.ref(),s=t.ref(),l=t.ref(!o),u=t.ref(!o);if(!o)return l.value=!0,{worker:void 0,data:s,postMessage:f,terminate:f,errorEvent:a,errored:u,terminated:l};const i=new Worker(e,r),c=e=>i.postMessage(e);function v(){i.terminate(),l.value=!0}return i.addEventListener("message",e=>{s.value=e.data},p),i.addEventListener("error",e=>{a.value=e,u.value=!0},p),t.onUnmounted(v),n&&c(n),{worker:i,data:s,postMessage:c,terminate:v,errorEvent:a,errored:u,terminated:l}},e.useWorkerFunction=function(e,r){const o=y&&"Worker"in self,a=t.computed(()=>r&&n(r.dependencies)||[]),s=t.computed(()=>r&&n(r.timeout));if(!o)return S(e,{lazy:!0,throwException:!0});const l=S((...n)=>new Promise((r,o)=>{const u=function(e,t){const n=[t.length>0?`importScripts("${t.join('","')}");`:"","onmessage=",`(${W.toString()})(${e.toString()})`],r=new Blob(n,{type:"text/javascript"});return URL.createObjectURL(r)}(e,a.value),i=new Worker(u);let c=-1;const v=s.value,d=()=>{i.terminate(),URL.revokeObjectURL(u),clearTimeout(c),h()},m=n.length===e.length+1&&t.isRef(n[n.length-1])&&!1===n[n.length-1].value?t.computed(()=>l.cancelled.value||n[n.length-1].value):l.cancelled,h=m?t.watch(m,()=>{d(),r(void 0)},{immediate:!1}):f;i.addEventListener("message",e=>{e.data[0]?r(e.data[1]):o(e.data[1]),d()},p),i.addEventListener("error",e=>{d(),o(e)},p),i.postMessage([...n]),v&&(c=setTimeout(()=>{l.cancel(`[WebWorker] timeout after ${v}ms`)},v))}),{lazy:!0,throwException:!0});return l},e.wrap=r,e}({},VueRuntimeCore); |
{ | ||
"name": "vue-composable", | ||
"version": "1.0.0-alpha.29", | ||
"version": "1.0.0-alpha.31", | ||
"description": "vue-composable", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
457383
11846